
CONTROL FLOW GRAPH SSA
@begin: scope:[]  from
  (byte*) print_screen#0 ← ((byte*)) (word/signed word/dword/signed dword) 1024
  (byte*) print_line_cursor#0 ← (byte*) print_screen#0
  (byte*) print_char_cursor#0 ← (byte*) print_line_cursor#0
  to:@12
print_str: scope:[print_str]  from printu::@2
  (byte*) print_char_cursor#119 ← phi( printu::@2/(byte*) print_char_cursor#40 )
  (byte*) print_str::str#4 ← phi( printu::@2/(byte*) print_str::str#1 )
  to:print_str::@1
print_str::@1: scope:[print_str]  from print_str print_str::@2
  (byte*) print_char_cursor#92 ← phi( print_str/(byte*) print_char_cursor#119 print_str::@2/(byte*) print_char_cursor#1 )
  (byte*) print_str::str#2 ← phi( print_str/(byte*) print_str::str#4 print_str::@2/(byte*) print_str::str#0 )
  (bool~) print_str::$0 ← *((byte*) print_str::str#2) != (byte) '@'
  if((bool~) print_str::$0) goto print_str::@2
  to:print_str::@return
print_str::@2: scope:[print_str]  from print_str::@1
  (byte*) print_char_cursor#47 ← phi( print_str::@1/(byte*) print_char_cursor#92 )
  (byte*) print_str::str#3 ← phi( print_str::@1/(byte*) print_str::str#2 )
  *((byte*) print_char_cursor#47) ← *((byte*) print_str::str#3)
  (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#47
  (byte*) print_str::str#0 ← ++ (byte*) print_str::str#3
  to:print_str::@1
print_str::@return: scope:[print_str]  from print_str::@1
  (byte*) print_char_cursor#48 ← phi( print_str::@1/(byte*) print_char_cursor#92 )
  (byte*) print_char_cursor#2 ← (byte*) print_char_cursor#48
  return 
  to:@return
print_ln: scope:[print_ln]  from main::@49 main::@54 main::@59 main::@64 main::@69
  (byte*) print_char_cursor#93 ← phi( main::@49/(byte*) print_char_cursor#16 main::@54/(byte*) print_char_cursor#21 main::@59/(byte*) print_char_cursor#26 main::@64/(byte*) print_char_cursor#31 main::@69/(byte*) print_char_cursor#36 )
  (byte*) print_line_cursor#25 ← phi( main::@49/(byte*) print_line_cursor#27 main::@54/(byte*) print_line_cursor#28 main::@59/(byte*) print_line_cursor#29 main::@64/(byte*) print_line_cursor#30 main::@69/(byte*) print_line_cursor#31 )
  to:print_ln::@1
print_ln::@1: scope:[print_ln]  from print_ln print_ln::@1
  (byte*) print_char_cursor#49 ← phi( print_ln/(byte*) print_char_cursor#93 print_ln::@1/(byte*) print_char_cursor#49 )
  (byte*) print_line_cursor#13 ← phi( print_ln/(byte*) print_line_cursor#25 print_ln::@1/(byte*) print_line_cursor#1 )
  (byte*~) print_ln::$0 ← (byte*) print_line_cursor#13 + (byte/signed byte/word/signed word/dword/signed dword) 40
  (byte*) print_line_cursor#1 ← (byte*~) print_ln::$0
  (bool~) print_ln::$1 ← (byte*) print_line_cursor#1 < (byte*) print_char_cursor#49
  if((bool~) print_ln::$1) goto print_ln::@1
  to:print_ln::@2
print_ln::@2: scope:[print_ln]  from print_ln::@1
  (byte*) print_line_cursor#14 ← phi( print_ln::@1/(byte*) print_line_cursor#1 )
  (byte*) print_char_cursor#3 ← (byte*) print_line_cursor#14
  to:print_ln::@return
print_ln::@return: scope:[print_ln]  from print_ln::@2
  (byte*) print_char_cursor#50 ← phi( print_ln::@2/(byte*) print_char_cursor#3 )
  (byte*) print_line_cursor#15 ← phi( print_ln::@2/(byte*) print_line_cursor#14 )
  (byte*) print_line_cursor#2 ← (byte*) print_line_cursor#15
  (byte*) print_char_cursor#4 ← (byte*) print_char_cursor#50
  return 
  to:@return
@12: scope:[]  from @begin
  (byte*) print_screen#6 ← phi( @begin/(byte*) print_screen#0 )
  (byte*) print_char_cursor#141 ← phi( @begin/(byte*) print_char_cursor#0 )
  (byte*) print_line_cursor#39 ← phi( @begin/(byte*) print_line_cursor#0 )
  (byte[]) print_hextab#0 ← (const string) $0
  to:@21
print_byte: scope:[print_byte]  from printu::@1 printu::@3
  (byte*) print_char_cursor#94 ← phi( printu::@1/(byte*) print_char_cursor#39 printu::@3/(byte*) print_char_cursor#41 )
  (byte) print_byte::b#2 ← phi( printu::@1/(byte) print_byte::b#0 printu::@3/(byte) print_byte::b#1 )
  (byte~) print_byte::$0 ← (byte) print_byte::b#2 >> (byte/signed byte/word/signed word/dword/signed dword) 4
  (byte) print_char::ch#0 ← *((byte[]) print_hextab#0 + (byte~) print_byte::$0)
  call print_char 
  to:print_byte::@1
print_byte::@1: scope:[print_byte]  from print_byte
  (byte) print_byte::b#3 ← phi( print_byte/(byte) print_byte::b#2 )
  (byte*) print_char_cursor#51 ← phi( print_byte/(byte*) print_char_cursor#9 )
  (byte*) print_char_cursor#5 ← (byte*) print_char_cursor#51
  (byte~) print_byte::$2 ← (byte) print_byte::b#3 & (byte/signed byte/word/signed word/dword/signed dword) 15
  (byte) print_char::ch#1 ← *((byte[]) print_hextab#0 + (byte~) print_byte::$2)
  call print_char 
  to:print_byte::@2
print_byte::@2: scope:[print_byte]  from print_byte::@1
  (byte*) print_char_cursor#52 ← phi( print_byte::@1/(byte*) print_char_cursor#9 )
  (byte*) print_char_cursor#6 ← (byte*) print_char_cursor#52
  to:print_byte::@return
print_byte::@return: scope:[print_byte]  from print_byte::@2
  (byte*) print_char_cursor#53 ← phi( print_byte::@2/(byte*) print_char_cursor#6 )
  (byte*) print_char_cursor#7 ← (byte*) print_char_cursor#53
  return 
  to:@return
print_char: scope:[print_char]  from print_byte print_byte::@1 printu printu::@4 printu::@5
  (byte*) print_char_cursor#54 ← phi( print_byte/(byte*) print_char_cursor#94 print_byte::@1/(byte*) print_char_cursor#5 printu/(byte*) print_char_cursor#95 printu::@4/(byte*) print_char_cursor#42 printu::@5/(byte*) print_char_cursor#43 )
  (byte) print_char::ch#5 ← phi( print_byte/(byte) print_char::ch#0 print_byte::@1/(byte) print_char::ch#1 printu/(byte) print_char::ch#2 printu::@4/(byte) print_char::ch#3 printu::@5/(byte) print_char::ch#4 )
  *((byte*) print_char_cursor#54) ← (byte) print_char::ch#5
  (byte*) print_char_cursor#8 ← ++ (byte*) print_char_cursor#54
  to:print_char::@return
print_char::@return: scope:[print_char]  from print_char
  (byte*) print_char_cursor#55 ← phi( print_char/(byte*) print_char_cursor#8 )
  (byte*) print_char_cursor#9 ← (byte*) print_char_cursor#55
  return 
  to:@return
print_cls: scope:[print_cls]  from main
  (byte*) print_screen#1 ← phi( main/(byte*) print_screen#4 )
  (byte*) print_cls::sc#0 ← (byte*) print_screen#1
  to:print_cls::@1
print_cls::@1: scope:[print_cls]  from print_cls print_cls::@1
  (byte*) print_screen#2 ← phi( print_cls/(byte*) print_screen#1 print_cls::@1/(byte*) print_screen#2 )
  (byte*) print_cls::sc#2 ← phi( print_cls/(byte*) print_cls::sc#0 print_cls::@1/(byte*) print_cls::sc#1 )
  *((byte*) print_cls::sc#2) ← (byte) ' '
  (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2
  (byte*~) print_cls::$0 ← (byte*) print_screen#2 + (word/signed word/dword/signed dword) 1000
  (bool~) print_cls::$1 ← (byte*) print_cls::sc#1 != (byte*~) print_cls::$0
  if((bool~) print_cls::$1) goto print_cls::@1
  to:print_cls::@2
print_cls::@2: scope:[print_cls]  from print_cls::@1
  (byte*) print_screen#3 ← phi( print_cls::@1/(byte*) print_screen#2 )
  (byte*) print_line_cursor#3 ← (byte*) print_screen#3
  (byte*) print_char_cursor#10 ← (byte*) print_line_cursor#3
  to:print_cls::@return
print_cls::@return: scope:[print_cls]  from print_cls::@2
  (byte*) print_char_cursor#56 ← phi( print_cls::@2/(byte*) print_char_cursor#10 )
  (byte*) print_line_cursor#16 ← phi( print_cls::@2/(byte*) print_line_cursor#3 )
  (byte*) print_line_cursor#4 ← (byte*) print_line_cursor#16
  (byte*) print_char_cursor#11 ← (byte*) print_char_cursor#56
  return 
  to:@return
main: scope:[main]  from @21
  (byte*) print_char_cursor#96 ← phi( @21/(byte*) print_char_cursor#118 )
  (byte*) print_line_cursor#26 ← phi( @21/(byte*) print_line_cursor#33 )
  (byte*) print_screen#4 ← phi( @21/(byte*) print_screen#5 )
  call print_cls 
  to:main::@45
main::@45: scope:[main]  from main
  (byte*) print_char_cursor#57 ← phi( main/(byte*) print_char_cursor#11 )
  (byte*) print_line_cursor#17 ← phi( main/(byte*) print_line_cursor#4 )
  (byte*) print_line_cursor#5 ← (byte*) print_line_cursor#17
  (byte*) print_char_cursor#12 ← (byte*) print_char_cursor#57
  (byte) main::a#0 ← (byte/signed byte/word/signed word/dword/signed dword) 7
  (byte) main::i#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0
  to:main::@1
main::@1: scope:[main]  from main::@45 main::@70
  (byte*) print_line_cursor#85 ← phi( main::@45/(byte*) print_line_cursor#5 main::@70/(byte*) print_line_cursor#10 )
  (byte) main::i#42 ← phi( main::@45/(byte) main::i#0 main::@70/(byte) main::i#1 )
  (byte*) print_char_cursor#120 ← phi( main::@45/(byte*) print_char_cursor#12 main::@70/(byte*) print_char_cursor#37 )
  (byte) main::a#2 ← phi( main::@45/(byte) main::a#0 main::@70/(byte) main::a#1 )
  (byte/word/signed word/dword/signed dword~) main::$1 ← (byte/word/signed word/dword/signed dword) 206 - (byte) main::a#2
  (byte) main::b#0 ← (byte/word/signed word/dword/signed dword~) main::$1
  (byte[5]) main::cs#0 ← { (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/word/signed word/dword/signed dword) 199, (byte/signed byte/word/signed word/dword/signed dword) 55, (byte/word/signed word/dword/signed dword) 151, (byte/signed byte/word/signed word/dword/signed dword) 103 }
  (byte) main::r#0 ← (byte) '-'
  (bool~) main::$2 ← (byte) main::a#2 < (byte) main::b#0
  (bool~) main::$3 ← ! (bool~) main::$2
  if((bool~) main::$3) goto main::@2
  to:main::@23
main::@2: scope:[main]  from main::@1 main::@23
  (byte*) print_line_cursor#80 ← phi( main::@1/(byte*) print_line_cursor#85 main::@23/(byte*) print_line_cursor#86 )
  (byte) main::i#35 ← phi( main::@1/(byte) main::i#42 main::@23/(byte) main::i#43 )
  (byte*) print_char_cursor#97 ← phi( main::@1/(byte*) print_char_cursor#120 main::@23/(byte*) print_char_cursor#121 )
  (byte) main::r#40 ← phi( main::@1/(byte) main::r#0 main::@23/(byte) main::r#2 )
  (byte) main::b#1 ← phi( main::@1/(byte) main::b#0 main::@23/(byte) main::b#10 )
  (byte) main::a#3 ← phi( main::@1/(byte) main::a#2 main::@23/(byte) main::a#43 )
  (byte) printu::a#0 ← (byte) main::a#3
  (byte[]) printu::op#0 ← (const string) main::op
  (byte) printu::b#0 ← (byte) main::b#1
  (byte) printu::res#0 ← (byte) main::r#40
  call printu 
  to:main::@46
main::@46: scope:[main]  from main::@2
  (byte) main::b#48 ← phi( main::@2/(byte) main::b#1 )
  (byte*) print_line_cursor#71 ← phi( main::@2/(byte*) print_line_cursor#80 )
  (byte) main::i#25 ← phi( main::@2/(byte) main::i#35 )
  (byte) main::a#4 ← phi( main::@2/(byte) main::a#3 )
  (byte*) print_char_cursor#58 ← phi( main::@2/(byte*) print_char_cursor#45 )
  (byte*) print_char_cursor#13 ← (byte*) print_char_cursor#58
  (byte) main::r#1 ← (byte) '-'
  (bool~) main::$5 ← (byte) main::a#4 < (byte/signed byte/word/signed word/dword/signed dword) 55
  (bool~) main::$6 ← ! (bool~) main::$5
  if((bool~) main::$6) goto main::@3
  to:main::@24
main::@23: scope:[main]  from main::@1
  (byte*) print_line_cursor#86 ← phi( main::@1/(byte*) print_line_cursor#85 )
  (byte) main::i#43 ← phi( main::@1/(byte) main::i#42 )
  (byte*) print_char_cursor#121 ← phi( main::@1/(byte*) print_char_cursor#120 )
  (byte) main::b#10 ← phi( main::@1/(byte) main::b#0 )
  (byte) main::a#43 ← phi( main::@1/(byte) main::a#2 )
  (byte) main::r#2 ← (byte) '+'
  to:main::@2
main::@3: scope:[main]  from main::@24 main::@46
  (byte) main::b#43 ← phi( main::@24/(byte) main::b#47 main::@46/(byte) main::b#48 )
  (byte*) print_line_cursor#65 ← phi( main::@24/(byte*) print_line_cursor#70 main::@46/(byte*) print_line_cursor#71 )
  (byte) main::i#13 ← phi( main::@24/(byte) main::i#24 main::@46/(byte) main::i#25 )
  (byte*) print_char_cursor#98 ← phi( main::@24/(byte*) print_char_cursor#122 main::@46/(byte*) print_char_cursor#13 )
  (byte) main::r#41 ← phi( main::@24/(byte) main::r#4 main::@46/(byte) main::r#1 )
  (byte) main::a#5 ← phi( main::@24/(byte) main::a#44 main::@46/(byte) main::a#4 )
  (byte) printu::a#1 ← (byte) main::a#5
  (byte[]) printu::op#1 ← (const string) main::op1
  (byte) printu::b#1 ← (byte/signed byte/word/signed word/dword/signed dword) 55
  (byte) printu::res#1 ← (byte) main::r#41
  call printu 
  to:main::@47
main::@47: scope:[main]  from main::@3
  (byte) main::b#36 ← phi( main::@3/(byte) main::b#43 )
  (byte*) print_line_cursor#56 ← phi( main::@3/(byte*) print_line_cursor#65 )
  (byte) main::i#2 ← phi( main::@3/(byte) main::i#13 )
  (byte) main::a#6 ← phi( main::@3/(byte) main::a#5 )
  (byte*) print_char_cursor#59 ← phi( main::@3/(byte*) print_char_cursor#45 )
  (byte*) print_char_cursor#14 ← (byte*) print_char_cursor#59
  (byte) main::r#3 ← (byte) '-'
  (bool~) main::$8 ← (byte) main::a#6 < *((byte[5]) main::cs#0 + (byte) main::i#2)
  (bool~) main::$9 ← ! (bool~) main::$8
  if((bool~) main::$9) goto main::@4
  to:main::@25
main::@24: scope:[main]  from main::@46
  (byte) main::b#47 ← phi( main::@46/(byte) main::b#48 )
  (byte*) print_line_cursor#70 ← phi( main::@46/(byte*) print_line_cursor#71 )
  (byte) main::i#24 ← phi( main::@46/(byte) main::i#25 )
  (byte*) print_char_cursor#122 ← phi( main::@46/(byte*) print_char_cursor#13 )
  (byte) main::a#44 ← phi( main::@46/(byte) main::a#4 )
  (byte) main::r#4 ← (byte) '+'
  to:main::@3
main::@4: scope:[main]  from main::@25 main::@47
  (byte) main::b#31 ← phi( main::@25/(byte) main::b#35 main::@47/(byte) main::b#36 )
  (byte*) print_line_cursor#50 ← phi( main::@25/(byte*) print_line_cursor#55 main::@47/(byte*) print_line_cursor#56 )
  (byte*) print_char_cursor#99 ← phi( main::@25/(byte*) print_char_cursor#123 main::@47/(byte*) print_char_cursor#14 )
  (byte) main::r#42 ← phi( main::@25/(byte) main::r#6 main::@47/(byte) main::r#3 )
  (byte) main::i#3 ← phi( main::@25/(byte) main::i#14 main::@47/(byte) main::i#2 )
  (byte) main::a#7 ← phi( main::@25/(byte) main::a#45 main::@47/(byte) main::a#6 )
  (byte) printu::a#2 ← (byte) main::a#7
  (byte[]) printu::op#2 ← (const string) main::op2
  (byte) printu::b#2 ← *((byte[5]) main::cs#0 + (byte) main::i#3)
  (byte) printu::res#2 ← (byte) main::r#42
  call printu 
  to:main::@48
main::@48: scope:[main]  from main::@4
  (byte) main::i#61 ← phi( main::@4/(byte) main::i#3 )
  (byte) main::b#24 ← phi( main::@4/(byte) main::b#31 )
  (byte*) print_line_cursor#41 ← phi( main::@4/(byte*) print_line_cursor#50 )
  (byte) main::a#8 ← phi( main::@4/(byte) main::a#7 )
  (byte*) print_char_cursor#60 ← phi( main::@4/(byte*) print_char_cursor#45 )
  (byte*) print_char_cursor#15 ← (byte*) print_char_cursor#60
  (byte) main::r#5 ← (byte) '-'
  (bool~) main::$11 ← (byte) main::a#8 < (byte) main::a#8
  (bool~) main::$12 ← ! (bool~) main::$11
  if((bool~) main::$12) goto main::@5
  to:main::@26
main::@25: scope:[main]  from main::@47
  (byte) main::b#35 ← phi( main::@47/(byte) main::b#36 )
  (byte*) print_line_cursor#55 ← phi( main::@47/(byte*) print_line_cursor#56 )
  (byte*) print_char_cursor#123 ← phi( main::@47/(byte*) print_char_cursor#14 )
  (byte) main::i#14 ← phi( main::@47/(byte) main::i#2 )
  (byte) main::a#45 ← phi( main::@47/(byte) main::a#6 )
  (byte) main::r#6 ← (byte) '+'
  to:main::@4
main::@5: scope:[main]  from main::@26 main::@48
  (byte) main::i#56 ← phi( main::@26/(byte) main::i#60 main::@48/(byte) main::i#61 )
  (byte) main::b#19 ← phi( main::@26/(byte) main::b#23 main::@48/(byte) main::b#24 )
  (byte*) print_line_cursor#34 ← phi( main::@26/(byte*) print_line_cursor#40 main::@48/(byte*) print_line_cursor#41 )
  (byte*) print_char_cursor#100 ← phi( main::@26/(byte*) print_char_cursor#124 main::@48/(byte*) print_char_cursor#15 )
  (byte) main::r#43 ← phi( main::@26/(byte) main::r#8 main::@48/(byte) main::r#5 )
  (byte) main::a#9 ← phi( main::@26/(byte) main::a#46 main::@48/(byte) main::a#8 )
  (byte) printu::a#3 ← (byte) main::a#9
  (byte[]) printu::op#3 ← (const string) main::op3
  (byte) printu::b#3 ← (byte) main::a#9
  (byte) printu::res#3 ← (byte) main::r#43
  call printu 
  to:main::@49
main::@49: scope:[main]  from main::@5
  (byte) main::i#52 ← phi( main::@5/(byte) main::i#56 )
  (byte) main::b#11 ← phi( main::@5/(byte) main::b#19 )
  (byte) main::a#47 ← phi( main::@5/(byte) main::a#9 )
  (byte*) print_line_cursor#27 ← phi( main::@5/(byte*) print_line_cursor#34 )
  (byte*) print_char_cursor#61 ← phi( main::@5/(byte*) print_char_cursor#45 )
  (byte*) print_char_cursor#16 ← (byte*) print_char_cursor#61
  call print_ln 
  to:main::@50
main::@50: scope:[main]  from main::@49
  (byte) main::i#45 ← phi( main::@49/(byte) main::i#52 )
  (byte) main::b#2 ← phi( main::@49/(byte) main::b#11 )
  (byte) main::a#10 ← phi( main::@49/(byte) main::a#47 )
  (byte*) print_char_cursor#62 ← phi( main::@49/(byte*) print_char_cursor#4 )
  (byte*) print_line_cursor#18 ← phi( main::@49/(byte*) print_line_cursor#2 )
  (byte*) print_line_cursor#6 ← (byte*) print_line_cursor#18
  (byte*) print_char_cursor#17 ← (byte*) print_char_cursor#62
  (byte) main::r#7 ← (byte) '-'
  (bool~) main::$15 ← (byte) main::a#10 > (byte) main::b#2
  (bool~) main::$16 ← ! (bool~) main::$15
  if((bool~) main::$16) goto main::@6
  to:main::@27
main::@26: scope:[main]  from main::@48
  (byte) main::i#60 ← phi( main::@48/(byte) main::i#61 )
  (byte) main::b#23 ← phi( main::@48/(byte) main::b#24 )
  (byte*) print_line_cursor#40 ← phi( main::@48/(byte*) print_line_cursor#41 )
  (byte*) print_char_cursor#124 ← phi( main::@48/(byte*) print_char_cursor#15 )
  (byte) main::a#46 ← phi( main::@48/(byte) main::a#8 )
  (byte) main::r#8 ← (byte) '+'
  to:main::@5
main::@6: scope:[main]  from main::@27 main::@50
  (byte*) print_line_cursor#81 ← phi( main::@27/(byte*) print_line_cursor#87 main::@50/(byte*) print_line_cursor#6 )
  (byte) main::i#36 ← phi( main::@27/(byte) main::i#44 main::@50/(byte) main::i#45 )
  (byte*) print_char_cursor#101 ← phi( main::@27/(byte*) print_char_cursor#125 main::@50/(byte*) print_char_cursor#17 )
  (byte) main::r#44 ← phi( main::@27/(byte) main::r#10 main::@50/(byte) main::r#7 )
  (byte) main::b#3 ← phi( main::@27/(byte) main::b#12 main::@50/(byte) main::b#2 )
  (byte) main::a#11 ← phi( main::@27/(byte) main::a#48 main::@50/(byte) main::a#10 )
  (byte) printu::a#4 ← (byte) main::a#11
  (byte[]) printu::op#4 ← (const string) main::op4
  (byte) printu::b#4 ← (byte) main::b#3
  (byte) printu::res#4 ← (byte) main::r#44
  call printu 
  to:main::@51
main::@51: scope:[main]  from main::@6
  (byte) main::b#50 ← phi( main::@6/(byte) main::b#3 )
  (byte*) print_line_cursor#73 ← phi( main::@6/(byte*) print_line_cursor#81 )
  (byte) main::i#27 ← phi( main::@6/(byte) main::i#36 )
  (byte) main::a#12 ← phi( main::@6/(byte) main::a#11 )
  (byte*) print_char_cursor#63 ← phi( main::@6/(byte*) print_char_cursor#45 )
  (byte*) print_char_cursor#18 ← (byte*) print_char_cursor#63
  (byte) main::r#9 ← (byte) '-'
  (bool~) main::$18 ← (byte) main::a#12 > (byte/signed byte/word/signed word/dword/signed dword) 55
  (bool~) main::$19 ← ! (bool~) main::$18
  if((bool~) main::$19) goto main::@7
  to:main::@28
main::@27: scope:[main]  from main::@50
  (byte*) print_line_cursor#87 ← phi( main::@50/(byte*) print_line_cursor#6 )
  (byte) main::i#44 ← phi( main::@50/(byte) main::i#45 )
  (byte*) print_char_cursor#125 ← phi( main::@50/(byte*) print_char_cursor#17 )
  (byte) main::b#12 ← phi( main::@50/(byte) main::b#2 )
  (byte) main::a#48 ← phi( main::@50/(byte) main::a#10 )
  (byte) main::r#10 ← (byte) '+'
  to:main::@6
main::@7: scope:[main]  from main::@28 main::@51
  (byte) main::b#44 ← phi( main::@28/(byte) main::b#49 main::@51/(byte) main::b#50 )
  (byte*) print_line_cursor#66 ← phi( main::@28/(byte*) print_line_cursor#72 main::@51/(byte*) print_line_cursor#73 )
  (byte) main::i#15 ← phi( main::@28/(byte) main::i#26 main::@51/(byte) main::i#27 )
  (byte*) print_char_cursor#102 ← phi( main::@28/(byte*) print_char_cursor#126 main::@51/(byte*) print_char_cursor#18 )
  (byte) main::r#45 ← phi( main::@28/(byte) main::r#12 main::@51/(byte) main::r#9 )
  (byte) main::a#13 ← phi( main::@28/(byte) main::a#49 main::@51/(byte) main::a#12 )
  (byte) printu::a#5 ← (byte) main::a#13
  (byte[]) printu::op#5 ← (const string) main::op5
  (byte) printu::b#5 ← (byte/signed byte/word/signed word/dword/signed dword) 55
  (byte) printu::res#5 ← (byte) main::r#45
  call printu 
  to:main::@52
main::@52: scope:[main]  from main::@7
  (byte) main::b#38 ← phi( main::@7/(byte) main::b#44 )
  (byte*) print_line_cursor#58 ← phi( main::@7/(byte*) print_line_cursor#66 )
  (byte) main::i#4 ← phi( main::@7/(byte) main::i#15 )
  (byte) main::a#14 ← phi( main::@7/(byte) main::a#13 )
  (byte*) print_char_cursor#64 ← phi( main::@7/(byte*) print_char_cursor#45 )
  (byte*) print_char_cursor#19 ← (byte*) print_char_cursor#64
  (byte) main::r#11 ← (byte) '-'
  (bool~) main::$21 ← (byte) main::a#14 > *((byte[5]) main::cs#0 + (byte) main::i#4)
  (bool~) main::$22 ← ! (bool~) main::$21
  if((bool~) main::$22) goto main::@8
  to:main::@29
main::@28: scope:[main]  from main::@51
  (byte) main::b#49 ← phi( main::@51/(byte) main::b#50 )
  (byte*) print_line_cursor#72 ← phi( main::@51/(byte*) print_line_cursor#73 )
  (byte) main::i#26 ← phi( main::@51/(byte) main::i#27 )
  (byte*) print_char_cursor#126 ← phi( main::@51/(byte*) print_char_cursor#18 )
  (byte) main::a#49 ← phi( main::@51/(byte) main::a#12 )
  (byte) main::r#12 ← (byte) '+'
  to:main::@7
main::@8: scope:[main]  from main::@29 main::@52
  (byte) main::b#32 ← phi( main::@29/(byte) main::b#37 main::@52/(byte) main::b#38 )
  (byte*) print_line_cursor#51 ← phi( main::@29/(byte*) print_line_cursor#57 main::@52/(byte*) print_line_cursor#58 )
  (byte*) print_char_cursor#103 ← phi( main::@29/(byte*) print_char_cursor#127 main::@52/(byte*) print_char_cursor#19 )
  (byte) main::r#46 ← phi( main::@29/(byte) main::r#14 main::@52/(byte) main::r#11 )
  (byte) main::i#5 ← phi( main::@29/(byte) main::i#16 main::@52/(byte) main::i#4 )
  (byte) main::a#15 ← phi( main::@29/(byte) main::a#50 main::@52/(byte) main::a#14 )
  (byte) printu::a#6 ← (byte) main::a#15
  (byte[]) printu::op#6 ← (const string) main::op6
  (byte) printu::b#6 ← *((byte[5]) main::cs#0 + (byte) main::i#5)
  (byte) printu::res#6 ← (byte) main::r#46
  call printu 
  to:main::@53
main::@53: scope:[main]  from main::@8
  (byte) main::i#63 ← phi( main::@8/(byte) main::i#5 )
  (byte) main::b#26 ← phi( main::@8/(byte) main::b#32 )
  (byte*) print_line_cursor#43 ← phi( main::@8/(byte*) print_line_cursor#51 )
  (byte) main::a#16 ← phi( main::@8/(byte) main::a#15 )
  (byte*) print_char_cursor#65 ← phi( main::@8/(byte*) print_char_cursor#45 )
  (byte*) print_char_cursor#20 ← (byte*) print_char_cursor#65
  (byte) main::r#13 ← (byte) '-'
  (bool~) main::$24 ← (byte) main::a#16 > (byte) main::a#16
  (bool~) main::$25 ← ! (bool~) main::$24
  if((bool~) main::$25) goto main::@9
  to:main::@30
main::@29: scope:[main]  from main::@52
  (byte) main::b#37 ← phi( main::@52/(byte) main::b#38 )
  (byte*) print_line_cursor#57 ← phi( main::@52/(byte*) print_line_cursor#58 )
  (byte*) print_char_cursor#127 ← phi( main::@52/(byte*) print_char_cursor#19 )
  (byte) main::i#16 ← phi( main::@52/(byte) main::i#4 )
  (byte) main::a#50 ← phi( main::@52/(byte) main::a#14 )
  (byte) main::r#14 ← (byte) '+'
  to:main::@8
main::@9: scope:[main]  from main::@30 main::@53
  (byte) main::i#57 ← phi( main::@30/(byte) main::i#62 main::@53/(byte) main::i#63 )
  (byte) main::b#20 ← phi( main::@30/(byte) main::b#25 main::@53/(byte) main::b#26 )
  (byte*) print_line_cursor#35 ← phi( main::@30/(byte*) print_line_cursor#42 main::@53/(byte*) print_line_cursor#43 )
  (byte*) print_char_cursor#104 ← phi( main::@30/(byte*) print_char_cursor#128 main::@53/(byte*) print_char_cursor#20 )
  (byte) main::r#47 ← phi( main::@30/(byte) main::r#16 main::@53/(byte) main::r#13 )
  (byte) main::a#17 ← phi( main::@30/(byte) main::a#51 main::@53/(byte) main::a#16 )
  (byte) printu::a#7 ← (byte) main::a#17
  (byte[]) printu::op#7 ← (const string) main::op7
  (byte) printu::b#7 ← (byte) main::a#17
  (byte) printu::res#7 ← (byte) main::r#47
  call printu 
  to:main::@54
main::@54: scope:[main]  from main::@9
  (byte) main::i#53 ← phi( main::@9/(byte) main::i#57 )
  (byte) main::b#13 ← phi( main::@9/(byte) main::b#20 )
  (byte) main::a#52 ← phi( main::@9/(byte) main::a#17 )
  (byte*) print_line_cursor#28 ← phi( main::@9/(byte*) print_line_cursor#35 )
  (byte*) print_char_cursor#66 ← phi( main::@9/(byte*) print_char_cursor#45 )
  (byte*) print_char_cursor#21 ← (byte*) print_char_cursor#66
  call print_ln 
  to:main::@55
main::@55: scope:[main]  from main::@54
  (byte) main::i#47 ← phi( main::@54/(byte) main::i#53 )
  (byte) main::b#4 ← phi( main::@54/(byte) main::b#13 )
  (byte) main::a#18 ← phi( main::@54/(byte) main::a#52 )
  (byte*) print_char_cursor#67 ← phi( main::@54/(byte*) print_char_cursor#4 )
  (byte*) print_line_cursor#19 ← phi( main::@54/(byte*) print_line_cursor#2 )
  (byte*) print_line_cursor#7 ← (byte*) print_line_cursor#19
  (byte*) print_char_cursor#22 ← (byte*) print_char_cursor#67
  (byte) main::r#15 ← (byte) '-'
  (bool~) main::$28 ← (byte) main::a#18 <= (byte) main::b#4
  (bool~) main::$29 ← ! (bool~) main::$28
  if((bool~) main::$29) goto main::@10
  to:main::@31
main::@30: scope:[main]  from main::@53
  (byte) main::i#62 ← phi( main::@53/(byte) main::i#63 )
  (byte) main::b#25 ← phi( main::@53/(byte) main::b#26 )
  (byte*) print_line_cursor#42 ← phi( main::@53/(byte*) print_line_cursor#43 )
  (byte*) print_char_cursor#128 ← phi( main::@53/(byte*) print_char_cursor#20 )
  (byte) main::a#51 ← phi( main::@53/(byte) main::a#16 )
  (byte) main::r#16 ← (byte) '+'
  to:main::@9
main::@10: scope:[main]  from main::@31 main::@55
  (byte*) print_line_cursor#82 ← phi( main::@31/(byte*) print_line_cursor#88 main::@55/(byte*) print_line_cursor#7 )
  (byte) main::i#37 ← phi( main::@31/(byte) main::i#46 main::@55/(byte) main::i#47 )
  (byte*) print_char_cursor#105 ← phi( main::@31/(byte*) print_char_cursor#129 main::@55/(byte*) print_char_cursor#22 )
  (byte) main::r#48 ← phi( main::@31/(byte) main::r#18 main::@55/(byte) main::r#15 )
  (byte) main::b#5 ← phi( main::@31/(byte) main::b#14 main::@55/(byte) main::b#4 )
  (byte) main::a#19 ← phi( main::@31/(byte) main::a#53 main::@55/(byte) main::a#18 )
  (byte) printu::a#8 ← (byte) main::a#19
  (byte[]) printu::op#8 ← (const string) main::op8
  (byte) printu::b#8 ← (byte) main::b#5
  (byte) printu::res#8 ← (byte) main::r#48
  call printu 
  to:main::@56
main::@56: scope:[main]  from main::@10
  (byte) main::b#52 ← phi( main::@10/(byte) main::b#5 )
  (byte*) print_line_cursor#75 ← phi( main::@10/(byte*) print_line_cursor#82 )
  (byte) main::i#29 ← phi( main::@10/(byte) main::i#37 )
  (byte) main::a#20 ← phi( main::@10/(byte) main::a#19 )
  (byte*) print_char_cursor#68 ← phi( main::@10/(byte*) print_char_cursor#45 )
  (byte*) print_char_cursor#23 ← (byte*) print_char_cursor#68
  (byte) main::r#17 ← (byte) '-'
  (bool~) main::$31 ← (byte) main::a#20 <= (byte/signed byte/word/signed word/dword/signed dword) 55
  (bool~) main::$32 ← ! (bool~) main::$31
  if((bool~) main::$32) goto main::@11
  to:main::@32
main::@31: scope:[main]  from main::@55
  (byte*) print_line_cursor#88 ← phi( main::@55/(byte*) print_line_cursor#7 )
  (byte) main::i#46 ← phi( main::@55/(byte) main::i#47 )
  (byte*) print_char_cursor#129 ← phi( main::@55/(byte*) print_char_cursor#22 )
  (byte) main::b#14 ← phi( main::@55/(byte) main::b#4 )
  (byte) main::a#53 ← phi( main::@55/(byte) main::a#18 )
  (byte) main::r#18 ← (byte) '+'
  to:main::@10
main::@11: scope:[main]  from main::@32 main::@56
  (byte) main::b#45 ← phi( main::@32/(byte) main::b#51 main::@56/(byte) main::b#52 )
  (byte*) print_line_cursor#67 ← phi( main::@32/(byte*) print_line_cursor#74 main::@56/(byte*) print_line_cursor#75 )
  (byte) main::i#17 ← phi( main::@32/(byte) main::i#28 main::@56/(byte) main::i#29 )
  (byte*) print_char_cursor#106 ← phi( main::@32/(byte*) print_char_cursor#130 main::@56/(byte*) print_char_cursor#23 )
  (byte) main::r#49 ← phi( main::@32/(byte) main::r#20 main::@56/(byte) main::r#17 )
  (byte) main::a#21 ← phi( main::@32/(byte) main::a#54 main::@56/(byte) main::a#20 )
  (byte) printu::a#9 ← (byte) main::a#21
  (byte[]) printu::op#9 ← (const string) main::op9
  (byte) printu::b#9 ← (byte/signed byte/word/signed word/dword/signed dword) 55
  (byte) printu::res#9 ← (byte) main::r#49
  call printu 
  to:main::@57
main::@57: scope:[main]  from main::@11
  (byte) main::b#40 ← phi( main::@11/(byte) main::b#45 )
  (byte*) print_line_cursor#60 ← phi( main::@11/(byte*) print_line_cursor#67 )
  (byte) main::i#6 ← phi( main::@11/(byte) main::i#17 )
  (byte) main::a#22 ← phi( main::@11/(byte) main::a#21 )
  (byte*) print_char_cursor#69 ← phi( main::@11/(byte*) print_char_cursor#45 )
  (byte*) print_char_cursor#24 ← (byte*) print_char_cursor#69
  (byte) main::r#19 ← (byte) '-'
  (bool~) main::$34 ← (byte) main::a#22 <= *((byte[5]) main::cs#0 + (byte) main::i#6)
  (bool~) main::$35 ← ! (bool~) main::$34
  if((bool~) main::$35) goto main::@12
  to:main::@33
main::@32: scope:[main]  from main::@56
  (byte) main::b#51 ← phi( main::@56/(byte) main::b#52 )
  (byte*) print_line_cursor#74 ← phi( main::@56/(byte*) print_line_cursor#75 )
  (byte) main::i#28 ← phi( main::@56/(byte) main::i#29 )
  (byte*) print_char_cursor#130 ← phi( main::@56/(byte*) print_char_cursor#23 )
  (byte) main::a#54 ← phi( main::@56/(byte) main::a#20 )
  (byte) main::r#20 ← (byte) '+'
  to:main::@11
main::@12: scope:[main]  from main::@33 main::@57
  (byte) main::b#33 ← phi( main::@33/(byte) main::b#39 main::@57/(byte) main::b#40 )
  (byte*) print_line_cursor#52 ← phi( main::@33/(byte*) print_line_cursor#59 main::@57/(byte*) print_line_cursor#60 )
  (byte*) print_char_cursor#107 ← phi( main::@33/(byte*) print_char_cursor#131 main::@57/(byte*) print_char_cursor#24 )
  (byte) main::r#50 ← phi( main::@33/(byte) main::r#22 main::@57/(byte) main::r#19 )
  (byte) main::i#7 ← phi( main::@33/(byte) main::i#18 main::@57/(byte) main::i#6 )
  (byte) main::a#23 ← phi( main::@33/(byte) main::a#55 main::@57/(byte) main::a#22 )
  (byte) printu::a#10 ← (byte) main::a#23
  (byte[]) printu::op#10 ← (const string) main::op10
  (byte) printu::b#10 ← *((byte[5]) main::cs#0 + (byte) main::i#7)
  (byte) printu::res#10 ← (byte) main::r#50
  call printu 
  to:main::@58
main::@58: scope:[main]  from main::@12
  (byte) main::i#65 ← phi( main::@12/(byte) main::i#7 )
  (byte) main::b#28 ← phi( main::@12/(byte) main::b#33 )
  (byte*) print_line_cursor#45 ← phi( main::@12/(byte*) print_line_cursor#52 )
  (byte) main::a#24 ← phi( main::@12/(byte) main::a#23 )
  (byte*) print_char_cursor#70 ← phi( main::@12/(byte*) print_char_cursor#45 )
  (byte*) print_char_cursor#25 ← (byte*) print_char_cursor#70
  (byte) main::r#21 ← (byte) '-'
  (bool~) main::$37 ← (byte) main::a#24 <= (byte) main::a#24
  (bool~) main::$38 ← ! (bool~) main::$37
  if((bool~) main::$38) goto main::@13
  to:main::@34
main::@33: scope:[main]  from main::@57
  (byte) main::b#39 ← phi( main::@57/(byte) main::b#40 )
  (byte*) print_line_cursor#59 ← phi( main::@57/(byte*) print_line_cursor#60 )
  (byte*) print_char_cursor#131 ← phi( main::@57/(byte*) print_char_cursor#24 )
  (byte) main::i#18 ← phi( main::@57/(byte) main::i#6 )
  (byte) main::a#55 ← phi( main::@57/(byte) main::a#22 )
  (byte) main::r#22 ← (byte) '+'
  to:main::@12
main::@13: scope:[main]  from main::@34 main::@58
  (byte) main::i#58 ← phi( main::@34/(byte) main::i#64 main::@58/(byte) main::i#65 )
  (byte) main::b#21 ← phi( main::@34/(byte) main::b#27 main::@58/(byte) main::b#28 )
  (byte*) print_line_cursor#36 ← phi( main::@34/(byte*) print_line_cursor#44 main::@58/(byte*) print_line_cursor#45 )
  (byte*) print_char_cursor#108 ← phi( main::@34/(byte*) print_char_cursor#132 main::@58/(byte*) print_char_cursor#25 )
  (byte) main::r#51 ← phi( main::@34/(byte) main::r#24 main::@58/(byte) main::r#21 )
  (byte) main::a#25 ← phi( main::@34/(byte) main::a#56 main::@58/(byte) main::a#24 )
  (byte) printu::a#11 ← (byte) main::a#25
  (byte[]) printu::op#11 ← (const string) main::op11
  (byte) printu::b#11 ← (byte) main::a#25
  (byte) printu::res#11 ← (byte) main::r#51
  call printu 
  to:main::@59
main::@59: scope:[main]  from main::@13
  (byte) main::i#54 ← phi( main::@13/(byte) main::i#58 )
  (byte) main::b#15 ← phi( main::@13/(byte) main::b#21 )
  (byte) main::a#57 ← phi( main::@13/(byte) main::a#25 )
  (byte*) print_line_cursor#29 ← phi( main::@13/(byte*) print_line_cursor#36 )
  (byte*) print_char_cursor#71 ← phi( main::@13/(byte*) print_char_cursor#45 )
  (byte*) print_char_cursor#26 ← (byte*) print_char_cursor#71
  call print_ln 
  to:main::@60
main::@60: scope:[main]  from main::@59
  (byte) main::i#49 ← phi( main::@59/(byte) main::i#54 )
  (byte) main::b#6 ← phi( main::@59/(byte) main::b#15 )
  (byte) main::a#26 ← phi( main::@59/(byte) main::a#57 )
  (byte*) print_char_cursor#72 ← phi( main::@59/(byte*) print_char_cursor#4 )
  (byte*) print_line_cursor#20 ← phi( main::@59/(byte*) print_line_cursor#2 )
  (byte*) print_line_cursor#8 ← (byte*) print_line_cursor#20
  (byte*) print_char_cursor#27 ← (byte*) print_char_cursor#72
  (byte) main::r#23 ← (byte) '-'
  (bool~) main::$41 ← (byte) main::a#26 >= (byte) main::b#6
  (bool~) main::$42 ← ! (bool~) main::$41
  if((bool~) main::$42) goto main::@14
  to:main::@35
main::@34: scope:[main]  from main::@58
  (byte) main::i#64 ← phi( main::@58/(byte) main::i#65 )
  (byte) main::b#27 ← phi( main::@58/(byte) main::b#28 )
  (byte*) print_line_cursor#44 ← phi( main::@58/(byte*) print_line_cursor#45 )
  (byte*) print_char_cursor#132 ← phi( main::@58/(byte*) print_char_cursor#25 )
  (byte) main::a#56 ← phi( main::@58/(byte) main::a#24 )
  (byte) main::r#24 ← (byte) '+'
  to:main::@13
main::@14: scope:[main]  from main::@35 main::@60
  (byte*) print_line_cursor#83 ← phi( main::@35/(byte*) print_line_cursor#89 main::@60/(byte*) print_line_cursor#8 )
  (byte) main::i#38 ← phi( main::@35/(byte) main::i#48 main::@60/(byte) main::i#49 )
  (byte*) print_char_cursor#109 ← phi( main::@35/(byte*) print_char_cursor#133 main::@60/(byte*) print_char_cursor#27 )
  (byte) main::r#52 ← phi( main::@35/(byte) main::r#26 main::@60/(byte) main::r#23 )
  (byte) main::b#7 ← phi( main::@35/(byte) main::b#16 main::@60/(byte) main::b#6 )
  (byte) main::a#27 ← phi( main::@35/(byte) main::a#58 main::@60/(byte) main::a#26 )
  (byte) printu::a#12 ← (byte) main::a#27
  (byte[]) printu::op#12 ← (const string) main::op12
  (byte) printu::b#12 ← (byte) main::b#7
  (byte) printu::res#12 ← (byte) main::r#52
  call printu 
  to:main::@61
main::@61: scope:[main]  from main::@14
  (byte) main::b#54 ← phi( main::@14/(byte) main::b#7 )
  (byte*) print_line_cursor#77 ← phi( main::@14/(byte*) print_line_cursor#83 )
  (byte) main::i#31 ← phi( main::@14/(byte) main::i#38 )
  (byte) main::a#28 ← phi( main::@14/(byte) main::a#27 )
  (byte*) print_char_cursor#73 ← phi( main::@14/(byte*) print_char_cursor#45 )
  (byte*) print_char_cursor#28 ← (byte*) print_char_cursor#73
  (byte) main::r#25 ← (byte) '-'
  (bool~) main::$44 ← (byte) main::a#28 >= (byte/signed byte/word/signed word/dword/signed dword) 55
  (bool~) main::$45 ← ! (bool~) main::$44
  if((bool~) main::$45) goto main::@15
  to:main::@36
main::@35: scope:[main]  from main::@60
  (byte*) print_line_cursor#89 ← phi( main::@60/(byte*) print_line_cursor#8 )
  (byte) main::i#48 ← phi( main::@60/(byte) main::i#49 )
  (byte*) print_char_cursor#133 ← phi( main::@60/(byte*) print_char_cursor#27 )
  (byte) main::b#16 ← phi( main::@60/(byte) main::b#6 )
  (byte) main::a#58 ← phi( main::@60/(byte) main::a#26 )
  (byte) main::r#26 ← (byte) '+'
  to:main::@14
main::@15: scope:[main]  from main::@36 main::@61
  (byte) main::b#46 ← phi( main::@36/(byte) main::b#53 main::@61/(byte) main::b#54 )
  (byte*) print_line_cursor#68 ← phi( main::@36/(byte*) print_line_cursor#76 main::@61/(byte*) print_line_cursor#77 )
  (byte) main::i#19 ← phi( main::@36/(byte) main::i#30 main::@61/(byte) main::i#31 )
  (byte*) print_char_cursor#110 ← phi( main::@36/(byte*) print_char_cursor#134 main::@61/(byte*) print_char_cursor#28 )
  (byte) main::r#53 ← phi( main::@36/(byte) main::r#28 main::@61/(byte) main::r#25 )
  (byte) main::a#29 ← phi( main::@36/(byte) main::a#59 main::@61/(byte) main::a#28 )
  (byte) printu::a#13 ← (byte) main::a#29
  (byte[]) printu::op#13 ← (const string) main::op13
  (byte) printu::b#13 ← (byte/signed byte/word/signed word/dword/signed dword) 55
  (byte) printu::res#13 ← (byte) main::r#53
  call printu 
  to:main::@62
main::@62: scope:[main]  from main::@15
  (byte) main::b#42 ← phi( main::@15/(byte) main::b#46 )
  (byte*) print_line_cursor#62 ← phi( main::@15/(byte*) print_line_cursor#68 )
  (byte) main::i#8 ← phi( main::@15/(byte) main::i#19 )
  (byte) main::a#30 ← phi( main::@15/(byte) main::a#29 )
  (byte*) print_char_cursor#74 ← phi( main::@15/(byte*) print_char_cursor#45 )
  (byte*) print_char_cursor#29 ← (byte*) print_char_cursor#74
  (byte) main::r#27 ← (byte) '-'
  (bool~) main::$47 ← (byte) main::a#30 >= *((byte[5]) main::cs#0 + (byte) main::i#8)
  (bool~) main::$48 ← ! (bool~) main::$47
  if((bool~) main::$48) goto main::@16
  to:main::@37
main::@36: scope:[main]  from main::@61
  (byte) main::b#53 ← phi( main::@61/(byte) main::b#54 )
  (byte*) print_line_cursor#76 ← phi( main::@61/(byte*) print_line_cursor#77 )
  (byte) main::i#30 ← phi( main::@61/(byte) main::i#31 )
  (byte*) print_char_cursor#134 ← phi( main::@61/(byte*) print_char_cursor#28 )
  (byte) main::a#59 ← phi( main::@61/(byte) main::a#28 )
  (byte) main::r#28 ← (byte) '+'
  to:main::@15
main::@16: scope:[main]  from main::@37 main::@62
  (byte) main::b#34 ← phi( main::@37/(byte) main::b#41 main::@62/(byte) main::b#42 )
  (byte*) print_line_cursor#53 ← phi( main::@37/(byte*) print_line_cursor#61 main::@62/(byte*) print_line_cursor#62 )
  (byte*) print_char_cursor#111 ← phi( main::@37/(byte*) print_char_cursor#135 main::@62/(byte*) print_char_cursor#29 )
  (byte) main::r#54 ← phi( main::@37/(byte) main::r#30 main::@62/(byte) main::r#27 )
  (byte) main::i#9 ← phi( main::@37/(byte) main::i#20 main::@62/(byte) main::i#8 )
  (byte) main::a#31 ← phi( main::@37/(byte) main::a#60 main::@62/(byte) main::a#30 )
  (byte) printu::a#14 ← (byte) main::a#31
  (byte[]) printu::op#14 ← (const string) main::op14
  (byte) printu::b#14 ← *((byte[5]) main::cs#0 + (byte) main::i#9)
  (byte) printu::res#14 ← (byte) main::r#54
  call printu 
  to:main::@63
main::@63: scope:[main]  from main::@16
  (byte) main::i#67 ← phi( main::@16/(byte) main::i#9 )
  (byte) main::b#30 ← phi( main::@16/(byte) main::b#34 )
  (byte*) print_line_cursor#47 ← phi( main::@16/(byte*) print_line_cursor#53 )
  (byte) main::a#32 ← phi( main::@16/(byte) main::a#31 )
  (byte*) print_char_cursor#75 ← phi( main::@16/(byte*) print_char_cursor#45 )
  (byte*) print_char_cursor#30 ← (byte*) print_char_cursor#75
  (byte) main::r#29 ← (byte) '-'
  (bool~) main::$50 ← (byte) main::a#32 >= (byte) main::a#32
  (bool~) main::$51 ← ! (bool~) main::$50
  if((bool~) main::$51) goto main::@17
  to:main::@38
main::@37: scope:[main]  from main::@62
  (byte) main::b#41 ← phi( main::@62/(byte) main::b#42 )
  (byte*) print_line_cursor#61 ← phi( main::@62/(byte*) print_line_cursor#62 )
  (byte*) print_char_cursor#135 ← phi( main::@62/(byte*) print_char_cursor#29 )
  (byte) main::i#20 ← phi( main::@62/(byte) main::i#8 )
  (byte) main::a#60 ← phi( main::@62/(byte) main::a#30 )
  (byte) main::r#30 ← (byte) '+'
  to:main::@16
main::@17: scope:[main]  from main::@38 main::@63
  (byte) main::i#59 ← phi( main::@38/(byte) main::i#66 main::@63/(byte) main::i#67 )
  (byte) main::b#22 ← phi( main::@38/(byte) main::b#29 main::@63/(byte) main::b#30 )
  (byte*) print_line_cursor#37 ← phi( main::@38/(byte*) print_line_cursor#46 main::@63/(byte*) print_line_cursor#47 )
  (byte*) print_char_cursor#112 ← phi( main::@38/(byte*) print_char_cursor#136 main::@63/(byte*) print_char_cursor#30 )
  (byte) main::r#55 ← phi( main::@38/(byte) main::r#32 main::@63/(byte) main::r#29 )
  (byte) main::a#33 ← phi( main::@38/(byte) main::a#61 main::@63/(byte) main::a#32 )
  (byte) printu::a#15 ← (byte) main::a#33
  (byte[]) printu::op#15 ← (const string) main::op15
  (byte) printu::b#15 ← (byte) main::a#33
  (byte) printu::res#15 ← (byte) main::r#55
  call printu 
  to:main::@64
main::@64: scope:[main]  from main::@17
  (byte) main::i#55 ← phi( main::@17/(byte) main::i#59 )
  (byte) main::b#17 ← phi( main::@17/(byte) main::b#22 )
  (byte) main::a#62 ← phi( main::@17/(byte) main::a#33 )
  (byte*) print_line_cursor#30 ← phi( main::@17/(byte*) print_line_cursor#37 )
  (byte*) print_char_cursor#76 ← phi( main::@17/(byte*) print_char_cursor#45 )
  (byte*) print_char_cursor#31 ← (byte*) print_char_cursor#76
  call print_ln 
  to:main::@65
main::@65: scope:[main]  from main::@64
  (byte) main::i#51 ← phi( main::@64/(byte) main::i#55 )
  (byte) main::b#8 ← phi( main::@64/(byte) main::b#17 )
  (byte) main::a#34 ← phi( main::@64/(byte) main::a#62 )
  (byte*) print_char_cursor#77 ← phi( main::@64/(byte*) print_char_cursor#4 )
  (byte*) print_line_cursor#21 ← phi( main::@64/(byte*) print_line_cursor#2 )
  (byte*) print_line_cursor#9 ← (byte*) print_line_cursor#21
  (byte*) print_char_cursor#32 ← (byte*) print_char_cursor#77
  (byte) main::r#31 ← (byte) '-'
  (bool~) main::$54 ← (byte) main::a#34 == (byte) main::b#8
  (bool~) main::$55 ← ! (bool~) main::$54
  if((bool~) main::$55) goto main::@18
  to:main::@39
main::@38: scope:[main]  from main::@63
  (byte) main::i#66 ← phi( main::@63/(byte) main::i#67 )
  (byte) main::b#29 ← phi( main::@63/(byte) main::b#30 )
  (byte*) print_line_cursor#46 ← phi( main::@63/(byte*) print_line_cursor#47 )
  (byte*) print_char_cursor#136 ← phi( main::@63/(byte*) print_char_cursor#30 )
  (byte) main::a#61 ← phi( main::@63/(byte) main::a#32 )
  (byte) main::r#32 ← (byte) '+'
  to:main::@17
main::@18: scope:[main]  from main::@39 main::@65
  (byte*) print_line_cursor#84 ← phi( main::@39/(byte*) print_line_cursor#90 main::@65/(byte*) print_line_cursor#9 )
  (byte) main::i#39 ← phi( main::@39/(byte) main::i#50 main::@65/(byte) main::i#51 )
  (byte*) print_char_cursor#113 ← phi( main::@39/(byte*) print_char_cursor#137 main::@65/(byte*) print_char_cursor#32 )
  (byte) main::r#56 ← phi( main::@39/(byte) main::r#34 main::@65/(byte) main::r#31 )
  (byte) main::b#9 ← phi( main::@39/(byte) main::b#18 main::@65/(byte) main::b#8 )
  (byte) main::a#35 ← phi( main::@39/(byte) main::a#63 main::@65/(byte) main::a#34 )
  (byte) printu::a#16 ← (byte) main::a#35
  (byte[]) printu::op#16 ← (const string) main::op16
  (byte) printu::b#16 ← (byte) main::b#9
  (byte) printu::res#16 ← (byte) main::r#56
  call printu 
  to:main::@66
main::@66: scope:[main]  from main::@18
  (byte*) print_line_cursor#79 ← phi( main::@18/(byte*) print_line_cursor#84 )
  (byte) main::i#33 ← phi( main::@18/(byte) main::i#39 )
  (byte) main::a#36 ← phi( main::@18/(byte) main::a#35 )
  (byte*) print_char_cursor#78 ← phi( main::@18/(byte*) print_char_cursor#45 )
  (byte*) print_char_cursor#33 ← (byte*) print_char_cursor#78
  (byte) main::r#33 ← (byte) '-'
  (bool~) main::$57 ← (byte) main::a#36 == (byte/signed byte/word/signed word/dword/signed dword) 55
  (bool~) main::$58 ← ! (bool~) main::$57
  if((bool~) main::$58) goto main::@19
  to:main::@40
main::@39: scope:[main]  from main::@65
  (byte*) print_line_cursor#90 ← phi( main::@65/(byte*) print_line_cursor#9 )
  (byte) main::i#50 ← phi( main::@65/(byte) main::i#51 )
  (byte*) print_char_cursor#137 ← phi( main::@65/(byte*) print_char_cursor#32 )
  (byte) main::b#18 ← phi( main::@65/(byte) main::b#8 )
  (byte) main::a#63 ← phi( main::@65/(byte) main::a#34 )
  (byte) main::r#34 ← (byte) '+'
  to:main::@18
main::@19: scope:[main]  from main::@40 main::@66
  (byte*) print_line_cursor#69 ← phi( main::@40/(byte*) print_line_cursor#78 main::@66/(byte*) print_line_cursor#79 )
  (byte) main::i#21 ← phi( main::@40/(byte) main::i#32 main::@66/(byte) main::i#33 )
  (byte*) print_char_cursor#114 ← phi( main::@40/(byte*) print_char_cursor#138 main::@66/(byte*) print_char_cursor#33 )
  (byte) main::r#57 ← phi( main::@40/(byte) main::r#36 main::@66/(byte) main::r#33 )
  (byte) main::a#37 ← phi( main::@40/(byte) main::a#64 main::@66/(byte) main::a#36 )
  (byte) printu::a#17 ← (byte) main::a#37
  (byte[]) printu::op#17 ← (const string) main::op17
  (byte) printu::b#17 ← (byte/signed byte/word/signed word/dword/signed dword) 55
  (byte) printu::res#17 ← (byte) main::r#57
  call printu 
  to:main::@67
main::@67: scope:[main]  from main::@19
  (byte*) print_line_cursor#64 ← phi( main::@19/(byte*) print_line_cursor#69 )
  (byte) main::i#10 ← phi( main::@19/(byte) main::i#21 )
  (byte) main::a#38 ← phi( main::@19/(byte) main::a#37 )
  (byte*) print_char_cursor#79 ← phi( main::@19/(byte*) print_char_cursor#45 )
  (byte*) print_char_cursor#34 ← (byte*) print_char_cursor#79
  (byte) main::r#35 ← (byte) '-'
  (bool~) main::$60 ← (byte) main::a#38 == *((byte[5]) main::cs#0 + (byte) main::i#10)
  (bool~) main::$61 ← ! (bool~) main::$60
  if((bool~) main::$61) goto main::@20
  to:main::@41
main::@40: scope:[main]  from main::@66
  (byte*) print_line_cursor#78 ← phi( main::@66/(byte*) print_line_cursor#79 )
  (byte) main::i#32 ← phi( main::@66/(byte) main::i#33 )
  (byte*) print_char_cursor#138 ← phi( main::@66/(byte*) print_char_cursor#33 )
  (byte) main::a#64 ← phi( main::@66/(byte) main::a#36 )
  (byte) main::r#36 ← (byte) '+'
  to:main::@19
main::@20: scope:[main]  from main::@41 main::@67
  (byte*) print_line_cursor#54 ← phi( main::@41/(byte*) print_line_cursor#63 main::@67/(byte*) print_line_cursor#64 )
  (byte*) print_char_cursor#115 ← phi( main::@41/(byte*) print_char_cursor#139 main::@67/(byte*) print_char_cursor#34 )
  (byte) main::r#58 ← phi( main::@41/(byte) main::r#38 main::@67/(byte) main::r#35 )
  (byte) main::i#11 ← phi( main::@41/(byte) main::i#22 main::@67/(byte) main::i#10 )
  (byte) main::a#39 ← phi( main::@41/(byte) main::a#65 main::@67/(byte) main::a#38 )
  (byte) printu::a#18 ← (byte) main::a#39
  (byte[]) printu::op#18 ← (const string) main::op18
  (byte) printu::b#18 ← *((byte[5]) main::cs#0 + (byte) main::i#11)
  (byte) printu::res#18 ← (byte) main::r#58
  call printu 
  to:main::@68
main::@68: scope:[main]  from main::@20
  (byte) main::i#41 ← phi( main::@20/(byte) main::i#11 )
  (byte*) print_line_cursor#49 ← phi( main::@20/(byte*) print_line_cursor#54 )
  (byte) main::a#40 ← phi( main::@20/(byte) main::a#39 )
  (byte*) print_char_cursor#80 ← phi( main::@20/(byte*) print_char_cursor#45 )
  (byte*) print_char_cursor#35 ← (byte*) print_char_cursor#80
  (byte) main::r#37 ← (byte) '-'
  (bool~) main::$63 ← (byte) main::a#40 == (byte) main::a#40
  (bool~) main::$64 ← ! (bool~) main::$63
  if((bool~) main::$64) goto main::@21
  to:main::@42
main::@41: scope:[main]  from main::@67
  (byte*) print_line_cursor#63 ← phi( main::@67/(byte*) print_line_cursor#64 )
  (byte*) print_char_cursor#139 ← phi( main::@67/(byte*) print_char_cursor#34 )
  (byte) main::i#22 ← phi( main::@67/(byte) main::i#10 )
  (byte) main::a#65 ← phi( main::@67/(byte) main::a#38 )
  (byte) main::r#38 ← (byte) '+'
  to:main::@20
main::@21: scope:[main]  from main::@42 main::@68
  (byte) main::i#34 ← phi( main::@42/(byte) main::i#40 main::@68/(byte) main::i#41 )
  (byte*) print_line_cursor#38 ← phi( main::@42/(byte*) print_line_cursor#48 main::@68/(byte*) print_line_cursor#49 )
  (byte*) print_char_cursor#116 ← phi( main::@42/(byte*) print_char_cursor#140 main::@68/(byte*) print_char_cursor#35 )
  (byte) main::r#59 ← phi( main::@42/(byte) main::r#39 main::@68/(byte) main::r#37 )
  (byte) main::a#41 ← phi( main::@42/(byte) main::a#66 main::@68/(byte) main::a#40 )
  (byte) printu::a#19 ← (byte) main::a#41
  (byte[]) printu::op#19 ← (const string) main::op19
  (byte) printu::b#19 ← (byte) main::a#41
  (byte) printu::res#19 ← (byte) main::r#59
  call printu 
  to:main::@69
main::@69: scope:[main]  from main::@21
  (byte) main::i#23 ← phi( main::@21/(byte) main::i#34 )
  (byte) main::a#67 ← phi( main::@21/(byte) main::a#41 )
  (byte*) print_line_cursor#31 ← phi( main::@21/(byte*) print_line_cursor#38 )
  (byte*) print_char_cursor#81 ← phi( main::@21/(byte*) print_char_cursor#45 )
  (byte*) print_char_cursor#36 ← (byte*) print_char_cursor#81
  call print_ln 
  to:main::@70
main::@70: scope:[main]  from main::@69
  (byte) main::i#12 ← phi( main::@69/(byte) main::i#23 )
  (byte) main::a#42 ← phi( main::@69/(byte) main::a#67 )
  (byte*) print_char_cursor#82 ← phi( main::@69/(byte*) print_char_cursor#4 )
  (byte*) print_line_cursor#22 ← phi( main::@69/(byte*) print_line_cursor#2 )
  (byte*) print_line_cursor#10 ← (byte*) print_line_cursor#22
  (byte*) print_char_cursor#37 ← (byte*) print_char_cursor#82
  (byte/signed word/word/dword/signed dword~) main::$67 ← (byte) main::a#42 + (byte/signed byte/word/signed word/dword/signed dword) 48
  (byte) main::a#1 ← (byte/signed word/word/dword/signed dword~) main::$67
  (byte) main::i#1 ← (byte) main::i#12 + rangenext(0,4)
  (bool~) main::$68 ← (byte) main::i#1 != rangelast(0,4)
  if((bool~) main::$68) goto main::@1
  to:main::@22
main::@42: scope:[main]  from main::@68
  (byte) main::i#40 ← phi( main::@68/(byte) main::i#41 )
  (byte*) print_line_cursor#48 ← phi( main::@68/(byte*) print_line_cursor#49 )
  (byte*) print_char_cursor#140 ← phi( main::@68/(byte*) print_char_cursor#35 )
  (byte) main::a#66 ← phi( main::@68/(byte) main::a#40 )
  (byte) main::r#39 ← (byte) '+'
  to:main::@21
main::@22: scope:[main]  from main::@22 main::@70
  (byte*) print_char_cursor#117 ← phi( main::@22/(byte*) print_char_cursor#117 main::@70/(byte*) print_char_cursor#37 )
  (byte*) print_line_cursor#32 ← phi( main::@22/(byte*) print_line_cursor#32 main::@70/(byte*) print_line_cursor#10 )
  if(true) goto main::@22
  to:main::@return
main::@return: scope:[main]  from main::@22
  (byte*) print_char_cursor#83 ← phi( main::@22/(byte*) print_char_cursor#117 )
  (byte*) print_line_cursor#23 ← phi( main::@22/(byte*) print_line_cursor#32 )
  (byte*) print_line_cursor#11 ← (byte*) print_line_cursor#23
  (byte*) print_char_cursor#38 ← (byte*) print_char_cursor#83
  return 
  to:@return
printu: scope:[printu]  from main::@10 main::@11 main::@12 main::@13 main::@14 main::@15 main::@16 main::@17 main::@18 main::@19 main::@2 main::@20 main::@21 main::@3 main::@4 main::@5 main::@6 main::@7 main::@8 main::@9
  (byte) printu::res#25 ← phi( main::@10/(byte) printu::res#8 main::@11/(byte) printu::res#9 main::@12/(byte) printu::res#10 main::@13/(byte) printu::res#11 main::@14/(byte) printu::res#12 main::@15/(byte) printu::res#13 main::@16/(byte) printu::res#14 main::@17/(byte) printu::res#15 main::@18/(byte) printu::res#16 main::@19/(byte) printu::res#17 main::@2/(byte) printu::res#0 main::@20/(byte) printu::res#18 main::@21/(byte) printu::res#19 main::@3/(byte) printu::res#1 main::@4/(byte) printu::res#2 main::@5/(byte) printu::res#3 main::@6/(byte) printu::res#4 main::@7/(byte) printu::res#5 main::@8/(byte) printu::res#6 main::@9/(byte) printu::res#7 )
  (byte) printu::b#23 ← phi( main::@10/(byte) printu::b#8 main::@11/(byte) printu::b#9 main::@12/(byte) printu::b#10 main::@13/(byte) printu::b#11 main::@14/(byte) printu::b#12 main::@15/(byte) printu::b#13 main::@16/(byte) printu::b#14 main::@17/(byte) printu::b#15 main::@18/(byte) printu::b#16 main::@19/(byte) printu::b#17 main::@2/(byte) printu::b#0 main::@20/(byte) printu::b#18 main::@21/(byte) printu::b#19 main::@3/(byte) printu::b#1 main::@4/(byte) printu::b#2 main::@5/(byte) printu::b#3 main::@6/(byte) printu::b#4 main::@7/(byte) printu::b#5 main::@8/(byte) printu::b#6 main::@9/(byte) printu::b#7 )
  (byte[]) printu::op#22 ← phi( main::@10/(byte[]) printu::op#8 main::@11/(byte[]) printu::op#9 main::@12/(byte[]) printu::op#10 main::@13/(byte[]) printu::op#11 main::@14/(byte[]) printu::op#12 main::@15/(byte[]) printu::op#13 main::@16/(byte[]) printu::op#14 main::@17/(byte[]) printu::op#15 main::@18/(byte[]) printu::op#16 main::@19/(byte[]) printu::op#17 main::@2/(byte[]) printu::op#0 main::@20/(byte[]) printu::op#18 main::@21/(byte[]) printu::op#19 main::@3/(byte[]) printu::op#1 main::@4/(byte[]) printu::op#2 main::@5/(byte[]) printu::op#3 main::@6/(byte[]) printu::op#4 main::@7/(byte[]) printu::op#5 main::@8/(byte[]) printu::op#6 main::@9/(byte[]) printu::op#7 )
  (byte) printu::a#21 ← phi( main::@10/(byte) printu::a#8 main::@11/(byte) printu::a#9 main::@12/(byte) printu::a#10 main::@13/(byte) printu::a#11 main::@14/(byte) printu::a#12 main::@15/(byte) printu::a#13 main::@16/(byte) printu::a#14 main::@17/(byte) printu::a#15 main::@18/(byte) printu::a#16 main::@19/(byte) printu::a#17 main::@2/(byte) printu::a#0 main::@20/(byte) printu::a#18 main::@21/(byte) printu::a#19 main::@3/(byte) printu::a#1 main::@4/(byte) printu::a#2 main::@5/(byte) printu::a#3 main::@6/(byte) printu::a#4 main::@7/(byte) printu::a#5 main::@8/(byte) printu::a#6 main::@9/(byte) printu::a#7 )
  (byte*) print_char_cursor#95 ← phi( main::@10/(byte*) print_char_cursor#105 main::@11/(byte*) print_char_cursor#106 main::@12/(byte*) print_char_cursor#107 main::@13/(byte*) print_char_cursor#108 main::@14/(byte*) print_char_cursor#109 main::@15/(byte*) print_char_cursor#110 main::@16/(byte*) print_char_cursor#111 main::@17/(byte*) print_char_cursor#112 main::@18/(byte*) print_char_cursor#113 main::@19/(byte*) print_char_cursor#114 main::@2/(byte*) print_char_cursor#97 main::@20/(byte*) print_char_cursor#115 main::@21/(byte*) print_char_cursor#116 main::@3/(byte*) print_char_cursor#98 main::@4/(byte*) print_char_cursor#99 main::@5/(byte*) print_char_cursor#100 main::@6/(byte*) print_char_cursor#101 main::@7/(byte*) print_char_cursor#102 main::@8/(byte*) print_char_cursor#103 main::@9/(byte*) print_char_cursor#104 )
  (byte) print_char::ch#2 ← (byte) ' '
  call print_char 
  to:printu::@1
printu::@1: scope:[printu]  from printu
  (byte) printu::res#24 ← phi( printu/(byte) printu::res#25 )
  (byte) printu::b#22 ← phi( printu/(byte) printu::b#23 )
  (byte[]) printu::op#21 ← phi( printu/(byte[]) printu::op#22 )
  (byte) printu::a#20 ← phi( printu/(byte) printu::a#21 )
  (byte*) print_char_cursor#84 ← phi( printu/(byte*) print_char_cursor#9 )
  (byte*) print_char_cursor#39 ← (byte*) print_char_cursor#84
  (byte) print_byte::b#0 ← (byte) printu::a#20
  call print_byte 
  to:printu::@2
printu::@2: scope:[printu]  from printu::@1
  (byte) printu::res#23 ← phi( printu::@1/(byte) printu::res#24 )
  (byte) printu::b#21 ← phi( printu::@1/(byte) printu::b#22 )
  (byte[]) printu::op#20 ← phi( printu::@1/(byte[]) printu::op#21 )
  (byte*) print_char_cursor#85 ← phi( printu::@1/(byte*) print_char_cursor#7 )
  (byte*) print_char_cursor#40 ← (byte*) print_char_cursor#85
  (byte*) print_str::str#1 ← (byte[]) printu::op#20
  call print_str 
  to:printu::@3
printu::@3: scope:[printu]  from printu::@2
  (byte) printu::res#22 ← phi( printu::@2/(byte) printu::res#23 )
  (byte) printu::b#20 ← phi( printu::@2/(byte) printu::b#21 )
  (byte*) print_char_cursor#86 ← phi( printu::@2/(byte*) print_char_cursor#2 )
  (byte*) print_char_cursor#41 ← (byte*) print_char_cursor#86
  (byte) print_byte::b#1 ← (byte) printu::b#20
  call print_byte 
  to:printu::@4
printu::@4: scope:[printu]  from printu::@3
  (byte) printu::res#21 ← phi( printu::@3/(byte) printu::res#22 )
  (byte*) print_char_cursor#87 ← phi( printu::@3/(byte*) print_char_cursor#7 )
  (byte*) print_char_cursor#42 ← (byte*) print_char_cursor#87
  (byte) print_char::ch#3 ← (byte) ' '
  call print_char 
  to:printu::@5
printu::@5: scope:[printu]  from printu::@4
  (byte) printu::res#20 ← phi( printu::@4/(byte) printu::res#21 )
  (byte*) print_char_cursor#88 ← phi( printu::@4/(byte*) print_char_cursor#9 )
  (byte*) print_char_cursor#43 ← (byte*) print_char_cursor#88
  (byte) print_char::ch#4 ← (byte) printu::res#20
  call print_char 
  to:printu::@6
printu::@6: scope:[printu]  from printu::@5
  (byte*) print_char_cursor#89 ← phi( printu::@5/(byte*) print_char_cursor#9 )
  (byte*) print_char_cursor#44 ← (byte*) print_char_cursor#89
  to:printu::@return
printu::@return: scope:[printu]  from printu::@6
  (byte*) print_char_cursor#90 ← phi( printu::@6/(byte*) print_char_cursor#44 )
  (byte*) print_char_cursor#45 ← (byte*) print_char_cursor#90
  return 
  to:@return
@21: scope:[]  from @12
  (byte*) print_screen#5 ← phi( @12/(byte*) print_screen#6 )
  (byte*) print_char_cursor#118 ← phi( @12/(byte*) print_char_cursor#141 )
  (byte*) print_line_cursor#33 ← phi( @12/(byte*) print_line_cursor#39 )
  call main 
  to:@22
@22: scope:[]  from @21
  (byte*) print_char_cursor#91 ← phi( @21/(byte*) print_char_cursor#38 )
  (byte*) print_line_cursor#24 ← phi( @21/(byte*) print_line_cursor#11 )
  (byte*) print_line_cursor#12 ← (byte*) print_line_cursor#24
  (byte*) print_char_cursor#46 ← (byte*) print_char_cursor#91
  to:@end
@end: scope:[]  from @22

SYMBOL TABLE SSA
(const string) $0 = (string) "0123456789abcdef"
(label) @12
(label) @21
(label) @22
(label) @begin
(label) @end
(void()) main()
(byte/word/signed word/dword/signed dword~) main::$1
(bool~) main::$11
(bool~) main::$12
(bool~) main::$15
(bool~) main::$16
(bool~) main::$18
(bool~) main::$19
(bool~) main::$2
(bool~) main::$21
(bool~) main::$22
(bool~) main::$24
(bool~) main::$25
(bool~) main::$28
(bool~) main::$29
(bool~) main::$3
(bool~) main::$31
(bool~) main::$32
(bool~) main::$34
(bool~) main::$35
(bool~) main::$37
(bool~) main::$38
(bool~) main::$41
(bool~) main::$42
(bool~) main::$44
(bool~) main::$45
(bool~) main::$47
(bool~) main::$48
(bool~) main::$5
(bool~) main::$50
(bool~) main::$51
(bool~) main::$54
(bool~) main::$55
(bool~) main::$57
(bool~) main::$58
(bool~) main::$6
(bool~) main::$60
(bool~) main::$61
(bool~) main::$63
(bool~) main::$64
(byte/signed word/word/dword/signed dword~) main::$67
(bool~) main::$68
(bool~) main::$8
(bool~) main::$9
(label) main::@1
(label) main::@10
(label) main::@11
(label) main::@12
(label) main::@13
(label) main::@14
(label) main::@15
(label) main::@16
(label) main::@17
(label) main::@18
(label) main::@19
(label) main::@2
(label) main::@20
(label) main::@21
(label) main::@22
(label) main::@23
(label) main::@24
(label) main::@25
(label) main::@26
(label) main::@27
(label) main::@28
(label) main::@29
(label) main::@3
(label) main::@30
(label) main::@31
(label) main::@32
(label) main::@33
(label) main::@34
(label) main::@35
(label) main::@36
(label) main::@37
(label) main::@38
(label) main::@39
(label) main::@4
(label) main::@40
(label) main::@41
(label) main::@42
(label) main::@45
(label) main::@46
(label) main::@47
(label) main::@48
(label) main::@49
(label) main::@5
(label) main::@50
(label) main::@51
(label) main::@52
(label) main::@53
(label) main::@54
(label) main::@55
(label) main::@56
(label) main::@57
(label) main::@58
(label) main::@59
(label) main::@6
(label) main::@60
(label) main::@61
(label) main::@62
(label) main::@63
(label) main::@64
(label) main::@65
(label) main::@66
(label) main::@67
(label) main::@68
(label) main::@69
(label) main::@7
(label) main::@70
(label) main::@8
(label) main::@9
(label) main::@return
(byte) main::a
(byte) main::a#0
(byte) main::a#1
(byte) main::a#10
(byte) main::a#11
(byte) main::a#12
(byte) main::a#13
(byte) main::a#14
(byte) main::a#15
(byte) main::a#16
(byte) main::a#17
(byte) main::a#18
(byte) main::a#19
(byte) main::a#2
(byte) main::a#20
(byte) main::a#21
(byte) main::a#22
(byte) main::a#23
(byte) main::a#24
(byte) main::a#25
(byte) main::a#26
(byte) main::a#27
(byte) main::a#28
(byte) main::a#29
(byte) main::a#3
(byte) main::a#30
(byte) main::a#31
(byte) main::a#32
(byte) main::a#33
(byte) main::a#34
(byte) main::a#35
(byte) main::a#36
(byte) main::a#37
(byte) main::a#38
(byte) main::a#39
(byte) main::a#4
(byte) main::a#40
(byte) main::a#41
(byte) main::a#42
(byte) main::a#43
(byte) main::a#44
(byte) main::a#45
(byte) main::a#46
(byte) main::a#47
(byte) main::a#48
(byte) main::a#49
(byte) main::a#5
(byte) main::a#50
(byte) main::a#51
(byte) main::a#52
(byte) main::a#53
(byte) main::a#54
(byte) main::a#55
(byte) main::a#56
(byte) main::a#57
(byte) main::a#58
(byte) main::a#59
(byte) main::a#6
(byte) main::a#60
(byte) main::a#61
(byte) main::a#62
(byte) main::a#63
(byte) main::a#64
(byte) main::a#65
(byte) main::a#66
(byte) main::a#67
(byte) main::a#7
(byte) main::a#8
(byte) main::a#9
(byte) main::b
(byte) main::b#0
(byte) main::b#1
(byte) main::b#10
(byte) main::b#11
(byte) main::b#12
(byte) main::b#13
(byte) main::b#14
(byte) main::b#15
(byte) main::b#16
(byte) main::b#17
(byte) main::b#18
(byte) main::b#19
(byte) main::b#2
(byte) main::b#20
(byte) main::b#21
(byte) main::b#22
(byte) main::b#23
(byte) main::b#24
(byte) main::b#25
(byte) main::b#26
(byte) main::b#27
(byte) main::b#28
(byte) main::b#29
(byte) main::b#3
(byte) main::b#30
(byte) main::b#31
(byte) main::b#32
(byte) main::b#33
(byte) main::b#34
(byte) main::b#35
(byte) main::b#36
(byte) main::b#37
(byte) main::b#38
(byte) main::b#39
(byte) main::b#4
(byte) main::b#40
(byte) main::b#41
(byte) main::b#42
(byte) main::b#43
(byte) main::b#44
(byte) main::b#45
(byte) main::b#46
(byte) main::b#47
(byte) main::b#48
(byte) main::b#49
(byte) main::b#5
(byte) main::b#50
(byte) main::b#51
(byte) main::b#52
(byte) main::b#53
(byte) main::b#54
(byte) main::b#6
(byte) main::b#7
(byte) main::b#8
(byte) main::b#9
(byte[5]) main::cs
(byte[5]) main::cs#0
(byte) main::i
(byte) main::i#0
(byte) main::i#1
(byte) main::i#10
(byte) main::i#11
(byte) main::i#12
(byte) main::i#13
(byte) main::i#14
(byte) main::i#15
(byte) main::i#16
(byte) main::i#17
(byte) main::i#18
(byte) main::i#19
(byte) main::i#2
(byte) main::i#20
(byte) main::i#21
(byte) main::i#22
(byte) main::i#23
(byte) main::i#24
(byte) main::i#25
(byte) main::i#26
(byte) main::i#27
(byte) main::i#28
(byte) main::i#29
(byte) main::i#3
(byte) main::i#30
(byte) main::i#31
(byte) main::i#32
(byte) main::i#33
(byte) main::i#34
(byte) main::i#35
(byte) main::i#36
(byte) main::i#37
(byte) main::i#38
(byte) main::i#39
(byte) main::i#4
(byte) main::i#40
(byte) main::i#41
(byte) main::i#42
(byte) main::i#43
(byte) main::i#44
(byte) main::i#45
(byte) main::i#46
(byte) main::i#47
(byte) main::i#48
(byte) main::i#49
(byte) main::i#5
(byte) main::i#50
(byte) main::i#51
(byte) main::i#52
(byte) main::i#53
(byte) main::i#54
(byte) main::i#55
(byte) main::i#56
(byte) main::i#57
(byte) main::i#58
(byte) main::i#59
(byte) main::i#6
(byte) main::i#60
(byte) main::i#61
(byte) main::i#62
(byte) main::i#63
(byte) main::i#64
(byte) main::i#65
(byte) main::i#66
(byte) main::i#67
(byte) main::i#7
(byte) main::i#8
(byte) main::i#9
(const string) main::op = (string) "< @"
(const string) main::op1 = (string) "< @"
(const string) main::op10 = (string) "<=@"
(const string) main::op11 = (string) "<=@"
(const string) main::op12 = (string) ">=@"
(const string) main::op13 = (string) ">=@"
(const string) main::op14 = (string) ">=@"
(const string) main::op15 = (string) ">=@"
(const string) main::op16 = (string) "==@"
(const string) main::op17 = (string) "==@"
(const string) main::op18 = (string) "==@"
(const string) main::op19 = (string) "==@"
(const string) main::op2 = (string) "< @"
(const string) main::op3 = (string) "< @"
(const string) main::op4 = (string) "> @"
(const string) main::op5 = (string) "> @"
(const string) main::op6 = (string) "> @"
(const string) main::op7 = (string) "> @"
(const string) main::op8 = (string) "<=@"
(const string) main::op9 = (string) "<=@"
(byte) main::r
(byte) main::r#0
(byte) main::r#1
(byte) main::r#10
(byte) main::r#11
(byte) main::r#12
(byte) main::r#13
(byte) main::r#14
(byte) main::r#15
(byte) main::r#16
(byte) main::r#17
(byte) main::r#18
(byte) main::r#19
(byte) main::r#2
(byte) main::r#20
(byte) main::r#21
(byte) main::r#22
(byte) main::r#23
(byte) main::r#24
(byte) main::r#25
(byte) main::r#26
(byte) main::r#27
(byte) main::r#28
(byte) main::r#29
(byte) main::r#3
(byte) main::r#30
(byte) main::r#31
(byte) main::r#32
(byte) main::r#33
(byte) main::r#34
(byte) main::r#35
(byte) main::r#36
(byte) main::r#37
(byte) main::r#38
(byte) main::r#39
(byte) main::r#4
(byte) main::r#40
(byte) main::r#41
(byte) main::r#42
(byte) main::r#43
(byte) main::r#44
(byte) main::r#45
(byte) main::r#46
(byte) main::r#47
(byte) main::r#48
(byte) main::r#49
(byte) main::r#5
(byte) main::r#50
(byte) main::r#51
(byte) main::r#52
(byte) main::r#53
(byte) main::r#54
(byte) main::r#55
(byte) main::r#56
(byte) main::r#57
(byte) main::r#58
(byte) main::r#59
(byte) main::r#6
(byte) main::r#7
(byte) main::r#8
(byte) main::r#9
(void()) print_byte((byte) print_byte::b)
(byte~) print_byte::$0
(byte~) print_byte::$2
(label) print_byte::@1
(label) print_byte::@2
(label) print_byte::@return
(byte) print_byte::b
(byte) print_byte::b#0
(byte) print_byte::b#1
(byte) print_byte::b#2
(byte) print_byte::b#3
(void()) print_char((byte) print_char::ch)
(label) print_char::@return
(byte) print_char::ch
(byte) print_char::ch#0
(byte) print_char::ch#1
(byte) print_char::ch#2
(byte) print_char::ch#3
(byte) print_char::ch#4
(byte) print_char::ch#5
(byte*) print_char_cursor
(byte*) print_char_cursor#0
(byte*) print_char_cursor#1
(byte*) print_char_cursor#10
(byte*) print_char_cursor#100
(byte*) print_char_cursor#101
(byte*) print_char_cursor#102
(byte*) print_char_cursor#103
(byte*) print_char_cursor#104
(byte*) print_char_cursor#105
(byte*) print_char_cursor#106
(byte*) print_char_cursor#107
(byte*) print_char_cursor#108
(byte*) print_char_cursor#109
(byte*) print_char_cursor#11
(byte*) print_char_cursor#110
(byte*) print_char_cursor#111
(byte*) print_char_cursor#112
(byte*) print_char_cursor#113
(byte*) print_char_cursor#114
(byte*) print_char_cursor#115
(byte*) print_char_cursor#116
(byte*) print_char_cursor#117
(byte*) print_char_cursor#118
(byte*) print_char_cursor#119
(byte*) print_char_cursor#12
(byte*) print_char_cursor#120
(byte*) print_char_cursor#121
(byte*) print_char_cursor#122
(byte*) print_char_cursor#123
(byte*) print_char_cursor#124
(byte*) print_char_cursor#125
(byte*) print_char_cursor#126
(byte*) print_char_cursor#127
(byte*) print_char_cursor#128
(byte*) print_char_cursor#129
(byte*) print_char_cursor#13
(byte*) print_char_cursor#130
(byte*) print_char_cursor#131
(byte*) print_char_cursor#132
(byte*) print_char_cursor#133
(byte*) print_char_cursor#134
(byte*) print_char_cursor#135
(byte*) print_char_cursor#136
(byte*) print_char_cursor#137
(byte*) print_char_cursor#138
(byte*) print_char_cursor#139
(byte*) print_char_cursor#14
(byte*) print_char_cursor#140
(byte*) print_char_cursor#141
(byte*) print_char_cursor#15
(byte*) print_char_cursor#16
(byte*) print_char_cursor#17
(byte*) print_char_cursor#18
(byte*) print_char_cursor#19
(byte*) print_char_cursor#2
(byte*) print_char_cursor#20
(byte*) print_char_cursor#21
(byte*) print_char_cursor#22
(byte*) print_char_cursor#23
(byte*) print_char_cursor#24
(byte*) print_char_cursor#25
(byte*) print_char_cursor#26
(byte*) print_char_cursor#27
(byte*) print_char_cursor#28
(byte*) print_char_cursor#29
(byte*) print_char_cursor#3
(byte*) print_char_cursor#30
(byte*) print_char_cursor#31
(byte*) print_char_cursor#32
(byte*) print_char_cursor#33
(byte*) print_char_cursor#34
(byte*) print_char_cursor#35
(byte*) print_char_cursor#36
(byte*) print_char_cursor#37
(byte*) print_char_cursor#38
(byte*) print_char_cursor#39
(byte*) print_char_cursor#4
(byte*) print_char_cursor#40
(byte*) print_char_cursor#41
(byte*) print_char_cursor#42
(byte*) print_char_cursor#43
(byte*) print_char_cursor#44
(byte*) print_char_cursor#45
(byte*) print_char_cursor#46
(byte*) print_char_cursor#47
(byte*) print_char_cursor#48
(byte*) print_char_cursor#49
(byte*) print_char_cursor#5
(byte*) print_char_cursor#50
(byte*) print_char_cursor#51
(byte*) print_char_cursor#52
(byte*) print_char_cursor#53
(byte*) print_char_cursor#54
(byte*) print_char_cursor#55
(byte*) print_char_cursor#56
(byte*) print_char_cursor#57
(byte*) print_char_cursor#58
(byte*) print_char_cursor#59
(byte*) print_char_cursor#6
(byte*) print_char_cursor#60
(byte*) print_char_cursor#61
(byte*) print_char_cursor#62
(byte*) print_char_cursor#63
(byte*) print_char_cursor#64
(byte*) print_char_cursor#65
(byte*) print_char_cursor#66
(byte*) print_char_cursor#67
(byte*) print_char_cursor#68
(byte*) print_char_cursor#69
(byte*) print_char_cursor#7
(byte*) print_char_cursor#70
(byte*) print_char_cursor#71
(byte*) print_char_cursor#72
(byte*) print_char_cursor#73
(byte*) print_char_cursor#74
(byte*) print_char_cursor#75
(byte*) print_char_cursor#76
(byte*) print_char_cursor#77
(byte*) print_char_cursor#78
(byte*) print_char_cursor#79
(byte*) print_char_cursor#8
(byte*) print_char_cursor#80
(byte*) print_char_cursor#81
(byte*) print_char_cursor#82
(byte*) print_char_cursor#83
(byte*) print_char_cursor#84
(byte*) print_char_cursor#85
(byte*) print_char_cursor#86
(byte*) print_char_cursor#87
(byte*) print_char_cursor#88
(byte*) print_char_cursor#89
(byte*) print_char_cursor#9
(byte*) print_char_cursor#90
(byte*) print_char_cursor#91
(byte*) print_char_cursor#92
(byte*) print_char_cursor#93
(byte*) print_char_cursor#94
(byte*) print_char_cursor#95
(byte*) print_char_cursor#96
(byte*) print_char_cursor#97
(byte*) print_char_cursor#98
(byte*) print_char_cursor#99
(void()) print_cls()
(byte*~) print_cls::$0
(bool~) print_cls::$1
(label) print_cls::@1
(label) print_cls::@2
(label) print_cls::@return
(byte*) print_cls::sc
(byte*) print_cls::sc#0
(byte*) print_cls::sc#1
(byte*) print_cls::sc#2
(byte[]) print_hextab
(byte[]) print_hextab#0
(byte*) print_line_cursor
(byte*) print_line_cursor#0
(byte*) print_line_cursor#1
(byte*) print_line_cursor#10
(byte*) print_line_cursor#11
(byte*) print_line_cursor#12
(byte*) print_line_cursor#13
(byte*) print_line_cursor#14
(byte*) print_line_cursor#15
(byte*) print_line_cursor#16
(byte*) print_line_cursor#17
(byte*) print_line_cursor#18
(byte*) print_line_cursor#19
(byte*) print_line_cursor#2
(byte*) print_line_cursor#20
(byte*) print_line_cursor#21
(byte*) print_line_cursor#22
(byte*) print_line_cursor#23
(byte*) print_line_cursor#24
(byte*) print_line_cursor#25
(byte*) print_line_cursor#26
(byte*) print_line_cursor#27
(byte*) print_line_cursor#28
(byte*) print_line_cursor#29
(byte*) print_line_cursor#3
(byte*) print_line_cursor#30
(byte*) print_line_cursor#31
(byte*) print_line_cursor#32
(byte*) print_line_cursor#33
(byte*) print_line_cursor#34
(byte*) print_line_cursor#35
(byte*) print_line_cursor#36
(byte*) print_line_cursor#37
(byte*) print_line_cursor#38
(byte*) print_line_cursor#39
(byte*) print_line_cursor#4
(byte*) print_line_cursor#40
(byte*) print_line_cursor#41
(byte*) print_line_cursor#42
(byte*) print_line_cursor#43
(byte*) print_line_cursor#44
(byte*) print_line_cursor#45
(byte*) print_line_cursor#46
(byte*) print_line_cursor#47
(byte*) print_line_cursor#48
(byte*) print_line_cursor#49
(byte*) print_line_cursor#5
(byte*) print_line_cursor#50
(byte*) print_line_cursor#51
(byte*) print_line_cursor#52
(byte*) print_line_cursor#53
(byte*) print_line_cursor#54
(byte*) print_line_cursor#55
(byte*) print_line_cursor#56
(byte*) print_line_cursor#57
(byte*) print_line_cursor#58
(byte*) print_line_cursor#59
(byte*) print_line_cursor#6
(byte*) print_line_cursor#60
(byte*) print_line_cursor#61
(byte*) print_line_cursor#62
(byte*) print_line_cursor#63
(byte*) print_line_cursor#64
(byte*) print_line_cursor#65
(byte*) print_line_cursor#66
(byte*) print_line_cursor#67
(byte*) print_line_cursor#68
(byte*) print_line_cursor#69
(byte*) print_line_cursor#7
(byte*) print_line_cursor#70
(byte*) print_line_cursor#71
(byte*) print_line_cursor#72
(byte*) print_line_cursor#73
(byte*) print_line_cursor#74
(byte*) print_line_cursor#75
(byte*) print_line_cursor#76
(byte*) print_line_cursor#77
(byte*) print_line_cursor#78
(byte*) print_line_cursor#79
(byte*) print_line_cursor#8
(byte*) print_line_cursor#80
(byte*) print_line_cursor#81
(byte*) print_line_cursor#82
(byte*) print_line_cursor#83
(byte*) print_line_cursor#84
(byte*) print_line_cursor#85
(byte*) print_line_cursor#86
(byte*) print_line_cursor#87
(byte*) print_line_cursor#88
(byte*) print_line_cursor#89
(byte*) print_line_cursor#9
(byte*) print_line_cursor#90
(void()) print_ln()
(byte*~) print_ln::$0
(bool~) print_ln::$1
(label) print_ln::@1
(label) print_ln::@2
(label) print_ln::@return
(byte*) print_screen
(byte*) print_screen#0
(byte*) print_screen#1
(byte*) print_screen#2
(byte*) print_screen#3
(byte*) print_screen#4
(byte*) print_screen#5
(byte*) print_screen#6
(void()) print_str((byte*) print_str::str)
(bool~) print_str::$0
(label) print_str::@1
(label) print_str::@2
(label) print_str::@return
(byte*) print_str::str
(byte*) print_str::str#0
(byte*) print_str::str#1
(byte*) print_str::str#2
(byte*) print_str::str#3
(byte*) print_str::str#4
(void()) printu((byte) printu::a , (byte[]) printu::op , (byte) printu::b , (byte) printu::res)
(label) printu::@1
(label) printu::@2
(label) printu::@3
(label) printu::@4
(label) printu::@5
(label) printu::@6
(label) printu::@return
(byte) printu::a
(byte) printu::a#0
(byte) printu::a#1
(byte) printu::a#10
(byte) printu::a#11
(byte) printu::a#12
(byte) printu::a#13
(byte) printu::a#14
(byte) printu::a#15
(byte) printu::a#16
(byte) printu::a#17
(byte) printu::a#18
(byte) printu::a#19
(byte) printu::a#2
(byte) printu::a#20
(byte) printu::a#21
(byte) printu::a#3
(byte) printu::a#4
(byte) printu::a#5
(byte) printu::a#6
(byte) printu::a#7
(byte) printu::a#8
(byte) printu::a#9
(byte) printu::b
(byte) printu::b#0
(byte) printu::b#1
(byte) printu::b#10
(byte) printu::b#11
(byte) printu::b#12
(byte) printu::b#13
(byte) printu::b#14
(byte) printu::b#15
(byte) printu::b#16
(byte) printu::b#17
(byte) printu::b#18
(byte) printu::b#19
(byte) printu::b#2
(byte) printu::b#20
(byte) printu::b#21
(byte) printu::b#22
(byte) printu::b#23
(byte) printu::b#3
(byte) printu::b#4
(byte) printu::b#5
(byte) printu::b#6
(byte) printu::b#7
(byte) printu::b#8
(byte) printu::b#9
(byte[]) printu::op
(byte[]) printu::op#0
(byte[]) printu::op#1
(byte[]) printu::op#10
(byte[]) printu::op#11
(byte[]) printu::op#12
(byte[]) printu::op#13
(byte[]) printu::op#14
(byte[]) printu::op#15
(byte[]) printu::op#16
(byte[]) printu::op#17
(byte[]) printu::op#18
(byte[]) printu::op#19
(byte[]) printu::op#2
(byte[]) printu::op#20
(byte[]) printu::op#21
(byte[]) printu::op#22
(byte[]) printu::op#3
(byte[]) printu::op#4
(byte[]) printu::op#5
(byte[]) printu::op#6
(byte[]) printu::op#7
(byte[]) printu::op#8
(byte[]) printu::op#9
(byte) printu::res
(byte) printu::res#0
(byte) printu::res#1
(byte) printu::res#10
(byte) printu::res#11
(byte) printu::res#12
(byte) printu::res#13
(byte) printu::res#14
(byte) printu::res#15
(byte) printu::res#16
(byte) printu::res#17
(byte) printu::res#18
(byte) printu::res#19
(byte) printu::res#2
(byte) printu::res#20
(byte) printu::res#21
(byte) printu::res#22
(byte) printu::res#23
(byte) printu::res#24
(byte) printu::res#25
(byte) printu::res#3
(byte) printu::res#4
(byte) printu::res#5
(byte) printu::res#6
(byte) printu::res#7
(byte) printu::res#8
(byte) printu::res#9

Inversing boolean not [76] (bool~) main::$3 ← (byte) main::a#2 >= (byte) main::b#0 from [75] (bool~) main::$2 ← (byte) main::a#2 < (byte) main::b#0
Inversing boolean not [88] (bool~) main::$6 ← (byte) main::a#4 >= (byte/signed byte/word/signed word/dword/signed dword) 55 from [87] (bool~) main::$5 ← (byte) main::a#4 < (byte/signed byte/word/signed word/dword/signed dword) 55
Inversing boolean not [102] (bool~) main::$9 ← (byte) main::a#6 >= *((byte[5]) main::cs#0 + (byte) main::i#2) from [101] (bool~) main::$8 ← (byte) main::a#6 < *((byte[5]) main::cs#0 + (byte) main::i#2)
Inversing boolean not [116] (bool~) main::$12 ← (byte) main::a#8 >= (byte) main::a#8 from [115] (bool~) main::$11 ← (byte) main::a#8 < (byte) main::a#8
Inversing boolean not [134] (bool~) main::$16 ← (byte) main::a#10 <= (byte) main::b#2 from [133] (bool~) main::$15 ← (byte) main::a#10 > (byte) main::b#2
Inversing boolean not [148] (bool~) main::$19 ← (byte) main::a#12 <= (byte/signed byte/word/signed word/dword/signed dword) 55 from [147] (bool~) main::$18 ← (byte) main::a#12 > (byte/signed byte/word/signed word/dword/signed dword) 55
Inversing boolean not [162] (bool~) main::$22 ← (byte) main::a#14 <= *((byte[5]) main::cs#0 + (byte) main::i#4) from [161] (bool~) main::$21 ← (byte) main::a#14 > *((byte[5]) main::cs#0 + (byte) main::i#4)
Inversing boolean not [176] (bool~) main::$25 ← (byte) main::a#16 <= (byte) main::a#16 from [175] (bool~) main::$24 ← (byte) main::a#16 > (byte) main::a#16
Inversing boolean not [194] (bool~) main::$29 ← (byte) main::a#18 > (byte) main::b#4 from [193] (bool~) main::$28 ← (byte) main::a#18 <= (byte) main::b#4
Inversing boolean not [208] (bool~) main::$32 ← (byte) main::a#20 > (byte/signed byte/word/signed word/dword/signed dword) 55 from [207] (bool~) main::$31 ← (byte) main::a#20 <= (byte/signed byte/word/signed word/dword/signed dword) 55
Inversing boolean not [222] (bool~) main::$35 ← (byte) main::a#22 > *((byte[5]) main::cs#0 + (byte) main::i#6) from [221] (bool~) main::$34 ← (byte) main::a#22 <= *((byte[5]) main::cs#0 + (byte) main::i#6)
Inversing boolean not [236] (bool~) main::$38 ← (byte) main::a#24 > (byte) main::a#24 from [235] (bool~) main::$37 ← (byte) main::a#24 <= (byte) main::a#24
Inversing boolean not [254] (bool~) main::$42 ← (byte) main::a#26 < (byte) main::b#6 from [253] (bool~) main::$41 ← (byte) main::a#26 >= (byte) main::b#6
Inversing boolean not [268] (bool~) main::$45 ← (byte) main::a#28 < (byte/signed byte/word/signed word/dword/signed dword) 55 from [267] (bool~) main::$44 ← (byte) main::a#28 >= (byte/signed byte/word/signed word/dword/signed dword) 55
Inversing boolean not [282] (bool~) main::$48 ← (byte) main::a#30 < *((byte[5]) main::cs#0 + (byte) main::i#8) from [281] (bool~) main::$47 ← (byte) main::a#30 >= *((byte[5]) main::cs#0 + (byte) main::i#8)
Inversing boolean not [296] (bool~) main::$51 ← (byte) main::a#32 < (byte) main::a#32 from [295] (bool~) main::$50 ← (byte) main::a#32 >= (byte) main::a#32
Inversing boolean not [314] (bool~) main::$55 ← (byte) main::a#34 != (byte) main::b#8 from [313] (bool~) main::$54 ← (byte) main::a#34 == (byte) main::b#8
Inversing boolean not [328] (bool~) main::$58 ← (byte) main::a#36 != (byte/signed byte/word/signed word/dword/signed dword) 55 from [327] (bool~) main::$57 ← (byte) main::a#36 == (byte/signed byte/word/signed word/dword/signed dword) 55
Inversing boolean not [342] (bool~) main::$61 ← (byte) main::a#38 != *((byte[5]) main::cs#0 + (byte) main::i#10) from [341] (bool~) main::$60 ← (byte) main::a#38 == *((byte[5]) main::cs#0 + (byte) main::i#10)
Inversing boolean not [356] (bool~) main::$64 ← (byte) main::a#40 != (byte) main::a#40 from [355] (bool~) main::$63 ← (byte) main::a#40 == (byte) main::a#40
Successful SSA optimization Pass2UnaryNotSimplification
Alias (byte*) print_line_cursor#0 = (byte*) print_screen#0 (byte*) print_char_cursor#0 (byte*) print_line_cursor#39 (byte*) print_char_cursor#141 (byte*) print_screen#6 (byte*) print_line_cursor#33 (byte*) print_char_cursor#118 (byte*) print_screen#5 
Alias (byte*) print_str::str#2 = (byte*) print_str::str#3 
Alias (byte*) print_char_cursor#2 = (byte*) print_char_cursor#47 (byte*) print_char_cursor#92 (byte*) print_char_cursor#48 
Alias (byte*) print_line_cursor#1 = (byte*~) print_ln::$0 (byte*) print_line_cursor#14 (byte*) print_char_cursor#3 (byte*) print_line_cursor#15 (byte*) print_char_cursor#50 (byte*) print_line_cursor#2 (byte*) print_char_cursor#4 
Alias (byte) print_byte::b#2 = (byte) print_byte::b#3 
Alias (byte*) print_char_cursor#5 = (byte*) print_char_cursor#51 
Alias (byte*) print_char_cursor#52 = (byte*) print_char_cursor#6 (byte*) print_char_cursor#53 (byte*) print_char_cursor#7 
Alias (byte*) print_char_cursor#55 = (byte*) print_char_cursor#8 (byte*) print_char_cursor#9 
Alias (byte*) print_line_cursor#16 = (byte*) print_screen#3 (byte*) print_screen#2 (byte*) print_line_cursor#3 (byte*) print_char_cursor#10 (byte*) print_char_cursor#56 (byte*) print_line_cursor#4 (byte*) print_char_cursor#11 
Alias (byte*) print_line_cursor#17 = (byte*) print_line_cursor#5 
Alias (byte*) print_char_cursor#12 = (byte*) print_char_cursor#57 
Alias (byte) main::b#0 = (byte/word/signed word/dword/signed dword~) main::$1 (byte) main::b#10 
Alias (byte) main::a#3 = (byte) main::a#4 (byte) main::a#44 
Alias (byte) main::i#24 = (byte) main::i#25 (byte) main::i#35 
Alias (byte*) print_line_cursor#70 = (byte*) print_line_cursor#71 (byte*) print_line_cursor#80 
Alias (byte) main::b#1 = (byte) main::b#48 (byte) main::b#47 
Alias (byte*) print_char_cursor#122 = (byte*) print_char_cursor#13 (byte*) print_char_cursor#58 
Alias (byte) main::a#2 = (byte) main::a#43 
Alias (byte*) print_char_cursor#120 = (byte*) print_char_cursor#121 
Alias (byte) main::i#42 = (byte) main::i#43 
Alias (byte*) print_line_cursor#85 = (byte*) print_line_cursor#86 
Alias (byte) main::a#45 = (byte) main::a#6 (byte) main::a#5 
Alias (byte) main::i#13 = (byte) main::i#2 (byte) main::i#14 
Alias (byte*) print_line_cursor#55 = (byte*) print_line_cursor#56 (byte*) print_line_cursor#65 
Alias (byte) main::b#35 = (byte) main::b#36 (byte) main::b#43 
Alias (byte*) print_char_cursor#123 = (byte*) print_char_cursor#14 (byte*) print_char_cursor#59 
Alias (byte) main::a#46 = (byte) main::a#8 (byte) main::a#7 
Alias (byte*) print_line_cursor#40 = (byte*) print_line_cursor#41 (byte*) print_line_cursor#50 
Alias (byte) main::b#23 = (byte) main::b#24 (byte) main::b#31 
Alias (byte) main::i#3 = (byte) main::i#61 (byte) main::i#60 
Alias (byte*) print_char_cursor#124 = (byte*) print_char_cursor#15 (byte*) print_char_cursor#60 
Alias (byte*) print_line_cursor#27 = (byte*) print_line_cursor#34 
Alias (byte) main::a#10 = (byte) main::a#47 (byte) main::a#9 (byte) main::a#48 
Alias (byte) main::b#11 = (byte) main::b#19 (byte) main::b#2 (byte) main::b#12 
Alias (byte) main::i#44 = (byte) main::i#52 (byte) main::i#56 (byte) main::i#45 
Alias (byte*) print_char_cursor#16 = (byte*) print_char_cursor#61 
Alias (byte*) print_line_cursor#18 = (byte*) print_line_cursor#6 (byte*) print_line_cursor#87 
Alias (byte*) print_char_cursor#125 = (byte*) print_char_cursor#17 (byte*) print_char_cursor#62 
Alias (byte) main::a#11 = (byte) main::a#12 (byte) main::a#49 
Alias (byte) main::i#26 = (byte) main::i#27 (byte) main::i#36 
Alias (byte*) print_line_cursor#72 = (byte*) print_line_cursor#73 (byte*) print_line_cursor#81 
Alias (byte) main::b#3 = (byte) main::b#50 (byte) main::b#49 
Alias (byte*) print_char_cursor#126 = (byte*) print_char_cursor#18 (byte*) print_char_cursor#63 
Alias (byte) main::a#13 = (byte) main::a#14 (byte) main::a#50 
Alias (byte) main::i#15 = (byte) main::i#4 (byte) main::i#16 
Alias (byte*) print_line_cursor#57 = (byte*) print_line_cursor#58 (byte*) print_line_cursor#66 
Alias (byte) main::b#37 = (byte) main::b#38 (byte) main::b#44 
Alias (byte*) print_char_cursor#127 = (byte*) print_char_cursor#19 (byte*) print_char_cursor#64 
Alias (byte) main::a#15 = (byte) main::a#16 (byte) main::a#51 
Alias (byte*) print_line_cursor#42 = (byte*) print_line_cursor#43 (byte*) print_line_cursor#51 
Alias (byte) main::b#25 = (byte) main::b#26 (byte) main::b#32 
Alias (byte) main::i#5 = (byte) main::i#63 (byte) main::i#62 
Alias (byte*) print_char_cursor#128 = (byte*) print_char_cursor#20 (byte*) print_char_cursor#65 
Alias (byte*) print_line_cursor#28 = (byte*) print_line_cursor#35 
Alias (byte) main::a#17 = (byte) main::a#52 (byte) main::a#18 (byte) main::a#53 
Alias (byte) main::b#13 = (byte) main::b#20 (byte) main::b#4 (byte) main::b#14 
Alias (byte) main::i#46 = (byte) main::i#53 (byte) main::i#57 (byte) main::i#47 
Alias (byte*) print_char_cursor#21 = (byte*) print_char_cursor#66 
Alias (byte*) print_line_cursor#19 = (byte*) print_line_cursor#7 (byte*) print_line_cursor#88 
Alias (byte*) print_char_cursor#129 = (byte*) print_char_cursor#22 (byte*) print_char_cursor#67 
Alias (byte) main::a#19 = (byte) main::a#20 (byte) main::a#54 
Alias (byte) main::i#28 = (byte) main::i#29 (byte) main::i#37 
Alias (byte*) print_line_cursor#74 = (byte*) print_line_cursor#75 (byte*) print_line_cursor#82 
Alias (byte) main::b#5 = (byte) main::b#52 (byte) main::b#51 
Alias (byte*) print_char_cursor#130 = (byte*) print_char_cursor#23 (byte*) print_char_cursor#68 
Alias (byte) main::a#21 = (byte) main::a#22 (byte) main::a#55 
Alias (byte) main::i#17 = (byte) main::i#6 (byte) main::i#18 
Alias (byte*) print_line_cursor#59 = (byte*) print_line_cursor#60 (byte*) print_line_cursor#67 
Alias (byte) main::b#39 = (byte) main::b#40 (byte) main::b#45 
Alias (byte*) print_char_cursor#131 = (byte*) print_char_cursor#24 (byte*) print_char_cursor#69 
Alias (byte) main::a#23 = (byte) main::a#24 (byte) main::a#56 
Alias (byte*) print_line_cursor#44 = (byte*) print_line_cursor#45 (byte*) print_line_cursor#52 
Alias (byte) main::b#27 = (byte) main::b#28 (byte) main::b#33 
Alias (byte) main::i#64 = (byte) main::i#65 (byte) main::i#7 
Alias (byte*) print_char_cursor#132 = (byte*) print_char_cursor#25 (byte*) print_char_cursor#70 
Alias (byte*) print_line_cursor#29 = (byte*) print_line_cursor#36 
Alias (byte) main::a#25 = (byte) main::a#57 (byte) main::a#26 (byte) main::a#58 
Alias (byte) main::b#15 = (byte) main::b#21 (byte) main::b#6 (byte) main::b#16 
Alias (byte) main::i#48 = (byte) main::i#54 (byte) main::i#58 (byte) main::i#49 
Alias (byte*) print_char_cursor#26 = (byte*) print_char_cursor#71 
Alias (byte*) print_line_cursor#20 = (byte*) print_line_cursor#8 (byte*) print_line_cursor#89 
Alias (byte*) print_char_cursor#133 = (byte*) print_char_cursor#27 (byte*) print_char_cursor#72 
Alias (byte) main::a#27 = (byte) main::a#28 (byte) main::a#59 
Alias (byte) main::i#30 = (byte) main::i#31 (byte) main::i#38 
Alias (byte*) print_line_cursor#76 = (byte*) print_line_cursor#77 (byte*) print_line_cursor#83 
Alias (byte) main::b#53 = (byte) main::b#54 (byte) main::b#7 
Alias (byte*) print_char_cursor#134 = (byte*) print_char_cursor#28 (byte*) print_char_cursor#73 
Alias (byte) main::a#29 = (byte) main::a#30 (byte) main::a#60 
Alias (byte) main::i#19 = (byte) main::i#8 (byte) main::i#20 
Alias (byte*) print_line_cursor#61 = (byte*) print_line_cursor#62 (byte*) print_line_cursor#68 
Alias (byte) main::b#41 = (byte) main::b#42 (byte) main::b#46 
Alias (byte*) print_char_cursor#135 = (byte*) print_char_cursor#29 (byte*) print_char_cursor#74 
Alias (byte) main::a#31 = (byte) main::a#32 (byte) main::a#61 
Alias (byte*) print_line_cursor#46 = (byte*) print_line_cursor#47 (byte*) print_line_cursor#53 
Alias (byte) main::b#29 = (byte) main::b#30 (byte) main::b#34 
Alias (byte) main::i#66 = (byte) main::i#67 (byte) main::i#9 
Alias (byte*) print_char_cursor#136 = (byte*) print_char_cursor#30 (byte*) print_char_cursor#75 
Alias (byte*) print_line_cursor#30 = (byte*) print_line_cursor#37 
Alias (byte) main::a#33 = (byte) main::a#62 (byte) main::a#34 (byte) main::a#63 
Alias (byte) main::b#17 = (byte) main::b#22 (byte) main::b#8 (byte) main::b#18 
Alias (byte) main::i#50 = (byte) main::i#55 (byte) main::i#59 (byte) main::i#51 
Alias (byte*) print_char_cursor#31 = (byte*) print_char_cursor#76 
Alias (byte*) print_line_cursor#21 = (byte*) print_line_cursor#9 (byte*) print_line_cursor#90 
Alias (byte*) print_char_cursor#137 = (byte*) print_char_cursor#32 (byte*) print_char_cursor#77 
Alias (byte) main::a#35 = (byte) main::a#36 (byte) main::a#64 
Alias (byte) main::i#32 = (byte) main::i#33 (byte) main::i#39 
Alias (byte*) print_line_cursor#78 = (byte*) print_line_cursor#79 (byte*) print_line_cursor#84 
Alias (byte*) print_char_cursor#138 = (byte*) print_char_cursor#33 (byte*) print_char_cursor#78 
Alias (byte) main::a#37 = (byte) main::a#38 (byte) main::a#65 
Alias (byte) main::i#10 = (byte) main::i#21 (byte) main::i#22 
Alias (byte*) print_line_cursor#63 = (byte*) print_line_cursor#64 (byte*) print_line_cursor#69 
Alias (byte*) print_char_cursor#139 = (byte*) print_char_cursor#34 (byte*) print_char_cursor#79 
Alias (byte) main::a#39 = (byte) main::a#40 (byte) main::a#66 
Alias (byte*) print_line_cursor#48 = (byte*) print_line_cursor#49 (byte*) print_line_cursor#54 
Alias (byte) main::i#11 = (byte) main::i#41 (byte) main::i#40 
Alias (byte*) print_char_cursor#140 = (byte*) print_char_cursor#35 (byte*) print_char_cursor#80 
Alias (byte*) print_line_cursor#31 = (byte*) print_line_cursor#38 
Alias (byte) main::a#41 = (byte) main::a#67 (byte) main::a#42 
Alias (byte) main::i#12 = (byte) main::i#23 (byte) main::i#34 
Alias (byte*) print_char_cursor#36 = (byte*) print_char_cursor#81 
Alias (byte*) print_line_cursor#10 = (byte*) print_line_cursor#22 
Alias (byte*) print_char_cursor#37 = (byte*) print_char_cursor#82 
Alias (byte) main::a#1 = (byte/signed word/word/dword/signed dword~) main::$67 
Alias (byte*) print_line_cursor#11 = (byte*) print_line_cursor#23 (byte*) print_line_cursor#32 
Alias (byte*) print_char_cursor#117 = (byte*) print_char_cursor#83 (byte*) print_char_cursor#38 
Alias (byte) printu::a#20 = (byte) printu::a#21 
Alias (byte[]) printu::op#20 = (byte[]) printu::op#21 (byte[]) printu::op#22 
Alias (byte) printu::b#20 = (byte) printu::b#22 (byte) printu::b#23 (byte) printu::b#21 
Alias (byte) printu::res#20 = (byte) printu::res#24 (byte) printu::res#25 (byte) printu::res#23 (byte) printu::res#22 (byte) printu::res#21 
Alias (byte*) print_char_cursor#39 = (byte*) print_char_cursor#84 
Alias (byte*) print_char_cursor#40 = (byte*) print_char_cursor#85 
Alias (byte*) print_char_cursor#41 = (byte*) print_char_cursor#86 
Alias (byte*) print_char_cursor#42 = (byte*) print_char_cursor#87 
Alias (byte*) print_char_cursor#43 = (byte*) print_char_cursor#88 
Alias (byte*) print_char_cursor#44 = (byte*) print_char_cursor#89 (byte*) print_char_cursor#90 (byte*) print_char_cursor#45 
Alias (byte*) print_line_cursor#12 = (byte*) print_line_cursor#24 
Alias (byte*) print_char_cursor#46 = (byte*) print_char_cursor#91 
Successful SSA optimization Pass2AliasElimination
Alias (byte) main::a#10 = (byte) main::a#3 (byte) main::a#2 (byte) main::a#45 (byte) main::a#46 (byte) main::a#11 (byte) main::a#13 (byte) main::a#15 (byte) main::a#17 (byte) main::a#19 (byte) main::a#21 (byte) main::a#23 (byte) main::a#25 (byte) main::a#27 (byte) main::a#29 (byte) main::a#31 (byte) main::a#33 (byte) main::a#35 (byte) main::a#37 (byte) main::a#39 (byte) main::a#41 
Alias (byte) main::b#0 = (byte) main::b#1 (byte) main::b#35 (byte) main::b#23 (byte) main::b#11 (byte) main::b#3 (byte) main::b#37 (byte) main::b#25 (byte) main::b#13 (byte) main::b#5 (byte) main::b#39 (byte) main::b#27 (byte) main::b#15 (byte) main::b#53 (byte) main::b#41 (byte) main::b#29 (byte) main::b#17 (byte) main::b#9 
Alias (byte*) print_char_cursor#120 = (byte*) print_char_cursor#97 
Alias (byte) main::i#10 = (byte) main::i#24 (byte) main::i#42 (byte) main::i#13 (byte) main::i#3 (byte) main::i#44 (byte) main::i#26 (byte) main::i#15 (byte) main::i#5 (byte) main::i#46 (byte) main::i#28 (byte) main::i#17 (byte) main::i#64 (byte) main::i#48 (byte) main::i#30 (byte) main::i#19 (byte) main::i#66 (byte) main::i#50 (byte) main::i#32 (byte) main::i#11 (byte) main::i#12 
Alias (byte*) print_line_cursor#27 = (byte*) print_line_cursor#70 (byte*) print_line_cursor#85 (byte*) print_line_cursor#55 (byte*) print_line_cursor#40 
Alias (byte*) print_char_cursor#122 = (byte*) print_char_cursor#98 
Alias (byte*) print_char_cursor#123 = (byte*) print_char_cursor#99 
Alias (byte*) print_char_cursor#100 = (byte*) print_char_cursor#124 
Alias (byte*) print_char_cursor#101 = (byte*) print_char_cursor#125 
Alias (byte*) print_line_cursor#18 = (byte*) print_line_cursor#72 (byte*) print_line_cursor#57 (byte*) print_line_cursor#42 (byte*) print_line_cursor#28 
Alias (byte*) print_char_cursor#102 = (byte*) print_char_cursor#126 
Alias (byte*) print_char_cursor#103 = (byte*) print_char_cursor#127 
Alias (byte*) print_char_cursor#104 = (byte*) print_char_cursor#128 
Alias (byte*) print_char_cursor#105 = (byte*) print_char_cursor#129 
Alias (byte*) print_line_cursor#19 = (byte*) print_line_cursor#74 (byte*) print_line_cursor#59 (byte*) print_line_cursor#44 (byte*) print_line_cursor#29 
Alias (byte*) print_char_cursor#106 = (byte*) print_char_cursor#130 
Alias (byte*) print_char_cursor#107 = (byte*) print_char_cursor#131 
Alias (byte*) print_char_cursor#108 = (byte*) print_char_cursor#132 
Alias (byte*) print_char_cursor#109 = (byte*) print_char_cursor#133 
Alias (byte*) print_line_cursor#20 = (byte*) print_line_cursor#76 (byte*) print_line_cursor#61 (byte*) print_line_cursor#46 (byte*) print_line_cursor#30 
Alias (byte*) print_char_cursor#110 = (byte*) print_char_cursor#134 
Alias (byte*) print_char_cursor#111 = (byte*) print_char_cursor#135 
Alias (byte*) print_char_cursor#112 = (byte*) print_char_cursor#136 
Alias (byte*) print_char_cursor#113 = (byte*) print_char_cursor#137 
Alias (byte*) print_line_cursor#21 = (byte*) print_line_cursor#78 (byte*) print_line_cursor#63 (byte*) print_line_cursor#48 (byte*) print_line_cursor#31 
Alias (byte*) print_char_cursor#114 = (byte*) print_char_cursor#138 
Alias (byte*) print_char_cursor#115 = (byte*) print_char_cursor#139 
Alias (byte*) print_char_cursor#116 = (byte*) print_char_cursor#140 
Successful SSA optimization Pass2AliasElimination
Self Phi Eliminated (byte*) print_char_cursor#49
Self Phi Eliminated (byte*) print_line_cursor#16
Self Phi Eliminated (byte*) print_line_cursor#11
Self Phi Eliminated (byte*) print_char_cursor#117
Successful SSA optimization Pass2SelfPhiElimination
Redundant Phi (byte*) print_str::str#4 (byte*) print_str::str#1
Redundant Phi (byte*) print_char_cursor#119 (byte*) print_char_cursor#40
Redundant Phi (byte*) print_char_cursor#49 (byte*) print_char_cursor#93
Redundant Phi (byte*) print_char_cursor#5 (byte*) print_char_cursor#55
Redundant Phi (byte*) print_char_cursor#52 (byte*) print_char_cursor#55
Redundant Phi (byte*) print_screen#1 (byte*) print_screen#4
Redundant Phi (byte*) print_line_cursor#16 (byte*) print_screen#1
Redundant Phi (byte*) print_screen#4 (byte*) print_line_cursor#0
Redundant Phi (byte*) print_line_cursor#26 (byte*) print_line_cursor#0
Redundant Phi (byte*) print_char_cursor#96 (byte*) print_line_cursor#0
Redundant Phi (byte*) print_line_cursor#17 (byte*) print_line_cursor#16
Redundant Phi (byte*) print_char_cursor#12 (byte*) print_line_cursor#16
Redundant Phi (byte*) print_char_cursor#122 (byte*) print_char_cursor#44
Redundant Phi (byte*) print_char_cursor#123 (byte*) print_char_cursor#44
Redundant Phi (byte*) print_char_cursor#100 (byte*) print_char_cursor#44
Redundant Phi (byte*) print_char_cursor#16 (byte*) print_char_cursor#44
Redundant Phi (byte*) print_line_cursor#18 (byte*) print_line_cursor#1
Redundant Phi (byte*) print_char_cursor#101 (byte*) print_line_cursor#1
Redundant Phi (byte*) print_char_cursor#102 (byte*) print_char_cursor#44
Redundant Phi (byte*) print_char_cursor#103 (byte*) print_char_cursor#44
Redundant Phi (byte*) print_char_cursor#104 (byte*) print_char_cursor#44
Redundant Phi (byte*) print_char_cursor#21 (byte*) print_char_cursor#44
Redundant Phi (byte*) print_line_cursor#19 (byte*) print_line_cursor#1
Redundant Phi (byte*) print_char_cursor#105 (byte*) print_line_cursor#1
Redundant Phi (byte*) print_char_cursor#106 (byte*) print_char_cursor#44
Redundant Phi (byte*) print_char_cursor#107 (byte*) print_char_cursor#44
Redundant Phi (byte*) print_char_cursor#108 (byte*) print_char_cursor#44
Redundant Phi (byte*) print_char_cursor#26 (byte*) print_char_cursor#44
Redundant Phi (byte*) print_line_cursor#20 (byte*) print_line_cursor#1
Redundant Phi (byte*) print_char_cursor#109 (byte*) print_line_cursor#1
Redundant Phi (byte*) print_char_cursor#110 (byte*) print_char_cursor#44
Redundant Phi (byte*) print_char_cursor#111 (byte*) print_char_cursor#44
Redundant Phi (byte*) print_char_cursor#112 (byte*) print_char_cursor#44
Redundant Phi (byte*) print_char_cursor#31 (byte*) print_char_cursor#44
Redundant Phi (byte*) print_line_cursor#21 (byte*) print_line_cursor#1
Redundant Phi (byte*) print_char_cursor#113 (byte*) print_line_cursor#1
Redundant Phi (byte*) print_char_cursor#114 (byte*) print_char_cursor#44
Redundant Phi (byte*) print_char_cursor#115 (byte*) print_char_cursor#44
Redundant Phi (byte*) print_char_cursor#116 (byte*) print_char_cursor#44
Redundant Phi (byte*) print_char_cursor#36 (byte*) print_char_cursor#44
Redundant Phi (byte*) print_line_cursor#10 (byte*) print_line_cursor#1
Redundant Phi (byte*) print_char_cursor#37 (byte*) print_line_cursor#1
Redundant Phi (byte*) print_line_cursor#11 (byte*) print_line_cursor#10
Redundant Phi (byte*) print_char_cursor#117 (byte*) print_char_cursor#37
Redundant Phi (byte*) print_char_cursor#39 (byte*) print_char_cursor#55
Redundant Phi (byte*) print_char_cursor#40 (byte*) print_char_cursor#52
Redundant Phi (byte*) print_char_cursor#41 (byte*) print_char_cursor#2
Redundant Phi (byte*) print_char_cursor#42 (byte*) print_char_cursor#52
Redundant Phi (byte*) print_char_cursor#43 (byte*) print_char_cursor#55
Redundant Phi (byte*) print_char_cursor#44 (byte*) print_char_cursor#55
Redundant Phi (byte*) print_line_cursor#12 (byte*) print_line_cursor#11
Redundant Phi (byte*) print_char_cursor#46 (byte*) print_char_cursor#117
Successful SSA optimization Pass2RedundantPhiElimination
Redundant Phi (byte*) print_char_cursor#93 (byte*) print_char_cursor#55
Successful SSA optimization Pass2RedundantPhiElimination
Simple Condition (bool~) print_str::$0 [6] if(*((byte*) print_str::str#2)!=(byte) '@') goto print_str::@2
Simple Condition (bool~) print_ln::$1 [19] if((byte*) print_line_cursor#1<(byte*) print_char_cursor#55) goto print_ln::@1
Simple Condition (bool~) print_cls::$1 [55] if((byte*) print_cls::sc#1!=(byte*~) print_cls::$0) goto print_cls::@1
Simple Condition (bool~) main::$3 [77] if((byte) main::a#10>=(byte) main::b#0) goto main::@2
Simple Condition (bool~) main::$6 [89] if((byte) main::a#10>=(byte/signed byte/word/signed word/dword/signed dword) 55) goto main::@3
Simple Condition (bool~) main::$9 [103] if((byte) main::a#10>=*((byte[5]) main::cs#0 + (byte) main::i#10)) goto main::@4
Simple Condition (bool~) main::$12 [117] if((byte) main::a#10>=(byte) main::a#10) goto main::@5
Simple Condition (bool~) main::$16 [135] if((byte) main::a#10<=(byte) main::b#0) goto main::@6
Simple Condition (bool~) main::$19 [149] if((byte) main::a#10<=(byte/signed byte/word/signed word/dword/signed dword) 55) goto main::@7
Simple Condition (bool~) main::$22 [163] if((byte) main::a#10<=*((byte[5]) main::cs#0 + (byte) main::i#10)) goto main::@8
Simple Condition (bool~) main::$25 [177] if((byte) main::a#10<=(byte) main::a#10) goto main::@9
Simple Condition (bool~) main::$29 [195] if((byte) main::a#10>(byte) main::b#0) goto main::@10
Simple Condition (bool~) main::$32 [209] if((byte) main::a#10>(byte/signed byte/word/signed word/dword/signed dword) 55) goto main::@11
Simple Condition (bool~) main::$35 [223] if((byte) main::a#10>*((byte[5]) main::cs#0 + (byte) main::i#10)) goto main::@12
Simple Condition (bool~) main::$38 [237] if((byte) main::a#10>(byte) main::a#10) goto main::@13
Simple Condition (bool~) main::$42 [255] if((byte) main::a#10<(byte) main::b#0) goto main::@14
Simple Condition (bool~) main::$45 [269] if((byte) main::a#10<(byte/signed byte/word/signed word/dword/signed dword) 55) goto main::@15
Simple Condition (bool~) main::$48 [283] if((byte) main::a#10<*((byte[5]) main::cs#0 + (byte) main::i#10)) goto main::@16
Simple Condition (bool~) main::$51 [297] if((byte) main::a#10<(byte) main::a#10) goto main::@17
Simple Condition (bool~) main::$55 [315] if((byte) main::a#10!=(byte) main::b#0) goto main::@18
Simple Condition (bool~) main::$58 [329] if((byte) main::a#10!=(byte/signed byte/word/signed word/dword/signed dword) 55) goto main::@19
Simple Condition (bool~) main::$61 [343] if((byte) main::a#10!=*((byte[5]) main::cs#0 + (byte) main::i#10)) goto main::@20
Simple Condition (bool~) main::$64 [357] if((byte) main::a#10!=(byte) main::a#10) goto main::@21
Simple Condition (bool~) main::$68 [376] if((byte) main::i#1!=rangelast(0,4)) goto main::@1
Successful SSA optimization Pass2ConditionalJumpSimplification
Constant (const byte*) print_line_cursor#0 = ((byte*))1024
Constant (const byte[]) print_hextab#0 = $0
Constant (const byte) main::a#0 = 7
Constant (const byte) main::i#0 = 0
Constant (const byte[5]) main::cs#0 = { 7, 199, 55, 151, 103 }
Constant (const byte) main::r#0 = '-'
Constant (const byte[]) printu::op#0 = main::op
Constant (const byte) main::r#1 = '-'
Constant (const byte) main::r#2 = '+'
Constant (const byte[]) printu::op#1 = main::op1
Constant (const byte) printu::b#1 = 55
Constant (const byte) main::r#3 = '-'
Constant (const byte) main::r#4 = '+'
Constant (const byte[]) printu::op#2 = main::op2
Constant (const byte) main::r#5 = '-'
Constant (const byte) main::r#6 = '+'
Constant (const byte[]) printu::op#3 = main::op3
Constant (const byte) main::r#7 = '-'
Constant (const byte) main::r#8 = '+'
Constant (const byte[]) printu::op#4 = main::op4
Constant (const byte) main::r#9 = '-'
Constant (const byte) main::r#10 = '+'
Constant (const byte[]) printu::op#5 = main::op5
Constant (const byte) printu::b#5 = 55
Constant (const byte) main::r#11 = '-'
Constant (const byte) main::r#12 = '+'
Constant (const byte[]) printu::op#6 = main::op6
Constant (const byte) main::r#13 = '-'
Constant (const byte) main::r#14 = '+'
Constant (const byte[]) printu::op#7 = main::op7
Constant (const byte) main::r#15 = '-'
Constant (const byte) main::r#16 = '+'
Constant (const byte[]) printu::op#8 = main::op8
Constant (const byte) main::r#17 = '-'
Constant (const byte) main::r#18 = '+'
Constant (const byte[]) printu::op#9 = main::op9
Constant (const byte) printu::b#9 = 55
Constant (const byte) main::r#19 = '-'
Constant (const byte) main::r#20 = '+'
Constant (const byte[]) printu::op#10 = main::op10
Constant (const byte) main::r#21 = '-'
Constant (const byte) main::r#22 = '+'
Constant (const byte[]) printu::op#11 = main::op11
Constant (const byte) main::r#23 = '-'
Constant (const byte) main::r#24 = '+'
Constant (const byte[]) printu::op#12 = main::op12
Constant (const byte) main::r#25 = '-'
Constant (const byte) main::r#26 = '+'
Constant (const byte[]) printu::op#13 = main::op13
Constant (const byte) printu::b#13 = 55
Constant (const byte) main::r#27 = '-'
Constant (const byte) main::r#28 = '+'
Constant (const byte[]) printu::op#14 = main::op14
Constant (const byte) main::r#29 = '-'
Constant (const byte) main::r#30 = '+'
Constant (const byte[]) printu::op#15 = main::op15
Constant (const byte) main::r#31 = '-'
Constant (const byte) main::r#32 = '+'
Constant (const byte[]) printu::op#16 = main::op16
Constant (const byte) main::r#33 = '-'
Constant (const byte) main::r#34 = '+'
Constant (const byte[]) printu::op#17 = main::op17
Constant (const byte) printu::b#17 = 55
Constant (const byte) main::r#35 = '-'
Constant (const byte) main::r#36 = '+'
Constant (const byte[]) printu::op#18 = main::op18
Constant (const byte) main::r#37 = '-'
Constant (const byte) main::r#38 = '+'
Constant (const byte[]) printu::op#19 = main::op19
Constant (const byte) main::r#39 = '+'
Constant (const byte) print_char::ch#2 = ' '
Constant (const byte) print_char::ch#3 = ' '
Successful SSA optimization Pass2ConstantIdentification
Constant (const byte*) print_cls::sc#0 = print_line_cursor#0
Constant (const byte*) print_cls::$0 = print_line_cursor#0+1000
Successful SSA optimization Pass2ConstantIdentification
if() condition always true - replacing block destination [154] if(true) goto main::@22
Successful SSA optimization Pass2ConstantIfs
Successful SSA optimization Pass2ConstantStringConsolidation
Removing unused block main::@return
Successful SSA optimization Pass2EliminateUnusedBlocks
Resolved ranged next value main::i#1 ← ++ main::i#10 to ++
Resolved ranged comparison value if(main::i#1!=rangelast(0,4)) goto main::@1 to (byte/signed byte/word/signed word/dword/signed dword) 5
Culled Empty Block (label) print_ln::@2
Culled Empty Block (label) @12
Culled Empty Block (label) print_byte::@2
Culled Empty Block (label) print_cls::@2
Culled Empty Block (label) main::@45
Culled Empty Block (label) printu::@6
Culled Empty Block (label) @22
Successful SSA optimization Pass2CullEmptyBlocks
Inlining constant with var siblings (const byte) print_char::ch#2
Inlining constant with var siblings (const byte) print_char::ch#3
Inlining constant with var siblings (const byte*) print_cls::sc#0
Inlining constant with var siblings (const byte) main::a#0
Inlining constant with var siblings (const byte) main::i#0
Inlining constant with var siblings (const byte) main::r#0
Inlining constant with var siblings (const byte) main::r#1
Inlining constant with var siblings (const byte) main::r#2
Inlining constant with var siblings (const byte) main::r#3
Inlining constant with var siblings (const byte) main::r#4
Inlining constant with var siblings (const byte) main::r#5
Inlining constant with var siblings (const byte) main::r#6
Inlining constant with var siblings (const byte) main::r#7
Inlining constant with var siblings (const byte) main::r#8
Inlining constant with var siblings (const byte) main::r#9
Inlining constant with var siblings (const byte) main::r#10
Inlining constant with var siblings (const byte) main::r#11
Inlining constant with var siblings (const byte) main::r#12
Inlining constant with var siblings (const byte) main::r#13
Inlining constant with var siblings (const byte) main::r#14
Inlining constant with var siblings (const byte) main::r#15
Inlining constant with var siblings (const byte) main::r#16
Inlining constant with var siblings (const byte) main::r#17
Inlining constant with var siblings (const byte) main::r#18
Inlining constant with var siblings (const byte) main::r#19
Inlining constant with var siblings (const byte) main::r#20
Inlining constant with var siblings (const byte) main::r#21
Inlining constant with var siblings (const byte) main::r#22
Inlining constant with var siblings (const byte) main::r#23
Inlining constant with var siblings (const byte) main::r#24
Inlining constant with var siblings (const byte) main::r#25
Inlining constant with var siblings (const byte) main::r#26
Inlining constant with var siblings (const byte) main::r#27
Inlining constant with var siblings (const byte) main::r#28
Inlining constant with var siblings (const byte) main::r#29
Inlining constant with var siblings (const byte) main::r#30
Inlining constant with var siblings (const byte) main::r#31
Inlining constant with var siblings (const byte) main::r#32
Inlining constant with var siblings (const byte) main::r#33
Inlining constant with var siblings (const byte) main::r#34
Inlining constant with var siblings (const byte) main::r#35
Inlining constant with var siblings (const byte) main::r#36
Inlining constant with var siblings (const byte) main::r#37
Inlining constant with var siblings (const byte) main::r#38
Inlining constant with var siblings (const byte) main::r#39
Inlining constant with var siblings (const byte[]) printu::op#0
Inlining constant with var siblings (const byte[]) printu::op#1
Inlining constant with var siblings (const byte) printu::b#1
Inlining constant with var siblings (const byte[]) printu::op#2
Inlining constant with var siblings (const byte[]) printu::op#3
Inlining constant with var siblings (const byte[]) printu::op#4
Inlining constant with var siblings (const byte[]) printu::op#5
Inlining constant with var siblings (const byte) printu::b#5
Inlining constant with var siblings (const byte[]) printu::op#6
Inlining constant with var siblings (const byte[]) printu::op#7
Inlining constant with var siblings (const byte[]) printu::op#8
Inlining constant with var siblings (const byte[]) printu::op#9
Inlining constant with var siblings (const byte) printu::b#9
Inlining constant with var siblings (const byte[]) printu::op#10
Inlining constant with var siblings (const byte[]) printu::op#11
Inlining constant with var siblings (const byte[]) printu::op#12
Inlining constant with var siblings (const byte[]) printu::op#13
Inlining constant with var siblings (const byte) printu::b#13
Inlining constant with var siblings (const byte[]) printu::op#14
Inlining constant with var siblings (const byte[]) printu::op#15
Inlining constant with var siblings (const byte[]) printu::op#16
Inlining constant with var siblings (const byte[]) printu::op#17
Inlining constant with var siblings (const byte) printu::b#17
Inlining constant with var siblings (const byte[]) printu::op#18
Inlining constant with var siblings (const byte[]) printu::op#19
Inlining constant with var siblings (const byte*) print_line_cursor#0
Constant inlined printu::op#0 = (const string) main::op
Constant inlined printu::op#1 = (const string) main::op
Constant inlined printu::op#8 = (const string) main::op8
Constant inlined printu::op#9 = (const string) main::op8
Constant inlined printu::op#6 = (const string) main::op4
Constant inlined main::r#39 = (byte) '+'
Constant inlined printu::op#7 = (const string) main::op4
Constant inlined printu::op#4 = (const string) main::op4
Constant inlined $0 = (const byte[]) print_hextab#0
Constant inlined printu::op#5 = (const string) main::op4
Constant inlined printu::op#2 = (const string) main::op
Constant inlined printu::op#3 = (const string) main::op
Constant inlined main::r#33 = (byte) '-'
Constant inlined main::r#34 = (byte) '+'
Constant inlined main::r#31 = (byte) '-'
Constant inlined main::r#32 = (byte) '+'
Constant inlined main::r#37 = (byte) '-'
Constant inlined main::r#38 = (byte) '+'
Constant inlined main::r#35 = (byte) '-'
Constant inlined main::r#36 = (byte) '+'
Constant inlined main::r#30 = (byte) '+'
Constant inlined main::op11 = (const string) main::op8
Constant inlined printu::b#17 = (byte/signed byte/word/signed word/dword/signed dword) 55
Constant inlined main::op10 = (const string) main::op8
Constant inlined main::op15 = (const string) main::op12
Constant inlined printu::b#13 = (byte/signed byte/word/signed word/dword/signed dword) 55
Constant inlined main::op13 = (const string) main::op12
Constant inlined print_line_cursor#0 = ((byte*))(word/signed word/dword/signed dword) 1024
Constant inlined main::op14 = (const string) main::op12
Constant inlined print_cls::$0 = ((byte*))(word/signed word/dword/signed dword) 1024+(word/signed word/dword/signed dword) 1000
Constant inlined printu::op#17 = (const string) main::op16
Constant inlined main::r#19 = (byte) '-'
Constant inlined printu::op#18 = (const string) main::op16
Constant inlined printu::op#19 = (const string) main::op16
Constant inlined main::r#17 = (byte) '-'
Constant inlined main::r#18 = (byte) '+'
Constant inlined main::a#0 = (byte/signed byte/word/signed word/dword/signed dword) 7
Constant inlined main::r#11 = (byte) '-'
Constant inlined main::r#12 = (byte) '+'
Constant inlined main::r#10 = (byte) '+'
Constant inlined main::r#15 = (byte) '-'
Constant inlined main::r#16 = (byte) '+'
Constant inlined main::r#13 = (byte) '-'
Constant inlined main::r#14 = (byte) '+'
Constant inlined main::op19 = (const string) main::op16
Constant inlined main::i#0 = (byte/signed byte/word/signed word/dword/signed dword) 0
Constant inlined main::op17 = (const string) main::op16
Constant inlined main::op18 = (const string) main::op16
Constant inlined main::r#0 = (byte) '-'
Constant inlined main::r#1 = (byte) '-'
Constant inlined main::r#8 = (byte) '+'
Constant inlined main::r#9 = (byte) '-'
Constant inlined main::r#6 = (byte) '+'
Constant inlined main::r#28 = (byte) '+'
Constant inlined main::r#7 = (byte) '-'
Constant inlined main::r#29 = (byte) '-'
Constant inlined print_cls::sc#0 = ((byte*))(word/signed word/dword/signed dword) 1024
Constant inlined main::r#4 = (byte) '+'
Constant inlined printu::b#9 = (byte/signed byte/word/signed word/dword/signed dword) 55
Constant inlined main::r#5 = (byte) '-'
Constant inlined main::r#2 = (byte) '+'
Constant inlined main::r#3 = (byte) '-'
Constant inlined print_char::ch#3 = (byte) ' '
Constant inlined main::r#22 = (byte) '+'
Constant inlined printu::b#5 = (byte/signed byte/word/signed word/dword/signed dword) 55
Constant inlined main::op1 = (const string) main::op
Constant inlined printu::op#10 = (const string) main::op8
Constant inlined print_char::ch#2 = (byte) ' '
Constant inlined main::r#23 = (byte) '-'
Constant inlined printu::op#11 = (const string) main::op8
Constant inlined main::r#20 = (byte) '+'
Constant inlined printu::op#12 = (const string) main::op12
Constant inlined main::r#21 = (byte) '-'
Constant inlined printu::op#13 = (const string) main::op12
Constant inlined main::r#26 = (byte) '+'
Constant inlined printu::b#1 = (byte/signed byte/word/signed word/dword/signed dword) 55
Constant inlined printu::op#14 = (const string) main::op12
Constant inlined main::r#27 = (byte) '-'
Constant inlined printu::op#15 = (const string) main::op12
Constant inlined main::r#24 = (byte) '+'
Constant inlined printu::op#16 = (const string) main::op16
Constant inlined main::r#25 = (byte) '-'
Constant inlined main::op9 = (const string) main::op8
Constant inlined main::op6 = (const string) main::op4
Constant inlined main::op7 = (const string) main::op4
Constant inlined main::op5 = (const string) main::op4
Constant inlined main::op2 = (const string) main::op
Constant inlined main::op3 = (const string) main::op
Successful SSA optimization Pass2ConstantInlining
Added new block during phi lifting main::@71(between main::@70 and main::@1)
Added new block during phi lifting print_ln::@3(between print_ln::@1 and print_ln::@1)
Added new block during phi lifting print_cls::@3(between print_cls::@1 and print_cls::@1)
Adding NOP phi() at start of @begin
Adding NOP phi() at start of @21
Adding NOP phi() at start of @end
Adding NOP phi() at start of main
Adding NOP phi() at start of main::@23
Adding NOP phi() at start of main::@24
Adding NOP phi() at start of main::@25
Adding NOP phi() at start of main::@26
Adding NOP phi() at start of main::@27
Adding NOP phi() at start of main::@28
Adding NOP phi() at start of main::@29
Adding NOP phi() at start of main::@30
Adding NOP phi() at start of main::@31
Adding NOP phi() at start of main::@32
Adding NOP phi() at start of main::@33
Adding NOP phi() at start of main::@34
Adding NOP phi() at start of main::@35
Adding NOP phi() at start of main::@36
Adding NOP phi() at start of main::@37
Adding NOP phi() at start of main::@38
Adding NOP phi() at start of main::@39
Adding NOP phi() at start of main::@40
Adding NOP phi() at start of main::@41
Adding NOP phi() at start of main::@42
Adding NOP phi() at start of main::@22
Adding NOP phi() at start of print_cls
CALL GRAPH
Calls in [] to main:2 
Calls in [main] to print_cls:5 printu:18 printu:27 printu:38 printu:49 print_ln:51 printu:62 printu:71 printu:82 printu:93 print_ln:95 printu:106 printu:115 printu:126 printu:137 print_ln:139 printu:150 printu:159 printu:170 printu:181 print_ln:183 printu:194 printu:203 printu:214 printu:225 print_ln:227 
Calls in [printu] to print_char:245 print_byte:249 print_str:251 print_byte:255 print_char:257 print_char:261 
Calls in [print_byte] to print_char:272 print_char:277 

Created 38 initial phi equivalence classes
Coalesced [14] print_char_cursor#153 ← print_char_cursor#120
Coalesced [15] printu::a#32 ← printu::a#0
Coalesced [16] printu::b#31 ← printu::b#0
Coalesced [17] printu::res#36 ← printu::res#0
Coalesced [24] print_char_cursor#156 ← print_char_cursor#55
Coalesced [25] printu::a#35 ← printu::a#1
Coalesced [26] printu::res#39 ← printu::res#1
Coalesced (already) [34] print_char_cursor#157 ← print_char_cursor#55
Coalesced [35] printu::a#36 ← printu::a#2
Coalesced [36] printu::b#34 ← printu::b#2
Coalesced [37] printu::res#40 ← printu::res#2
Coalesced (already) [45] print_char_cursor#158 ← print_char_cursor#55
Coalesced [46] printu::a#37 ← printu::a#3
Coalesced [47] printu::b#35 ← printu::b#3
Coalesced [48] printu::res#41 ← printu::res#3
Coalesced [50] print_line_cursor#92 ← print_line_cursor#27
Not coalescing [58] print_char_cursor#159 ← print_line_cursor#1
Coalesced [59] printu::a#38 ← printu::a#4
Coalesced [60] printu::b#36 ← printu::b#4
Coalesced [61] printu::res#42 ← printu::res#4
Coalesced (already) [68] print_char_cursor#160 ← print_char_cursor#55
Coalesced [69] printu::a#39 ← printu::a#5
Coalesced [70] printu::res#43 ← printu::res#5
Coalesced (already) [78] print_char_cursor#161 ← print_char_cursor#55
Coalesced [79] printu::a#40 ← printu::a#6
Coalesced [80] printu::b#37 ← printu::b#6
Coalesced [81] printu::res#44 ← printu::res#6
Coalesced (already) [89] print_char_cursor#162 ← print_char_cursor#55
Coalesced [90] printu::a#41 ← printu::a#7
Coalesced [91] printu::b#38 ← printu::b#7
Coalesced [92] printu::res#45 ← printu::res#7
Coalesced [94] print_line_cursor#93 ← print_line_cursor#1
Not coalescing [102] print_char_cursor#143 ← print_line_cursor#1
Coalesced [103] printu::a#22 ← printu::a#8
Coalesced [104] printu::b#24 ← printu::b#8
Coalesced [105] printu::res#26 ← printu::res#8
Coalesced (already) [112] print_char_cursor#144 ← print_char_cursor#55
Coalesced [113] printu::a#23 ← printu::a#9
Coalesced [114] printu::res#27 ← printu::res#9
Coalesced (already) [122] print_char_cursor#145 ← print_char_cursor#55
Coalesced [123] printu::a#24 ← printu::a#10
Coalesced [124] printu::b#25 ← printu::b#10
Coalesced [125] printu::res#28 ← printu::res#10
Coalesced (already) [133] print_char_cursor#146 ← print_char_cursor#55
Coalesced [134] printu::a#25 ← printu::a#11
Coalesced [135] printu::b#26 ← printu::b#11
Coalesced [136] printu::res#29 ← printu::res#11
Coalesced (already) [138] print_line_cursor#94 ← print_line_cursor#1
Not coalescing [146] print_char_cursor#147 ← print_line_cursor#1
Coalesced [147] printu::a#26 ← printu::a#12
Coalesced [148] printu::b#27 ← printu::b#12
Coalesced [149] printu::res#30 ← printu::res#12
Coalesced (already) [156] print_char_cursor#148 ← print_char_cursor#55
Coalesced [157] printu::a#27 ← printu::a#13
Coalesced [158] printu::res#31 ← printu::res#13
Coalesced (already) [166] print_char_cursor#149 ← print_char_cursor#55
Coalesced [167] printu::a#28 ← printu::a#14
Coalesced [168] printu::b#28 ← printu::b#14
Coalesced [169] printu::res#32 ← printu::res#14
Coalesced (already) [177] print_char_cursor#150 ← print_char_cursor#55
Coalesced [178] printu::a#29 ← printu::a#15
Coalesced [179] printu::b#29 ← printu::b#15
Coalesced [180] printu::res#33 ← printu::res#15
Coalesced (already) [182] print_line_cursor#95 ← print_line_cursor#1
Not coalescing [190] print_char_cursor#151 ← print_line_cursor#1
Coalesced [191] printu::a#30 ← printu::a#16
Coalesced [192] printu::b#30 ← printu::b#16
Coalesced [193] printu::res#34 ← printu::res#16
Coalesced (already) [200] print_char_cursor#152 ← print_char_cursor#55
Coalesced [201] printu::a#31 ← printu::a#17
Coalesced [202] printu::res#35 ← printu::res#17
Coalesced (already) [210] print_char_cursor#154 ← print_char_cursor#55
Coalesced [211] printu::a#33 ← printu::a#18
Coalesced [212] printu::b#32 ← printu::b#18
Coalesced [213] printu::res#37 ← printu::res#18
Coalesced (already) [221] print_char_cursor#155 ← print_char_cursor#55
Coalesced [222] printu::a#34 ← printu::a#19
Coalesced [223] printu::b#33 ← printu::b#19
Coalesced [224] printu::res#38 ← printu::res#19
Coalesced (already) [226] print_line_cursor#96 ← print_line_cursor#1
Coalesced [232] main::a#68 ← main::a#1
Not coalescing [233] print_char_cursor#142 ← print_line_cursor#1
Coalesced [234] main::i#68 ← main::i#1
Coalesced (already) [235] print_line_cursor#91 ← print_line_cursor#1
Coalesced [237] print_line_cursor#97 ← print_line_cursor#25
Coalesced (already) [242] print_line_cursor#98 ← print_line_cursor#1
Coalesced [244] print_char_cursor#165 ← print_char_cursor#95
Coalesced [247] print_byte::b#4 ← print_byte::b#0
Coalesced [248] print_char_cursor#168 ← print_char_cursor#55
Coalesced [253] print_byte::b#5 ← print_byte::b#1
Coalesced [254] print_char_cursor#169 ← print_char_cursor#2
Coalesced (already) [256] print_char_cursor#166 ← print_char_cursor#55
Coalesced [259] print_char::ch#8 ← print_char::ch#4
Coalesced (already) [260] print_char_cursor#167 ← print_char_cursor#55
Coalesced [270] print_char::ch#6 ← print_char::ch#0
Coalesced (already) [271] print_char_cursor#163 ← print_char_cursor#94
Coalesced [275] print_char::ch#7 ← print_char::ch#1
Coalesced (already) [276] print_char_cursor#164 ← print_char_cursor#55
Coalesced [279] print_str::str#5 ← print_str::str#1
Coalesced (already) [280] print_char_cursor#170 ← print_char_cursor#55
Coalesced [287] print_str::str#6 ← print_str::str#0
Coalesced [288] print_char_cursor#171 ← print_char_cursor#1
Coalesced [295] print_cls::sc#3 ← print_cls::sc#1
Coalesced down to 32 phi equivalence classes
Culled Empty Block (label) print_ln::@3
Culled Empty Block (label) print_cls::@3
Adding NOP phi() at start of @begin
Adding NOP phi() at start of @21
Adding NOP phi() at start of @end
Adding NOP phi() at start of main
Adding NOP phi() at start of main::@23
Adding NOP phi() at start of main::@24
Adding NOP phi() at start of main::@25
Adding NOP phi() at start of main::@26
Adding NOP phi() at start of main::@49
Adding NOP phi() at start of main::@27
Adding NOP phi() at start of main::@28
Adding NOP phi() at start of main::@29
Adding NOP phi() at start of main::@30
Adding NOP phi() at start of main::@54
Adding NOP phi() at start of main::@31
Adding NOP phi() at start of main::@32
Adding NOP phi() at start of main::@33
Adding NOP phi() at start of main::@34
Adding NOP phi() at start of main::@59
Adding NOP phi() at start of main::@35
Adding NOP phi() at start of main::@36
Adding NOP phi() at start of main::@37
Adding NOP phi() at start of main::@38
Adding NOP phi() at start of main::@64
Adding NOP phi() at start of main::@39
Adding NOP phi() at start of main::@40
Adding NOP phi() at start of main::@41
Adding NOP phi() at start of main::@42
Adding NOP phi() at start of main::@69
Adding NOP phi() at start of main::@22
Adding NOP phi() at start of printu::@4
Adding NOP phi() at start of print_str
Adding NOP phi() at start of print_cls

FINAL CONTROL FLOW GRAPH
@begin: scope:[]  from
  [0] phi()
  to:@21
@21: scope:[]  from @begin
  [1] phi()
  [2] call main 
  to:@end
@end: scope:[]  from @21
  [3] phi()
main: scope:[main]  from @21
  [4] phi()
  [5] call print_cls 
  to:main::@1
main::@1: scope:[main]  from main main::@71
  [6] (byte*) print_line_cursor#27 ← phi( main/((byte*))(word/signed word/dword/signed dword) 1024 main::@71/(byte*) print_line_cursor#1 )
  [6] (byte) main::i#10 ← phi( main/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@71/(byte) main::i#1 )
  [6] (byte*) print_char_cursor#120 ← phi( main/((byte*))(word/signed word/dword/signed dword) 1024 main::@71/(byte*~) print_char_cursor#142 )
  [6] (byte) main::a#10 ← phi( main/(byte/signed byte/word/signed word/dword/signed dword) 7 main::@71/(byte) main::a#1 )
  [7] (byte) main::b#0 ← (byte/word/signed word/dword/signed dword) 206 - (byte) main::a#10
  [8] if((byte) main::a#10>=(byte) main::b#0) goto main::@2
  to:main::@23
main::@23: scope:[main]  from main::@1
  [9] phi()
  to:main::@2
main::@2: scope:[main]  from main::@1 main::@23
  [10] (byte) main::r#40 ← phi( main::@1/(byte) '-' main::@23/(byte) '+' )
  [11] (byte) printu::a#0 ← (byte) main::a#10
  [12] (byte) printu::b#0 ← (byte) main::b#0
  [13] (byte) printu::res#0 ← (byte) main::r#40
  [14] call printu 
  to:main::@46
main::@46: scope:[main]  from main::@2
  [15] if((byte) main::a#10>=(byte/signed byte/word/signed word/dword/signed dword) 55) goto main::@3
  to:main::@24
main::@24: scope:[main]  from main::@46
  [16] phi()
  to:main::@3
main::@3: scope:[main]  from main::@24 main::@46
  [17] (byte) main::r#41 ← phi( main::@24/(byte) '+' main::@46/(byte) '-' )
  [18] (byte) printu::a#1 ← (byte) main::a#10
  [19] (byte) printu::res#1 ← (byte) main::r#41
  [20] call printu 
  to:main::@47
main::@47: scope:[main]  from main::@3
  [21] if((byte) main::a#10>=*((const byte[5]) main::cs#0 + (byte) main::i#10)) goto main::@4
  to:main::@25
main::@25: scope:[main]  from main::@47
  [22] phi()
  to:main::@4
main::@4: scope:[main]  from main::@25 main::@47
  [23] (byte) main::r#42 ← phi( main::@25/(byte) '+' main::@47/(byte) '-' )
  [24] (byte) printu::a#2 ← (byte) main::a#10
  [25] (byte) printu::b#2 ← *((const byte[5]) main::cs#0 + (byte) main::i#10)
  [26] (byte) printu::res#2 ← (byte) main::r#42
  [27] call printu 
  to:main::@48
main::@48: scope:[main]  from main::@4
  [28] if((byte) main::a#10>=(byte) main::a#10) goto main::@5
  to:main::@26
main::@26: scope:[main]  from main::@48
  [29] phi()
  to:main::@5
main::@5: scope:[main]  from main::@26 main::@48
  [30] (byte) main::r#43 ← phi( main::@26/(byte) '+' main::@48/(byte) '-' )
  [31] (byte) printu::a#3 ← (byte) main::a#10
  [32] (byte) printu::b#3 ← (byte) main::a#10
  [33] (byte) printu::res#3 ← (byte) main::r#43
  [34] call printu 
  to:main::@49
main::@49: scope:[main]  from main::@5
  [35] phi()
  [36] call print_ln 
  to:main::@50
main::@50: scope:[main]  from main::@49
  [37] if((byte) main::a#10<=(byte) main::b#0) goto main::@6
  to:main::@27
main::@27: scope:[main]  from main::@50
  [38] phi()
  to:main::@6
main::@6: scope:[main]  from main::@27 main::@50
  [39] (byte) main::r#44 ← phi( main::@27/(byte) '+' main::@50/(byte) '-' )
  [40] (byte) printu::a#4 ← (byte) main::a#10
  [41] (byte) printu::b#4 ← (byte) main::b#0
  [42] (byte) printu::res#4 ← (byte) main::r#44
  [43] (byte*~) print_char_cursor#159 ← (byte*) print_line_cursor#1
  [44] call printu 
  to:main::@51
main::@51: scope:[main]  from main::@6
  [45] if((byte) main::a#10<=(byte/signed byte/word/signed word/dword/signed dword) 55) goto main::@7
  to:main::@28
main::@28: scope:[main]  from main::@51
  [46] phi()
  to:main::@7
main::@7: scope:[main]  from main::@28 main::@51
  [47] (byte) main::r#45 ← phi( main::@28/(byte) '+' main::@51/(byte) '-' )
  [48] (byte) printu::a#5 ← (byte) main::a#10
  [49] (byte) printu::res#5 ← (byte) main::r#45
  [50] call printu 
  to:main::@52
main::@52: scope:[main]  from main::@7
  [51] if((byte) main::a#10<=*((const byte[5]) main::cs#0 + (byte) main::i#10)) goto main::@8
  to:main::@29
main::@29: scope:[main]  from main::@52
  [52] phi()
  to:main::@8
main::@8: scope:[main]  from main::@29 main::@52
  [53] (byte) main::r#46 ← phi( main::@29/(byte) '+' main::@52/(byte) '-' )
  [54] (byte) printu::a#6 ← (byte) main::a#10
  [55] (byte) printu::b#6 ← *((const byte[5]) main::cs#0 + (byte) main::i#10)
  [56] (byte) printu::res#6 ← (byte) main::r#46
  [57] call printu 
  to:main::@53
main::@53: scope:[main]  from main::@8
  [58] if((byte) main::a#10<=(byte) main::a#10) goto main::@9
  to:main::@30
main::@30: scope:[main]  from main::@53
  [59] phi()
  to:main::@9
main::@9: scope:[main]  from main::@30 main::@53
  [60] (byte) main::r#47 ← phi( main::@30/(byte) '+' main::@53/(byte) '-' )
  [61] (byte) printu::a#7 ← (byte) main::a#10
  [62] (byte) printu::b#7 ← (byte) main::a#10
  [63] (byte) printu::res#7 ← (byte) main::r#47
  [64] call printu 
  to:main::@54
main::@54: scope:[main]  from main::@9
  [65] phi()
  [66] call print_ln 
  to:main::@55
main::@55: scope:[main]  from main::@54
  [67] if((byte) main::a#10>(byte) main::b#0) goto main::@10
  to:main::@31
main::@31: scope:[main]  from main::@55
  [68] phi()
  to:main::@10
main::@10: scope:[main]  from main::@31 main::@55
  [69] (byte) main::r#48 ← phi( main::@31/(byte) '+' main::@55/(byte) '-' )
  [70] (byte) printu::a#8 ← (byte) main::a#10
  [71] (byte) printu::b#8 ← (byte) main::b#0
  [72] (byte) printu::res#8 ← (byte) main::r#48
  [73] (byte*~) print_char_cursor#143 ← (byte*) print_line_cursor#1
  [74] call printu 
  to:main::@56
main::@56: scope:[main]  from main::@10
  [75] if((byte) main::a#10>(byte/signed byte/word/signed word/dword/signed dword) 55) goto main::@11
  to:main::@32
main::@32: scope:[main]  from main::@56
  [76] phi()
  to:main::@11
main::@11: scope:[main]  from main::@32 main::@56
  [77] (byte) main::r#49 ← phi( main::@32/(byte) '+' main::@56/(byte) '-' )
  [78] (byte) printu::a#9 ← (byte) main::a#10
  [79] (byte) printu::res#9 ← (byte) main::r#49
  [80] call printu 
  to:main::@57
main::@57: scope:[main]  from main::@11
  [81] if((byte) main::a#10>*((const byte[5]) main::cs#0 + (byte) main::i#10)) goto main::@12
  to:main::@33
main::@33: scope:[main]  from main::@57
  [82] phi()
  to:main::@12
main::@12: scope:[main]  from main::@33 main::@57
  [83] (byte) main::r#50 ← phi( main::@33/(byte) '+' main::@57/(byte) '-' )
  [84] (byte) printu::a#10 ← (byte) main::a#10
  [85] (byte) printu::b#10 ← *((const byte[5]) main::cs#0 + (byte) main::i#10)
  [86] (byte) printu::res#10 ← (byte) main::r#50
  [87] call printu 
  to:main::@58
main::@58: scope:[main]  from main::@12
  [88] if((byte) main::a#10>(byte) main::a#10) goto main::@13
  to:main::@34
main::@34: scope:[main]  from main::@58
  [89] phi()
  to:main::@13
main::@13: scope:[main]  from main::@34 main::@58
  [90] (byte) main::r#51 ← phi( main::@34/(byte) '+' main::@58/(byte) '-' )
  [91] (byte) printu::a#11 ← (byte) main::a#10
  [92] (byte) printu::b#11 ← (byte) main::a#10
  [93] (byte) printu::res#11 ← (byte) main::r#51
  [94] call printu 
  to:main::@59
main::@59: scope:[main]  from main::@13
  [95] phi()
  [96] call print_ln 
  to:main::@60
main::@60: scope:[main]  from main::@59
  [97] if((byte) main::a#10<(byte) main::b#0) goto main::@14
  to:main::@35
main::@35: scope:[main]  from main::@60
  [98] phi()
  to:main::@14
main::@14: scope:[main]  from main::@35 main::@60
  [99] (byte) main::r#52 ← phi( main::@35/(byte) '+' main::@60/(byte) '-' )
  [100] (byte) printu::a#12 ← (byte) main::a#10
  [101] (byte) printu::b#12 ← (byte) main::b#0
  [102] (byte) printu::res#12 ← (byte) main::r#52
  [103] (byte*~) print_char_cursor#147 ← (byte*) print_line_cursor#1
  [104] call printu 
  to:main::@61
main::@61: scope:[main]  from main::@14
  [105] if((byte) main::a#10<(byte/signed byte/word/signed word/dword/signed dword) 55) goto main::@15
  to:main::@36
main::@36: scope:[main]  from main::@61
  [106] phi()
  to:main::@15
main::@15: scope:[main]  from main::@36 main::@61
  [107] (byte) main::r#53 ← phi( main::@36/(byte) '+' main::@61/(byte) '-' )
  [108] (byte) printu::a#13 ← (byte) main::a#10
  [109] (byte) printu::res#13 ← (byte) main::r#53
  [110] call printu 
  to:main::@62
main::@62: scope:[main]  from main::@15
  [111] if((byte) main::a#10<*((const byte[5]) main::cs#0 + (byte) main::i#10)) goto main::@16
  to:main::@37
main::@37: scope:[main]  from main::@62
  [112] phi()
  to:main::@16
main::@16: scope:[main]  from main::@37 main::@62
  [113] (byte) main::r#54 ← phi( main::@37/(byte) '+' main::@62/(byte) '-' )
  [114] (byte) printu::a#14 ← (byte) main::a#10
  [115] (byte) printu::b#14 ← *((const byte[5]) main::cs#0 + (byte) main::i#10)
  [116] (byte) printu::res#14 ← (byte) main::r#54
  [117] call printu 
  to:main::@63
main::@63: scope:[main]  from main::@16
  [118] if((byte) main::a#10<(byte) main::a#10) goto main::@17
  to:main::@38
main::@38: scope:[main]  from main::@63
  [119] phi()
  to:main::@17
main::@17: scope:[main]  from main::@38 main::@63
  [120] (byte) main::r#55 ← phi( main::@38/(byte) '+' main::@63/(byte) '-' )
  [121] (byte) printu::a#15 ← (byte) main::a#10
  [122] (byte) printu::b#15 ← (byte) main::a#10
  [123] (byte) printu::res#15 ← (byte) main::r#55
  [124] call printu 
  to:main::@64
main::@64: scope:[main]  from main::@17
  [125] phi()
  [126] call print_ln 
  to:main::@65
main::@65: scope:[main]  from main::@64
  [127] if((byte) main::a#10!=(byte) main::b#0) goto main::@18
  to:main::@39
main::@39: scope:[main]  from main::@65
  [128] phi()
  to:main::@18
main::@18: scope:[main]  from main::@39 main::@65
  [129] (byte) main::r#56 ← phi( main::@39/(byte) '+' main::@65/(byte) '-' )
  [130] (byte) printu::a#16 ← (byte) main::a#10
  [131] (byte) printu::b#16 ← (byte) main::b#0
  [132] (byte) printu::res#16 ← (byte) main::r#56
  [133] (byte*~) print_char_cursor#151 ← (byte*) print_line_cursor#1
  [134] call printu 
  to:main::@66
main::@66: scope:[main]  from main::@18
  [135] if((byte) main::a#10!=(byte/signed byte/word/signed word/dword/signed dword) 55) goto main::@19
  to:main::@40
main::@40: scope:[main]  from main::@66
  [136] phi()
  to:main::@19
main::@19: scope:[main]  from main::@40 main::@66
  [137] (byte) main::r#57 ← phi( main::@40/(byte) '+' main::@66/(byte) '-' )
  [138] (byte) printu::a#17 ← (byte) main::a#10
  [139] (byte) printu::res#17 ← (byte) main::r#57
  [140] call printu 
  to:main::@67
main::@67: scope:[main]  from main::@19
  [141] if((byte) main::a#10!=*((const byte[5]) main::cs#0 + (byte) main::i#10)) goto main::@20
  to:main::@41
main::@41: scope:[main]  from main::@67
  [142] phi()
  to:main::@20
main::@20: scope:[main]  from main::@41 main::@67
  [143] (byte) main::r#58 ← phi( main::@41/(byte) '+' main::@67/(byte) '-' )
  [144] (byte) printu::a#18 ← (byte) main::a#10
  [145] (byte) printu::b#18 ← *((const byte[5]) main::cs#0 + (byte) main::i#10)
  [146] (byte) printu::res#18 ← (byte) main::r#58
  [147] call printu 
  to:main::@68
main::@68: scope:[main]  from main::@20
  [148] if((byte) main::a#10!=(byte) main::a#10) goto main::@21
  to:main::@42
main::@42: scope:[main]  from main::@68
  [149] phi()
  to:main::@21
main::@21: scope:[main]  from main::@42 main::@68
  [150] (byte) main::r#59 ← phi( main::@42/(byte) '+' main::@68/(byte) '-' )
  [151] (byte) printu::a#19 ← (byte) main::a#10
  [152] (byte) printu::b#19 ← (byte) main::a#10
  [153] (byte) printu::res#19 ← (byte) main::r#59
  [154] call printu 
  to:main::@69
main::@69: scope:[main]  from main::@21
  [155] phi()
  [156] call print_ln 
  to:main::@70
main::@70: scope:[main]  from main::@69
  [157] (byte) main::a#1 ← (byte) main::a#10 + (byte/signed byte/word/signed word/dword/signed dword) 48
  [158] (byte) main::i#1 ← ++ (byte) main::i#10
  [159] if((byte) main::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 5) goto main::@71
  to:main::@22
main::@22: scope:[main]  from main::@22 main::@70
  [160] phi()
  to:main::@22
main::@71: scope:[main]  from main::@70
  [161] (byte*~) print_char_cursor#142 ← (byte*) print_line_cursor#1
  to:main::@1
print_ln: scope:[print_ln]  from main::@49 main::@54 main::@59 main::@64 main::@69
  [162] (byte*) print_line_cursor#25 ← phi( main::@49/(byte*) print_line_cursor#27 main::@54/(byte*) print_line_cursor#1 main::@59/(byte*) print_line_cursor#1 main::@64/(byte*) print_line_cursor#1 main::@69/(byte*) print_line_cursor#1 )
  to:print_ln::@1
print_ln::@1: scope:[print_ln]  from print_ln print_ln::@1
  [163] (byte*) print_line_cursor#13 ← phi( print_ln/(byte*) print_line_cursor#25 print_ln::@1/(byte*) print_line_cursor#1 )
  [164] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#13 + (byte/signed byte/word/signed word/dword/signed dword) 40
  [165] if((byte*) print_line_cursor#1<(byte*) print_char_cursor#55) goto print_ln::@1
  to:print_ln::@return
print_ln::@return: scope:[print_ln]  from print_ln::@1
  [166] return 
  to:@return
printu: scope:[printu]  from main::@10 main::@11 main::@12 main::@13 main::@14 main::@15 main::@16 main::@17 main::@18 main::@19 main::@2 main::@20 main::@21 main::@3 main::@4 main::@5 main::@6 main::@7 main::@8 main::@9
  [167] (byte) printu::res#20 ← phi( main::@10/(byte) printu::res#8 main::@11/(byte) printu::res#9 main::@12/(byte) printu::res#10 main::@13/(byte) printu::res#11 main::@14/(byte) printu::res#12 main::@15/(byte) printu::res#13 main::@16/(byte) printu::res#14 main::@17/(byte) printu::res#15 main::@18/(byte) printu::res#16 main::@19/(byte) printu::res#17 main::@2/(byte) printu::res#0 main::@20/(byte) printu::res#18 main::@21/(byte) printu::res#19 main::@3/(byte) printu::res#1 main::@4/(byte) printu::res#2 main::@5/(byte) printu::res#3 main::@6/(byte) printu::res#4 main::@7/(byte) printu::res#5 main::@8/(byte) printu::res#6 main::@9/(byte) printu::res#7 )
  [167] (byte) printu::b#20 ← phi( main::@10/(byte) printu::b#8 main::@11/(byte/signed byte/word/signed word/dword/signed dword) 55 main::@12/(byte) printu::b#10 main::@13/(byte) printu::b#11 main::@14/(byte) printu::b#12 main::@15/(byte/signed byte/word/signed word/dword/signed dword) 55 main::@16/(byte) printu::b#14 main::@17/(byte) printu::b#15 main::@18/(byte) printu::b#16 main::@19/(byte/signed byte/word/signed word/dword/signed dword) 55 main::@2/(byte) printu::b#0 main::@20/(byte) printu::b#18 main::@21/(byte) printu::b#19 main::@3/(byte/signed byte/word/signed word/dword/signed dword) 55 main::@4/(byte) printu::b#2 main::@5/(byte) printu::b#3 main::@6/(byte) printu::b#4 main::@7/(byte/signed byte/word/signed word/dword/signed dword) 55 main::@8/(byte) printu::b#6 main::@9/(byte) printu::b#7 )
  [167] (byte[]) printu::op#20 ← phi( main::@10/(const string) main::op8 main::@11/(const string) main::op8 main::@12/(const string) main::op8 main::@13/(const string) main::op8 main::@14/(const string) main::op12 main::@15/(const string) main::op12 main::@16/(const string) main::op12 main::@17/(const string) main::op12 main::@18/(const string) main::op16 main::@19/(const string) main::op16 main::@2/(const string) main::op main::@20/(const string) main::op16 main::@21/(const string) main::op16 main::@3/(const string) main::op main::@4/(const string) main::op main::@5/(const string) main::op main::@6/(const string) main::op4 main::@7/(const string) main::op4 main::@8/(const string) main::op4 main::@9/(const string) main::op4 )
  [167] (byte) printu::a#20 ← phi( main::@10/(byte) printu::a#8 main::@11/(byte) printu::a#9 main::@12/(byte) printu::a#10 main::@13/(byte) printu::a#11 main::@14/(byte) printu::a#12 main::@15/(byte) printu::a#13 main::@16/(byte) printu::a#14 main::@17/(byte) printu::a#15 main::@18/(byte) printu::a#16 main::@19/(byte) printu::a#17 main::@2/(byte) printu::a#0 main::@20/(byte) printu::a#18 main::@21/(byte) printu::a#19 main::@3/(byte) printu::a#1 main::@4/(byte) printu::a#2 main::@5/(byte) printu::a#3 main::@6/(byte) printu::a#4 main::@7/(byte) printu::a#5 main::@8/(byte) printu::a#6 main::@9/(byte) printu::a#7 )
  [167] (byte*) print_char_cursor#95 ← phi( main::@10/(byte*~) print_char_cursor#143 main::@11/(byte*) print_char_cursor#55 main::@12/(byte*) print_char_cursor#55 main::@13/(byte*) print_char_cursor#55 main::@14/(byte*~) print_char_cursor#147 main::@15/(byte*) print_char_cursor#55 main::@16/(byte*) print_char_cursor#55 main::@17/(byte*) print_char_cursor#55 main::@18/(byte*~) print_char_cursor#151 main::@19/(byte*) print_char_cursor#55 main::@2/(byte*) print_char_cursor#120 main::@20/(byte*) print_char_cursor#55 main::@21/(byte*) print_char_cursor#55 main::@3/(byte*) print_char_cursor#55 main::@4/(byte*) print_char_cursor#55 main::@5/(byte*) print_char_cursor#55 main::@6/(byte*~) print_char_cursor#159 main::@7/(byte*) print_char_cursor#55 main::@8/(byte*) print_char_cursor#55 main::@9/(byte*) print_char_cursor#55 )
  [168] call print_char 
  to:printu::@1
printu::@1: scope:[printu]  from printu
  [169] (byte) print_byte::b#0 ← (byte) printu::a#20
  [170] call print_byte 
  to:printu::@2
printu::@2: scope:[printu]  from printu::@1
  [171] (byte*) print_str::str#1 ← (byte[]) printu::op#20
  [172] call print_str 
  to:printu::@3
printu::@3: scope:[printu]  from printu::@2
  [173] (byte) print_byte::b#1 ← (byte) printu::b#20
  [174] call print_byte 
  to:printu::@4
printu::@4: scope:[printu]  from printu::@3
  [175] phi()
  [176] call print_char 
  to:printu::@5
printu::@5: scope:[printu]  from printu::@4
  [177] (byte) print_char::ch#4 ← (byte) printu::res#20
  [178] call print_char 
  to:printu::@return
printu::@return: scope:[printu]  from printu::@5
  [179] return 
  to:@return
print_char: scope:[print_char]  from print_byte print_byte::@1 printu printu::@4 printu::@5
  [180] (byte*) print_char_cursor#54 ← phi( print_byte/(byte*) print_char_cursor#94 print_byte::@1/(byte*) print_char_cursor#55 printu/(byte*) print_char_cursor#95 printu::@4/(byte*) print_char_cursor#55 printu::@5/(byte*) print_char_cursor#55 )
  [180] (byte) print_char::ch#5 ← phi( print_byte/(byte) print_char::ch#0 print_byte::@1/(byte) print_char::ch#1 printu/(byte) ' ' printu::@4/(byte) ' ' printu::@5/(byte) print_char::ch#4 )
  [181] *((byte*) print_char_cursor#54) ← (byte) print_char::ch#5
  [182] (byte*) print_char_cursor#55 ← ++ (byte*) print_char_cursor#54
  to:print_char::@return
print_char::@return: scope:[print_char]  from print_char
  [183] return 
  to:@return
print_byte: scope:[print_byte]  from printu::@1 printu::@3
  [184] (byte*) print_char_cursor#94 ← phi( printu::@1/(byte*) print_char_cursor#55 printu::@3/(byte*) print_char_cursor#2 )
  [184] (byte) print_byte::b#2 ← phi( printu::@1/(byte) print_byte::b#0 printu::@3/(byte) print_byte::b#1 )
  [185] (byte~) print_byte::$0 ← (byte) print_byte::b#2 >> (byte/signed byte/word/signed word/dword/signed dword) 4
  [186] (byte) print_char::ch#0 ← *((const byte[]) print_hextab#0 + (byte~) print_byte::$0)
  [187] call print_char 
  to:print_byte::@1
print_byte::@1: scope:[print_byte]  from print_byte
  [188] (byte~) print_byte::$2 ← (byte) print_byte::b#2 & (byte/signed byte/word/signed word/dword/signed dword) 15
  [189] (byte) print_char::ch#1 ← *((const byte[]) print_hextab#0 + (byte~) print_byte::$2)
  [190] call print_char 
  to:print_byte::@return
print_byte::@return: scope:[print_byte]  from print_byte::@1
  [191] return 
  to:@return
print_str: scope:[print_str]  from printu::@2
  [192] phi()
  to:print_str::@1
print_str::@1: scope:[print_str]  from print_str print_str::@2
  [193] (byte*) print_char_cursor#2 ← phi( print_str/(byte*) print_char_cursor#55 print_str::@2/(byte*) print_char_cursor#1 )
  [193] (byte*) print_str::str#2 ← phi( print_str/(byte*) print_str::str#1 print_str::@2/(byte*) print_str::str#0 )
  [194] if(*((byte*) print_str::str#2)!=(byte) '@') goto print_str::@2
  to:print_str::@return
print_str::@return: scope:[print_str]  from print_str::@1
  [195] return 
  to:@return
print_str::@2: scope:[print_str]  from print_str::@1
  [196] *((byte*) print_char_cursor#2) ← *((byte*) print_str::str#2)
  [197] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#2
  [198] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#2
  to:print_str::@1
print_cls: scope:[print_cls]  from main
  [199] phi()
  to:print_cls::@1
print_cls::@1: scope:[print_cls]  from print_cls print_cls::@1
  [200] (byte*) print_cls::sc#2 ← phi( print_cls/((byte*))(word/signed word/dword/signed dword) 1024 print_cls::@1/(byte*) print_cls::sc#1 )
  [201] *((byte*) print_cls::sc#2) ← (byte) ' '
  [202] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2
  [203] if((byte*) print_cls::sc#1!=((byte*))(word/signed word/dword/signed dword) 1024+(word/signed word/dword/signed dword) 1000) goto print_cls::@1
  to:print_cls::@return
print_cls::@return: scope:[print_cls]  from print_cls::@1
  [204] return 
  to:@return


VARIABLE REGISTER WEIGHTS
(void()) main()
(byte) main::a
(byte) main::a#1 5.5
(byte) main::a#10 3.860927152317884
(byte) main::b
(byte) main::b#0 0.9758064516129035
(byte[5]) main::cs
(byte) main::i
(byte) main::i#1 11.0
(byte) main::i#10 0.8684210526315792
(byte) main::r
(byte) main::r#40 3.6666666666666665
(byte) main::r#41 5.5
(byte) main::r#42 3.6666666666666665
(byte) main::r#43 3.6666666666666665
(byte) main::r#44 3.6666666666666665
(byte) main::r#45 5.5
(byte) main::r#46 3.6666666666666665
(byte) main::r#47 3.6666666666666665
(byte) main::r#48 3.6666666666666665
(byte) main::r#49 5.5
(byte) main::r#50 3.6666666666666665
(byte) main::r#51 3.6666666666666665
(byte) main::r#52 3.6666666666666665
(byte) main::r#53 5.5
(byte) main::r#54 3.6666666666666665
(byte) main::r#55 3.6666666666666665
(byte) main::r#56 3.6666666666666665
(byte) main::r#57 5.5
(byte) main::r#58 3.6666666666666665
(byte) main::r#59 3.6666666666666665
(void()) print_byte((byte) print_byte::b)
(byte~) print_byte::$0 4.0
(byte~) print_byte::$2 4.0
(byte) print_byte::b
(byte) print_byte::b#0 4.0
(byte) print_byte::b#1 4.0
(byte) print_byte::b#2 2.0
(void()) print_char((byte) print_char::ch)
(byte) print_char::ch
(byte) print_char::ch#0 4.0
(byte) print_char::ch#1 4.0
(byte) print_char::ch#4 4.0
(byte) print_char::ch#5 8.0
(byte*) print_char_cursor
(byte*) print_char_cursor#1 101.0
(byte*) print_char_cursor#120 2.75
(byte*~) print_char_cursor#142 22.0
(byte*~) print_char_cursor#143 22.0
(byte*~) print_char_cursor#147 22.0
(byte*~) print_char_cursor#151 22.0
(byte*~) print_char_cursor#159 22.0
(byte*) print_char_cursor#2 51.16666666666666
(byte*) print_char_cursor#54 7.0
(byte*) print_char_cursor#55 2.106060606060605
(byte*) print_char_cursor#94 2.0
(byte*) print_char_cursor#95 222.0
(void()) print_cls()
(byte*) print_cls::sc
(byte*) print_cls::sc#1 16.5
(byte*) print_cls::sc#2 16.5
(byte[]) print_hextab
(byte*) print_line_cursor
(byte*) print_line_cursor#1 3.2265625
(byte*) print_line_cursor#13 204.0
(byte*) print_line_cursor#25 57.0
(byte*) print_line_cursor#27 0.7333333333333333
(void()) print_ln()
(byte*) print_screen
(void()) print_str((byte*) print_str::str)
(byte*) print_str::str
(byte*) print_str::str#0 202.0
(byte*) print_str::str#1 2.0
(byte*) print_str::str#2 101.5
(void()) printu((byte) printu::a , (byte[]) printu::op , (byte) printu::b , (byte) printu::res)
(byte) printu::a
(byte) printu::a#0 7.333333333333333
(byte) printu::a#1 11.0
(byte) printu::a#10 7.333333333333333
(byte) printu::a#11 7.333333333333333
(byte) printu::a#12 5.5
(byte) printu::a#13 11.0
(byte) printu::a#14 7.333333333333333
(byte) printu::a#15 7.333333333333333
(byte) printu::a#16 5.5
(byte) printu::a#17 11.0
(byte) printu::a#18 7.333333333333333
(byte) printu::a#19 7.333333333333333
(byte) printu::a#2 7.333333333333333
(byte) printu::a#20 111.0
(byte) printu::a#3 7.333333333333333
(byte) printu::a#4 5.5
(byte) printu::a#5 11.0
(byte) printu::a#6 7.333333333333333
(byte) printu::a#7 7.333333333333333
(byte) printu::a#8 5.5
(byte) printu::a#9 11.0
(byte) printu::b
(byte) printu::b#0 11.0
(byte) printu::b#10 11.0
(byte) printu::b#11 11.0
(byte) printu::b#12 7.333333333333333
(byte) printu::b#14 11.0
(byte) printu::b#15 11.0
(byte) printu::b#16 7.333333333333333
(byte) printu::b#18 11.0
(byte) printu::b#19 11.0
(byte) printu::b#2 11.0
(byte) printu::b#20 27.833333333333325
(byte) printu::b#3 11.0
(byte) printu::b#4 7.333333333333333
(byte) printu::b#6 11.0
(byte) printu::b#7 11.0
(byte) printu::b#8 7.333333333333333
(byte[]) printu::op
(byte[]) printu::op#20 0.5
(byte) printu::res
(byte) printu::res#0 22.0
(byte) printu::res#1 22.0
(byte) printu::res#10 22.0
(byte) printu::res#11 22.0
(byte) printu::res#12 11.0
(byte) printu::res#13 22.0
(byte) printu::res#14 22.0
(byte) printu::res#15 22.0
(byte) printu::res#16 11.0
(byte) printu::res#17 22.0
(byte) printu::res#18 22.0
(byte) printu::res#19 22.0
(byte) printu::res#2 22.0
(byte) printu::res#20 22.200000000000003
(byte) printu::res#3 22.0
(byte) printu::res#4 11.0
(byte) printu::res#5 22.0
(byte) printu::res#6 22.0
(byte) printu::res#7 22.0
(byte) printu::res#8 11.0
(byte) printu::res#9 22.0

Initial phi equivalence classes
[ main::a#10 main::a#1 ]
[ main::i#10 main::i#1 ]
[ main::r#40 ]
[ main::r#41 ]
[ main::r#42 ]
[ main::r#43 ]
[ main::r#44 ]
[ main::r#45 ]
[ main::r#46 ]
[ main::r#47 ]
[ main::r#48 ]
[ main::r#49 ]
[ main::r#50 ]
[ main::r#51 ]
[ main::r#52 ]
[ main::r#53 ]
[ main::r#54 ]
[ main::r#55 ]
[ main::r#56 ]
[ main::r#57 ]
[ main::r#58 ]
[ main::r#59 ]
[ print_line_cursor#13 print_line_cursor#25 print_line_cursor#27 print_line_cursor#1 ]
[ printu::a#20 printu::a#8 printu::a#9 printu::a#10 printu::a#11 printu::a#12 printu::a#13 printu::a#14 printu::a#15 printu::a#16 printu::a#17 printu::a#0 printu::a#18 printu::a#19 printu::a#1 printu::a#2 printu::a#3 printu::a#4 printu::a#5 printu::a#6 printu::a#7 ]
[ printu::op#20 ]
[ printu::b#20 printu::b#8 printu::b#10 printu::b#11 printu::b#12 printu::b#14 printu::b#15 printu::b#16 printu::b#0 printu::b#18 printu::b#19 printu::b#2 printu::b#3 printu::b#4 printu::b#6 printu::b#7 ]
[ printu::res#20 printu::res#8 printu::res#9 printu::res#10 printu::res#11 printu::res#12 printu::res#13 printu::res#14 printu::res#15 printu::res#16 printu::res#17 printu::res#0 printu::res#18 printu::res#19 printu::res#1 printu::res#2 printu::res#3 printu::res#4 printu::res#5 printu::res#6 printu::res#7 ]
[ print_char::ch#5 print_char::ch#0 print_char::ch#1 print_char::ch#4 ]
[ print_char_cursor#54 print_char_cursor#94 print_char_cursor#95 print_char_cursor#143 print_char_cursor#55 print_char_cursor#147 print_char_cursor#151 print_char_cursor#120 print_char_cursor#142 print_char_cursor#159 print_char_cursor#2 print_char_cursor#1 ]
[ print_byte::b#2 print_byte::b#0 print_byte::b#1 ]
[ print_str::str#2 print_str::str#1 print_str::str#0 ]
[ print_cls::sc#2 print_cls::sc#1 ]
Added variable main::b#0 to zero page equivalence class [ main::b#0 ]
Added variable print_byte::$0 to zero page equivalence class [ print_byte::$0 ]
Added variable print_byte::$2 to zero page equivalence class [ print_byte::$2 ]
Complete equivalence classes
[ main::a#10 main::a#1 ]
[ main::i#10 main::i#1 ]
[ main::r#40 ]
[ main::r#41 ]
[ main::r#42 ]
[ main::r#43 ]
[ main::r#44 ]
[ main::r#45 ]
[ main::r#46 ]
[ main::r#47 ]
[ main::r#48 ]
[ main::r#49 ]
[ main::r#50 ]
[ main::r#51 ]
[ main::r#52 ]
[ main::r#53 ]
[ main::r#54 ]
[ main::r#55 ]
[ main::r#56 ]
[ main::r#57 ]
[ main::r#58 ]
[ main::r#59 ]
[ print_line_cursor#13 print_line_cursor#25 print_line_cursor#27 print_line_cursor#1 ]
[ printu::a#20 printu::a#8 printu::a#9 printu::a#10 printu::a#11 printu::a#12 printu::a#13 printu::a#14 printu::a#15 printu::a#16 printu::a#17 printu::a#0 printu::a#18 printu::a#19 printu::a#1 printu::a#2 printu::a#3 printu::a#4 printu::a#5 printu::a#6 printu::a#7 ]
[ printu::op#20 ]
[ printu::b#20 printu::b#8 printu::b#10 printu::b#11 printu::b#12 printu::b#14 printu::b#15 printu::b#16 printu::b#0 printu::b#18 printu::b#19 printu::b#2 printu::b#3 printu::b#4 printu::b#6 printu::b#7 ]
[ printu::res#20 printu::res#8 printu::res#9 printu::res#10 printu::res#11 printu::res#12 printu::res#13 printu::res#14 printu::res#15 printu::res#16 printu::res#17 printu::res#0 printu::res#18 printu::res#19 printu::res#1 printu::res#2 printu::res#3 printu::res#4 printu::res#5 printu::res#6 printu::res#7 ]
[ print_char::ch#5 print_char::ch#0 print_char::ch#1 print_char::ch#4 ]
[ print_char_cursor#54 print_char_cursor#94 print_char_cursor#95 print_char_cursor#143 print_char_cursor#55 print_char_cursor#147 print_char_cursor#151 print_char_cursor#120 print_char_cursor#142 print_char_cursor#159 print_char_cursor#2 print_char_cursor#1 ]
[ print_byte::b#2 print_byte::b#0 print_byte::b#1 ]
[ print_str::str#2 print_str::str#1 print_str::str#0 ]
[ print_cls::sc#2 print_cls::sc#1 ]
[ main::b#0 ]
[ print_byte::$0 ]
[ print_byte::$2 ]
Allocated zp ZP_BYTE:2 [ main::a#10 main::a#1 ]
Allocated zp ZP_BYTE:3 [ main::i#10 main::i#1 ]
Allocated zp ZP_BYTE:4 [ main::r#40 ]
Allocated zp ZP_BYTE:5 [ main::r#41 ]
Allocated zp ZP_BYTE:6 [ main::r#42 ]
Allocated zp ZP_BYTE:7 [ main::r#43 ]
Allocated zp ZP_BYTE:8 [ main::r#44 ]
Allocated zp ZP_BYTE:9 [ main::r#45 ]
Allocated zp ZP_BYTE:10 [ main::r#46 ]
Allocated zp ZP_BYTE:11 [ main::r#47 ]
Allocated zp ZP_BYTE:12 [ main::r#48 ]
Allocated zp ZP_BYTE:13 [ main::r#49 ]
Allocated zp ZP_BYTE:14 [ main::r#50 ]
Allocated zp ZP_BYTE:15 [ main::r#51 ]
Allocated zp ZP_BYTE:16 [ main::r#52 ]
Allocated zp ZP_BYTE:17 [ main::r#53 ]
Allocated zp ZP_BYTE:18 [ main::r#54 ]
Allocated zp ZP_BYTE:19 [ main::r#55 ]
Allocated zp ZP_BYTE:20 [ main::r#56 ]
Allocated zp ZP_BYTE:21 [ main::r#57 ]
Allocated zp ZP_BYTE:22 [ main::r#58 ]
Allocated zp ZP_BYTE:23 [ main::r#59 ]
Allocated zp ZP_WORD:24 [ print_line_cursor#13 print_line_cursor#25 print_line_cursor#27 print_line_cursor#1 ]
Allocated zp ZP_BYTE:26 [ printu::a#20 printu::a#8 printu::a#9 printu::a#10 printu::a#11 printu::a#12 printu::a#13 printu::a#14 printu::a#15 printu::a#16 printu::a#17 printu::a#0 printu::a#18 printu::a#19 printu::a#1 printu::a#2 printu::a#3 printu::a#4 printu::a#5 printu::a#6 printu::a#7 ]
Allocated zp ZP_WORD:27 [ printu::op#20 ]
Allocated zp ZP_BYTE:29 [ printu::b#20 printu::b#8 printu::b#10 printu::b#11 printu::b#12 printu::b#14 printu::b#15 printu::b#16 printu::b#0 printu::b#18 printu::b#19 printu::b#2 printu::b#3 printu::b#4 printu::b#6 printu::b#7 ]
Allocated zp ZP_BYTE:30 [ printu::res#20 printu::res#8 printu::res#9 printu::res#10 printu::res#11 printu::res#12 printu::res#13 printu::res#14 printu::res#15 printu::res#16 printu::res#17 printu::res#0 printu::res#18 printu::res#19 printu::res#1 printu::res#2 printu::res#3 printu::res#4 printu::res#5 printu::res#6 printu::res#7 ]
Allocated zp ZP_BYTE:31 [ print_char::ch#5 print_char::ch#0 print_char::ch#1 print_char::ch#4 ]
Allocated zp ZP_WORD:32 [ print_char_cursor#54 print_char_cursor#94 print_char_cursor#95 print_char_cursor#143 print_char_cursor#55 print_char_cursor#147 print_char_cursor#151 print_char_cursor#120 print_char_cursor#142 print_char_cursor#159 print_char_cursor#2 print_char_cursor#1 ]
Allocated zp ZP_BYTE:34 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ]
Allocated zp ZP_WORD:35 [ print_str::str#2 print_str::str#1 print_str::str#0 ]
Allocated zp ZP_WORD:37 [ print_cls::sc#2 print_cls::sc#1 ]
Allocated zp ZP_BYTE:39 [ main::b#0 ]
Allocated zp ZP_BYTE:40 [ print_byte::$0 ]
Allocated zp ZP_BYTE:41 [ print_byte::$2 ]

INITIAL ASM
//SEG0 File Comments
//SEG1 Basic Upstart
.pc = $801 "Basic"
:BasicUpstart(bbegin)
.pc = $80d "Program"
//SEG2 Global Constants & labels
  .label print_char_cursor = $20
  .label print_line_cursor = $18
//SEG3 @begin
bbegin:
//SEG4 [1] phi from @begin to @21 [phi:@begin->@21]
b21_from_bbegin:
  jmp b21
//SEG5 @21
b21:
//SEG6 [2] call main 
//SEG7 [4] phi from @21 to main [phi:@21->main]
main_from_b21:
  jsr main
//SEG8 [3] phi from @21 to @end [phi:@21->@end]
bend_from_b21:
  jmp bend
//SEG9 @end
bend:
//SEG10 main
main: {
    .label b = $27
    .label a = 2
    .label i = 3
    .label r = 4
    .label r_41 = 5
    .label r_42 = 6
    .label r_43 = 7
    .label r_44 = 8
    .label r_45 = 9
    .label r_46 = $a
    .label r_47 = $b
    .label r_48 = $c
    .label r_49 = $d
    .label r_50 = $e
    .label r_51 = $f
    .label r_52 = $10
    .label r_53 = $11
    .label r_54 = $12
    .label r_55 = $13
    .label r_56 = $14
    .label r_57 = $15
    .label r_58 = $16
    .label r_59 = $17
  //SEG11 [5] call print_cls 
  //SEG12 [199] phi from main to print_cls [phi:main->print_cls]
  print_cls_from_main:
    jsr print_cls
  //SEG13 [6] phi from main to main::@1 [phi:main->main::@1]
  b1_from_main:
  //SEG14 [6] phi (byte*) print_line_cursor#27 = ((byte*))(word/signed word/dword/signed dword) 1024 [phi:main->main::@1#0] -- pbuz1=pbuc1 
    lda #<$400
    sta print_line_cursor
    lda #>$400
    sta print_line_cursor+1
  //SEG15 [6] phi (byte) main::i#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->main::@1#1] -- vbuz1=vbuc1 
    lda #0
    sta i
  //SEG16 [6] phi (byte*) print_char_cursor#120 = ((byte*))(word/signed word/dword/signed dword) 1024 [phi:main->main::@1#2] -- pbuz1=pbuc1 
    lda #<$400
    sta print_char_cursor
    lda #>$400
    sta print_char_cursor+1
  //SEG17 [6] phi (byte) main::a#10 = (byte/signed byte/word/signed word/dword/signed dword) 7 [phi:main->main::@1#3] -- vbuz1=vbuc1 
    lda #7
    sta a
    jmp b1
  //SEG18 main::@1
  b1:
  //SEG19 [7] (byte) main::b#0 ← (byte/word/signed word/dword/signed dword) 206 - (byte) main::a#10 -- vbuz1=vbuc1_minus_vbuz2 
    lda #$ce
    sec
    sbc a
    sta b
  //SEG20 [8] if((byte) main::a#10>=(byte) main::b#0) goto main::@2 -- vbuz1_ge_vbuz2_then_la1 
    lda a
    cmp b
    bcs b2_from_b1
  //SEG21 [9] phi from main::@1 to main::@23 [phi:main::@1->main::@23]
  b23_from_b1:
    jmp b23
  //SEG22 main::@23
  b23:
  //SEG23 [10] phi from main::@23 to main::@2 [phi:main::@23->main::@2]
  b2_from_b23:
  //SEG24 [10] phi (byte) main::r#40 = (byte) '+' [phi:main::@23->main::@2#0] -- vbuz1=vbuc1 
    lda #'+'
    sta r
    jmp b2
  //SEG25 [10] phi from main::@1 to main::@2 [phi:main::@1->main::@2]
  b2_from_b1:
  //SEG26 [10] phi (byte) main::r#40 = (byte) '-' [phi:main::@1->main::@2#0] -- vbuz1=vbuc1 
    lda #'-'
    sta r
    jmp b2
  //SEG27 main::@2
  b2:
  //SEG28 [11] (byte) printu::a#0 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda a
    sta printu.a
  //SEG29 [12] (byte) printu::b#0 ← (byte) main::b#0 -- vbuz1=vbuz2 
    lda b
    sta printu.b
  //SEG30 [13] (byte) printu::res#0 ← (byte) main::r#40 -- vbuz1=vbuz2 
    lda r
    sta printu.res
  //SEG31 [14] call printu 
  //SEG32 [167] phi from main::@2 to printu [phi:main::@2->printu]
  printu_from_b2:
  //SEG33 [167] phi (byte) printu::res#20 = (byte) printu::res#0 [phi:main::@2->printu#0] -- register_copy 
  //SEG34 [167] phi (byte) printu::b#20 = (byte) printu::b#0 [phi:main::@2->printu#1] -- register_copy 
  //SEG35 [167] phi (byte[]) printu::op#20 = (const string) main::op [phi:main::@2->printu#2] -- pbuz1=pbuc1 
    lda #<op
    sta printu.op
    lda #>op
    sta printu.op+1
  //SEG36 [167] phi (byte) printu::a#20 = (byte) printu::a#0 [phi:main::@2->printu#3] -- register_copy 
  //SEG37 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#120 [phi:main::@2->printu#4] -- register_copy 
    jsr printu
    jmp b46
  //SEG38 main::@46
  b46:
  //SEG39 [15] if((byte) main::a#10>=(byte/signed byte/word/signed word/dword/signed dword) 55) goto main::@3 -- vbuz1_ge_vbuc1_then_la1 
    lda a
    cmp #$37
    bcs b3_from_b46
  //SEG40 [16] phi from main::@46 to main::@24 [phi:main::@46->main::@24]
  b24_from_b46:
    jmp b24
  //SEG41 main::@24
  b24:
  //SEG42 [17] phi from main::@24 to main::@3 [phi:main::@24->main::@3]
  b3_from_b24:
  //SEG43 [17] phi (byte) main::r#41 = (byte) '+' [phi:main::@24->main::@3#0] -- vbuz1=vbuc1 
    lda #'+'
    sta r_41
    jmp b3
  //SEG44 [17] phi from main::@46 to main::@3 [phi:main::@46->main::@3]
  b3_from_b46:
  //SEG45 [17] phi (byte) main::r#41 = (byte) '-' [phi:main::@46->main::@3#0] -- vbuz1=vbuc1 
    lda #'-'
    sta r_41
    jmp b3
  //SEG46 main::@3
  b3:
  //SEG47 [18] (byte) printu::a#1 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda a
    sta printu.a
  //SEG48 [19] (byte) printu::res#1 ← (byte) main::r#41 -- vbuz1=vbuz2 
    lda r_41
    sta printu.res
  //SEG49 [20] call printu 
  //SEG50 [167] phi from main::@3 to printu [phi:main::@3->printu]
  printu_from_b3:
  //SEG51 [167] phi (byte) printu::res#20 = (byte) printu::res#1 [phi:main::@3->printu#0] -- register_copy 
  //SEG52 [167] phi (byte) printu::b#20 = (byte/signed byte/word/signed word/dword/signed dword) 55 [phi:main::@3->printu#1] -- vbuz1=vbuc1 
    lda #$37
    sta printu.b
  //SEG53 [167] phi (byte[]) printu::op#20 = (const string) main::op [phi:main::@3->printu#2] -- pbuz1=pbuc1 
    lda #<op
    sta printu.op
    lda #>op
    sta printu.op+1
  //SEG54 [167] phi (byte) printu::a#20 = (byte) printu::a#1 [phi:main::@3->printu#3] -- register_copy 
  //SEG55 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@3->printu#4] -- register_copy 
    jsr printu
    jmp b47
  //SEG56 main::@47
  b47:
  //SEG57 [21] if((byte) main::a#10>=*((const byte[5]) main::cs#0 + (byte) main::i#10)) goto main::@4 -- vbuz1_ge_pbuc1_derefidx_vbuz2_then_la1 
    lda a
    ldy i
    cmp cs,y
    bcs b4_from_b47
  //SEG58 [22] phi from main::@47 to main::@25 [phi:main::@47->main::@25]
  b25_from_b47:
    jmp b25
  //SEG59 main::@25
  b25:
  //SEG60 [23] phi from main::@25 to main::@4 [phi:main::@25->main::@4]
  b4_from_b25:
  //SEG61 [23] phi (byte) main::r#42 = (byte) '+' [phi:main::@25->main::@4#0] -- vbuz1=vbuc1 
    lda #'+'
    sta r_42
    jmp b4
  //SEG62 [23] phi from main::@47 to main::@4 [phi:main::@47->main::@4]
  b4_from_b47:
  //SEG63 [23] phi (byte) main::r#42 = (byte) '-' [phi:main::@47->main::@4#0] -- vbuz1=vbuc1 
    lda #'-'
    sta r_42
    jmp b4
  //SEG64 main::@4
  b4:
  //SEG65 [24] (byte) printu::a#2 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda a
    sta printu.a
  //SEG66 [25] (byte) printu::b#2 ← *((const byte[5]) main::cs#0 + (byte) main::i#10) -- vbuz1=pbuc1_derefidx_vbuz2 
    ldy i
    lda cs,y
    sta printu.b
  //SEG67 [26] (byte) printu::res#2 ← (byte) main::r#42 -- vbuz1=vbuz2 
    lda r_42
    sta printu.res
  //SEG68 [27] call printu 
  //SEG69 [167] phi from main::@4 to printu [phi:main::@4->printu]
  printu_from_b4:
  //SEG70 [167] phi (byte) printu::res#20 = (byte) printu::res#2 [phi:main::@4->printu#0] -- register_copy 
  //SEG71 [167] phi (byte) printu::b#20 = (byte) printu::b#2 [phi:main::@4->printu#1] -- register_copy 
  //SEG72 [167] phi (byte[]) printu::op#20 = (const string) main::op [phi:main::@4->printu#2] -- pbuz1=pbuc1 
    lda #<op
    sta printu.op
    lda #>op
    sta printu.op+1
  //SEG73 [167] phi (byte) printu::a#20 = (byte) printu::a#2 [phi:main::@4->printu#3] -- register_copy 
  //SEG74 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@4->printu#4] -- register_copy 
    jsr printu
    jmp b48
  //SEG75 main::@48
  b48:
  //SEG76 [28] if((byte) main::a#10>=(byte) main::a#10) goto main::@5 -- vbuz1_ge_vbuz1_then_la1 
    lda a
    cmp a
    bcs b5_from_b48
  //SEG77 [29] phi from main::@48 to main::@26 [phi:main::@48->main::@26]
  b26_from_b48:
    jmp b26
  //SEG78 main::@26
  b26:
  //SEG79 [30] phi from main::@26 to main::@5 [phi:main::@26->main::@5]
  b5_from_b26:
  //SEG80 [30] phi (byte) main::r#43 = (byte) '+' [phi:main::@26->main::@5#0] -- vbuz1=vbuc1 
    lda #'+'
    sta r_43
    jmp b5
  //SEG81 [30] phi from main::@48 to main::@5 [phi:main::@48->main::@5]
  b5_from_b48:
  //SEG82 [30] phi (byte) main::r#43 = (byte) '-' [phi:main::@48->main::@5#0] -- vbuz1=vbuc1 
    lda #'-'
    sta r_43
    jmp b5
  //SEG83 main::@5
  b5:
  //SEG84 [31] (byte) printu::a#3 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda a
    sta printu.a
  //SEG85 [32] (byte) printu::b#3 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda a
    sta printu.b
  //SEG86 [33] (byte) printu::res#3 ← (byte) main::r#43 -- vbuz1=vbuz2 
    lda r_43
    sta printu.res
  //SEG87 [34] call printu 
  //SEG88 [167] phi from main::@5 to printu [phi:main::@5->printu]
  printu_from_b5:
  //SEG89 [167] phi (byte) printu::res#20 = (byte) printu::res#3 [phi:main::@5->printu#0] -- register_copy 
  //SEG90 [167] phi (byte) printu::b#20 = (byte) printu::b#3 [phi:main::@5->printu#1] -- register_copy 
  //SEG91 [167] phi (byte[]) printu::op#20 = (const string) main::op [phi:main::@5->printu#2] -- pbuz1=pbuc1 
    lda #<op
    sta printu.op
    lda #>op
    sta printu.op+1
  //SEG92 [167] phi (byte) printu::a#20 = (byte) printu::a#3 [phi:main::@5->printu#3] -- register_copy 
  //SEG93 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@5->printu#4] -- register_copy 
    jsr printu
  //SEG94 [35] phi from main::@5 to main::@49 [phi:main::@5->main::@49]
  b49_from_b5:
    jmp b49
  //SEG95 main::@49
  b49:
  //SEG96 [36] call print_ln 
  //SEG97 [162] phi from main::@49 to print_ln [phi:main::@49->print_ln]
  print_ln_from_b49:
  //SEG98 [162] phi (byte*) print_line_cursor#25 = (byte*) print_line_cursor#27 [phi:main::@49->print_ln#0] -- register_copy 
    jsr print_ln
    jmp b50
  //SEG99 main::@50
  b50:
  //SEG100 [37] if((byte) main::a#10<=(byte) main::b#0) goto main::@6 -- vbuz1_le_vbuz2_then_la1 
    lda b
    cmp a
    bcs b6_from_b50
  //SEG101 [38] phi from main::@50 to main::@27 [phi:main::@50->main::@27]
  b27_from_b50:
    jmp b27
  //SEG102 main::@27
  b27:
  //SEG103 [39] phi from main::@27 to main::@6 [phi:main::@27->main::@6]
  b6_from_b27:
  //SEG104 [39] phi (byte) main::r#44 = (byte) '+' [phi:main::@27->main::@6#0] -- vbuz1=vbuc1 
    lda #'+'
    sta r_44
    jmp b6
  //SEG105 [39] phi from main::@50 to main::@6 [phi:main::@50->main::@6]
  b6_from_b50:
  //SEG106 [39] phi (byte) main::r#44 = (byte) '-' [phi:main::@50->main::@6#0] -- vbuz1=vbuc1 
    lda #'-'
    sta r_44
    jmp b6
  //SEG107 main::@6
  b6:
  //SEG108 [40] (byte) printu::a#4 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda a
    sta printu.a
  //SEG109 [41] (byte) printu::b#4 ← (byte) main::b#0 -- vbuz1=vbuz2 
    lda b
    sta printu.b
  //SEG110 [42] (byte) printu::res#4 ← (byte) main::r#44 -- vbuz1=vbuz2 
    lda r_44
    sta printu.res
  //SEG111 [43] (byte*~) print_char_cursor#159 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 
    lda print_line_cursor
    sta print_char_cursor
    lda print_line_cursor+1
    sta print_char_cursor+1
  //SEG112 [44] call printu 
  //SEG113 [167] phi from main::@6 to printu [phi:main::@6->printu]
  printu_from_b6:
  //SEG114 [167] phi (byte) printu::res#20 = (byte) printu::res#4 [phi:main::@6->printu#0] -- register_copy 
  //SEG115 [167] phi (byte) printu::b#20 = (byte) printu::b#4 [phi:main::@6->printu#1] -- register_copy 
  //SEG116 [167] phi (byte[]) printu::op#20 = (const string) main::op4 [phi:main::@6->printu#2] -- pbuz1=pbuc1 
    lda #<op4
    sta printu.op
    lda #>op4
    sta printu.op+1
  //SEG117 [167] phi (byte) printu::a#20 = (byte) printu::a#4 [phi:main::@6->printu#3] -- register_copy 
  //SEG118 [167] phi (byte*) print_char_cursor#95 = (byte*~) print_char_cursor#159 [phi:main::@6->printu#4] -- register_copy 
    jsr printu
    jmp b51
  //SEG119 main::@51
  b51:
  //SEG120 [45] if((byte) main::a#10<=(byte/signed byte/word/signed word/dword/signed dword) 55) goto main::@7 -- vbuz1_le_vbuc1_then_la1 
    lda #$37
    cmp a
    bcs b7_from_b51
  //SEG121 [46] phi from main::@51 to main::@28 [phi:main::@51->main::@28]
  b28_from_b51:
    jmp b28
  //SEG122 main::@28
  b28:
  //SEG123 [47] phi from main::@28 to main::@7 [phi:main::@28->main::@7]
  b7_from_b28:
  //SEG124 [47] phi (byte) main::r#45 = (byte) '+' [phi:main::@28->main::@7#0] -- vbuz1=vbuc1 
    lda #'+'
    sta r_45
    jmp b7
  //SEG125 [47] phi from main::@51 to main::@7 [phi:main::@51->main::@7]
  b7_from_b51:
  //SEG126 [47] phi (byte) main::r#45 = (byte) '-' [phi:main::@51->main::@7#0] -- vbuz1=vbuc1 
    lda #'-'
    sta r_45
    jmp b7
  //SEG127 main::@7
  b7:
  //SEG128 [48] (byte) printu::a#5 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda a
    sta printu.a
  //SEG129 [49] (byte) printu::res#5 ← (byte) main::r#45 -- vbuz1=vbuz2 
    lda r_45
    sta printu.res
  //SEG130 [50] call printu 
  //SEG131 [167] phi from main::@7 to printu [phi:main::@7->printu]
  printu_from_b7:
  //SEG132 [167] phi (byte) printu::res#20 = (byte) printu::res#5 [phi:main::@7->printu#0] -- register_copy 
  //SEG133 [167] phi (byte) printu::b#20 = (byte/signed byte/word/signed word/dword/signed dword) 55 [phi:main::@7->printu#1] -- vbuz1=vbuc1 
    lda #$37
    sta printu.b
  //SEG134 [167] phi (byte[]) printu::op#20 = (const string) main::op4 [phi:main::@7->printu#2] -- pbuz1=pbuc1 
    lda #<op4
    sta printu.op
    lda #>op4
    sta printu.op+1
  //SEG135 [167] phi (byte) printu::a#20 = (byte) printu::a#5 [phi:main::@7->printu#3] -- register_copy 
  //SEG136 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@7->printu#4] -- register_copy 
    jsr printu
    jmp b52
  //SEG137 main::@52
  b52:
  //SEG138 [51] if((byte) main::a#10<=*((const byte[5]) main::cs#0 + (byte) main::i#10)) goto main::@8 -- vbuz1_le_pbuc1_derefidx_vbuz2_then_la1 
    ldy i
    lda cs,y
    cmp a
    bcs b8_from_b52
  //SEG139 [52] phi from main::@52 to main::@29 [phi:main::@52->main::@29]
  b29_from_b52:
    jmp b29
  //SEG140 main::@29
  b29:
  //SEG141 [53] phi from main::@29 to main::@8 [phi:main::@29->main::@8]
  b8_from_b29:
  //SEG142 [53] phi (byte) main::r#46 = (byte) '+' [phi:main::@29->main::@8#0] -- vbuz1=vbuc1 
    lda #'+'
    sta r_46
    jmp b8
  //SEG143 [53] phi from main::@52 to main::@8 [phi:main::@52->main::@8]
  b8_from_b52:
  //SEG144 [53] phi (byte) main::r#46 = (byte) '-' [phi:main::@52->main::@8#0] -- vbuz1=vbuc1 
    lda #'-'
    sta r_46
    jmp b8
  //SEG145 main::@8
  b8:
  //SEG146 [54] (byte) printu::a#6 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda a
    sta printu.a
  //SEG147 [55] (byte) printu::b#6 ← *((const byte[5]) main::cs#0 + (byte) main::i#10) -- vbuz1=pbuc1_derefidx_vbuz2 
    ldy i
    lda cs,y
    sta printu.b
  //SEG148 [56] (byte) printu::res#6 ← (byte) main::r#46 -- vbuz1=vbuz2 
    lda r_46
    sta printu.res
  //SEG149 [57] call printu 
  //SEG150 [167] phi from main::@8 to printu [phi:main::@8->printu]
  printu_from_b8:
  //SEG151 [167] phi (byte) printu::res#20 = (byte) printu::res#6 [phi:main::@8->printu#0] -- register_copy 
  //SEG152 [167] phi (byte) printu::b#20 = (byte) printu::b#6 [phi:main::@8->printu#1] -- register_copy 
  //SEG153 [167] phi (byte[]) printu::op#20 = (const string) main::op4 [phi:main::@8->printu#2] -- pbuz1=pbuc1 
    lda #<op4
    sta printu.op
    lda #>op4
    sta printu.op+1
  //SEG154 [167] phi (byte) printu::a#20 = (byte) printu::a#6 [phi:main::@8->printu#3] -- register_copy 
  //SEG155 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@8->printu#4] -- register_copy 
    jsr printu
    jmp b53
  //SEG156 main::@53
  b53:
  //SEG157 [58] if((byte) main::a#10<=(byte) main::a#10) goto main::@9 -- vbuz1_le_vbuz1_then_la1 
    lda a
    cmp a
    bcs b9_from_b53
  //SEG158 [59] phi from main::@53 to main::@30 [phi:main::@53->main::@30]
  b30_from_b53:
    jmp b30
  //SEG159 main::@30
  b30:
  //SEG160 [60] phi from main::@30 to main::@9 [phi:main::@30->main::@9]
  b9_from_b30:
  //SEG161 [60] phi (byte) main::r#47 = (byte) '+' [phi:main::@30->main::@9#0] -- vbuz1=vbuc1 
    lda #'+'
    sta r_47
    jmp b9
  //SEG162 [60] phi from main::@53 to main::@9 [phi:main::@53->main::@9]
  b9_from_b53:
  //SEG163 [60] phi (byte) main::r#47 = (byte) '-' [phi:main::@53->main::@9#0] -- vbuz1=vbuc1 
    lda #'-'
    sta r_47
    jmp b9
  //SEG164 main::@9
  b9:
  //SEG165 [61] (byte) printu::a#7 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda a
    sta printu.a
  //SEG166 [62] (byte) printu::b#7 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda a
    sta printu.b
  //SEG167 [63] (byte) printu::res#7 ← (byte) main::r#47 -- vbuz1=vbuz2 
    lda r_47
    sta printu.res
  //SEG168 [64] call printu 
  //SEG169 [167] phi from main::@9 to printu [phi:main::@9->printu]
  printu_from_b9:
  //SEG170 [167] phi (byte) printu::res#20 = (byte) printu::res#7 [phi:main::@9->printu#0] -- register_copy 
  //SEG171 [167] phi (byte) printu::b#20 = (byte) printu::b#7 [phi:main::@9->printu#1] -- register_copy 
  //SEG172 [167] phi (byte[]) printu::op#20 = (const string) main::op4 [phi:main::@9->printu#2] -- pbuz1=pbuc1 
    lda #<op4
    sta printu.op
    lda #>op4
    sta printu.op+1
  //SEG173 [167] phi (byte) printu::a#20 = (byte) printu::a#7 [phi:main::@9->printu#3] -- register_copy 
  //SEG174 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@9->printu#4] -- register_copy 
    jsr printu
  //SEG175 [65] phi from main::@9 to main::@54 [phi:main::@9->main::@54]
  b54_from_b9:
    jmp b54
  //SEG176 main::@54
  b54:
  //SEG177 [66] call print_ln 
  //SEG178 [162] phi from main::@54 to print_ln [phi:main::@54->print_ln]
  print_ln_from_b54:
  //SEG179 [162] phi (byte*) print_line_cursor#25 = (byte*) print_line_cursor#1 [phi:main::@54->print_ln#0] -- register_copy 
    jsr print_ln
    jmp b55
  //SEG180 main::@55
  b55:
  //SEG181 [67] if((byte) main::a#10>(byte) main::b#0) goto main::@10 -- vbuz1_gt_vbuz2_then_la1 
    lda b
    cmp a
    bcc b10_from_b55
  //SEG182 [68] phi from main::@55 to main::@31 [phi:main::@55->main::@31]
  b31_from_b55:
    jmp b31
  //SEG183 main::@31
  b31:
  //SEG184 [69] phi from main::@31 to main::@10 [phi:main::@31->main::@10]
  b10_from_b31:
  //SEG185 [69] phi (byte) main::r#48 = (byte) '+' [phi:main::@31->main::@10#0] -- vbuz1=vbuc1 
    lda #'+'
    sta r_48
    jmp b10
  //SEG186 [69] phi from main::@55 to main::@10 [phi:main::@55->main::@10]
  b10_from_b55:
  //SEG187 [69] phi (byte) main::r#48 = (byte) '-' [phi:main::@55->main::@10#0] -- vbuz1=vbuc1 
    lda #'-'
    sta r_48
    jmp b10
  //SEG188 main::@10
  b10:
  //SEG189 [70] (byte) printu::a#8 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda a
    sta printu.a
  //SEG190 [71] (byte) printu::b#8 ← (byte) main::b#0 -- vbuz1=vbuz2 
    lda b
    sta printu.b
  //SEG191 [72] (byte) printu::res#8 ← (byte) main::r#48 -- vbuz1=vbuz2 
    lda r_48
    sta printu.res
  //SEG192 [73] (byte*~) print_char_cursor#143 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 
    lda print_line_cursor
    sta print_char_cursor
    lda print_line_cursor+1
    sta print_char_cursor+1
  //SEG193 [74] call printu 
  //SEG194 [167] phi from main::@10 to printu [phi:main::@10->printu]
  printu_from_b10:
  //SEG195 [167] phi (byte) printu::res#20 = (byte) printu::res#8 [phi:main::@10->printu#0] -- register_copy 
  //SEG196 [167] phi (byte) printu::b#20 = (byte) printu::b#8 [phi:main::@10->printu#1] -- register_copy 
  //SEG197 [167] phi (byte[]) printu::op#20 = (const string) main::op8 [phi:main::@10->printu#2] -- pbuz1=pbuc1 
    lda #<op8
    sta printu.op
    lda #>op8
    sta printu.op+1
  //SEG198 [167] phi (byte) printu::a#20 = (byte) printu::a#8 [phi:main::@10->printu#3] -- register_copy 
  //SEG199 [167] phi (byte*) print_char_cursor#95 = (byte*~) print_char_cursor#143 [phi:main::@10->printu#4] -- register_copy 
    jsr printu
    jmp b56
  //SEG200 main::@56
  b56:
  //SEG201 [75] if((byte) main::a#10>(byte/signed byte/word/signed word/dword/signed dword) 55) goto main::@11 -- vbuz1_gt_vbuc1_then_la1 
    lda a
    cmp #$37
    beq !+
    bcs b11_from_b56
  !:
  //SEG202 [76] phi from main::@56 to main::@32 [phi:main::@56->main::@32]
  b32_from_b56:
    jmp b32
  //SEG203 main::@32
  b32:
  //SEG204 [77] phi from main::@32 to main::@11 [phi:main::@32->main::@11]
  b11_from_b32:
  //SEG205 [77] phi (byte) main::r#49 = (byte) '+' [phi:main::@32->main::@11#0] -- vbuz1=vbuc1 
    lda #'+'
    sta r_49
    jmp b11
  //SEG206 [77] phi from main::@56 to main::@11 [phi:main::@56->main::@11]
  b11_from_b56:
  //SEG207 [77] phi (byte) main::r#49 = (byte) '-' [phi:main::@56->main::@11#0] -- vbuz1=vbuc1 
    lda #'-'
    sta r_49
    jmp b11
  //SEG208 main::@11
  b11:
  //SEG209 [78] (byte) printu::a#9 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda a
    sta printu.a
  //SEG210 [79] (byte) printu::res#9 ← (byte) main::r#49 -- vbuz1=vbuz2 
    lda r_49
    sta printu.res
  //SEG211 [80] call printu 
  //SEG212 [167] phi from main::@11 to printu [phi:main::@11->printu]
  printu_from_b11:
  //SEG213 [167] phi (byte) printu::res#20 = (byte) printu::res#9 [phi:main::@11->printu#0] -- register_copy 
  //SEG214 [167] phi (byte) printu::b#20 = (byte/signed byte/word/signed word/dword/signed dword) 55 [phi:main::@11->printu#1] -- vbuz1=vbuc1 
    lda #$37
    sta printu.b
  //SEG215 [167] phi (byte[]) printu::op#20 = (const string) main::op8 [phi:main::@11->printu#2] -- pbuz1=pbuc1 
    lda #<op8
    sta printu.op
    lda #>op8
    sta printu.op+1
  //SEG216 [167] phi (byte) printu::a#20 = (byte) printu::a#9 [phi:main::@11->printu#3] -- register_copy 
  //SEG217 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@11->printu#4] -- register_copy 
    jsr printu
    jmp b57
  //SEG218 main::@57
  b57:
  //SEG219 [81] if((byte) main::a#10>*((const byte[5]) main::cs#0 + (byte) main::i#10)) goto main::@12 -- vbuz1_gt_pbuc1_derefidx_vbuz2_then_la1 
    ldy i
    lda cs,y
    cmp a
    bcc b12_from_b57
  //SEG220 [82] phi from main::@57 to main::@33 [phi:main::@57->main::@33]
  b33_from_b57:
    jmp b33
  //SEG221 main::@33
  b33:
  //SEG222 [83] phi from main::@33 to main::@12 [phi:main::@33->main::@12]
  b12_from_b33:
  //SEG223 [83] phi (byte) main::r#50 = (byte) '+' [phi:main::@33->main::@12#0] -- vbuz1=vbuc1 
    lda #'+'
    sta r_50
    jmp b12
  //SEG224 [83] phi from main::@57 to main::@12 [phi:main::@57->main::@12]
  b12_from_b57:
  //SEG225 [83] phi (byte) main::r#50 = (byte) '-' [phi:main::@57->main::@12#0] -- vbuz1=vbuc1 
    lda #'-'
    sta r_50
    jmp b12
  //SEG226 main::@12
  b12:
  //SEG227 [84] (byte) printu::a#10 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda a
    sta printu.a
  //SEG228 [85] (byte) printu::b#10 ← *((const byte[5]) main::cs#0 + (byte) main::i#10) -- vbuz1=pbuc1_derefidx_vbuz2 
    ldy i
    lda cs,y
    sta printu.b
  //SEG229 [86] (byte) printu::res#10 ← (byte) main::r#50 -- vbuz1=vbuz2 
    lda r_50
    sta printu.res
  //SEG230 [87] call printu 
  //SEG231 [167] phi from main::@12 to printu [phi:main::@12->printu]
  printu_from_b12:
  //SEG232 [167] phi (byte) printu::res#20 = (byte) printu::res#10 [phi:main::@12->printu#0] -- register_copy 
  //SEG233 [167] phi (byte) printu::b#20 = (byte) printu::b#10 [phi:main::@12->printu#1] -- register_copy 
  //SEG234 [167] phi (byte[]) printu::op#20 = (const string) main::op8 [phi:main::@12->printu#2] -- pbuz1=pbuc1 
    lda #<op8
    sta printu.op
    lda #>op8
    sta printu.op+1
  //SEG235 [167] phi (byte) printu::a#20 = (byte) printu::a#10 [phi:main::@12->printu#3] -- register_copy 
  //SEG236 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@12->printu#4] -- register_copy 
    jsr printu
    jmp b58
  //SEG237 main::@58
  b58:
  //SEG238 [88] if((byte) main::a#10>(byte) main::a#10) goto main::@13 -- vbuz1_gt_vbuz1_then_la1 
    lda a
    cmp a
    bcc b13_from_b58
  //SEG239 [89] phi from main::@58 to main::@34 [phi:main::@58->main::@34]
  b34_from_b58:
    jmp b34
  //SEG240 main::@34
  b34:
  //SEG241 [90] phi from main::@34 to main::@13 [phi:main::@34->main::@13]
  b13_from_b34:
  //SEG242 [90] phi (byte) main::r#51 = (byte) '+' [phi:main::@34->main::@13#0] -- vbuz1=vbuc1 
    lda #'+'
    sta r_51
    jmp b13
  //SEG243 [90] phi from main::@58 to main::@13 [phi:main::@58->main::@13]
  b13_from_b58:
  //SEG244 [90] phi (byte) main::r#51 = (byte) '-' [phi:main::@58->main::@13#0] -- vbuz1=vbuc1 
    lda #'-'
    sta r_51
    jmp b13
  //SEG245 main::@13
  b13:
  //SEG246 [91] (byte) printu::a#11 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda a
    sta printu.a
  //SEG247 [92] (byte) printu::b#11 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda a
    sta printu.b
  //SEG248 [93] (byte) printu::res#11 ← (byte) main::r#51 -- vbuz1=vbuz2 
    lda r_51
    sta printu.res
  //SEG249 [94] call printu 
  //SEG250 [167] phi from main::@13 to printu [phi:main::@13->printu]
  printu_from_b13:
  //SEG251 [167] phi (byte) printu::res#20 = (byte) printu::res#11 [phi:main::@13->printu#0] -- register_copy 
  //SEG252 [167] phi (byte) printu::b#20 = (byte) printu::b#11 [phi:main::@13->printu#1] -- register_copy 
  //SEG253 [167] phi (byte[]) printu::op#20 = (const string) main::op8 [phi:main::@13->printu#2] -- pbuz1=pbuc1 
    lda #<op8
    sta printu.op
    lda #>op8
    sta printu.op+1
  //SEG254 [167] phi (byte) printu::a#20 = (byte) printu::a#11 [phi:main::@13->printu#3] -- register_copy 
  //SEG255 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@13->printu#4] -- register_copy 
    jsr printu
  //SEG256 [95] phi from main::@13 to main::@59 [phi:main::@13->main::@59]
  b59_from_b13:
    jmp b59
  //SEG257 main::@59
  b59:
  //SEG258 [96] call print_ln 
  //SEG259 [162] phi from main::@59 to print_ln [phi:main::@59->print_ln]
  print_ln_from_b59:
  //SEG260 [162] phi (byte*) print_line_cursor#25 = (byte*) print_line_cursor#1 [phi:main::@59->print_ln#0] -- register_copy 
    jsr print_ln
    jmp b60
  //SEG261 main::@60
  b60:
  //SEG262 [97] if((byte) main::a#10<(byte) main::b#0) goto main::@14 -- vbuz1_lt_vbuz2_then_la1 
    lda a
    cmp b
    bcc b14_from_b60
  //SEG263 [98] phi from main::@60 to main::@35 [phi:main::@60->main::@35]
  b35_from_b60:
    jmp b35
  //SEG264 main::@35
  b35:
  //SEG265 [99] phi from main::@35 to main::@14 [phi:main::@35->main::@14]
  b14_from_b35:
  //SEG266 [99] phi (byte) main::r#52 = (byte) '+' [phi:main::@35->main::@14#0] -- vbuz1=vbuc1 
    lda #'+'
    sta r_52
    jmp b14
  //SEG267 [99] phi from main::@60 to main::@14 [phi:main::@60->main::@14]
  b14_from_b60:
  //SEG268 [99] phi (byte) main::r#52 = (byte) '-' [phi:main::@60->main::@14#0] -- vbuz1=vbuc1 
    lda #'-'
    sta r_52
    jmp b14
  //SEG269 main::@14
  b14:
  //SEG270 [100] (byte) printu::a#12 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda a
    sta printu.a
  //SEG271 [101] (byte) printu::b#12 ← (byte) main::b#0 -- vbuz1=vbuz2 
    lda b
    sta printu.b
  //SEG272 [102] (byte) printu::res#12 ← (byte) main::r#52 -- vbuz1=vbuz2 
    lda r_52
    sta printu.res
  //SEG273 [103] (byte*~) print_char_cursor#147 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 
    lda print_line_cursor
    sta print_char_cursor
    lda print_line_cursor+1
    sta print_char_cursor+1
  //SEG274 [104] call printu 
  //SEG275 [167] phi from main::@14 to printu [phi:main::@14->printu]
  printu_from_b14:
  //SEG276 [167] phi (byte) printu::res#20 = (byte) printu::res#12 [phi:main::@14->printu#0] -- register_copy 
  //SEG277 [167] phi (byte) printu::b#20 = (byte) printu::b#12 [phi:main::@14->printu#1] -- register_copy 
  //SEG278 [167] phi (byte[]) printu::op#20 = (const string) main::op12 [phi:main::@14->printu#2] -- pbuz1=pbuc1 
    lda #<op12
    sta printu.op
    lda #>op12
    sta printu.op+1
  //SEG279 [167] phi (byte) printu::a#20 = (byte) printu::a#12 [phi:main::@14->printu#3] -- register_copy 
  //SEG280 [167] phi (byte*) print_char_cursor#95 = (byte*~) print_char_cursor#147 [phi:main::@14->printu#4] -- register_copy 
    jsr printu
    jmp b61
  //SEG281 main::@61
  b61:
  //SEG282 [105] if((byte) main::a#10<(byte/signed byte/word/signed word/dword/signed dword) 55) goto main::@15 -- vbuz1_lt_vbuc1_then_la1 
    lda a
    cmp #$37
    bcc b15_from_b61
  //SEG283 [106] phi from main::@61 to main::@36 [phi:main::@61->main::@36]
  b36_from_b61:
    jmp b36
  //SEG284 main::@36
  b36:
  //SEG285 [107] phi from main::@36 to main::@15 [phi:main::@36->main::@15]
  b15_from_b36:
  //SEG286 [107] phi (byte) main::r#53 = (byte) '+' [phi:main::@36->main::@15#0] -- vbuz1=vbuc1 
    lda #'+'
    sta r_53
    jmp b15
  //SEG287 [107] phi from main::@61 to main::@15 [phi:main::@61->main::@15]
  b15_from_b61:
  //SEG288 [107] phi (byte) main::r#53 = (byte) '-' [phi:main::@61->main::@15#0] -- vbuz1=vbuc1 
    lda #'-'
    sta r_53
    jmp b15
  //SEG289 main::@15
  b15:
  //SEG290 [108] (byte) printu::a#13 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda a
    sta printu.a
  //SEG291 [109] (byte) printu::res#13 ← (byte) main::r#53 -- vbuz1=vbuz2 
    lda r_53
    sta printu.res
  //SEG292 [110] call printu 
  //SEG293 [167] phi from main::@15 to printu [phi:main::@15->printu]
  printu_from_b15:
  //SEG294 [167] phi (byte) printu::res#20 = (byte) printu::res#13 [phi:main::@15->printu#0] -- register_copy 
  //SEG295 [167] phi (byte) printu::b#20 = (byte/signed byte/word/signed word/dword/signed dword) 55 [phi:main::@15->printu#1] -- vbuz1=vbuc1 
    lda #$37
    sta printu.b
  //SEG296 [167] phi (byte[]) printu::op#20 = (const string) main::op12 [phi:main::@15->printu#2] -- pbuz1=pbuc1 
    lda #<op12
    sta printu.op
    lda #>op12
    sta printu.op+1
  //SEG297 [167] phi (byte) printu::a#20 = (byte) printu::a#13 [phi:main::@15->printu#3] -- register_copy 
  //SEG298 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@15->printu#4] -- register_copy 
    jsr printu
    jmp b62
  //SEG299 main::@62
  b62:
  //SEG300 [111] if((byte) main::a#10<*((const byte[5]) main::cs#0 + (byte) main::i#10)) goto main::@16 -- vbuz1_lt_pbuc1_derefidx_vbuz2_then_la1 
    lda a
    ldy i
    cmp cs,y
    bcc b16_from_b62
  //SEG301 [112] phi from main::@62 to main::@37 [phi:main::@62->main::@37]
  b37_from_b62:
    jmp b37
  //SEG302 main::@37
  b37:
  //SEG303 [113] phi from main::@37 to main::@16 [phi:main::@37->main::@16]
  b16_from_b37:
  //SEG304 [113] phi (byte) main::r#54 = (byte) '+' [phi:main::@37->main::@16#0] -- vbuz1=vbuc1 
    lda #'+'
    sta r_54
    jmp b16
  //SEG305 [113] phi from main::@62 to main::@16 [phi:main::@62->main::@16]
  b16_from_b62:
  //SEG306 [113] phi (byte) main::r#54 = (byte) '-' [phi:main::@62->main::@16#0] -- vbuz1=vbuc1 
    lda #'-'
    sta r_54
    jmp b16
  //SEG307 main::@16
  b16:
  //SEG308 [114] (byte) printu::a#14 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda a
    sta printu.a
  //SEG309 [115] (byte) printu::b#14 ← *((const byte[5]) main::cs#0 + (byte) main::i#10) -- vbuz1=pbuc1_derefidx_vbuz2 
    ldy i
    lda cs,y
    sta printu.b
  //SEG310 [116] (byte) printu::res#14 ← (byte) main::r#54 -- vbuz1=vbuz2 
    lda r_54
    sta printu.res
  //SEG311 [117] call printu 
  //SEG312 [167] phi from main::@16 to printu [phi:main::@16->printu]
  printu_from_b16:
  //SEG313 [167] phi (byte) printu::res#20 = (byte) printu::res#14 [phi:main::@16->printu#0] -- register_copy 
  //SEG314 [167] phi (byte) printu::b#20 = (byte) printu::b#14 [phi:main::@16->printu#1] -- register_copy 
  //SEG315 [167] phi (byte[]) printu::op#20 = (const string) main::op12 [phi:main::@16->printu#2] -- pbuz1=pbuc1 
    lda #<op12
    sta printu.op
    lda #>op12
    sta printu.op+1
  //SEG316 [167] phi (byte) printu::a#20 = (byte) printu::a#14 [phi:main::@16->printu#3] -- register_copy 
  //SEG317 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@16->printu#4] -- register_copy 
    jsr printu
    jmp b63
  //SEG318 main::@63
  b63:
  //SEG319 [118] if((byte) main::a#10<(byte) main::a#10) goto main::@17 -- vbuz1_lt_vbuz1_then_la1 
    lda a
    cmp a
    bcc b17_from_b63
  //SEG320 [119] phi from main::@63 to main::@38 [phi:main::@63->main::@38]
  b38_from_b63:
    jmp b38
  //SEG321 main::@38
  b38:
  //SEG322 [120] phi from main::@38 to main::@17 [phi:main::@38->main::@17]
  b17_from_b38:
  //SEG323 [120] phi (byte) main::r#55 = (byte) '+' [phi:main::@38->main::@17#0] -- vbuz1=vbuc1 
    lda #'+'
    sta r_55
    jmp b17
  //SEG324 [120] phi from main::@63 to main::@17 [phi:main::@63->main::@17]
  b17_from_b63:
  //SEG325 [120] phi (byte) main::r#55 = (byte) '-' [phi:main::@63->main::@17#0] -- vbuz1=vbuc1 
    lda #'-'
    sta r_55
    jmp b17
  //SEG326 main::@17
  b17:
  //SEG327 [121] (byte) printu::a#15 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda a
    sta printu.a
  //SEG328 [122] (byte) printu::b#15 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda a
    sta printu.b
  //SEG329 [123] (byte) printu::res#15 ← (byte) main::r#55 -- vbuz1=vbuz2 
    lda r_55
    sta printu.res
  //SEG330 [124] call printu 
  //SEG331 [167] phi from main::@17 to printu [phi:main::@17->printu]
  printu_from_b17:
  //SEG332 [167] phi (byte) printu::res#20 = (byte) printu::res#15 [phi:main::@17->printu#0] -- register_copy 
  //SEG333 [167] phi (byte) printu::b#20 = (byte) printu::b#15 [phi:main::@17->printu#1] -- register_copy 
  //SEG334 [167] phi (byte[]) printu::op#20 = (const string) main::op12 [phi:main::@17->printu#2] -- pbuz1=pbuc1 
    lda #<op12
    sta printu.op
    lda #>op12
    sta printu.op+1
  //SEG335 [167] phi (byte) printu::a#20 = (byte) printu::a#15 [phi:main::@17->printu#3] -- register_copy 
  //SEG336 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@17->printu#4] -- register_copy 
    jsr printu
  //SEG337 [125] phi from main::@17 to main::@64 [phi:main::@17->main::@64]
  b64_from_b17:
    jmp b64
  //SEG338 main::@64
  b64:
  //SEG339 [126] call print_ln 
  //SEG340 [162] phi from main::@64 to print_ln [phi:main::@64->print_ln]
  print_ln_from_b64:
  //SEG341 [162] phi (byte*) print_line_cursor#25 = (byte*) print_line_cursor#1 [phi:main::@64->print_ln#0] -- register_copy 
    jsr print_ln
    jmp b65
  //SEG342 main::@65
  b65:
  //SEG343 [127] if((byte) main::a#10!=(byte) main::b#0) goto main::@18 -- vbuz1_neq_vbuz2_then_la1 
    lda a
    cmp b
    bne b18_from_b65
  //SEG344 [128] phi from main::@65 to main::@39 [phi:main::@65->main::@39]
  b39_from_b65:
    jmp b39
  //SEG345 main::@39
  b39:
  //SEG346 [129] phi from main::@39 to main::@18 [phi:main::@39->main::@18]
  b18_from_b39:
  //SEG347 [129] phi (byte) main::r#56 = (byte) '+' [phi:main::@39->main::@18#0] -- vbuz1=vbuc1 
    lda #'+'
    sta r_56
    jmp b18
  //SEG348 [129] phi from main::@65 to main::@18 [phi:main::@65->main::@18]
  b18_from_b65:
  //SEG349 [129] phi (byte) main::r#56 = (byte) '-' [phi:main::@65->main::@18#0] -- vbuz1=vbuc1 
    lda #'-'
    sta r_56
    jmp b18
  //SEG350 main::@18
  b18:
  //SEG351 [130] (byte) printu::a#16 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda a
    sta printu.a
  //SEG352 [131] (byte) printu::b#16 ← (byte) main::b#0 -- vbuz1=vbuz2 
    lda b
    sta printu.b
  //SEG353 [132] (byte) printu::res#16 ← (byte) main::r#56 -- vbuz1=vbuz2 
    lda r_56
    sta printu.res
  //SEG354 [133] (byte*~) print_char_cursor#151 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 
    lda print_line_cursor
    sta print_char_cursor
    lda print_line_cursor+1
    sta print_char_cursor+1
  //SEG355 [134] call printu 
  //SEG356 [167] phi from main::@18 to printu [phi:main::@18->printu]
  printu_from_b18:
  //SEG357 [167] phi (byte) printu::res#20 = (byte) printu::res#16 [phi:main::@18->printu#0] -- register_copy 
  //SEG358 [167] phi (byte) printu::b#20 = (byte) printu::b#16 [phi:main::@18->printu#1] -- register_copy 
  //SEG359 [167] phi (byte[]) printu::op#20 = (const string) main::op16 [phi:main::@18->printu#2] -- pbuz1=pbuc1 
    lda #<op16
    sta printu.op
    lda #>op16
    sta printu.op+1
  //SEG360 [167] phi (byte) printu::a#20 = (byte) printu::a#16 [phi:main::@18->printu#3] -- register_copy 
  //SEG361 [167] phi (byte*) print_char_cursor#95 = (byte*~) print_char_cursor#151 [phi:main::@18->printu#4] -- register_copy 
    jsr printu
    jmp b66
  //SEG362 main::@66
  b66:
  //SEG363 [135] if((byte) main::a#10!=(byte/signed byte/word/signed word/dword/signed dword) 55) goto main::@19 -- vbuz1_neq_vbuc1_then_la1 
    lda a
    cmp #$37
    bne b19_from_b66
  //SEG364 [136] phi from main::@66 to main::@40 [phi:main::@66->main::@40]
  b40_from_b66:
    jmp b40
  //SEG365 main::@40
  b40:
  //SEG366 [137] phi from main::@40 to main::@19 [phi:main::@40->main::@19]
  b19_from_b40:
  //SEG367 [137] phi (byte) main::r#57 = (byte) '+' [phi:main::@40->main::@19#0] -- vbuz1=vbuc1 
    lda #'+'
    sta r_57
    jmp b19
  //SEG368 [137] phi from main::@66 to main::@19 [phi:main::@66->main::@19]
  b19_from_b66:
  //SEG369 [137] phi (byte) main::r#57 = (byte) '-' [phi:main::@66->main::@19#0] -- vbuz1=vbuc1 
    lda #'-'
    sta r_57
    jmp b19
  //SEG370 main::@19
  b19:
  //SEG371 [138] (byte) printu::a#17 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda a
    sta printu.a
  //SEG372 [139] (byte) printu::res#17 ← (byte) main::r#57 -- vbuz1=vbuz2 
    lda r_57
    sta printu.res
  //SEG373 [140] call printu 
  //SEG374 [167] phi from main::@19 to printu [phi:main::@19->printu]
  printu_from_b19:
  //SEG375 [167] phi (byte) printu::res#20 = (byte) printu::res#17 [phi:main::@19->printu#0] -- register_copy 
  //SEG376 [167] phi (byte) printu::b#20 = (byte/signed byte/word/signed word/dword/signed dword) 55 [phi:main::@19->printu#1] -- vbuz1=vbuc1 
    lda #$37
    sta printu.b
  //SEG377 [167] phi (byte[]) printu::op#20 = (const string) main::op16 [phi:main::@19->printu#2] -- pbuz1=pbuc1 
    lda #<op16
    sta printu.op
    lda #>op16
    sta printu.op+1
  //SEG378 [167] phi (byte) printu::a#20 = (byte) printu::a#17 [phi:main::@19->printu#3] -- register_copy 
  //SEG379 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@19->printu#4] -- register_copy 
    jsr printu
    jmp b67
  //SEG380 main::@67
  b67:
  //SEG381 [141] if((byte) main::a#10!=*((const byte[5]) main::cs#0 + (byte) main::i#10)) goto main::@20 -- vbuz1_neq_pbuc1_derefidx_vbuz2_then_la1 
    lda a
    ldy i
    cmp cs,y
    bne b20_from_b67
  //SEG382 [142] phi from main::@67 to main::@41 [phi:main::@67->main::@41]
  b41_from_b67:
    jmp b41
  //SEG383 main::@41
  b41:
  //SEG384 [143] phi from main::@41 to main::@20 [phi:main::@41->main::@20]
  b20_from_b41:
  //SEG385 [143] phi (byte) main::r#58 = (byte) '+' [phi:main::@41->main::@20#0] -- vbuz1=vbuc1 
    lda #'+'
    sta r_58
    jmp b20
  //SEG386 [143] phi from main::@67 to main::@20 [phi:main::@67->main::@20]
  b20_from_b67:
  //SEG387 [143] phi (byte) main::r#58 = (byte) '-' [phi:main::@67->main::@20#0] -- vbuz1=vbuc1 
    lda #'-'
    sta r_58
    jmp b20
  //SEG388 main::@20
  b20:
  //SEG389 [144] (byte) printu::a#18 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda a
    sta printu.a
  //SEG390 [145] (byte) printu::b#18 ← *((const byte[5]) main::cs#0 + (byte) main::i#10) -- vbuz1=pbuc1_derefidx_vbuz2 
    ldy i
    lda cs,y
    sta printu.b
  //SEG391 [146] (byte) printu::res#18 ← (byte) main::r#58 -- vbuz1=vbuz2 
    lda r_58
    sta printu.res
  //SEG392 [147] call printu 
  //SEG393 [167] phi from main::@20 to printu [phi:main::@20->printu]
  printu_from_b20:
  //SEG394 [167] phi (byte) printu::res#20 = (byte) printu::res#18 [phi:main::@20->printu#0] -- register_copy 
  //SEG395 [167] phi (byte) printu::b#20 = (byte) printu::b#18 [phi:main::@20->printu#1] -- register_copy 
  //SEG396 [167] phi (byte[]) printu::op#20 = (const string) main::op16 [phi:main::@20->printu#2] -- pbuz1=pbuc1 
    lda #<op16
    sta printu.op
    lda #>op16
    sta printu.op+1
  //SEG397 [167] phi (byte) printu::a#20 = (byte) printu::a#18 [phi:main::@20->printu#3] -- register_copy 
  //SEG398 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@20->printu#4] -- register_copy 
    jsr printu
    jmp b68
  //SEG399 main::@68
  b68:
  //SEG400 [148] if((byte) main::a#10!=(byte) main::a#10) goto main::@21 -- vbuz1_neq_vbuz1_then_la1 
    lda a
    cmp a
    bne b21_from_b68
  //SEG401 [149] phi from main::@68 to main::@42 [phi:main::@68->main::@42]
  b42_from_b68:
    jmp b42
  //SEG402 main::@42
  b42:
  //SEG403 [150] phi from main::@42 to main::@21 [phi:main::@42->main::@21]
  b21_from_b42:
  //SEG404 [150] phi (byte) main::r#59 = (byte) '+' [phi:main::@42->main::@21#0] -- vbuz1=vbuc1 
    lda #'+'
    sta r_59
    jmp b21
  //SEG405 [150] phi from main::@68 to main::@21 [phi:main::@68->main::@21]
  b21_from_b68:
  //SEG406 [150] phi (byte) main::r#59 = (byte) '-' [phi:main::@68->main::@21#0] -- vbuz1=vbuc1 
    lda #'-'
    sta r_59
    jmp b21
  //SEG407 main::@21
  b21:
  //SEG408 [151] (byte) printu::a#19 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda a
    sta printu.a
  //SEG409 [152] (byte) printu::b#19 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda a
    sta printu.b
  //SEG410 [153] (byte) printu::res#19 ← (byte) main::r#59 -- vbuz1=vbuz2 
    lda r_59
    sta printu.res
  //SEG411 [154] call printu 
  //SEG412 [167] phi from main::@21 to printu [phi:main::@21->printu]
  printu_from_b21:
  //SEG413 [167] phi (byte) printu::res#20 = (byte) printu::res#19 [phi:main::@21->printu#0] -- register_copy 
  //SEG414 [167] phi (byte) printu::b#20 = (byte) printu::b#19 [phi:main::@21->printu#1] -- register_copy 
  //SEG415 [167] phi (byte[]) printu::op#20 = (const string) main::op16 [phi:main::@21->printu#2] -- pbuz1=pbuc1 
    lda #<op16
    sta printu.op
    lda #>op16
    sta printu.op+1
  //SEG416 [167] phi (byte) printu::a#20 = (byte) printu::a#19 [phi:main::@21->printu#3] -- register_copy 
  //SEG417 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@21->printu#4] -- register_copy 
    jsr printu
  //SEG418 [155] phi from main::@21 to main::@69 [phi:main::@21->main::@69]
  b69_from_b21:
    jmp b69
  //SEG419 main::@69
  b69:
  //SEG420 [156] call print_ln 
  //SEG421 [162] phi from main::@69 to print_ln [phi:main::@69->print_ln]
  print_ln_from_b69:
  //SEG422 [162] phi (byte*) print_line_cursor#25 = (byte*) print_line_cursor#1 [phi:main::@69->print_ln#0] -- register_copy 
    jsr print_ln
    jmp b70
  //SEG423 main::@70
  b70:
  //SEG424 [157] (byte) main::a#1 ← (byte) main::a#10 + (byte/signed byte/word/signed word/dword/signed dword) 48 -- vbuz1=vbuz1_plus_vbuc1 
    lda #$30
    clc
    adc a
    sta a
  //SEG425 [158] (byte) main::i#1 ← ++ (byte) main::i#10 -- vbuz1=_inc_vbuz1 
    inc i
  //SEG426 [159] if((byte) main::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 5) goto main::@71 -- vbuz1_neq_vbuc1_then_la1 
    lda i
    cmp #5
    bne b71
  //SEG427 [160] phi from main::@22 main::@70 to main::@22 [phi:main::@22/main::@70->main::@22]
  b22_from_b22:
  b22_from_b70:
    jmp b22
  //SEG428 main::@22
  b22:
    jmp b22_from_b22
  //SEG429 main::@71
  b71:
  //SEG430 [161] (byte*~) print_char_cursor#142 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 
    lda print_line_cursor
    sta print_char_cursor
    lda print_line_cursor+1
    sta print_char_cursor+1
  //SEG431 [6] phi from main::@71 to main::@1 [phi:main::@71->main::@1]
  b1_from_b71:
  //SEG432 [6] phi (byte*) print_line_cursor#27 = (byte*) print_line_cursor#1 [phi:main::@71->main::@1#0] -- register_copy 
  //SEG433 [6] phi (byte) main::i#10 = (byte) main::i#1 [phi:main::@71->main::@1#1] -- register_copy 
  //SEG434 [6] phi (byte*) print_char_cursor#120 = (byte*~) print_char_cursor#142 [phi:main::@71->main::@1#2] -- register_copy 
  //SEG435 [6] phi (byte) main::a#10 = (byte) main::a#1 [phi:main::@71->main::@1#3] -- register_copy 
    jmp b1
    op: .text "< @"
    op4: .text "> @"
    op8: .text "<=@"
    op12: .text ">=@"
    op16: .text "==@"
    cs: .byte 7, $c7, $37, $97, $67
}
//SEG436 print_ln
// Print a newline
print_ln: {
  //SEG437 [163] 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:
  //SEG438 [163] phi (byte*) print_line_cursor#13 = (byte*) print_line_cursor#25 [phi:print_ln/print_ln::@1->print_ln::@1#0] -- register_copy 
    jmp b1
  //SEG439 print_ln::@1
  b1:
  //SEG440 [164] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#13 + (byte/signed byte/word/signed word/dword/signed dword) 40 -- pbuz1=pbuz1_plus_vbuc1 
    lda print_line_cursor
    clc
    adc #$28
    sta print_line_cursor
    bcc !+
    inc print_line_cursor+1
  !:
  //SEG441 [165] if((byte*) print_line_cursor#1<(byte*) print_char_cursor#55) goto print_ln::@1 -- pbuz1_lt_pbuz2_then_la1 
    lda print_line_cursor+1
    cmp print_char_cursor+1
    bcc b1_from_b1
    bne !+
    lda print_line_cursor
    cmp print_char_cursor
    bcc b1_from_b1
  !:
    jmp breturn
  //SEG442 print_ln::@return
  breturn:
  //SEG443 [166] return 
    rts
}
//SEG444 printu
// printu(byte zeropage($1a) a, byte[] zeropage($1b) op, byte zeropage($1d) b, byte zeropage($1e) res)
printu: {
    .label a = $1a
    .label b = $1d
    .label res = $1e
    .label op = $1b
  //SEG445 [168] call print_char 
  //SEG446 [180] phi from printu to print_char [phi:printu->print_char]
  print_char_from_printu:
  //SEG447 [180] phi (byte*) print_char_cursor#54 = (byte*) print_char_cursor#95 [phi:printu->print_char#0] -- register_copy 
  //SEG448 [180] phi (byte) print_char::ch#5 = (byte) ' ' [phi:printu->print_char#1] -- vbuz1=vbuc1 
    lda #' '
    sta print_char.ch
    jsr print_char
    jmp b1
  //SEG449 printu::@1
  b1:
  //SEG450 [169] (byte) print_byte::b#0 ← (byte) printu::a#20 -- vbuz1=vbuz2 
    lda a
    sta print_byte.b
  //SEG451 [170] call print_byte 
  //SEG452 [184] phi from printu::@1 to print_byte [phi:printu::@1->print_byte]
  print_byte_from_b1:
  //SEG453 [184] phi (byte*) print_char_cursor#94 = (byte*) print_char_cursor#55 [phi:printu::@1->print_byte#0] -- register_copy 
  //SEG454 [184] phi (byte) print_byte::b#2 = (byte) print_byte::b#0 [phi:printu::@1->print_byte#1] -- register_copy 
    jsr print_byte
    jmp b2
  //SEG455 printu::@2
  b2:
  //SEG456 [171] (byte*) print_str::str#1 ← (byte[]) printu::op#20 -- pbuz1=pbuz2 
    lda op
    sta print_str.str
    lda op+1
    sta print_str.str+1
  //SEG457 [172] call print_str 
  //SEG458 [192] phi from printu::@2 to print_str [phi:printu::@2->print_str]
  print_str_from_b2:
    jsr print_str
    jmp b3
  //SEG459 printu::@3
  b3:
  //SEG460 [173] (byte) print_byte::b#1 ← (byte) printu::b#20 -- vbuz1=vbuz2 
    lda b
    sta print_byte.b
  //SEG461 [174] call print_byte 
  //SEG462 [184] phi from printu::@3 to print_byte [phi:printu::@3->print_byte]
  print_byte_from_b3:
  //SEG463 [184] phi (byte*) print_char_cursor#94 = (byte*) print_char_cursor#2 [phi:printu::@3->print_byte#0] -- register_copy 
  //SEG464 [184] phi (byte) print_byte::b#2 = (byte) print_byte::b#1 [phi:printu::@3->print_byte#1] -- register_copy 
    jsr print_byte
  //SEG465 [175] phi from printu::@3 to printu::@4 [phi:printu::@3->printu::@4]
  b4_from_b3:
    jmp b4
  //SEG466 printu::@4
  b4:
  //SEG467 [176] call print_char 
  //SEG468 [180] phi from printu::@4 to print_char [phi:printu::@4->print_char]
  print_char_from_b4:
  //SEG469 [180] phi (byte*) print_char_cursor#54 = (byte*) print_char_cursor#55 [phi:printu::@4->print_char#0] -- register_copy 
  //SEG470 [180] phi (byte) print_char::ch#5 = (byte) ' ' [phi:printu::@4->print_char#1] -- vbuz1=vbuc1 
    lda #' '
    sta print_char.ch
    jsr print_char
    jmp b5
  //SEG471 printu::@5
  b5:
  //SEG472 [177] (byte) print_char::ch#4 ← (byte) printu::res#20 -- vbuz1=vbuz2 
    lda res
    sta print_char.ch
  //SEG473 [178] call print_char 
  //SEG474 [180] phi from printu::@5 to print_char [phi:printu::@5->print_char]
  print_char_from_b5:
  //SEG475 [180] phi (byte*) print_char_cursor#54 = (byte*) print_char_cursor#55 [phi:printu::@5->print_char#0] -- register_copy 
  //SEG476 [180] phi (byte) print_char::ch#5 = (byte) print_char::ch#4 [phi:printu::@5->print_char#1] -- register_copy 
    jsr print_char
    jmp breturn
  //SEG477 printu::@return
  breturn:
  //SEG478 [179] return 
    rts
}
//SEG479 print_char
// Print a single char
// print_char(byte zeropage($1f) ch)
print_char: {
    .label ch = $1f
  //SEG480 [181] *((byte*) print_char_cursor#54) ← (byte) print_char::ch#5 -- _deref_pbuz1=vbuz2 
    lda ch
    ldy #0
    sta (print_char_cursor),y
  //SEG481 [182] (byte*) print_char_cursor#55 ← ++ (byte*) print_char_cursor#54 -- pbuz1=_inc_pbuz1 
    inc print_char_cursor
    bne !+
    inc print_char_cursor+1
  !:
    jmp breturn
  //SEG482 print_char::@return
  breturn:
  //SEG483 [183] return 
    rts
}
//SEG484 print_byte
// Print a byte as HEX
// print_byte(byte zeropage($22) b)
print_byte: {
    .label _0 = $28
    .label _2 = $29
    .label b = $22
  //SEG485 [185] (byte~) print_byte::$0 ← (byte) print_byte::b#2 >> (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuz1=vbuz2_ror_4 
    lda b
    lsr
    lsr
    lsr
    lsr
    sta _0
  //SEG486 [186] (byte) print_char::ch#0 ← *((const byte[]) print_hextab#0 + (byte~) print_byte::$0) -- vbuz1=pbuc1_derefidx_vbuz2 
    ldy _0
    lda print_hextab,y
    sta print_char.ch
  //SEG487 [187] call print_char 
  //SEG488 [180] phi from print_byte to print_char [phi:print_byte->print_char]
  print_char_from_print_byte:
  //SEG489 [180] phi (byte*) print_char_cursor#54 = (byte*) print_char_cursor#94 [phi:print_byte->print_char#0] -- register_copy 
  //SEG490 [180] phi (byte) print_char::ch#5 = (byte) print_char::ch#0 [phi:print_byte->print_char#1] -- register_copy 
    jsr print_char
    jmp b1
  //SEG491 print_byte::@1
  b1:
  //SEG492 [188] (byte~) print_byte::$2 ← (byte) print_byte::b#2 & (byte/signed byte/word/signed word/dword/signed dword) 15 -- vbuz1=vbuz2_band_vbuc1 
    lda #$f
    and b
    sta _2
  //SEG493 [189] (byte) print_char::ch#1 ← *((const byte[]) print_hextab#0 + (byte~) print_byte::$2) -- vbuz1=pbuc1_derefidx_vbuz2 
    ldy _2
    lda print_hextab,y
    sta print_char.ch
  //SEG494 [190] call print_char 
  //SEG495 [180] phi from print_byte::@1 to print_char [phi:print_byte::@1->print_char]
  print_char_from_b1:
  //SEG496 [180] phi (byte*) print_char_cursor#54 = (byte*) print_char_cursor#55 [phi:print_byte::@1->print_char#0] -- register_copy 
  //SEG497 [180] phi (byte) print_char::ch#5 = (byte) print_char::ch#1 [phi:print_byte::@1->print_char#1] -- register_copy 
    jsr print_char
    jmp breturn
  //SEG498 print_byte::@return
  breturn:
  //SEG499 [191] return 
    rts
}
//SEG500 print_str
// Print a zero-terminated string
// print_str(byte* zeropage($23) str)
print_str: {
    .label str = $23
  //SEG501 [193] phi from print_str print_str::@2 to print_str::@1 [phi:print_str/print_str::@2->print_str::@1]
  b1_from_print_str:
  b1_from_b2:
  //SEG502 [193] phi (byte*) print_char_cursor#2 = (byte*) print_char_cursor#55 [phi:print_str/print_str::@2->print_str::@1#0] -- register_copy 
  //SEG503 [193] phi (byte*) print_str::str#2 = (byte*) print_str::str#1 [phi:print_str/print_str::@2->print_str::@1#1] -- register_copy 
    jmp b1
  //SEG504 print_str::@1
  b1:
  //SEG505 [194] if(*((byte*) print_str::str#2)!=(byte) '@') goto print_str::@2 -- _deref_pbuz1_neq_vbuc1_then_la1 
    ldy #0
    lda (str),y
    cmp #'@'
    bne b2
    jmp breturn
  //SEG506 print_str::@return
  breturn:
  //SEG507 [195] return 
    rts
  //SEG508 print_str::@2
  b2:
  //SEG509 [196] *((byte*) print_char_cursor#2) ← *((byte*) print_str::str#2) -- _deref_pbuz1=_deref_pbuz2 
    ldy #0
    lda (str),y
    ldy #0
    sta (print_char_cursor),y
  //SEG510 [197] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#2 -- pbuz1=_inc_pbuz1 
    inc print_char_cursor
    bne !+
    inc print_char_cursor+1
  !:
  //SEG511 [198] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#2 -- pbuz1=_inc_pbuz1 
    inc str
    bne !+
    inc str+1
  !:
    jmp b1_from_b2
}
//SEG512 print_cls
// Clear the screen. Also resets current line/char cursor.
print_cls: {
    .label sc = $25
  //SEG513 [200] phi from print_cls to print_cls::@1 [phi:print_cls->print_cls::@1]
  b1_from_print_cls:
  //SEG514 [200] phi (byte*) print_cls::sc#2 = ((byte*))(word/signed word/dword/signed dword) 1024 [phi:print_cls->print_cls::@1#0] -- pbuz1=pbuc1 
    lda #<$400
    sta sc
    lda #>$400
    sta sc+1
    jmp b1
  //SEG515 [200] phi from print_cls::@1 to print_cls::@1 [phi:print_cls::@1->print_cls::@1]
  b1_from_b1:
  //SEG516 [200] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#1 [phi:print_cls::@1->print_cls::@1#0] -- register_copy 
    jmp b1
  //SEG517 print_cls::@1
  b1:
  //SEG518 [201] *((byte*) print_cls::sc#2) ← (byte) ' ' -- _deref_pbuz1=vbuc1 
    lda #' '
    ldy #0
    sta (sc),y
  //SEG519 [202] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 -- pbuz1=_inc_pbuz1 
    inc sc
    bne !+
    inc sc+1
  !:
  //SEG520 [203] if((byte*) print_cls::sc#1!=((byte*))(word/signed word/dword/signed dword) 1024+(word/signed word/dword/signed dword) 1000) goto print_cls::@1 -- pbuz1_neq_pbuc1_then_la1 
    lda sc+1
    cmp #>$400+$3e8
    bne b1_from_b1
    lda sc
    cmp #<$400+$3e8
    bne b1_from_b1
    jmp breturn
  //SEG521 print_cls::@return
  breturn:
  //SEG522 [204] return 
    rts
}
  print_hextab: .text "0123456789abcdef"

REGISTER UPLIFT POTENTIAL REGISTERS
Statement [7] (byte) main::b#0 ← (byte/word/signed word/dword/signed dword) 206 - (byte) main::a#10 [ main::a#10 print_char_cursor#120 main::i#10 print_line_cursor#27 main::b#0 ] ( main:2 [ main::a#10 print_char_cursor#120 main::i#10 print_line_cursor#27 main::b#0 ] ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:2 [ main::a#10 main::a#1 ]
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:3 [ main::i#10 main::i#1 ]
Statement [21] if((byte) main::a#10>=*((const byte[5]) main::cs#0 + (byte) main::i#10)) goto main::@4 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 print_char_cursor#55 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 print_char_cursor#55 ] ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:39 [ main::b#0 ]
Statement [28] if((byte) main::a#10>=(byte) main::a#10) goto main::@5 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 print_char_cursor#55 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 print_char_cursor#55 ] ) always clobbers reg byte a 
Statement [43] (byte*~) print_char_cursor#159 ← (byte*) print_line_cursor#1 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::a#4 printu::b#4 printu::res#4 print_char_cursor#159 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::a#4 printu::b#4 printu::res#4 print_char_cursor#159 ] ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:26 [ printu::a#20 printu::a#8 printu::a#9 printu::a#10 printu::a#11 printu::a#12 printu::a#13 printu::a#14 printu::a#15 printu::a#16 printu::a#17 printu::a#0 printu::a#18 printu::a#19 printu::a#1 printu::a#2 printu::a#3 printu::a#4 printu::a#5 printu::a#6 printu::a#7 ]
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:29 [ printu::b#20 printu::b#8 printu::b#10 printu::b#11 printu::b#12 printu::b#14 printu::b#15 printu::b#16 printu::b#0 printu::b#18 printu::b#19 printu::b#2 printu::b#3 printu::b#4 printu::b#6 printu::b#7 ]
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:30 [ printu::res#20 printu::res#8 printu::res#9 printu::res#10 printu::res#11 printu::res#12 printu::res#13 printu::res#14 printu::res#15 printu::res#16 printu::res#17 printu::res#0 printu::res#18 printu::res#19 printu::res#1 printu::res#2 printu::res#3 printu::res#4 printu::res#5 printu::res#6 printu::res#7 ]
Statement [51] if((byte) main::a#10<=*((const byte[5]) main::cs#0 + (byte) main::i#10)) goto main::@8 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 ] ) always clobbers reg byte a 
Statement [58] if((byte) main::a#10<=(byte) main::a#10) goto main::@9 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 ] ) always clobbers reg byte a 
Statement [73] (byte*~) print_char_cursor#143 ← (byte*) print_line_cursor#1 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::a#8 printu::b#8 printu::res#8 print_char_cursor#143 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::a#8 printu::b#8 printu::res#8 print_char_cursor#143 ] ) always clobbers reg byte a 
Statement [75] if((byte) main::a#10>(byte/signed byte/word/signed word/dword/signed dword) 55) goto main::@11 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 ] ) always clobbers reg byte a 
Statement [81] if((byte) main::a#10>*((const byte[5]) main::cs#0 + (byte) main::i#10)) goto main::@12 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 ] ) always clobbers reg byte a 
Statement [88] if((byte) main::a#10>(byte) main::a#10) goto main::@13 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 ] ) always clobbers reg byte a 
Statement [103] (byte*~) print_char_cursor#147 ← (byte*) print_line_cursor#1 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::a#12 printu::b#12 printu::res#12 print_char_cursor#147 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::a#12 printu::b#12 printu::res#12 print_char_cursor#147 ] ) always clobbers reg byte a 
Statement [111] if((byte) main::a#10<*((const byte[5]) main::cs#0 + (byte) main::i#10)) goto main::@16 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 ] ) always clobbers reg byte a 
Statement [118] if((byte) main::a#10<(byte) main::a#10) goto main::@17 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 ] ) always clobbers reg byte a 
Statement [133] (byte*~) print_char_cursor#151 ← (byte*) print_line_cursor#1 [ main::a#10 main::i#10 print_line_cursor#1 printu::a#16 printu::b#16 printu::res#16 print_char_cursor#151 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#1 printu::a#16 printu::b#16 printu::res#16 print_char_cursor#151 ] ) always clobbers reg byte a 
Statement [141] if((byte) main::a#10!=*((const byte[5]) main::cs#0 + (byte) main::i#10)) goto main::@20 [ main::a#10 main::i#10 print_line_cursor#1 print_char_cursor#55 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#1 print_char_cursor#55 ] ) always clobbers reg byte a 
Statement [148] if((byte) main::a#10!=(byte) main::a#10) goto main::@21 [ main::a#10 main::i#10 print_line_cursor#1 print_char_cursor#55 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#1 print_char_cursor#55 ] ) always clobbers reg byte a 
Statement [157] (byte) main::a#1 ← (byte) main::a#10 + (byte/signed byte/word/signed word/dword/signed dword) 48 [ main::i#10 main::a#1 print_line_cursor#1 ] ( main:2 [ main::i#10 main::a#1 print_line_cursor#1 ] ) always clobbers reg byte a 
Statement [161] (byte*~) print_char_cursor#142 ← (byte*) print_line_cursor#1 [ main::a#1 print_char_cursor#142 main::i#1 print_line_cursor#1 ] ( main:2 [ main::a#1 print_char_cursor#142 main::i#1 print_line_cursor#1 ] ) always clobbers reg byte a 
Statement [164] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#13 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ print_line_cursor#1 print_char_cursor#55 ] ( main:2::print_ln:36 [ main::a#10 main::i#10 main::b#0 print_line_cursor#1 print_char_cursor#55 ] main:2::print_ln:66 [ main::a#10 main::i#10 main::b#0 print_line_cursor#1 print_char_cursor#55 ] main:2::print_ln:96 [ main::a#10 main::i#10 main::b#0 print_line_cursor#1 print_char_cursor#55 ] main:2::print_ln:126 [ main::a#10 main::i#10 main::b#0 print_line_cursor#1 print_char_cursor#55 ] main:2::print_ln:156 [ main::a#10 main::i#10 print_line_cursor#1 print_char_cursor#55 ] ) always clobbers reg byte a 
Statement [165] if((byte*) print_line_cursor#1<(byte*) print_char_cursor#55) goto print_ln::@1 [ print_line_cursor#1 print_char_cursor#55 ] ( main:2::print_ln:36 [ main::a#10 main::i#10 main::b#0 print_line_cursor#1 print_char_cursor#55 ] main:2::print_ln:66 [ main::a#10 main::i#10 main::b#0 print_line_cursor#1 print_char_cursor#55 ] main:2::print_ln:96 [ main::a#10 main::i#10 main::b#0 print_line_cursor#1 print_char_cursor#55 ] main:2::print_ln:126 [ main::a#10 main::i#10 main::b#0 print_line_cursor#1 print_char_cursor#55 ] main:2::print_ln:156 [ main::a#10 main::i#10 print_line_cursor#1 print_char_cursor#55 ] ) always clobbers reg byte a 
Statement [171] (byte*) print_str::str#1 ← (byte[]) printu::op#20 [ print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] ( main:2::printu:14 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:20 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:27 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:34 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:44 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:50 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:57 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:64 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:74 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:80 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:87 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:94 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:104 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:110 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:117 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:124 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:134 [ main::a#10 main::i#10 print_line_cursor#1 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:140 [ main::a#10 main::i#10 print_line_cursor#1 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:147 [ main::a#10 main::i#10 print_line_cursor#1 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:154 [ main::a#10 main::i#10 print_line_cursor#1 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] ) always clobbers reg byte a 
Statement [181] *((byte*) print_char_cursor#54) ← (byte) print_char::ch#5 [ print_char_cursor#54 ] ( main:2::printu:14::print_char:168 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:20::print_char:168 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:27::print_char:168 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:34::print_char:168 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:44::print_char:168 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:50::print_char:168 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:57::print_char:168 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:64::print_char:168 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:74::print_char:168 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:80::print_char:168 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:87::print_char:168 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:94::print_char:168 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:104::print_char:168 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:110::print_char:168 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:117::print_char:168 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:124::print_char:168 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:134::print_char:168 [ main::a#10 main::i#10 print_line_cursor#1 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:140::print_char:168 [ main::a#10 main::i#10 print_line_cursor#1 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:147::print_char:168 [ main::a#10 main::i#10 print_line_cursor#1 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:154::print_char:168 [ main::a#10 main::i#10 print_line_cursor#1 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:14::print_char:176 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:20::print_char:176 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:27::print_char:176 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:34::print_char:176 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:44::print_char:176 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:50::print_char:176 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:57::print_char:176 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:64::print_char:176 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:74::print_char:176 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:80::print_char:176 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:87::print_char:176 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:94::print_char:176 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:104::print_char:176 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:110::print_char:176 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:117::print_char:176 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:124::print_char:176 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:134::print_char:176 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_char_cursor#54 ] main:2::printu:140::print_char:176 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_char_cursor#54 ] main:2::printu:147::print_char:176 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_char_cursor#54 ] main:2::printu:154::print_char:176 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_char_cursor#54 ] main:2::printu:14::print_char:178 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 print_char_cursor#54 ] main:2::printu:20::print_char:178 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 print_char_cursor#54 ] main:2::printu:27::print_char:178 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 print_char_cursor#54 ] main:2::printu:34::print_char:178 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 print_char_cursor#54 ] main:2::printu:44::print_char:178 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#54 ] main:2::printu:50::print_char:178 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#54 ] main:2::printu:57::print_char:178 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#54 ] main:2::printu:64::print_char:178 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#54 ] main:2::printu:74::print_char:178 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#54 ] main:2::printu:80::print_char:178 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#54 ] main:2::printu:87::print_char:178 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#54 ] main:2::printu:94::print_char:178 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#54 ] main:2::printu:104::print_char:178 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#54 ] main:2::printu:110::print_char:178 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#54 ] main:2::printu:117::print_char:178 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#54 ] main:2::printu:124::print_char:178 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#54 ] main:2::printu:134::print_char:178 [ main::a#10 main::i#10 print_line_cursor#1 print_char_cursor#54 ] main:2::printu:140::print_char:178 [ main::a#10 main::i#10 print_line_cursor#1 print_char_cursor#54 ] main:2::printu:147::print_char:178 [ main::a#10 main::i#10 print_line_cursor#1 print_char_cursor#54 ] main:2::printu:154::print_char:178 [ main::a#10 main::i#10 print_line_cursor#1 print_char_cursor#54 ] main:2::printu:14::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:20::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:27::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:34::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:44::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:50::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:57::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:64::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:74::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:80::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:87::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:94::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:104::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:110::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:117::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:124::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:134::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:140::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:147::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:154::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:14::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:20::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:27::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:34::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:44::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:50::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:57::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:64::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:74::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:80::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:87::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:94::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:104::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:110::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:117::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:124::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:134::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:140::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:147::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:154::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:14::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:20::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:27::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:34::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:44::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:50::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:57::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:64::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:74::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:80::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:87::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:94::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:104::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:110::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:117::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:124::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:134::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:140::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:147::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:154::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:14::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:20::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:27::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:34::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:44::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:50::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:57::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:64::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:74::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:80::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:87::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:94::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:104::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:110::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:117::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:124::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:134::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_char_cursor#54 ] main:2::printu:140::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_char_cursor#54 ] main:2::printu:147::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_char_cursor#54 ] main:2::printu:154::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_char_cursor#54 ] ) always clobbers reg byte y 
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:2 [ main::a#10 main::a#1 ]
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:3 [ main::i#10 main::i#1 ]
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:39 [ main::b#0 ]
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:26 [ printu::a#20 printu::a#8 printu::a#9 printu::a#10 printu::a#11 printu::a#12 printu::a#13 printu::a#14 printu::a#15 printu::a#16 printu::a#17 printu::a#0 printu::a#18 printu::a#19 printu::a#1 printu::a#2 printu::a#3 printu::a#4 printu::a#5 printu::a#6 printu::a#7 ]
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:29 [ printu::b#20 printu::b#8 printu::b#10 printu::b#11 printu::b#12 printu::b#14 printu::b#15 printu::b#16 printu::b#0 printu::b#18 printu::b#19 printu::b#2 printu::b#3 printu::b#4 printu::b#6 printu::b#7 ]
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:30 [ printu::res#20 printu::res#8 printu::res#9 printu::res#10 printu::res#11 printu::res#12 printu::res#13 printu::res#14 printu::res#15 printu::res#16 printu::res#17 printu::res#0 printu::res#18 printu::res#19 printu::res#1 printu::res#2 printu::res#3 printu::res#4 printu::res#5 printu::res#6 printu::res#7 ]
Removing always clobbered register reg byte y as potential for zp ZP_BYTE:34 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ]
Statement [185] (byte~) print_byte::$0 ← (byte) print_byte::b#2 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ print_char_cursor#94 print_byte::b#2 print_byte::$0 ] ( main:2::printu:14::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:20::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:27::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:34::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:44::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:50::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:57::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:64::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:74::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:80::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:87::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:94::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:104::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:110::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:117::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:124::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:134::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:140::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:147::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:154::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:14::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:20::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:27::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:34::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:44::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:50::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:57::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:64::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:74::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:80::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:87::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:94::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:104::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:110::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:117::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:124::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:134::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:140::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:147::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:154::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:34 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ]
Statement [188] (byte~) print_byte::$2 ← (byte) print_byte::b#2 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ print_char_cursor#55 print_byte::$2 ] ( main:2::printu:14::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:20::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:27::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:34::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:44::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:50::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:57::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:64::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:74::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:80::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:87::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:94::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:104::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:110::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:117::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:124::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:134::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:140::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:147::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:154::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:14::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:20::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:27::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:34::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:44::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:50::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:57::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:64::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:74::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:80::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:87::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:94::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:104::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:110::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:117::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:124::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:134::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:140::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:147::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:154::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_char_cursor#55 print_byte::$2 ] ) always clobbers reg byte a 
Statement [194] if(*((byte*) print_str::str#2)!=(byte) '@') goto print_str::@2 [ print_char_cursor#2 print_str::str#2 ] ( main:2::printu:14::print_str:172 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:20::print_str:172 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:27::print_str:172 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:34::print_str:172 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:44::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:50::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:57::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:64::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:74::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:80::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:87::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:94::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:104::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:110::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:117::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:124::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:134::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:140::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:147::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:154::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] ) always clobbers reg byte a reg byte y 
Statement [196] *((byte*) print_char_cursor#2) ← *((byte*) print_str::str#2) [ print_char_cursor#2 print_str::str#2 ] ( main:2::printu:14::print_str:172 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:20::print_str:172 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:27::print_str:172 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:34::print_str:172 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:44::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:50::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:57::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:64::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:74::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:80::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:87::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:94::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:104::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:110::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:117::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:124::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:134::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:140::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:147::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:154::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] ) always clobbers reg byte a reg byte y 
Statement [201] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:5 [ print_cls::sc#2 ] ) always clobbers reg byte a reg byte y 
Statement [203] if((byte*) print_cls::sc#1!=((byte*))(word/signed word/dword/signed dword) 1024+(word/signed word/dword/signed dword) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::print_cls:5 [ print_cls::sc#1 ] ) always clobbers reg byte a 
Statement [7] (byte) main::b#0 ← (byte/word/signed word/dword/signed dword) 206 - (byte) main::a#10 [ main::a#10 print_char_cursor#120 main::i#10 print_line_cursor#27 main::b#0 ] ( main:2 [ main::a#10 print_char_cursor#120 main::i#10 print_line_cursor#27 main::b#0 ] ) always clobbers reg byte a 
Statement [21] if((byte) main::a#10>=*((const byte[5]) main::cs#0 + (byte) main::i#10)) goto main::@4 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 print_char_cursor#55 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 print_char_cursor#55 ] ) always clobbers reg byte a reg byte y 
Statement [25] (byte) printu::b#2 ← *((const byte[5]) main::cs#0 + (byte) main::i#10) [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 main::r#42 printu::a#2 printu::b#2 print_char_cursor#55 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 main::r#42 printu::a#2 printu::b#2 print_char_cursor#55 ] ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:6 [ main::r#42 ]
Statement [28] if((byte) main::a#10>=(byte) main::a#10) goto main::@5 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 print_char_cursor#55 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 print_char_cursor#55 ] ) always clobbers reg byte a 
Statement [43] (byte*~) print_char_cursor#159 ← (byte*) print_line_cursor#1 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::a#4 printu::b#4 printu::res#4 print_char_cursor#159 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::a#4 printu::b#4 printu::res#4 print_char_cursor#159 ] ) always clobbers reg byte a 
Statement [51] if((byte) main::a#10<=*((const byte[5]) main::cs#0 + (byte) main::i#10)) goto main::@8 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 ] ) always clobbers reg byte a 
Statement [55] (byte) printu::b#6 ← *((const byte[5]) main::cs#0 + (byte) main::i#10) [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 main::r#46 printu::a#6 printu::b#6 print_char_cursor#55 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 main::r#46 printu::a#6 printu::b#6 print_char_cursor#55 ] ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:10 [ main::r#46 ]
Statement [58] if((byte) main::a#10<=(byte) main::a#10) goto main::@9 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 ] ) always clobbers reg byte a 
Statement [73] (byte*~) print_char_cursor#143 ← (byte*) print_line_cursor#1 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::a#8 printu::b#8 printu::res#8 print_char_cursor#143 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::a#8 printu::b#8 printu::res#8 print_char_cursor#143 ] ) always clobbers reg byte a 
Statement [75] if((byte) main::a#10>(byte/signed byte/word/signed word/dword/signed dword) 55) goto main::@11 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 ] ) always clobbers reg byte a 
Statement [81] if((byte) main::a#10>*((const byte[5]) main::cs#0 + (byte) main::i#10)) goto main::@12 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 ] ) always clobbers reg byte a 
Statement [85] (byte) printu::b#10 ← *((const byte[5]) main::cs#0 + (byte) main::i#10) [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 main::r#50 printu::a#10 printu::b#10 print_char_cursor#55 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 main::r#50 printu::a#10 printu::b#10 print_char_cursor#55 ] ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:14 [ main::r#50 ]
Statement [88] if((byte) main::a#10>(byte) main::a#10) goto main::@13 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 ] ) always clobbers reg byte a 
Statement [103] (byte*~) print_char_cursor#147 ← (byte*) print_line_cursor#1 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::a#12 printu::b#12 printu::res#12 print_char_cursor#147 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::a#12 printu::b#12 printu::res#12 print_char_cursor#147 ] ) always clobbers reg byte a 
Statement [111] if((byte) main::a#10<*((const byte[5]) main::cs#0 + (byte) main::i#10)) goto main::@16 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 ] ) always clobbers reg byte a 
Statement [115] (byte) printu::b#14 ← *((const byte[5]) main::cs#0 + (byte) main::i#10) [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 main::r#54 printu::a#14 printu::b#14 print_char_cursor#55 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 main::r#54 printu::a#14 printu::b#14 print_char_cursor#55 ] ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:18 [ main::r#54 ]
Statement [118] if((byte) main::a#10<(byte) main::a#10) goto main::@17 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 ] ) always clobbers reg byte a 
Statement [133] (byte*~) print_char_cursor#151 ← (byte*) print_line_cursor#1 [ main::a#10 main::i#10 print_line_cursor#1 printu::a#16 printu::b#16 printu::res#16 print_char_cursor#151 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#1 printu::a#16 printu::b#16 printu::res#16 print_char_cursor#151 ] ) always clobbers reg byte a 
Statement [141] if((byte) main::a#10!=*((const byte[5]) main::cs#0 + (byte) main::i#10)) goto main::@20 [ main::a#10 main::i#10 print_line_cursor#1 print_char_cursor#55 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#1 print_char_cursor#55 ] ) always clobbers reg byte a 
Statement [145] (byte) printu::b#18 ← *((const byte[5]) main::cs#0 + (byte) main::i#10) [ main::a#10 main::i#10 print_line_cursor#1 main::r#58 printu::a#18 printu::b#18 print_char_cursor#55 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#1 main::r#58 printu::a#18 printu::b#18 print_char_cursor#55 ] ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:22 [ main::r#58 ]
Statement [148] if((byte) main::a#10!=(byte) main::a#10) goto main::@21 [ main::a#10 main::i#10 print_line_cursor#1 print_char_cursor#55 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#1 print_char_cursor#55 ] ) always clobbers reg byte a 
Statement [157] (byte) main::a#1 ← (byte) main::a#10 + (byte/signed byte/word/signed word/dword/signed dword) 48 [ main::i#10 main::a#1 print_line_cursor#1 ] ( main:2 [ main::i#10 main::a#1 print_line_cursor#1 ] ) always clobbers reg byte a 
Statement [161] (byte*~) print_char_cursor#142 ← (byte*) print_line_cursor#1 [ main::a#1 print_char_cursor#142 main::i#1 print_line_cursor#1 ] ( main:2 [ main::a#1 print_char_cursor#142 main::i#1 print_line_cursor#1 ] ) always clobbers reg byte a 
Statement [164] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#13 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ print_line_cursor#1 print_char_cursor#55 ] ( main:2::print_ln:36 [ main::a#10 main::i#10 main::b#0 print_line_cursor#1 print_char_cursor#55 ] main:2::print_ln:66 [ main::a#10 main::i#10 main::b#0 print_line_cursor#1 print_char_cursor#55 ] main:2::print_ln:96 [ main::a#10 main::i#10 main::b#0 print_line_cursor#1 print_char_cursor#55 ] main:2::print_ln:126 [ main::a#10 main::i#10 main::b#0 print_line_cursor#1 print_char_cursor#55 ] main:2::print_ln:156 [ main::a#10 main::i#10 print_line_cursor#1 print_char_cursor#55 ] ) always clobbers reg byte a 
Statement [165] if((byte*) print_line_cursor#1<(byte*) print_char_cursor#55) goto print_ln::@1 [ print_line_cursor#1 print_char_cursor#55 ] ( main:2::print_ln:36 [ main::a#10 main::i#10 main::b#0 print_line_cursor#1 print_char_cursor#55 ] main:2::print_ln:66 [ main::a#10 main::i#10 main::b#0 print_line_cursor#1 print_char_cursor#55 ] main:2::print_ln:96 [ main::a#10 main::i#10 main::b#0 print_line_cursor#1 print_char_cursor#55 ] main:2::print_ln:126 [ main::a#10 main::i#10 main::b#0 print_line_cursor#1 print_char_cursor#55 ] main:2::print_ln:156 [ main::a#10 main::i#10 print_line_cursor#1 print_char_cursor#55 ] ) always clobbers reg byte a 
Statement [171] (byte*) print_str::str#1 ← (byte[]) printu::op#20 [ print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] ( main:2::printu:14 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:20 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:27 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:34 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:44 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:50 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:57 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:64 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:74 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:80 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:87 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:94 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:104 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:110 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:117 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:124 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:134 [ main::a#10 main::i#10 print_line_cursor#1 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:140 [ main::a#10 main::i#10 print_line_cursor#1 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:147 [ main::a#10 main::i#10 print_line_cursor#1 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:154 [ main::a#10 main::i#10 print_line_cursor#1 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] ) always clobbers reg byte a 
Statement [181] *((byte*) print_char_cursor#54) ← (byte) print_char::ch#5 [ print_char_cursor#54 ] ( main:2::printu:14::print_char:168 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:20::print_char:168 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:27::print_char:168 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:34::print_char:168 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:44::print_char:168 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:50::print_char:168 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:57::print_char:168 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:64::print_char:168 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:74::print_char:168 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:80::print_char:168 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:87::print_char:168 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:94::print_char:168 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:104::print_char:168 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:110::print_char:168 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:117::print_char:168 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:124::print_char:168 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:134::print_char:168 [ main::a#10 main::i#10 print_line_cursor#1 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:140::print_char:168 [ main::a#10 main::i#10 print_line_cursor#1 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:147::print_char:168 [ main::a#10 main::i#10 print_line_cursor#1 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:154::print_char:168 [ main::a#10 main::i#10 print_line_cursor#1 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:14::print_char:176 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:20::print_char:176 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:27::print_char:176 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:34::print_char:176 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:44::print_char:176 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:50::print_char:176 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:57::print_char:176 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:64::print_char:176 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:74::print_char:176 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:80::print_char:176 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:87::print_char:176 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:94::print_char:176 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:104::print_char:176 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:110::print_char:176 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:117::print_char:176 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:124::print_char:176 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:134::print_char:176 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_char_cursor#54 ] main:2::printu:140::print_char:176 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_char_cursor#54 ] main:2::printu:147::print_char:176 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_char_cursor#54 ] main:2::printu:154::print_char:176 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_char_cursor#54 ] main:2::printu:14::print_char:178 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 print_char_cursor#54 ] main:2::printu:20::print_char:178 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 print_char_cursor#54 ] main:2::printu:27::print_char:178 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 print_char_cursor#54 ] main:2::printu:34::print_char:178 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 print_char_cursor#54 ] main:2::printu:44::print_char:178 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#54 ] main:2::printu:50::print_char:178 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#54 ] main:2::printu:57::print_char:178 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#54 ] main:2::printu:64::print_char:178 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#54 ] main:2::printu:74::print_char:178 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#54 ] main:2::printu:80::print_char:178 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#54 ] main:2::printu:87::print_char:178 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#54 ] main:2::printu:94::print_char:178 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#54 ] main:2::printu:104::print_char:178 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#54 ] main:2::printu:110::print_char:178 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#54 ] main:2::printu:117::print_char:178 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#54 ] main:2::printu:124::print_char:178 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#54 ] main:2::printu:134::print_char:178 [ main::a#10 main::i#10 print_line_cursor#1 print_char_cursor#54 ] main:2::printu:140::print_char:178 [ main::a#10 main::i#10 print_line_cursor#1 print_char_cursor#54 ] main:2::printu:147::print_char:178 [ main::a#10 main::i#10 print_line_cursor#1 print_char_cursor#54 ] main:2::printu:154::print_char:178 [ main::a#10 main::i#10 print_line_cursor#1 print_char_cursor#54 ] main:2::printu:14::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:20::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:27::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:34::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:44::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:50::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:57::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:64::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:74::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:80::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:87::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:94::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:104::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:110::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:117::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:124::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:134::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:140::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:147::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:154::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:14::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:20::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:27::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:34::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:44::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:50::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:57::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:64::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:74::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:80::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:87::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:94::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:104::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:110::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:117::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:124::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:134::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:140::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:147::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:154::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:14::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:20::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:27::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:34::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:44::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:50::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:57::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:64::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:74::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:80::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:87::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:94::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:104::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:110::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:117::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:124::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:134::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:140::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:147::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:154::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:14::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:20::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:27::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:34::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:44::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:50::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:57::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:64::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:74::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:80::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:87::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:94::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:104::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:110::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:117::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:124::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:134::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_char_cursor#54 ] main:2::printu:140::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_char_cursor#54 ] main:2::printu:147::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_char_cursor#54 ] main:2::printu:154::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_char_cursor#54 ] ) always clobbers reg byte y 
Statement [185] (byte~) print_byte::$0 ← (byte) print_byte::b#2 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ print_char_cursor#94 print_byte::b#2 print_byte::$0 ] ( main:2::printu:14::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:20::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:27::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:34::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:44::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:50::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:57::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:64::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:74::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:80::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:87::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:94::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:104::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:110::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:117::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:124::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:134::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:140::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:147::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:154::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:14::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:20::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:27::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:34::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:44::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:50::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:57::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:64::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:74::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:80::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:87::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:94::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:104::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:110::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:117::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:124::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:134::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:140::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:147::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:154::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] ) always clobbers reg byte a 
Statement [188] (byte~) print_byte::$2 ← (byte) print_byte::b#2 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ print_char_cursor#55 print_byte::$2 ] ( main:2::printu:14::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:20::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:27::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:34::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:44::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:50::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:57::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:64::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:74::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:80::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:87::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:94::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:104::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:110::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:117::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:124::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:134::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:140::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:147::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:154::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:14::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:20::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:27::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:34::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:44::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:50::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:57::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:64::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:74::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:80::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:87::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:94::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:104::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:110::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:117::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:124::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:134::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:140::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:147::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:154::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_char_cursor#55 print_byte::$2 ] ) always clobbers reg byte a 
Statement [194] if(*((byte*) print_str::str#2)!=(byte) '@') goto print_str::@2 [ print_char_cursor#2 print_str::str#2 ] ( main:2::printu:14::print_str:172 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:20::print_str:172 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:27::print_str:172 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:34::print_str:172 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:44::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:50::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:57::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:64::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:74::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:80::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:87::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:94::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:104::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:110::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:117::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:124::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:134::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:140::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:147::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:154::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] ) always clobbers reg byte a reg byte y 
Statement [196] *((byte*) print_char_cursor#2) ← *((byte*) print_str::str#2) [ print_char_cursor#2 print_str::str#2 ] ( main:2::printu:14::print_str:172 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:20::print_str:172 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:27::print_str:172 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:34::print_str:172 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:44::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:50::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:57::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:64::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:74::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:80::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:87::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:94::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:104::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:110::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:117::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:124::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:134::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:140::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:147::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:154::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] ) always clobbers reg byte a reg byte y 
Statement [201] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:5 [ print_cls::sc#2 ] ) always clobbers reg byte a reg byte y 
Statement [203] if((byte*) print_cls::sc#1!=((byte*))(word/signed word/dword/signed dword) 1024+(word/signed word/dword/signed dword) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::print_cls:5 [ print_cls::sc#1 ] ) always clobbers reg byte a 
Statement [7] (byte) main::b#0 ← (byte/word/signed word/dword/signed dword) 206 - (byte) main::a#10 [ main::a#10 print_char_cursor#120 main::i#10 print_line_cursor#27 main::b#0 ] ( main:2 [ main::a#10 print_char_cursor#120 main::i#10 print_line_cursor#27 main::b#0 ] ) always clobbers reg byte a 
Statement [21] if((byte) main::a#10>=*((const byte[5]) main::cs#0 + (byte) main::i#10)) goto main::@4 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 print_char_cursor#55 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 print_char_cursor#55 ] ) always clobbers reg byte a reg byte y 
Statement [25] (byte) printu::b#2 ← *((const byte[5]) main::cs#0 + (byte) main::i#10) [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 main::r#42 printu::a#2 printu::b#2 print_char_cursor#55 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 main::r#42 printu::a#2 printu::b#2 print_char_cursor#55 ] ) always clobbers reg byte a 
Statement [28] if((byte) main::a#10>=(byte) main::a#10) goto main::@5 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 print_char_cursor#55 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 print_char_cursor#55 ] ) always clobbers reg byte a 
Statement [43] (byte*~) print_char_cursor#159 ← (byte*) print_line_cursor#1 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::a#4 printu::b#4 printu::res#4 print_char_cursor#159 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::a#4 printu::b#4 printu::res#4 print_char_cursor#159 ] ) always clobbers reg byte a 
Statement [51] if((byte) main::a#10<=*((const byte[5]) main::cs#0 + (byte) main::i#10)) goto main::@8 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 ] ) always clobbers reg byte a 
Statement [55] (byte) printu::b#6 ← *((const byte[5]) main::cs#0 + (byte) main::i#10) [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 main::r#46 printu::a#6 printu::b#6 print_char_cursor#55 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 main::r#46 printu::a#6 printu::b#6 print_char_cursor#55 ] ) always clobbers reg byte a 
Statement [58] if((byte) main::a#10<=(byte) main::a#10) goto main::@9 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 ] ) always clobbers reg byte a 
Statement [73] (byte*~) print_char_cursor#143 ← (byte*) print_line_cursor#1 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::a#8 printu::b#8 printu::res#8 print_char_cursor#143 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::a#8 printu::b#8 printu::res#8 print_char_cursor#143 ] ) always clobbers reg byte a 
Statement [75] if((byte) main::a#10>(byte/signed byte/word/signed word/dword/signed dword) 55) goto main::@11 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 ] ) always clobbers reg byte a 
Statement [81] if((byte) main::a#10>*((const byte[5]) main::cs#0 + (byte) main::i#10)) goto main::@12 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 ] ) always clobbers reg byte a 
Statement [85] (byte) printu::b#10 ← *((const byte[5]) main::cs#0 + (byte) main::i#10) [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 main::r#50 printu::a#10 printu::b#10 print_char_cursor#55 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 main::r#50 printu::a#10 printu::b#10 print_char_cursor#55 ] ) always clobbers reg byte a 
Statement [88] if((byte) main::a#10>(byte) main::a#10) goto main::@13 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 ] ) always clobbers reg byte a 
Statement [103] (byte*~) print_char_cursor#147 ← (byte*) print_line_cursor#1 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::a#12 printu::b#12 printu::res#12 print_char_cursor#147 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::a#12 printu::b#12 printu::res#12 print_char_cursor#147 ] ) always clobbers reg byte a 
Statement [111] if((byte) main::a#10<*((const byte[5]) main::cs#0 + (byte) main::i#10)) goto main::@16 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 ] ) always clobbers reg byte a 
Statement [115] (byte) printu::b#14 ← *((const byte[5]) main::cs#0 + (byte) main::i#10) [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 main::r#54 printu::a#14 printu::b#14 print_char_cursor#55 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 main::r#54 printu::a#14 printu::b#14 print_char_cursor#55 ] ) always clobbers reg byte a 
Statement [118] if((byte) main::a#10<(byte) main::a#10) goto main::@17 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 ] ) always clobbers reg byte a 
Statement [133] (byte*~) print_char_cursor#151 ← (byte*) print_line_cursor#1 [ main::a#10 main::i#10 print_line_cursor#1 printu::a#16 printu::b#16 printu::res#16 print_char_cursor#151 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#1 printu::a#16 printu::b#16 printu::res#16 print_char_cursor#151 ] ) always clobbers reg byte a 
Statement [141] if((byte) main::a#10!=*((const byte[5]) main::cs#0 + (byte) main::i#10)) goto main::@20 [ main::a#10 main::i#10 print_line_cursor#1 print_char_cursor#55 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#1 print_char_cursor#55 ] ) always clobbers reg byte a 
Statement [145] (byte) printu::b#18 ← *((const byte[5]) main::cs#0 + (byte) main::i#10) [ main::a#10 main::i#10 print_line_cursor#1 main::r#58 printu::a#18 printu::b#18 print_char_cursor#55 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#1 main::r#58 printu::a#18 printu::b#18 print_char_cursor#55 ] ) always clobbers reg byte a 
Statement [148] if((byte) main::a#10!=(byte) main::a#10) goto main::@21 [ main::a#10 main::i#10 print_line_cursor#1 print_char_cursor#55 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#1 print_char_cursor#55 ] ) always clobbers reg byte a 
Statement [157] (byte) main::a#1 ← (byte) main::a#10 + (byte/signed byte/word/signed word/dword/signed dword) 48 [ main::i#10 main::a#1 print_line_cursor#1 ] ( main:2 [ main::i#10 main::a#1 print_line_cursor#1 ] ) always clobbers reg byte a 
Statement [161] (byte*~) print_char_cursor#142 ← (byte*) print_line_cursor#1 [ main::a#1 print_char_cursor#142 main::i#1 print_line_cursor#1 ] ( main:2 [ main::a#1 print_char_cursor#142 main::i#1 print_line_cursor#1 ] ) always clobbers reg byte a 
Statement [164] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#13 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ print_line_cursor#1 print_char_cursor#55 ] ( main:2::print_ln:36 [ main::a#10 main::i#10 main::b#0 print_line_cursor#1 print_char_cursor#55 ] main:2::print_ln:66 [ main::a#10 main::i#10 main::b#0 print_line_cursor#1 print_char_cursor#55 ] main:2::print_ln:96 [ main::a#10 main::i#10 main::b#0 print_line_cursor#1 print_char_cursor#55 ] main:2::print_ln:126 [ main::a#10 main::i#10 main::b#0 print_line_cursor#1 print_char_cursor#55 ] main:2::print_ln:156 [ main::a#10 main::i#10 print_line_cursor#1 print_char_cursor#55 ] ) always clobbers reg byte a 
Statement [165] if((byte*) print_line_cursor#1<(byte*) print_char_cursor#55) goto print_ln::@1 [ print_line_cursor#1 print_char_cursor#55 ] ( main:2::print_ln:36 [ main::a#10 main::i#10 main::b#0 print_line_cursor#1 print_char_cursor#55 ] main:2::print_ln:66 [ main::a#10 main::i#10 main::b#0 print_line_cursor#1 print_char_cursor#55 ] main:2::print_ln:96 [ main::a#10 main::i#10 main::b#0 print_line_cursor#1 print_char_cursor#55 ] main:2::print_ln:126 [ main::a#10 main::i#10 main::b#0 print_line_cursor#1 print_char_cursor#55 ] main:2::print_ln:156 [ main::a#10 main::i#10 print_line_cursor#1 print_char_cursor#55 ] ) always clobbers reg byte a 
Statement [171] (byte*) print_str::str#1 ← (byte[]) printu::op#20 [ print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] ( main:2::printu:14 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:20 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:27 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:34 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:44 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:50 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:57 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:64 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:74 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:80 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:87 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:94 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:104 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:110 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:117 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:124 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:134 [ main::a#10 main::i#10 print_line_cursor#1 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:140 [ main::a#10 main::i#10 print_line_cursor#1 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:147 [ main::a#10 main::i#10 print_line_cursor#1 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] main:2::printu:154 [ main::a#10 main::i#10 print_line_cursor#1 print_char_cursor#55 printu::b#20 printu::res#20 print_str::str#1 ] ) always clobbers reg byte a 
Statement [181] *((byte*) print_char_cursor#54) ← (byte) print_char::ch#5 [ print_char_cursor#54 ] ( main:2::printu:14::print_char:168 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:20::print_char:168 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:27::print_char:168 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:34::print_char:168 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:44::print_char:168 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:50::print_char:168 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:57::print_char:168 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:64::print_char:168 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:74::print_char:168 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:80::print_char:168 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:87::print_char:168 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:94::print_char:168 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:104::print_char:168 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:110::print_char:168 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:117::print_char:168 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:124::print_char:168 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:134::print_char:168 [ main::a#10 main::i#10 print_line_cursor#1 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:140::print_char:168 [ main::a#10 main::i#10 print_line_cursor#1 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:147::print_char:168 [ main::a#10 main::i#10 print_line_cursor#1 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:154::print_char:168 [ main::a#10 main::i#10 print_line_cursor#1 printu::a#20 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:14::print_char:176 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:20::print_char:176 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:27::print_char:176 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:34::print_char:176 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:44::print_char:176 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:50::print_char:176 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:57::print_char:176 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:64::print_char:176 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:74::print_char:176 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:80::print_char:176 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:87::print_char:176 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:94::print_char:176 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:104::print_char:176 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:110::print_char:176 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:117::print_char:176 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:124::print_char:176 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:134::print_char:176 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_char_cursor#54 ] main:2::printu:140::print_char:176 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_char_cursor#54 ] main:2::printu:147::print_char:176 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_char_cursor#54 ] main:2::printu:154::print_char:176 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_char_cursor#54 ] main:2::printu:14::print_char:178 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 print_char_cursor#54 ] main:2::printu:20::print_char:178 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 print_char_cursor#54 ] main:2::printu:27::print_char:178 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 print_char_cursor#54 ] main:2::printu:34::print_char:178 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 print_char_cursor#54 ] main:2::printu:44::print_char:178 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#54 ] main:2::printu:50::print_char:178 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#54 ] main:2::printu:57::print_char:178 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#54 ] main:2::printu:64::print_char:178 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#54 ] main:2::printu:74::print_char:178 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#54 ] main:2::printu:80::print_char:178 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#54 ] main:2::printu:87::print_char:178 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#54 ] main:2::printu:94::print_char:178 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#54 ] main:2::printu:104::print_char:178 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#54 ] main:2::printu:110::print_char:178 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#54 ] main:2::printu:117::print_char:178 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#54 ] main:2::printu:124::print_char:178 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 print_char_cursor#54 ] main:2::printu:134::print_char:178 [ main::a#10 main::i#10 print_line_cursor#1 print_char_cursor#54 ] main:2::printu:140::print_char:178 [ main::a#10 main::i#10 print_line_cursor#1 print_char_cursor#54 ] main:2::printu:147::print_char:178 [ main::a#10 main::i#10 print_line_cursor#1 print_char_cursor#54 ] main:2::printu:154::print_char:178 [ main::a#10 main::i#10 print_line_cursor#1 print_char_cursor#54 ] main:2::printu:14::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:20::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:27::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:34::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:44::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:50::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:57::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:64::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:74::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:80::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:87::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:94::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:104::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:110::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:117::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:124::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:134::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:140::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:147::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:154::print_byte:170::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 printu::op#20 printu::b#20 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:14::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:20::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:27::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:34::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:44::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:50::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:57::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:64::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:74::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:80::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:87::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:94::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:104::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:110::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:117::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:124::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:134::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:140::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:147::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:154::print_byte:174::print_char:187 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_byte::b#2 print_char_cursor#54 ] main:2::printu:14::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:20::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:27::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:34::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:44::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:50::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:57::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:64::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:74::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:80::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:87::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:94::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:104::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:110::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:117::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:124::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:134::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:140::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:147::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:154::print_byte:170::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#54 ] main:2::printu:14::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:20::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:27::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:34::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:44::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:50::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:57::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:64::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:74::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:80::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:87::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:94::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:104::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:110::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:117::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:124::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#54 ] main:2::printu:134::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_char_cursor#54 ] main:2::printu:140::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_char_cursor#54 ] main:2::printu:147::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_char_cursor#54 ] main:2::printu:154::print_byte:174::print_char:190 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_char_cursor#54 ] ) always clobbers reg byte y 
Statement [185] (byte~) print_byte::$0 ← (byte) print_byte::b#2 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ print_char_cursor#94 print_byte::b#2 print_byte::$0 ] ( main:2::printu:14::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:20::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:27::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:34::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:44::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:50::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:57::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:64::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:74::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:80::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:87::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:94::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:104::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:110::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:117::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:124::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:134::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:140::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:147::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:154::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:14::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:20::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:27::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:34::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:44::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:50::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:57::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:64::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:74::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:80::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:87::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:94::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:104::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:110::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:117::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:124::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:134::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:140::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:147::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] main:2::printu:154::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_char_cursor#94 print_byte::b#2 print_byte::$0 ] ) always clobbers reg byte a 
Statement [188] (byte~) print_byte::$2 ← (byte) print_byte::b#2 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ print_char_cursor#55 print_byte::$2 ] ( main:2::printu:14::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:20::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:27::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:34::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:44::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:50::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:57::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:64::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:74::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:80::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:87::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:94::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:104::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:110::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:117::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:124::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:134::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:140::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:147::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:154::print_byte:170 [ main::a#10 main::i#10 print_line_cursor#1 printu::op#20 printu::b#20 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:14::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:20::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:27::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:34::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:44::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:50::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:57::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:64::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:74::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:80::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:87::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:94::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:104::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:110::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:117::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:124::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:134::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:140::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:147::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_char_cursor#55 print_byte::$2 ] main:2::printu:154::print_byte:174 [ main::a#10 main::i#10 print_line_cursor#1 printu::res#20 print_char_cursor#55 print_byte::$2 ] ) always clobbers reg byte a 
Statement [194] if(*((byte*) print_str::str#2)!=(byte) '@') goto print_str::@2 [ print_char_cursor#2 print_str::str#2 ] ( main:2::printu:14::print_str:172 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:20::print_str:172 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:27::print_str:172 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:34::print_str:172 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:44::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:50::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:57::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:64::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:74::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:80::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:87::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:94::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:104::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:110::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:117::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:124::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:134::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:140::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:147::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:154::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] ) always clobbers reg byte a reg byte y 
Statement [196] *((byte*) print_char_cursor#2) ← *((byte*) print_str::str#2) [ print_char_cursor#2 print_str::str#2 ] ( main:2::printu:14::print_str:172 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:20::print_str:172 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:27::print_str:172 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:34::print_str:172 [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:44::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:50::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:57::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:64::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:74::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:80::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:87::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:94::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:104::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:110::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:117::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:124::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:134::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:140::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:147::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] main:2::printu:154::print_str:172 [ main::a#10 main::i#10 print_line_cursor#1 printu::b#20 printu::res#20 print_char_cursor#2 print_str::str#2 ] ) always clobbers reg byte a reg byte y 
Statement [201] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:5 [ print_cls::sc#2 ] ) always clobbers reg byte a reg byte y 
Statement [203] if((byte*) print_cls::sc#1!=((byte*))(word/signed word/dword/signed dword) 1024+(word/signed word/dword/signed dword) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::print_cls:5 [ print_cls::sc#1 ] ) always clobbers reg byte a 
Potential registers zp ZP_BYTE:2 [ main::a#10 main::a#1 ] : zp ZP_BYTE:2 , reg byte x , 
Potential registers zp ZP_BYTE:3 [ main::i#10 main::i#1 ] : zp ZP_BYTE:3 , reg byte x , 
Potential registers zp ZP_BYTE:4 [ main::r#40 ] : zp ZP_BYTE:4 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:5 [ main::r#41 ] : zp ZP_BYTE:5 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:6 [ main::r#42 ] : zp ZP_BYTE:6 , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:7 [ main::r#43 ] : zp ZP_BYTE:7 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:8 [ main::r#44 ] : zp ZP_BYTE:8 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:9 [ main::r#45 ] : zp ZP_BYTE:9 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:10 [ main::r#46 ] : zp ZP_BYTE:10 , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:11 [ main::r#47 ] : zp ZP_BYTE:11 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:12 [ main::r#48 ] : zp ZP_BYTE:12 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:13 [ main::r#49 ] : zp ZP_BYTE:13 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:14 [ main::r#50 ] : zp ZP_BYTE:14 , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:15 [ main::r#51 ] : zp ZP_BYTE:15 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:16 [ main::r#52 ] : zp ZP_BYTE:16 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:17 [ main::r#53 ] : zp ZP_BYTE:17 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:18 [ main::r#54 ] : zp ZP_BYTE:18 , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:19 [ main::r#55 ] : zp ZP_BYTE:19 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:20 [ main::r#56 ] : zp ZP_BYTE:20 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:21 [ main::r#57 ] : zp ZP_BYTE:21 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:22 [ main::r#58 ] : zp ZP_BYTE:22 , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:23 [ main::r#59 ] : zp ZP_BYTE:23 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_WORD:24 [ print_line_cursor#13 print_line_cursor#25 print_line_cursor#27 print_line_cursor#1 ] : zp ZP_WORD:24 , 
Potential registers zp ZP_BYTE:26 [ printu::a#20 printu::a#8 printu::a#9 printu::a#10 printu::a#11 printu::a#12 printu::a#13 printu::a#14 printu::a#15 printu::a#16 printu::a#17 printu::a#0 printu::a#18 printu::a#19 printu::a#1 printu::a#2 printu::a#3 printu::a#4 printu::a#5 printu::a#6 printu::a#7 ] : zp ZP_BYTE:26 , reg byte x , 
Potential registers zp ZP_WORD:27 [ printu::op#20 ] : zp ZP_WORD:27 , 
Potential registers zp ZP_BYTE:29 [ printu::b#20 printu::b#8 printu::b#10 printu::b#11 printu::b#12 printu::b#14 printu::b#15 printu::b#16 printu::b#0 printu::b#18 printu::b#19 printu::b#2 printu::b#3 printu::b#4 printu::b#6 printu::b#7 ] : zp ZP_BYTE:29 , reg byte x , 
Potential registers zp ZP_BYTE:30 [ printu::res#20 printu::res#8 printu::res#9 printu::res#10 printu::res#11 printu::res#12 printu::res#13 printu::res#14 printu::res#15 printu::res#16 printu::res#17 printu::res#0 printu::res#18 printu::res#19 printu::res#1 printu::res#2 printu::res#3 printu::res#4 printu::res#5 printu::res#6 printu::res#7 ] : zp ZP_BYTE:30 , reg byte x , 
Potential registers zp ZP_BYTE:31 [ print_char::ch#5 print_char::ch#0 print_char::ch#1 print_char::ch#4 ] : zp ZP_BYTE:31 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_WORD:32 [ print_char_cursor#54 print_char_cursor#94 print_char_cursor#95 print_char_cursor#143 print_char_cursor#55 print_char_cursor#147 print_char_cursor#151 print_char_cursor#120 print_char_cursor#142 print_char_cursor#159 print_char_cursor#2 print_char_cursor#1 ] : zp ZP_WORD:32 , 
Potential registers zp ZP_BYTE:34 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ] : zp ZP_BYTE:34 , reg byte x , 
Potential registers zp ZP_WORD:35 [ print_str::str#2 print_str::str#1 print_str::str#0 ] : zp ZP_WORD:35 , 
Potential registers zp ZP_WORD:37 [ print_cls::sc#2 print_cls::sc#1 ] : zp ZP_WORD:37 , 
Potential registers zp ZP_BYTE:39 [ main::b#0 ] : zp ZP_BYTE:39 , reg byte x , 
Potential registers zp ZP_BYTE:40 [ print_byte::$0 ] : zp ZP_BYTE:40 , reg byte a , reg byte x , reg byte y , 
Potential registers zp ZP_BYTE:41 [ print_byte::$2 ] : zp ZP_BYTE:41 , reg byte a , reg byte x , reg byte y , 

REGISTER UPLIFT SCOPES
Uplift Scope [printu] 418.2: zp ZP_BYTE:30 [ printu::res#20 printu::res#8 printu::res#9 printu::res#10 printu::res#11 printu::res#12 printu::res#13 printu::res#14 printu::res#15 printu::res#16 printu::res#17 printu::res#0 printu::res#18 printu::res#19 printu::res#1 printu::res#2 printu::res#3 printu::res#4 printu::res#5 printu::res#6 printu::res#7 ] 268.67: zp ZP_BYTE:26 [ printu::a#20 printu::a#8 printu::a#9 printu::a#10 printu::a#11 printu::a#12 printu::a#13 printu::a#14 printu::a#15 printu::a#16 printu::a#17 printu::a#0 printu::a#18 printu::a#19 printu::a#1 printu::a#2 printu::a#3 printu::a#4 printu::a#5 printu::a#6 printu::a#7 ] 178.17: zp ZP_BYTE:29 [ printu::b#20 printu::b#8 printu::b#10 printu::b#11 printu::b#12 printu::b#14 printu::b#15 printu::b#16 printu::b#0 printu::b#18 printu::b#19 printu::b#2 printu::b#3 printu::b#4 printu::b#6 printu::b#7 ] 0.5: zp ZP_WORD:27 [ printu::op#20 ] 
Uplift Scope [] 498.02: zp ZP_WORD:32 [ print_char_cursor#54 print_char_cursor#94 print_char_cursor#95 print_char_cursor#143 print_char_cursor#55 print_char_cursor#147 print_char_cursor#151 print_char_cursor#120 print_char_cursor#142 print_char_cursor#159 print_char_cursor#2 print_char_cursor#1 ] 264.96: zp ZP_WORD:24 [ print_line_cursor#13 print_line_cursor#25 print_line_cursor#27 print_line_cursor#1 ] 
Uplift Scope [print_str] 305.5: zp ZP_WORD:35 [ print_str::str#2 print_str::str#1 print_str::str#0 ] 
Uplift Scope [main] 11.87: zp ZP_BYTE:3 [ main::i#10 main::i#1 ] 9.36: zp ZP_BYTE:2 [ main::a#10 main::a#1 ] 5.5: zp ZP_BYTE:5 [ main::r#41 ] 5.5: zp ZP_BYTE:9 [ main::r#45 ] 5.5: zp ZP_BYTE:13 [ main::r#49 ] 5.5: zp ZP_BYTE:17 [ main::r#53 ] 5.5: zp ZP_BYTE:21 [ main::r#57 ] 3.67: zp ZP_BYTE:4 [ main::r#40 ] 3.67: zp ZP_BYTE:6 [ main::r#42 ] 3.67: zp ZP_BYTE:7 [ main::r#43 ] 3.67: zp ZP_BYTE:8 [ main::r#44 ] 3.67: zp ZP_BYTE:10 [ main::r#46 ] 3.67: zp ZP_BYTE:11 [ main::r#47 ] 3.67: zp ZP_BYTE:12 [ main::r#48 ] 3.67: zp ZP_BYTE:14 [ main::r#50 ] 3.67: zp ZP_BYTE:15 [ main::r#51 ] 3.67: zp ZP_BYTE:16 [ main::r#52 ] 3.67: zp ZP_BYTE:18 [ main::r#54 ] 3.67: zp ZP_BYTE:19 [ main::r#55 ] 3.67: zp ZP_BYTE:20 [ main::r#56 ] 3.67: zp ZP_BYTE:22 [ main::r#58 ] 3.67: zp ZP_BYTE:23 [ main::r#59 ] 0.98: zp ZP_BYTE:39 [ main::b#0 ] 
Uplift Scope [print_cls] 33: zp ZP_WORD:37 [ print_cls::sc#2 print_cls::sc#1 ] 
Uplift Scope [print_char] 20: zp ZP_BYTE:31 [ print_char::ch#5 print_char::ch#0 print_char::ch#1 print_char::ch#4 ] 
Uplift Scope [print_byte] 10: zp ZP_BYTE:34 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ] 4: zp ZP_BYTE:40 [ print_byte::$0 ] 4: zp ZP_BYTE:41 [ print_byte::$2 ] 
Uplift Scope [print_ln] 

Uplifting [printu] best 21801 combination reg byte x [ printu::res#20 printu::res#8 printu::res#9 printu::res#10 printu::res#11 printu::res#12 printu::res#13 printu::res#14 printu::res#15 printu::res#16 printu::res#17 printu::res#0 printu::res#18 printu::res#19 printu::res#1 printu::res#2 printu::res#3 printu::res#4 printu::res#5 printu::res#6 printu::res#7 ] zp ZP_BYTE:26 [ printu::a#20 printu::a#8 printu::a#9 printu::a#10 printu::a#11 printu::a#12 printu::a#13 printu::a#14 printu::a#15 printu::a#16 printu::a#17 printu::a#0 printu::a#18 printu::a#19 printu::a#1 printu::a#2 printu::a#3 printu::a#4 printu::a#5 printu::a#6 printu::a#7 ] zp ZP_BYTE:29 [ printu::b#20 printu::b#8 printu::b#10 printu::b#11 printu::b#12 printu::b#14 printu::b#15 printu::b#16 printu::b#0 printu::b#18 printu::b#19 printu::b#2 printu::b#3 printu::b#4 printu::b#6 printu::b#7 ] zp ZP_WORD:27 [ printu::op#20 ] 
Uplifting [] best 21801 combination zp ZP_WORD:32 [ print_char_cursor#54 print_char_cursor#94 print_char_cursor#95 print_char_cursor#143 print_char_cursor#55 print_char_cursor#147 print_char_cursor#151 print_char_cursor#120 print_char_cursor#142 print_char_cursor#159 print_char_cursor#2 print_char_cursor#1 ] zp ZP_WORD:24 [ print_line_cursor#13 print_line_cursor#25 print_line_cursor#27 print_line_cursor#1 ] 
Uplifting [print_str] best 21801 combination zp ZP_WORD:35 [ print_str::str#2 print_str::str#1 print_str::str#0 ] 
Uplifting [print_cls] best 21801 combination zp ZP_WORD:37 [ print_cls::sc#2 print_cls::sc#1 ] 
Uplifting [print_char] best 21785 combination reg byte a [ print_char::ch#5 print_char::ch#0 print_char::ch#1 print_char::ch#4 ] 
Uplifting [print_byte] best 21781 combination zp ZP_BYTE:34 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ] reg byte a [ print_byte::$0 ] zp ZP_BYTE:41 [ print_byte::$2 ] 
Limited combination testing to 10 combinations of 32 possible.
Uplifting [print_ln] best 21781 combination 
Attempting to uplift remaining variables inzp ZP_BYTE:26 [ printu::a#20 printu::a#8 printu::a#9 printu::a#10 printu::a#11 printu::a#12 printu::a#13 printu::a#14 printu::a#15 printu::a#16 printu::a#17 printu::a#0 printu::a#18 printu::a#19 printu::a#1 printu::a#2 printu::a#3 printu::a#4 printu::a#5 printu::a#6 printu::a#7 ]
Uplifting [printu] best 21781 combination zp ZP_BYTE:26 [ printu::a#20 printu::a#8 printu::a#9 printu::a#10 printu::a#11 printu::a#12 printu::a#13 printu::a#14 printu::a#15 printu::a#16 printu::a#17 printu::a#0 printu::a#18 printu::a#19 printu::a#1 printu::a#2 printu::a#3 printu::a#4 printu::a#5 printu::a#6 printu::a#7 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:29 [ printu::b#20 printu::b#8 printu::b#10 printu::b#11 printu::b#12 printu::b#14 printu::b#15 printu::b#16 printu::b#0 printu::b#18 printu::b#19 printu::b#2 printu::b#3 printu::b#4 printu::b#6 printu::b#7 ]
Uplifting [printu] best 21781 combination zp ZP_BYTE:29 [ printu::b#20 printu::b#8 printu::b#10 printu::b#11 printu::b#12 printu::b#14 printu::b#15 printu::b#16 printu::b#0 printu::b#18 printu::b#19 printu::b#2 printu::b#3 printu::b#4 printu::b#6 printu::b#7 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:3 [ main::i#10 main::i#1 ]
Uplifting [main] best 21781 combination zp ZP_BYTE:3 [ main::i#10 main::i#1 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:34 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ]
Uplifting [print_byte] best 21781 combination zp ZP_BYTE:34 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:2 [ main::a#10 main::a#1 ]
Uplifting [main] best 21781 combination zp ZP_BYTE:2 [ main::a#10 main::a#1 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:5 [ main::r#41 ]
Uplifting [main] best 21691 combination reg byte x [ main::r#41 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:9 [ main::r#45 ]
Uplifting [main] best 21601 combination reg byte x [ main::r#45 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:13 [ main::r#49 ]
Uplifting [main] best 21511 combination reg byte x [ main::r#49 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:17 [ main::r#53 ]
Uplifting [main] best 21421 combination reg byte x [ main::r#53 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:21 [ main::r#57 ]
Uplifting [main] best 21331 combination reg byte x [ main::r#57 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:41 [ print_byte::$2 ]
Uplifting [print_byte] best 21327 combination reg byte a [ print_byte::$2 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:4 [ main::r#40 ]
Uplifting [main] best 21237 combination reg byte x [ main::r#40 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:6 [ main::r#42 ]
Uplifting [main] best 21147 combination reg byte x [ main::r#42 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:7 [ main::r#43 ]
Uplifting [main] best 21057 combination reg byte x [ main::r#43 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:8 [ main::r#44 ]
Uplifting [main] best 20967 combination reg byte x [ main::r#44 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:10 [ main::r#46 ]
Uplifting [main] best 20877 combination reg byte x [ main::r#46 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:11 [ main::r#47 ]
Uplifting [main] best 20787 combination reg byte x [ main::r#47 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:12 [ main::r#48 ]
Uplifting [main] best 20697 combination reg byte x [ main::r#48 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:14 [ main::r#50 ]
Uplifting [main] best 20607 combination reg byte x [ main::r#50 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:15 [ main::r#51 ]
Uplifting [main] best 20517 combination reg byte x [ main::r#51 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:16 [ main::r#52 ]
Uplifting [main] best 20427 combination reg byte x [ main::r#52 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:18 [ main::r#54 ]
Uplifting [main] best 20337 combination reg byte x [ main::r#54 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:19 [ main::r#55 ]
Uplifting [main] best 20247 combination reg byte x [ main::r#55 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:20 [ main::r#56 ]
Uplifting [main] best 20157 combination reg byte x [ main::r#56 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:22 [ main::r#58 ]
Uplifting [main] best 20067 combination reg byte x [ main::r#58 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:23 [ main::r#59 ]
Uplifting [main] best 19977 combination reg byte x [ main::r#59 ] 
Attempting to uplift remaining variables inzp ZP_BYTE:39 [ main::b#0 ]
Uplifting [main] best 19977 combination zp ZP_BYTE:39 [ main::b#0 ] 
Coalescing zero page register with common assignment [ zp ZP_BYTE:2 [ main::a#10 main::a#1 ] ] with [ zp ZP_BYTE:26 [ printu::a#20 printu::a#8 printu::a#9 printu::a#10 printu::a#11 printu::a#12 printu::a#13 printu::a#14 printu::a#15 printu::a#16 printu::a#17 printu::a#0 printu::a#18 printu::a#19 printu::a#1 printu::a#2 printu::a#3 printu::a#4 printu::a#5 printu::a#6 printu::a#7 ] ] - score: 20
Coalescing zero page register with common assignment [ zp ZP_WORD:27 [ printu::op#20 ] ] with [ zp ZP_WORD:35 [ print_str::str#2 print_str::str#1 print_str::str#0 ] ] - score: 1
Coalescing zero page register [ zp ZP_WORD:24 [ print_line_cursor#13 print_line_cursor#25 print_line_cursor#27 print_line_cursor#1 ] ] with [ zp ZP_WORD:37 [ print_cls::sc#2 print_cls::sc#1 ] ]
Allocated (was zp ZP_WORD:24) zp ZP_WORD:4 [ print_line_cursor#13 print_line_cursor#25 print_line_cursor#27 print_line_cursor#1 print_cls::sc#2 print_cls::sc#1 ]
Allocated (was zp ZP_WORD:27) zp ZP_WORD:6 [ printu::op#20 print_str::str#2 print_str::str#1 print_str::str#0 ]
Allocated (was zp ZP_BYTE:29) zp ZP_BYTE:8 [ printu::b#20 printu::b#8 printu::b#10 printu::b#11 printu::b#12 printu::b#14 printu::b#15 printu::b#16 printu::b#0 printu::b#18 printu::b#19 printu::b#2 printu::b#3 printu::b#4 printu::b#6 printu::b#7 ]
Allocated (was zp ZP_WORD:32) zp ZP_WORD:9 [ print_char_cursor#54 print_char_cursor#94 print_char_cursor#95 print_char_cursor#143 print_char_cursor#55 print_char_cursor#147 print_char_cursor#151 print_char_cursor#120 print_char_cursor#142 print_char_cursor#159 print_char_cursor#2 print_char_cursor#1 ]
Allocated (was zp ZP_BYTE:34) zp ZP_BYTE:11 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ]
Allocated (was zp ZP_BYTE:39) zp ZP_BYTE:12 [ main::b#0 ]

ASSEMBLER BEFORE OPTIMIZATION
//SEG0 File Comments
//SEG1 Basic Upstart
.pc = $801 "Basic"
:BasicUpstart(bbegin)
.pc = $80d "Program"
//SEG2 Global Constants & labels
  .label print_char_cursor = 9
  .label print_line_cursor = 4
//SEG3 @begin
bbegin:
//SEG4 [1] phi from @begin to @21 [phi:@begin->@21]
b21_from_bbegin:
  jmp b21
//SEG5 @21
b21:
//SEG6 [2] call main 
//SEG7 [4] phi from @21 to main [phi:@21->main]
main_from_b21:
  jsr main
//SEG8 [3] phi from @21 to @end [phi:@21->@end]
bend_from_b21:
  jmp bend
//SEG9 @end
bend:
//SEG10 main
main: {
    .label b = $c
    .label a = 2
    .label i = 3
  //SEG11 [5] call print_cls 
  //SEG12 [199] phi from main to print_cls [phi:main->print_cls]
  print_cls_from_main:
    jsr print_cls
  //SEG13 [6] phi from main to main::@1 [phi:main->main::@1]
  b1_from_main:
  //SEG14 [6] phi (byte*) print_line_cursor#27 = ((byte*))(word/signed word/dword/signed dword) 1024 [phi:main->main::@1#0] -- pbuz1=pbuc1 
    lda #<$400
    sta print_line_cursor
    lda #>$400
    sta print_line_cursor+1
  //SEG15 [6] phi (byte) main::i#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->main::@1#1] -- vbuz1=vbuc1 
    lda #0
    sta i
  //SEG16 [6] phi (byte*) print_char_cursor#120 = ((byte*))(word/signed word/dword/signed dword) 1024 [phi:main->main::@1#2] -- pbuz1=pbuc1 
    lda #<$400
    sta print_char_cursor
    lda #>$400
    sta print_char_cursor+1
  //SEG17 [6] phi (byte) main::a#10 = (byte/signed byte/word/signed word/dword/signed dword) 7 [phi:main->main::@1#3] -- vbuz1=vbuc1 
    lda #7
    sta a
    jmp b1
  //SEG18 main::@1
  b1:
  //SEG19 [7] (byte) main::b#0 ← (byte/word/signed word/dword/signed dword) 206 - (byte) main::a#10 -- vbuz1=vbuc1_minus_vbuz2 
    lda #$ce
    sec
    sbc a
    sta b
  //SEG20 [8] if((byte) main::a#10>=(byte) main::b#0) goto main::@2 -- vbuz1_ge_vbuz2_then_la1 
    lda a
    cmp b
    bcs b2_from_b1
  //SEG21 [9] phi from main::@1 to main::@23 [phi:main::@1->main::@23]
  b23_from_b1:
    jmp b23
  //SEG22 main::@23
  b23:
  //SEG23 [10] phi from main::@23 to main::@2 [phi:main::@23->main::@2]
  b2_from_b23:
  //SEG24 [10] phi (byte) main::r#40 = (byte) '+' [phi:main::@23->main::@2#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp b2
  //SEG25 [10] phi from main::@1 to main::@2 [phi:main::@1->main::@2]
  b2_from_b1:
  //SEG26 [10] phi (byte) main::r#40 = (byte) '-' [phi:main::@1->main::@2#0] -- vbuxx=vbuc1 
    ldx #'-'
    jmp b2
  //SEG27 main::@2
  b2:
  //SEG28 [11] (byte) printu::a#0 ← (byte) main::a#10
  //SEG29 [12] (byte) printu::b#0 ← (byte) main::b#0 -- vbuz1=vbuz2 
    lda b
    sta printu.b
  //SEG30 [13] (byte) printu::res#0 ← (byte) main::r#40
  //SEG31 [14] call printu 
  //SEG32 [167] phi from main::@2 to printu [phi:main::@2->printu]
  printu_from_b2:
  //SEG33 [167] phi (byte) printu::res#20 = (byte) printu::res#0 [phi:main::@2->printu#0] -- register_copy 
  //SEG34 [167] phi (byte) printu::b#20 = (byte) printu::b#0 [phi:main::@2->printu#1] -- register_copy 
  //SEG35 [167] phi (byte[]) printu::op#20 = (const string) main::op [phi:main::@2->printu#2] -- pbuz1=pbuc1 
    lda #<op
    sta printu.op
    lda #>op
    sta printu.op+1
  //SEG36 [167] phi (byte) printu::a#20 = (byte) printu::a#0 [phi:main::@2->printu#3] -- register_copy 
  //SEG37 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#120 [phi:main::@2->printu#4] -- register_copy 
    jsr printu
    jmp b46
  //SEG38 main::@46
  b46:
  //SEG39 [15] if((byte) main::a#10>=(byte/signed byte/word/signed word/dword/signed dword) 55) goto main::@3 -- vbuz1_ge_vbuc1_then_la1 
    lda a
    cmp #$37
    bcs b3_from_b46
  //SEG40 [16] phi from main::@46 to main::@24 [phi:main::@46->main::@24]
  b24_from_b46:
    jmp b24
  //SEG41 main::@24
  b24:
  //SEG42 [17] phi from main::@24 to main::@3 [phi:main::@24->main::@3]
  b3_from_b24:
  //SEG43 [17] phi (byte) main::r#41 = (byte) '+' [phi:main::@24->main::@3#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp b3
  //SEG44 [17] phi from main::@46 to main::@3 [phi:main::@46->main::@3]
  b3_from_b46:
  //SEG45 [17] phi (byte) main::r#41 = (byte) '-' [phi:main::@46->main::@3#0] -- vbuxx=vbuc1 
    ldx #'-'
    jmp b3
  //SEG46 main::@3
  b3:
  //SEG47 [18] (byte) printu::a#1 ← (byte) main::a#10
  //SEG48 [19] (byte) printu::res#1 ← (byte) main::r#41
  //SEG49 [20] call printu 
  //SEG50 [167] phi from main::@3 to printu [phi:main::@3->printu]
  printu_from_b3:
  //SEG51 [167] phi (byte) printu::res#20 = (byte) printu::res#1 [phi:main::@3->printu#0] -- register_copy 
  //SEG52 [167] phi (byte) printu::b#20 = (byte/signed byte/word/signed word/dword/signed dword) 55 [phi:main::@3->printu#1] -- vbuz1=vbuc1 
    lda #$37
    sta printu.b
  //SEG53 [167] phi (byte[]) printu::op#20 = (const string) main::op [phi:main::@3->printu#2] -- pbuz1=pbuc1 
    lda #<op
    sta printu.op
    lda #>op
    sta printu.op+1
  //SEG54 [167] phi (byte) printu::a#20 = (byte) printu::a#1 [phi:main::@3->printu#3] -- register_copy 
  //SEG55 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@3->printu#4] -- register_copy 
    jsr printu
    jmp b47
  //SEG56 main::@47
  b47:
  //SEG57 [21] if((byte) main::a#10>=*((const byte[5]) main::cs#0 + (byte) main::i#10)) goto main::@4 -- vbuz1_ge_pbuc1_derefidx_vbuz2_then_la1 
    lda a
    ldy i
    cmp cs,y
    bcs b4_from_b47
  //SEG58 [22] phi from main::@47 to main::@25 [phi:main::@47->main::@25]
  b25_from_b47:
    jmp b25
  //SEG59 main::@25
  b25:
  //SEG60 [23] phi from main::@25 to main::@4 [phi:main::@25->main::@4]
  b4_from_b25:
  //SEG61 [23] phi (byte) main::r#42 = (byte) '+' [phi:main::@25->main::@4#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp b4
  //SEG62 [23] phi from main::@47 to main::@4 [phi:main::@47->main::@4]
  b4_from_b47:
  //SEG63 [23] phi (byte) main::r#42 = (byte) '-' [phi:main::@47->main::@4#0] -- vbuxx=vbuc1 
    ldx #'-'
    jmp b4
  //SEG64 main::@4
  b4:
  //SEG65 [24] (byte) printu::a#2 ← (byte) main::a#10
  //SEG66 [25] (byte) printu::b#2 ← *((const byte[5]) main::cs#0 + (byte) main::i#10) -- vbuz1=pbuc1_derefidx_vbuz2 
    ldy i
    lda cs,y
    sta printu.b
  //SEG67 [26] (byte) printu::res#2 ← (byte) main::r#42
  //SEG68 [27] call printu 
  //SEG69 [167] phi from main::@4 to printu [phi:main::@4->printu]
  printu_from_b4:
  //SEG70 [167] phi (byte) printu::res#20 = (byte) printu::res#2 [phi:main::@4->printu#0] -- register_copy 
  //SEG71 [167] phi (byte) printu::b#20 = (byte) printu::b#2 [phi:main::@4->printu#1] -- register_copy 
  //SEG72 [167] phi (byte[]) printu::op#20 = (const string) main::op [phi:main::@4->printu#2] -- pbuz1=pbuc1 
    lda #<op
    sta printu.op
    lda #>op
    sta printu.op+1
  //SEG73 [167] phi (byte) printu::a#20 = (byte) printu::a#2 [phi:main::@4->printu#3] -- register_copy 
  //SEG74 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@4->printu#4] -- register_copy 
    jsr printu
    jmp b48
  //SEG75 main::@48
  b48:
  //SEG76 [28] if((byte) main::a#10>=(byte) main::a#10) goto main::@5 -- vbuz1_ge_vbuz1_then_la1 
    lda a
    cmp a
    bcs b5_from_b48
  //SEG77 [29] phi from main::@48 to main::@26 [phi:main::@48->main::@26]
  b26_from_b48:
    jmp b26
  //SEG78 main::@26
  b26:
  //SEG79 [30] phi from main::@26 to main::@5 [phi:main::@26->main::@5]
  b5_from_b26:
  //SEG80 [30] phi (byte) main::r#43 = (byte) '+' [phi:main::@26->main::@5#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp b5
  //SEG81 [30] phi from main::@48 to main::@5 [phi:main::@48->main::@5]
  b5_from_b48:
  //SEG82 [30] phi (byte) main::r#43 = (byte) '-' [phi:main::@48->main::@5#0] -- vbuxx=vbuc1 
    ldx #'-'
    jmp b5
  //SEG83 main::@5
  b5:
  //SEG84 [31] (byte) printu::a#3 ← (byte) main::a#10
  //SEG85 [32] (byte) printu::b#3 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda a
    sta printu.b
  //SEG86 [33] (byte) printu::res#3 ← (byte) main::r#43
  //SEG87 [34] call printu 
  //SEG88 [167] phi from main::@5 to printu [phi:main::@5->printu]
  printu_from_b5:
  //SEG89 [167] phi (byte) printu::res#20 = (byte) printu::res#3 [phi:main::@5->printu#0] -- register_copy 
  //SEG90 [167] phi (byte) printu::b#20 = (byte) printu::b#3 [phi:main::@5->printu#1] -- register_copy 
  //SEG91 [167] phi (byte[]) printu::op#20 = (const string) main::op [phi:main::@5->printu#2] -- pbuz1=pbuc1 
    lda #<op
    sta printu.op
    lda #>op
    sta printu.op+1
  //SEG92 [167] phi (byte) printu::a#20 = (byte) printu::a#3 [phi:main::@5->printu#3] -- register_copy 
  //SEG93 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@5->printu#4] -- register_copy 
    jsr printu
  //SEG94 [35] phi from main::@5 to main::@49 [phi:main::@5->main::@49]
  b49_from_b5:
    jmp b49
  //SEG95 main::@49
  b49:
  //SEG96 [36] call print_ln 
  //SEG97 [162] phi from main::@49 to print_ln [phi:main::@49->print_ln]
  print_ln_from_b49:
  //SEG98 [162] phi (byte*) print_line_cursor#25 = (byte*) print_line_cursor#27 [phi:main::@49->print_ln#0] -- register_copy 
    jsr print_ln
    jmp b50
  //SEG99 main::@50
  b50:
  //SEG100 [37] if((byte) main::a#10<=(byte) main::b#0) goto main::@6 -- vbuz1_le_vbuz2_then_la1 
    lda b
    cmp a
    bcs b6_from_b50
  //SEG101 [38] phi from main::@50 to main::@27 [phi:main::@50->main::@27]
  b27_from_b50:
    jmp b27
  //SEG102 main::@27
  b27:
  //SEG103 [39] phi from main::@27 to main::@6 [phi:main::@27->main::@6]
  b6_from_b27:
  //SEG104 [39] phi (byte) main::r#44 = (byte) '+' [phi:main::@27->main::@6#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp b6
  //SEG105 [39] phi from main::@50 to main::@6 [phi:main::@50->main::@6]
  b6_from_b50:
  //SEG106 [39] phi (byte) main::r#44 = (byte) '-' [phi:main::@50->main::@6#0] -- vbuxx=vbuc1 
    ldx #'-'
    jmp b6
  //SEG107 main::@6
  b6:
  //SEG108 [40] (byte) printu::a#4 ← (byte) main::a#10
  //SEG109 [41] (byte) printu::b#4 ← (byte) main::b#0 -- vbuz1=vbuz2 
    lda b
    sta printu.b
  //SEG110 [42] (byte) printu::res#4 ← (byte) main::r#44
  //SEG111 [43] (byte*~) print_char_cursor#159 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 
    lda print_line_cursor
    sta print_char_cursor
    lda print_line_cursor+1
    sta print_char_cursor+1
  //SEG112 [44] call printu 
  //SEG113 [167] phi from main::@6 to printu [phi:main::@6->printu]
  printu_from_b6:
  //SEG114 [167] phi (byte) printu::res#20 = (byte) printu::res#4 [phi:main::@6->printu#0] -- register_copy 
  //SEG115 [167] phi (byte) printu::b#20 = (byte) printu::b#4 [phi:main::@6->printu#1] -- register_copy 
  //SEG116 [167] phi (byte[]) printu::op#20 = (const string) main::op4 [phi:main::@6->printu#2] -- pbuz1=pbuc1 
    lda #<op4
    sta printu.op
    lda #>op4
    sta printu.op+1
  //SEG117 [167] phi (byte) printu::a#20 = (byte) printu::a#4 [phi:main::@6->printu#3] -- register_copy 
  //SEG118 [167] phi (byte*) print_char_cursor#95 = (byte*~) print_char_cursor#159 [phi:main::@6->printu#4] -- register_copy 
    jsr printu
    jmp b51
  //SEG119 main::@51
  b51:
  //SEG120 [45] if((byte) main::a#10<=(byte/signed byte/word/signed word/dword/signed dword) 55) goto main::@7 -- vbuz1_le_vbuc1_then_la1 
    lda #$37
    cmp a
    bcs b7_from_b51
  //SEG121 [46] phi from main::@51 to main::@28 [phi:main::@51->main::@28]
  b28_from_b51:
    jmp b28
  //SEG122 main::@28
  b28:
  //SEG123 [47] phi from main::@28 to main::@7 [phi:main::@28->main::@7]
  b7_from_b28:
  //SEG124 [47] phi (byte) main::r#45 = (byte) '+' [phi:main::@28->main::@7#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp b7
  //SEG125 [47] phi from main::@51 to main::@7 [phi:main::@51->main::@7]
  b7_from_b51:
  //SEG126 [47] phi (byte) main::r#45 = (byte) '-' [phi:main::@51->main::@7#0] -- vbuxx=vbuc1 
    ldx #'-'
    jmp b7
  //SEG127 main::@7
  b7:
  //SEG128 [48] (byte) printu::a#5 ← (byte) main::a#10
  //SEG129 [49] (byte) printu::res#5 ← (byte) main::r#45
  //SEG130 [50] call printu 
  //SEG131 [167] phi from main::@7 to printu [phi:main::@7->printu]
  printu_from_b7:
  //SEG132 [167] phi (byte) printu::res#20 = (byte) printu::res#5 [phi:main::@7->printu#0] -- register_copy 
  //SEG133 [167] phi (byte) printu::b#20 = (byte/signed byte/word/signed word/dword/signed dword) 55 [phi:main::@7->printu#1] -- vbuz1=vbuc1 
    lda #$37
    sta printu.b
  //SEG134 [167] phi (byte[]) printu::op#20 = (const string) main::op4 [phi:main::@7->printu#2] -- pbuz1=pbuc1 
    lda #<op4
    sta printu.op
    lda #>op4
    sta printu.op+1
  //SEG135 [167] phi (byte) printu::a#20 = (byte) printu::a#5 [phi:main::@7->printu#3] -- register_copy 
  //SEG136 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@7->printu#4] -- register_copy 
    jsr printu
    jmp b52
  //SEG137 main::@52
  b52:
  //SEG138 [51] if((byte) main::a#10<=*((const byte[5]) main::cs#0 + (byte) main::i#10)) goto main::@8 -- vbuz1_le_pbuc1_derefidx_vbuz2_then_la1 
    ldy i
    lda cs,y
    cmp a
    bcs b8_from_b52
  //SEG139 [52] phi from main::@52 to main::@29 [phi:main::@52->main::@29]
  b29_from_b52:
    jmp b29
  //SEG140 main::@29
  b29:
  //SEG141 [53] phi from main::@29 to main::@8 [phi:main::@29->main::@8]
  b8_from_b29:
  //SEG142 [53] phi (byte) main::r#46 = (byte) '+' [phi:main::@29->main::@8#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp b8
  //SEG143 [53] phi from main::@52 to main::@8 [phi:main::@52->main::@8]
  b8_from_b52:
  //SEG144 [53] phi (byte) main::r#46 = (byte) '-' [phi:main::@52->main::@8#0] -- vbuxx=vbuc1 
    ldx #'-'
    jmp b8
  //SEG145 main::@8
  b8:
  //SEG146 [54] (byte) printu::a#6 ← (byte) main::a#10
  //SEG147 [55] (byte) printu::b#6 ← *((const byte[5]) main::cs#0 + (byte) main::i#10) -- vbuz1=pbuc1_derefidx_vbuz2 
    ldy i
    lda cs,y
    sta printu.b
  //SEG148 [56] (byte) printu::res#6 ← (byte) main::r#46
  //SEG149 [57] call printu 
  //SEG150 [167] phi from main::@8 to printu [phi:main::@8->printu]
  printu_from_b8:
  //SEG151 [167] phi (byte) printu::res#20 = (byte) printu::res#6 [phi:main::@8->printu#0] -- register_copy 
  //SEG152 [167] phi (byte) printu::b#20 = (byte) printu::b#6 [phi:main::@8->printu#1] -- register_copy 
  //SEG153 [167] phi (byte[]) printu::op#20 = (const string) main::op4 [phi:main::@8->printu#2] -- pbuz1=pbuc1 
    lda #<op4
    sta printu.op
    lda #>op4
    sta printu.op+1
  //SEG154 [167] phi (byte) printu::a#20 = (byte) printu::a#6 [phi:main::@8->printu#3] -- register_copy 
  //SEG155 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@8->printu#4] -- register_copy 
    jsr printu
    jmp b53
  //SEG156 main::@53
  b53:
  //SEG157 [58] if((byte) main::a#10<=(byte) main::a#10) goto main::@9 -- vbuz1_le_vbuz1_then_la1 
    lda a
    cmp a
    bcs b9_from_b53
  //SEG158 [59] phi from main::@53 to main::@30 [phi:main::@53->main::@30]
  b30_from_b53:
    jmp b30
  //SEG159 main::@30
  b30:
  //SEG160 [60] phi from main::@30 to main::@9 [phi:main::@30->main::@9]
  b9_from_b30:
  //SEG161 [60] phi (byte) main::r#47 = (byte) '+' [phi:main::@30->main::@9#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp b9
  //SEG162 [60] phi from main::@53 to main::@9 [phi:main::@53->main::@9]
  b9_from_b53:
  //SEG163 [60] phi (byte) main::r#47 = (byte) '-' [phi:main::@53->main::@9#0] -- vbuxx=vbuc1 
    ldx #'-'
    jmp b9
  //SEG164 main::@9
  b9:
  //SEG165 [61] (byte) printu::a#7 ← (byte) main::a#10
  //SEG166 [62] (byte) printu::b#7 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda a
    sta printu.b
  //SEG167 [63] (byte) printu::res#7 ← (byte) main::r#47
  //SEG168 [64] call printu 
  //SEG169 [167] phi from main::@9 to printu [phi:main::@9->printu]
  printu_from_b9:
  //SEG170 [167] phi (byte) printu::res#20 = (byte) printu::res#7 [phi:main::@9->printu#0] -- register_copy 
  //SEG171 [167] phi (byte) printu::b#20 = (byte) printu::b#7 [phi:main::@9->printu#1] -- register_copy 
  //SEG172 [167] phi (byte[]) printu::op#20 = (const string) main::op4 [phi:main::@9->printu#2] -- pbuz1=pbuc1 
    lda #<op4
    sta printu.op
    lda #>op4
    sta printu.op+1
  //SEG173 [167] phi (byte) printu::a#20 = (byte) printu::a#7 [phi:main::@9->printu#3] -- register_copy 
  //SEG174 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@9->printu#4] -- register_copy 
    jsr printu
  //SEG175 [65] phi from main::@9 to main::@54 [phi:main::@9->main::@54]
  b54_from_b9:
    jmp b54
  //SEG176 main::@54
  b54:
  //SEG177 [66] call print_ln 
  //SEG178 [162] phi from main::@54 to print_ln [phi:main::@54->print_ln]
  print_ln_from_b54:
  //SEG179 [162] phi (byte*) print_line_cursor#25 = (byte*) print_line_cursor#1 [phi:main::@54->print_ln#0] -- register_copy 
    jsr print_ln
    jmp b55
  //SEG180 main::@55
  b55:
  //SEG181 [67] if((byte) main::a#10>(byte) main::b#0) goto main::@10 -- vbuz1_gt_vbuz2_then_la1 
    lda b
    cmp a
    bcc b10_from_b55
  //SEG182 [68] phi from main::@55 to main::@31 [phi:main::@55->main::@31]
  b31_from_b55:
    jmp b31
  //SEG183 main::@31
  b31:
  //SEG184 [69] phi from main::@31 to main::@10 [phi:main::@31->main::@10]
  b10_from_b31:
  //SEG185 [69] phi (byte) main::r#48 = (byte) '+' [phi:main::@31->main::@10#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp b10
  //SEG186 [69] phi from main::@55 to main::@10 [phi:main::@55->main::@10]
  b10_from_b55:
  //SEG187 [69] phi (byte) main::r#48 = (byte) '-' [phi:main::@55->main::@10#0] -- vbuxx=vbuc1 
    ldx #'-'
    jmp b10
  //SEG188 main::@10
  b10:
  //SEG189 [70] (byte) printu::a#8 ← (byte) main::a#10
  //SEG190 [71] (byte) printu::b#8 ← (byte) main::b#0 -- vbuz1=vbuz2 
    lda b
    sta printu.b
  //SEG191 [72] (byte) printu::res#8 ← (byte) main::r#48
  //SEG192 [73] (byte*~) print_char_cursor#143 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 
    lda print_line_cursor
    sta print_char_cursor
    lda print_line_cursor+1
    sta print_char_cursor+1
  //SEG193 [74] call printu 
  //SEG194 [167] phi from main::@10 to printu [phi:main::@10->printu]
  printu_from_b10:
  //SEG195 [167] phi (byte) printu::res#20 = (byte) printu::res#8 [phi:main::@10->printu#0] -- register_copy 
  //SEG196 [167] phi (byte) printu::b#20 = (byte) printu::b#8 [phi:main::@10->printu#1] -- register_copy 
  //SEG197 [167] phi (byte[]) printu::op#20 = (const string) main::op8 [phi:main::@10->printu#2] -- pbuz1=pbuc1 
    lda #<op8
    sta printu.op
    lda #>op8
    sta printu.op+1
  //SEG198 [167] phi (byte) printu::a#20 = (byte) printu::a#8 [phi:main::@10->printu#3] -- register_copy 
  //SEG199 [167] phi (byte*) print_char_cursor#95 = (byte*~) print_char_cursor#143 [phi:main::@10->printu#4] -- register_copy 
    jsr printu
    jmp b56
  //SEG200 main::@56
  b56:
  //SEG201 [75] if((byte) main::a#10>(byte/signed byte/word/signed word/dword/signed dword) 55) goto main::@11 -- vbuz1_gt_vbuc1_then_la1 
    lda a
    cmp #$37
    beq !+
    bcs b11_from_b56
  !:
  //SEG202 [76] phi from main::@56 to main::@32 [phi:main::@56->main::@32]
  b32_from_b56:
    jmp b32
  //SEG203 main::@32
  b32:
  //SEG204 [77] phi from main::@32 to main::@11 [phi:main::@32->main::@11]
  b11_from_b32:
  //SEG205 [77] phi (byte) main::r#49 = (byte) '+' [phi:main::@32->main::@11#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp b11
  //SEG206 [77] phi from main::@56 to main::@11 [phi:main::@56->main::@11]
  b11_from_b56:
  //SEG207 [77] phi (byte) main::r#49 = (byte) '-' [phi:main::@56->main::@11#0] -- vbuxx=vbuc1 
    ldx #'-'
    jmp b11
  //SEG208 main::@11
  b11:
  //SEG209 [78] (byte) printu::a#9 ← (byte) main::a#10
  //SEG210 [79] (byte) printu::res#9 ← (byte) main::r#49
  //SEG211 [80] call printu 
  //SEG212 [167] phi from main::@11 to printu [phi:main::@11->printu]
  printu_from_b11:
  //SEG213 [167] phi (byte) printu::res#20 = (byte) printu::res#9 [phi:main::@11->printu#0] -- register_copy 
  //SEG214 [167] phi (byte) printu::b#20 = (byte/signed byte/word/signed word/dword/signed dword) 55 [phi:main::@11->printu#1] -- vbuz1=vbuc1 
    lda #$37
    sta printu.b
  //SEG215 [167] phi (byte[]) printu::op#20 = (const string) main::op8 [phi:main::@11->printu#2] -- pbuz1=pbuc1 
    lda #<op8
    sta printu.op
    lda #>op8
    sta printu.op+1
  //SEG216 [167] phi (byte) printu::a#20 = (byte) printu::a#9 [phi:main::@11->printu#3] -- register_copy 
  //SEG217 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@11->printu#4] -- register_copy 
    jsr printu
    jmp b57
  //SEG218 main::@57
  b57:
  //SEG219 [81] if((byte) main::a#10>*((const byte[5]) main::cs#0 + (byte) main::i#10)) goto main::@12 -- vbuz1_gt_pbuc1_derefidx_vbuz2_then_la1 
    ldy i
    lda cs,y
    cmp a
    bcc b12_from_b57
  //SEG220 [82] phi from main::@57 to main::@33 [phi:main::@57->main::@33]
  b33_from_b57:
    jmp b33
  //SEG221 main::@33
  b33:
  //SEG222 [83] phi from main::@33 to main::@12 [phi:main::@33->main::@12]
  b12_from_b33:
  //SEG223 [83] phi (byte) main::r#50 = (byte) '+' [phi:main::@33->main::@12#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp b12
  //SEG224 [83] phi from main::@57 to main::@12 [phi:main::@57->main::@12]
  b12_from_b57:
  //SEG225 [83] phi (byte) main::r#50 = (byte) '-' [phi:main::@57->main::@12#0] -- vbuxx=vbuc1 
    ldx #'-'
    jmp b12
  //SEG226 main::@12
  b12:
  //SEG227 [84] (byte) printu::a#10 ← (byte) main::a#10
  //SEG228 [85] (byte) printu::b#10 ← *((const byte[5]) main::cs#0 + (byte) main::i#10) -- vbuz1=pbuc1_derefidx_vbuz2 
    ldy i
    lda cs,y
    sta printu.b
  //SEG229 [86] (byte) printu::res#10 ← (byte) main::r#50
  //SEG230 [87] call printu 
  //SEG231 [167] phi from main::@12 to printu [phi:main::@12->printu]
  printu_from_b12:
  //SEG232 [167] phi (byte) printu::res#20 = (byte) printu::res#10 [phi:main::@12->printu#0] -- register_copy 
  //SEG233 [167] phi (byte) printu::b#20 = (byte) printu::b#10 [phi:main::@12->printu#1] -- register_copy 
  //SEG234 [167] phi (byte[]) printu::op#20 = (const string) main::op8 [phi:main::@12->printu#2] -- pbuz1=pbuc1 
    lda #<op8
    sta printu.op
    lda #>op8
    sta printu.op+1
  //SEG235 [167] phi (byte) printu::a#20 = (byte) printu::a#10 [phi:main::@12->printu#3] -- register_copy 
  //SEG236 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@12->printu#4] -- register_copy 
    jsr printu
    jmp b58
  //SEG237 main::@58
  b58:
  //SEG238 [88] if((byte) main::a#10>(byte) main::a#10) goto main::@13 -- vbuz1_gt_vbuz1_then_la1 
    lda a
    cmp a
    bcc b13_from_b58
  //SEG239 [89] phi from main::@58 to main::@34 [phi:main::@58->main::@34]
  b34_from_b58:
    jmp b34
  //SEG240 main::@34
  b34:
  //SEG241 [90] phi from main::@34 to main::@13 [phi:main::@34->main::@13]
  b13_from_b34:
  //SEG242 [90] phi (byte) main::r#51 = (byte) '+' [phi:main::@34->main::@13#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp b13
  //SEG243 [90] phi from main::@58 to main::@13 [phi:main::@58->main::@13]
  b13_from_b58:
  //SEG244 [90] phi (byte) main::r#51 = (byte) '-' [phi:main::@58->main::@13#0] -- vbuxx=vbuc1 
    ldx #'-'
    jmp b13
  //SEG245 main::@13
  b13:
  //SEG246 [91] (byte) printu::a#11 ← (byte) main::a#10
  //SEG247 [92] (byte) printu::b#11 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda a
    sta printu.b
  //SEG248 [93] (byte) printu::res#11 ← (byte) main::r#51
  //SEG249 [94] call printu 
  //SEG250 [167] phi from main::@13 to printu [phi:main::@13->printu]
  printu_from_b13:
  //SEG251 [167] phi (byte) printu::res#20 = (byte) printu::res#11 [phi:main::@13->printu#0] -- register_copy 
  //SEG252 [167] phi (byte) printu::b#20 = (byte) printu::b#11 [phi:main::@13->printu#1] -- register_copy 
  //SEG253 [167] phi (byte[]) printu::op#20 = (const string) main::op8 [phi:main::@13->printu#2] -- pbuz1=pbuc1 
    lda #<op8
    sta printu.op
    lda #>op8
    sta printu.op+1
  //SEG254 [167] phi (byte) printu::a#20 = (byte) printu::a#11 [phi:main::@13->printu#3] -- register_copy 
  //SEG255 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@13->printu#4] -- register_copy 
    jsr printu
  //SEG256 [95] phi from main::@13 to main::@59 [phi:main::@13->main::@59]
  b59_from_b13:
    jmp b59
  //SEG257 main::@59
  b59:
  //SEG258 [96] call print_ln 
  //SEG259 [162] phi from main::@59 to print_ln [phi:main::@59->print_ln]
  print_ln_from_b59:
  //SEG260 [162] phi (byte*) print_line_cursor#25 = (byte*) print_line_cursor#1 [phi:main::@59->print_ln#0] -- register_copy 
    jsr print_ln
    jmp b60
  //SEG261 main::@60
  b60:
  //SEG262 [97] if((byte) main::a#10<(byte) main::b#0) goto main::@14 -- vbuz1_lt_vbuz2_then_la1 
    lda a
    cmp b
    bcc b14_from_b60
  //SEG263 [98] phi from main::@60 to main::@35 [phi:main::@60->main::@35]
  b35_from_b60:
    jmp b35
  //SEG264 main::@35
  b35:
  //SEG265 [99] phi from main::@35 to main::@14 [phi:main::@35->main::@14]
  b14_from_b35:
  //SEG266 [99] phi (byte) main::r#52 = (byte) '+' [phi:main::@35->main::@14#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp b14
  //SEG267 [99] phi from main::@60 to main::@14 [phi:main::@60->main::@14]
  b14_from_b60:
  //SEG268 [99] phi (byte) main::r#52 = (byte) '-' [phi:main::@60->main::@14#0] -- vbuxx=vbuc1 
    ldx #'-'
    jmp b14
  //SEG269 main::@14
  b14:
  //SEG270 [100] (byte) printu::a#12 ← (byte) main::a#10
  //SEG271 [101] (byte) printu::b#12 ← (byte) main::b#0 -- vbuz1=vbuz2 
    lda b
    sta printu.b
  //SEG272 [102] (byte) printu::res#12 ← (byte) main::r#52
  //SEG273 [103] (byte*~) print_char_cursor#147 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 
    lda print_line_cursor
    sta print_char_cursor
    lda print_line_cursor+1
    sta print_char_cursor+1
  //SEG274 [104] call printu 
  //SEG275 [167] phi from main::@14 to printu [phi:main::@14->printu]
  printu_from_b14:
  //SEG276 [167] phi (byte) printu::res#20 = (byte) printu::res#12 [phi:main::@14->printu#0] -- register_copy 
  //SEG277 [167] phi (byte) printu::b#20 = (byte) printu::b#12 [phi:main::@14->printu#1] -- register_copy 
  //SEG278 [167] phi (byte[]) printu::op#20 = (const string) main::op12 [phi:main::@14->printu#2] -- pbuz1=pbuc1 
    lda #<op12
    sta printu.op
    lda #>op12
    sta printu.op+1
  //SEG279 [167] phi (byte) printu::a#20 = (byte) printu::a#12 [phi:main::@14->printu#3] -- register_copy 
  //SEG280 [167] phi (byte*) print_char_cursor#95 = (byte*~) print_char_cursor#147 [phi:main::@14->printu#4] -- register_copy 
    jsr printu
    jmp b61
  //SEG281 main::@61
  b61:
  //SEG282 [105] if((byte) main::a#10<(byte/signed byte/word/signed word/dword/signed dword) 55) goto main::@15 -- vbuz1_lt_vbuc1_then_la1 
    lda a
    cmp #$37
    bcc b15_from_b61
  //SEG283 [106] phi from main::@61 to main::@36 [phi:main::@61->main::@36]
  b36_from_b61:
    jmp b36
  //SEG284 main::@36
  b36:
  //SEG285 [107] phi from main::@36 to main::@15 [phi:main::@36->main::@15]
  b15_from_b36:
  //SEG286 [107] phi (byte) main::r#53 = (byte) '+' [phi:main::@36->main::@15#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp b15
  //SEG287 [107] phi from main::@61 to main::@15 [phi:main::@61->main::@15]
  b15_from_b61:
  //SEG288 [107] phi (byte) main::r#53 = (byte) '-' [phi:main::@61->main::@15#0] -- vbuxx=vbuc1 
    ldx #'-'
    jmp b15
  //SEG289 main::@15
  b15:
  //SEG290 [108] (byte) printu::a#13 ← (byte) main::a#10
  //SEG291 [109] (byte) printu::res#13 ← (byte) main::r#53
  //SEG292 [110] call printu 
  //SEG293 [167] phi from main::@15 to printu [phi:main::@15->printu]
  printu_from_b15:
  //SEG294 [167] phi (byte) printu::res#20 = (byte) printu::res#13 [phi:main::@15->printu#0] -- register_copy 
  //SEG295 [167] phi (byte) printu::b#20 = (byte/signed byte/word/signed word/dword/signed dword) 55 [phi:main::@15->printu#1] -- vbuz1=vbuc1 
    lda #$37
    sta printu.b
  //SEG296 [167] phi (byte[]) printu::op#20 = (const string) main::op12 [phi:main::@15->printu#2] -- pbuz1=pbuc1 
    lda #<op12
    sta printu.op
    lda #>op12
    sta printu.op+1
  //SEG297 [167] phi (byte) printu::a#20 = (byte) printu::a#13 [phi:main::@15->printu#3] -- register_copy 
  //SEG298 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@15->printu#4] -- register_copy 
    jsr printu
    jmp b62
  //SEG299 main::@62
  b62:
  //SEG300 [111] if((byte) main::a#10<*((const byte[5]) main::cs#0 + (byte) main::i#10)) goto main::@16 -- vbuz1_lt_pbuc1_derefidx_vbuz2_then_la1 
    lda a
    ldy i
    cmp cs,y
    bcc b16_from_b62
  //SEG301 [112] phi from main::@62 to main::@37 [phi:main::@62->main::@37]
  b37_from_b62:
    jmp b37
  //SEG302 main::@37
  b37:
  //SEG303 [113] phi from main::@37 to main::@16 [phi:main::@37->main::@16]
  b16_from_b37:
  //SEG304 [113] phi (byte) main::r#54 = (byte) '+' [phi:main::@37->main::@16#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp b16
  //SEG305 [113] phi from main::@62 to main::@16 [phi:main::@62->main::@16]
  b16_from_b62:
  //SEG306 [113] phi (byte) main::r#54 = (byte) '-' [phi:main::@62->main::@16#0] -- vbuxx=vbuc1 
    ldx #'-'
    jmp b16
  //SEG307 main::@16
  b16:
  //SEG308 [114] (byte) printu::a#14 ← (byte) main::a#10
  //SEG309 [115] (byte) printu::b#14 ← *((const byte[5]) main::cs#0 + (byte) main::i#10) -- vbuz1=pbuc1_derefidx_vbuz2 
    ldy i
    lda cs,y
    sta printu.b
  //SEG310 [116] (byte) printu::res#14 ← (byte) main::r#54
  //SEG311 [117] call printu 
  //SEG312 [167] phi from main::@16 to printu [phi:main::@16->printu]
  printu_from_b16:
  //SEG313 [167] phi (byte) printu::res#20 = (byte) printu::res#14 [phi:main::@16->printu#0] -- register_copy 
  //SEG314 [167] phi (byte) printu::b#20 = (byte) printu::b#14 [phi:main::@16->printu#1] -- register_copy 
  //SEG315 [167] phi (byte[]) printu::op#20 = (const string) main::op12 [phi:main::@16->printu#2] -- pbuz1=pbuc1 
    lda #<op12
    sta printu.op
    lda #>op12
    sta printu.op+1
  //SEG316 [167] phi (byte) printu::a#20 = (byte) printu::a#14 [phi:main::@16->printu#3] -- register_copy 
  //SEG317 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@16->printu#4] -- register_copy 
    jsr printu
    jmp b63
  //SEG318 main::@63
  b63:
  //SEG319 [118] if((byte) main::a#10<(byte) main::a#10) goto main::@17 -- vbuz1_lt_vbuz1_then_la1 
    lda a
    cmp a
    bcc b17_from_b63
  //SEG320 [119] phi from main::@63 to main::@38 [phi:main::@63->main::@38]
  b38_from_b63:
    jmp b38
  //SEG321 main::@38
  b38:
  //SEG322 [120] phi from main::@38 to main::@17 [phi:main::@38->main::@17]
  b17_from_b38:
  //SEG323 [120] phi (byte) main::r#55 = (byte) '+' [phi:main::@38->main::@17#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp b17
  //SEG324 [120] phi from main::@63 to main::@17 [phi:main::@63->main::@17]
  b17_from_b63:
  //SEG325 [120] phi (byte) main::r#55 = (byte) '-' [phi:main::@63->main::@17#0] -- vbuxx=vbuc1 
    ldx #'-'
    jmp b17
  //SEG326 main::@17
  b17:
  //SEG327 [121] (byte) printu::a#15 ← (byte) main::a#10
  //SEG328 [122] (byte) printu::b#15 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda a
    sta printu.b
  //SEG329 [123] (byte) printu::res#15 ← (byte) main::r#55
  //SEG330 [124] call printu 
  //SEG331 [167] phi from main::@17 to printu [phi:main::@17->printu]
  printu_from_b17:
  //SEG332 [167] phi (byte) printu::res#20 = (byte) printu::res#15 [phi:main::@17->printu#0] -- register_copy 
  //SEG333 [167] phi (byte) printu::b#20 = (byte) printu::b#15 [phi:main::@17->printu#1] -- register_copy 
  //SEG334 [167] phi (byte[]) printu::op#20 = (const string) main::op12 [phi:main::@17->printu#2] -- pbuz1=pbuc1 
    lda #<op12
    sta printu.op
    lda #>op12
    sta printu.op+1
  //SEG335 [167] phi (byte) printu::a#20 = (byte) printu::a#15 [phi:main::@17->printu#3] -- register_copy 
  //SEG336 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@17->printu#4] -- register_copy 
    jsr printu
  //SEG337 [125] phi from main::@17 to main::@64 [phi:main::@17->main::@64]
  b64_from_b17:
    jmp b64
  //SEG338 main::@64
  b64:
  //SEG339 [126] call print_ln 
  //SEG340 [162] phi from main::@64 to print_ln [phi:main::@64->print_ln]
  print_ln_from_b64:
  //SEG341 [162] phi (byte*) print_line_cursor#25 = (byte*) print_line_cursor#1 [phi:main::@64->print_ln#0] -- register_copy 
    jsr print_ln
    jmp b65
  //SEG342 main::@65
  b65:
  //SEG343 [127] if((byte) main::a#10!=(byte) main::b#0) goto main::@18 -- vbuz1_neq_vbuz2_then_la1 
    lda a
    cmp b
    bne b18_from_b65
  //SEG344 [128] phi from main::@65 to main::@39 [phi:main::@65->main::@39]
  b39_from_b65:
    jmp b39
  //SEG345 main::@39
  b39:
  //SEG346 [129] phi from main::@39 to main::@18 [phi:main::@39->main::@18]
  b18_from_b39:
  //SEG347 [129] phi (byte) main::r#56 = (byte) '+' [phi:main::@39->main::@18#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp b18
  //SEG348 [129] phi from main::@65 to main::@18 [phi:main::@65->main::@18]
  b18_from_b65:
  //SEG349 [129] phi (byte) main::r#56 = (byte) '-' [phi:main::@65->main::@18#0] -- vbuxx=vbuc1 
    ldx #'-'
    jmp b18
  //SEG350 main::@18
  b18:
  //SEG351 [130] (byte) printu::a#16 ← (byte) main::a#10
  //SEG352 [131] (byte) printu::b#16 ← (byte) main::b#0 -- vbuz1=vbuz2 
    lda b
    sta printu.b
  //SEG353 [132] (byte) printu::res#16 ← (byte) main::r#56
  //SEG354 [133] (byte*~) print_char_cursor#151 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 
    lda print_line_cursor
    sta print_char_cursor
    lda print_line_cursor+1
    sta print_char_cursor+1
  //SEG355 [134] call printu 
  //SEG356 [167] phi from main::@18 to printu [phi:main::@18->printu]
  printu_from_b18:
  //SEG357 [167] phi (byte) printu::res#20 = (byte) printu::res#16 [phi:main::@18->printu#0] -- register_copy 
  //SEG358 [167] phi (byte) printu::b#20 = (byte) printu::b#16 [phi:main::@18->printu#1] -- register_copy 
  //SEG359 [167] phi (byte[]) printu::op#20 = (const string) main::op16 [phi:main::@18->printu#2] -- pbuz1=pbuc1 
    lda #<op16
    sta printu.op
    lda #>op16
    sta printu.op+1
  //SEG360 [167] phi (byte) printu::a#20 = (byte) printu::a#16 [phi:main::@18->printu#3] -- register_copy 
  //SEG361 [167] phi (byte*) print_char_cursor#95 = (byte*~) print_char_cursor#151 [phi:main::@18->printu#4] -- register_copy 
    jsr printu
    jmp b66
  //SEG362 main::@66
  b66:
  //SEG363 [135] if((byte) main::a#10!=(byte/signed byte/word/signed word/dword/signed dword) 55) goto main::@19 -- vbuz1_neq_vbuc1_then_la1 
    lda a
    cmp #$37
    bne b19_from_b66
  //SEG364 [136] phi from main::@66 to main::@40 [phi:main::@66->main::@40]
  b40_from_b66:
    jmp b40
  //SEG365 main::@40
  b40:
  //SEG366 [137] phi from main::@40 to main::@19 [phi:main::@40->main::@19]
  b19_from_b40:
  //SEG367 [137] phi (byte) main::r#57 = (byte) '+' [phi:main::@40->main::@19#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp b19
  //SEG368 [137] phi from main::@66 to main::@19 [phi:main::@66->main::@19]
  b19_from_b66:
  //SEG369 [137] phi (byte) main::r#57 = (byte) '-' [phi:main::@66->main::@19#0] -- vbuxx=vbuc1 
    ldx #'-'
    jmp b19
  //SEG370 main::@19
  b19:
  //SEG371 [138] (byte) printu::a#17 ← (byte) main::a#10
  //SEG372 [139] (byte) printu::res#17 ← (byte) main::r#57
  //SEG373 [140] call printu 
  //SEG374 [167] phi from main::@19 to printu [phi:main::@19->printu]
  printu_from_b19:
  //SEG375 [167] phi (byte) printu::res#20 = (byte) printu::res#17 [phi:main::@19->printu#0] -- register_copy 
  //SEG376 [167] phi (byte) printu::b#20 = (byte/signed byte/word/signed word/dword/signed dword) 55 [phi:main::@19->printu#1] -- vbuz1=vbuc1 
    lda #$37
    sta printu.b
  //SEG377 [167] phi (byte[]) printu::op#20 = (const string) main::op16 [phi:main::@19->printu#2] -- pbuz1=pbuc1 
    lda #<op16
    sta printu.op
    lda #>op16
    sta printu.op+1
  //SEG378 [167] phi (byte) printu::a#20 = (byte) printu::a#17 [phi:main::@19->printu#3] -- register_copy 
  //SEG379 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@19->printu#4] -- register_copy 
    jsr printu
    jmp b67
  //SEG380 main::@67
  b67:
  //SEG381 [141] if((byte) main::a#10!=*((const byte[5]) main::cs#0 + (byte) main::i#10)) goto main::@20 -- vbuz1_neq_pbuc1_derefidx_vbuz2_then_la1 
    lda a
    ldy i
    cmp cs,y
    bne b20_from_b67
  //SEG382 [142] phi from main::@67 to main::@41 [phi:main::@67->main::@41]
  b41_from_b67:
    jmp b41
  //SEG383 main::@41
  b41:
  //SEG384 [143] phi from main::@41 to main::@20 [phi:main::@41->main::@20]
  b20_from_b41:
  //SEG385 [143] phi (byte) main::r#58 = (byte) '+' [phi:main::@41->main::@20#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp b20
  //SEG386 [143] phi from main::@67 to main::@20 [phi:main::@67->main::@20]
  b20_from_b67:
  //SEG387 [143] phi (byte) main::r#58 = (byte) '-' [phi:main::@67->main::@20#0] -- vbuxx=vbuc1 
    ldx #'-'
    jmp b20
  //SEG388 main::@20
  b20:
  //SEG389 [144] (byte) printu::a#18 ← (byte) main::a#10
  //SEG390 [145] (byte) printu::b#18 ← *((const byte[5]) main::cs#0 + (byte) main::i#10) -- vbuz1=pbuc1_derefidx_vbuz2 
    ldy i
    lda cs,y
    sta printu.b
  //SEG391 [146] (byte) printu::res#18 ← (byte) main::r#58
  //SEG392 [147] call printu 
  //SEG393 [167] phi from main::@20 to printu [phi:main::@20->printu]
  printu_from_b20:
  //SEG394 [167] phi (byte) printu::res#20 = (byte) printu::res#18 [phi:main::@20->printu#0] -- register_copy 
  //SEG395 [167] phi (byte) printu::b#20 = (byte) printu::b#18 [phi:main::@20->printu#1] -- register_copy 
  //SEG396 [167] phi (byte[]) printu::op#20 = (const string) main::op16 [phi:main::@20->printu#2] -- pbuz1=pbuc1 
    lda #<op16
    sta printu.op
    lda #>op16
    sta printu.op+1
  //SEG397 [167] phi (byte) printu::a#20 = (byte) printu::a#18 [phi:main::@20->printu#3] -- register_copy 
  //SEG398 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@20->printu#4] -- register_copy 
    jsr printu
    jmp b68
  //SEG399 main::@68
  b68:
  //SEG400 [148] if((byte) main::a#10!=(byte) main::a#10) goto main::@21 -- vbuz1_neq_vbuz1_then_la1 
    lda a
    cmp a
    bne b21_from_b68
  //SEG401 [149] phi from main::@68 to main::@42 [phi:main::@68->main::@42]
  b42_from_b68:
    jmp b42
  //SEG402 main::@42
  b42:
  //SEG403 [150] phi from main::@42 to main::@21 [phi:main::@42->main::@21]
  b21_from_b42:
  //SEG404 [150] phi (byte) main::r#59 = (byte) '+' [phi:main::@42->main::@21#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp b21
  //SEG405 [150] phi from main::@68 to main::@21 [phi:main::@68->main::@21]
  b21_from_b68:
  //SEG406 [150] phi (byte) main::r#59 = (byte) '-' [phi:main::@68->main::@21#0] -- vbuxx=vbuc1 
    ldx #'-'
    jmp b21
  //SEG407 main::@21
  b21:
  //SEG408 [151] (byte) printu::a#19 ← (byte) main::a#10
  //SEG409 [152] (byte) printu::b#19 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda a
    sta printu.b
  //SEG410 [153] (byte) printu::res#19 ← (byte) main::r#59
  //SEG411 [154] call printu 
  //SEG412 [167] phi from main::@21 to printu [phi:main::@21->printu]
  printu_from_b21:
  //SEG413 [167] phi (byte) printu::res#20 = (byte) printu::res#19 [phi:main::@21->printu#0] -- register_copy 
  //SEG414 [167] phi (byte) printu::b#20 = (byte) printu::b#19 [phi:main::@21->printu#1] -- register_copy 
  //SEG415 [167] phi (byte[]) printu::op#20 = (const string) main::op16 [phi:main::@21->printu#2] -- pbuz1=pbuc1 
    lda #<op16
    sta printu.op
    lda #>op16
    sta printu.op+1
  //SEG416 [167] phi (byte) printu::a#20 = (byte) printu::a#19 [phi:main::@21->printu#3] -- register_copy 
  //SEG417 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@21->printu#4] -- register_copy 
    jsr printu
  //SEG418 [155] phi from main::@21 to main::@69 [phi:main::@21->main::@69]
  b69_from_b21:
    jmp b69
  //SEG419 main::@69
  b69:
  //SEG420 [156] call print_ln 
  //SEG421 [162] phi from main::@69 to print_ln [phi:main::@69->print_ln]
  print_ln_from_b69:
  //SEG422 [162] phi (byte*) print_line_cursor#25 = (byte*) print_line_cursor#1 [phi:main::@69->print_ln#0] -- register_copy 
    jsr print_ln
    jmp b70
  //SEG423 main::@70
  b70:
  //SEG424 [157] (byte) main::a#1 ← (byte) main::a#10 + (byte/signed byte/word/signed word/dword/signed dword) 48 -- vbuz1=vbuz1_plus_vbuc1 
    lda #$30
    clc
    adc a
    sta a
  //SEG425 [158] (byte) main::i#1 ← ++ (byte) main::i#10 -- vbuz1=_inc_vbuz1 
    inc i
  //SEG426 [159] if((byte) main::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 5) goto main::@71 -- vbuz1_neq_vbuc1_then_la1 
    lda i
    cmp #5
    bne b71
  //SEG427 [160] phi from main::@22 main::@70 to main::@22 [phi:main::@22/main::@70->main::@22]
  b22_from_b22:
  b22_from_b70:
    jmp b22
  //SEG428 main::@22
  b22:
    jmp b22_from_b22
  //SEG429 main::@71
  b71:
  //SEG430 [161] (byte*~) print_char_cursor#142 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 
    lda print_line_cursor
    sta print_char_cursor
    lda print_line_cursor+1
    sta print_char_cursor+1
  //SEG431 [6] phi from main::@71 to main::@1 [phi:main::@71->main::@1]
  b1_from_b71:
  //SEG432 [6] phi (byte*) print_line_cursor#27 = (byte*) print_line_cursor#1 [phi:main::@71->main::@1#0] -- register_copy 
  //SEG433 [6] phi (byte) main::i#10 = (byte) main::i#1 [phi:main::@71->main::@1#1] -- register_copy 
  //SEG434 [6] phi (byte*) print_char_cursor#120 = (byte*~) print_char_cursor#142 [phi:main::@71->main::@1#2] -- register_copy 
  //SEG435 [6] phi (byte) main::a#10 = (byte) main::a#1 [phi:main::@71->main::@1#3] -- register_copy 
    jmp b1
    op: .text "< @"
    op4: .text "> @"
    op8: .text "<=@"
    op12: .text ">=@"
    op16: .text "==@"
    cs: .byte 7, $c7, $37, $97, $67
}
//SEG436 print_ln
// Print a newline
print_ln: {
  //SEG437 [163] 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:
  //SEG438 [163] phi (byte*) print_line_cursor#13 = (byte*) print_line_cursor#25 [phi:print_ln/print_ln::@1->print_ln::@1#0] -- register_copy 
    jmp b1
  //SEG439 print_ln::@1
  b1:
  //SEG440 [164] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#13 + (byte/signed byte/word/signed word/dword/signed dword) 40 -- pbuz1=pbuz1_plus_vbuc1 
    lda print_line_cursor
    clc
    adc #$28
    sta print_line_cursor
    bcc !+
    inc print_line_cursor+1
  !:
  //SEG441 [165] if((byte*) print_line_cursor#1<(byte*) print_char_cursor#55) goto print_ln::@1 -- pbuz1_lt_pbuz2_then_la1 
    lda print_line_cursor+1
    cmp print_char_cursor+1
    bcc b1_from_b1
    bne !+
    lda print_line_cursor
    cmp print_char_cursor
    bcc b1_from_b1
  !:
    jmp breturn
  //SEG442 print_ln::@return
  breturn:
  //SEG443 [166] return 
    rts
}
//SEG444 printu
// printu(byte zeropage(2) a, byte[] zeropage(6) op, byte zeropage(8) b, byte register(X) res)
printu: {
    .label a = 2
    .label b = 8
    .label op = 6
  //SEG445 [168] call print_char 
  //SEG446 [180] phi from printu to print_char [phi:printu->print_char]
  print_char_from_printu:
  //SEG447 [180] phi (byte*) print_char_cursor#54 = (byte*) print_char_cursor#95 [phi:printu->print_char#0] -- register_copy 
  //SEG448 [180] phi (byte) print_char::ch#5 = (byte) ' ' [phi:printu->print_char#1] -- vbuaa=vbuc1 
    lda #' '
    jsr print_char
    jmp b1
  //SEG449 printu::@1
  b1:
  //SEG450 [169] (byte) print_byte::b#0 ← (byte) printu::a#20 -- vbuz1=vbuz2 
    lda a
    sta print_byte.b
  //SEG451 [170] call print_byte 
  //SEG452 [184] phi from printu::@1 to print_byte [phi:printu::@1->print_byte]
  print_byte_from_b1:
  //SEG453 [184] phi (byte*) print_char_cursor#94 = (byte*) print_char_cursor#55 [phi:printu::@1->print_byte#0] -- register_copy 
  //SEG454 [184] phi (byte) print_byte::b#2 = (byte) print_byte::b#0 [phi:printu::@1->print_byte#1] -- register_copy 
    jsr print_byte
    jmp b2
  //SEG455 printu::@2
  b2:
  //SEG456 [171] (byte*) print_str::str#1 ← (byte[]) printu::op#20
  //SEG457 [172] call print_str 
  //SEG458 [192] phi from printu::@2 to print_str [phi:printu::@2->print_str]
  print_str_from_b2:
    jsr print_str
    jmp b3
  //SEG459 printu::@3
  b3:
  //SEG460 [173] (byte) print_byte::b#1 ← (byte) printu::b#20 -- vbuz1=vbuz2 
    lda b
    sta print_byte.b
  //SEG461 [174] call print_byte 
  //SEG462 [184] phi from printu::@3 to print_byte [phi:printu::@3->print_byte]
  print_byte_from_b3:
  //SEG463 [184] phi (byte*) print_char_cursor#94 = (byte*) print_char_cursor#2 [phi:printu::@3->print_byte#0] -- register_copy 
  //SEG464 [184] phi (byte) print_byte::b#2 = (byte) print_byte::b#1 [phi:printu::@3->print_byte#1] -- register_copy 
    jsr print_byte
  //SEG465 [175] phi from printu::@3 to printu::@4 [phi:printu::@3->printu::@4]
  b4_from_b3:
    jmp b4
  //SEG466 printu::@4
  b4:
  //SEG467 [176] call print_char 
  //SEG468 [180] phi from printu::@4 to print_char [phi:printu::@4->print_char]
  print_char_from_b4:
  //SEG469 [180] phi (byte*) print_char_cursor#54 = (byte*) print_char_cursor#55 [phi:printu::@4->print_char#0] -- register_copy 
  //SEG470 [180] phi (byte) print_char::ch#5 = (byte) ' ' [phi:printu::@4->print_char#1] -- vbuaa=vbuc1 
    lda #' '
    jsr print_char
    jmp b5
  //SEG471 printu::@5
  b5:
  //SEG472 [177] (byte) print_char::ch#4 ← (byte) printu::res#20 -- vbuaa=vbuxx 
    txa
  //SEG473 [178] call print_char 
  //SEG474 [180] phi from printu::@5 to print_char [phi:printu::@5->print_char]
  print_char_from_b5:
  //SEG475 [180] phi (byte*) print_char_cursor#54 = (byte*) print_char_cursor#55 [phi:printu::@5->print_char#0] -- register_copy 
  //SEG476 [180] phi (byte) print_char::ch#5 = (byte) print_char::ch#4 [phi:printu::@5->print_char#1] -- register_copy 
    jsr print_char
    jmp breturn
  //SEG477 printu::@return
  breturn:
  //SEG478 [179] return 
    rts
}
//SEG479 print_char
// Print a single char
// print_char(byte register(A) ch)
print_char: {
  //SEG480 [181] *((byte*) print_char_cursor#54) ← (byte) print_char::ch#5 -- _deref_pbuz1=vbuaa 
    ldy #0
    sta (print_char_cursor),y
  //SEG481 [182] (byte*) print_char_cursor#55 ← ++ (byte*) print_char_cursor#54 -- pbuz1=_inc_pbuz1 
    inc print_char_cursor
    bne !+
    inc print_char_cursor+1
  !:
    jmp breturn
  //SEG482 print_char::@return
  breturn:
  //SEG483 [183] return 
    rts
}
//SEG484 print_byte
// Print a byte as HEX
// print_byte(byte zeropage($b) b)
print_byte: {
    .label b = $b
  //SEG485 [185] (byte~) print_byte::$0 ← (byte) print_byte::b#2 >> (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuaa=vbuz1_ror_4 
    lda b
    lsr
    lsr
    lsr
    lsr
  //SEG486 [186] (byte) print_char::ch#0 ← *((const byte[]) print_hextab#0 + (byte~) print_byte::$0) -- vbuaa=pbuc1_derefidx_vbuaa 
    tay
    lda print_hextab,y
  //SEG487 [187] call print_char 
  //SEG488 [180] phi from print_byte to print_char [phi:print_byte->print_char]
  print_char_from_print_byte:
  //SEG489 [180] phi (byte*) print_char_cursor#54 = (byte*) print_char_cursor#94 [phi:print_byte->print_char#0] -- register_copy 
  //SEG490 [180] phi (byte) print_char::ch#5 = (byte) print_char::ch#0 [phi:print_byte->print_char#1] -- register_copy 
    jsr print_char
    jmp b1
  //SEG491 print_byte::@1
  b1:
  //SEG492 [188] (byte~) print_byte::$2 ← (byte) print_byte::b#2 & (byte/signed byte/word/signed word/dword/signed dword) 15 -- vbuaa=vbuz1_band_vbuc1 
    lda #$f
    and b
  //SEG493 [189] (byte) print_char::ch#1 ← *((const byte[]) print_hextab#0 + (byte~) print_byte::$2) -- vbuaa=pbuc1_derefidx_vbuaa 
    tay
    lda print_hextab,y
  //SEG494 [190] call print_char 
  //SEG495 [180] phi from print_byte::@1 to print_char [phi:print_byte::@1->print_char]
  print_char_from_b1:
  //SEG496 [180] phi (byte*) print_char_cursor#54 = (byte*) print_char_cursor#55 [phi:print_byte::@1->print_char#0] -- register_copy 
  //SEG497 [180] phi (byte) print_char::ch#5 = (byte) print_char::ch#1 [phi:print_byte::@1->print_char#1] -- register_copy 
    jsr print_char
    jmp breturn
  //SEG498 print_byte::@return
  breturn:
  //SEG499 [191] return 
    rts
}
//SEG500 print_str
// Print a zero-terminated string
// print_str(byte* zeropage(6) str)
print_str: {
    .label str = 6
  //SEG501 [193] phi from print_str print_str::@2 to print_str::@1 [phi:print_str/print_str::@2->print_str::@1]
  b1_from_print_str:
  b1_from_b2:
  //SEG502 [193] phi (byte*) print_char_cursor#2 = (byte*) print_char_cursor#55 [phi:print_str/print_str::@2->print_str::@1#0] -- register_copy 
  //SEG503 [193] phi (byte*) print_str::str#2 = (byte*) print_str::str#1 [phi:print_str/print_str::@2->print_str::@1#1] -- register_copy 
    jmp b1
  //SEG504 print_str::@1
  b1:
  //SEG505 [194] if(*((byte*) print_str::str#2)!=(byte) '@') goto print_str::@2 -- _deref_pbuz1_neq_vbuc1_then_la1 
    ldy #0
    lda (str),y
    cmp #'@'
    bne b2
    jmp breturn
  //SEG506 print_str::@return
  breturn:
  //SEG507 [195] return 
    rts
  //SEG508 print_str::@2
  b2:
  //SEG509 [196] *((byte*) print_char_cursor#2) ← *((byte*) print_str::str#2) -- _deref_pbuz1=_deref_pbuz2 
    ldy #0
    lda (str),y
    ldy #0
    sta (print_char_cursor),y
  //SEG510 [197] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#2 -- pbuz1=_inc_pbuz1 
    inc print_char_cursor
    bne !+
    inc print_char_cursor+1
  !:
  //SEG511 [198] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#2 -- pbuz1=_inc_pbuz1 
    inc str
    bne !+
    inc str+1
  !:
    jmp b1_from_b2
}
//SEG512 print_cls
// Clear the screen. Also resets current line/char cursor.
print_cls: {
    .label sc = 4
  //SEG513 [200] phi from print_cls to print_cls::@1 [phi:print_cls->print_cls::@1]
  b1_from_print_cls:
  //SEG514 [200] phi (byte*) print_cls::sc#2 = ((byte*))(word/signed word/dword/signed dword) 1024 [phi:print_cls->print_cls::@1#0] -- pbuz1=pbuc1 
    lda #<$400
    sta sc
    lda #>$400
    sta sc+1
    jmp b1
  //SEG515 [200] phi from print_cls::@1 to print_cls::@1 [phi:print_cls::@1->print_cls::@1]
  b1_from_b1:
  //SEG516 [200] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#1 [phi:print_cls::@1->print_cls::@1#0] -- register_copy 
    jmp b1
  //SEG517 print_cls::@1
  b1:
  //SEG518 [201] *((byte*) print_cls::sc#2) ← (byte) ' ' -- _deref_pbuz1=vbuc1 
    lda #' '
    ldy #0
    sta (sc),y
  //SEG519 [202] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 -- pbuz1=_inc_pbuz1 
    inc sc
    bne !+
    inc sc+1
  !:
  //SEG520 [203] if((byte*) print_cls::sc#1!=((byte*))(word/signed word/dword/signed dword) 1024+(word/signed word/dword/signed dword) 1000) goto print_cls::@1 -- pbuz1_neq_pbuc1_then_la1 
    lda sc+1
    cmp #>$400+$3e8
    bne b1_from_b1
    lda sc
    cmp #<$400+$3e8
    bne b1_from_b1
    jmp breturn
  //SEG521 print_cls::@return
  breturn:
  //SEG522 [204] return 
    rts
}
  print_hextab: .text "0123456789abcdef"

ASSEMBLER OPTIMIZATIONS
Removing instruction jmp b21
Removing instruction jmp bend
Removing instruction jmp b1
Removing instruction jmp b23
Removing instruction jmp b2
Removing instruction jmp b46
Removing instruction jmp b24
Removing instruction jmp b3
Removing instruction jmp b47
Removing instruction jmp b25
Removing instruction jmp b4
Removing instruction jmp b48
Removing instruction jmp b26
Removing instruction jmp b5
Removing instruction jmp b49
Removing instruction jmp b50
Removing instruction jmp b27
Removing instruction jmp b6
Removing instruction jmp b51
Removing instruction jmp b28
Removing instruction jmp b7
Removing instruction jmp b52
Removing instruction jmp b29
Removing instruction jmp b8
Removing instruction jmp b53
Removing instruction jmp b30
Removing instruction jmp b9
Removing instruction jmp b54
Removing instruction jmp b55
Removing instruction jmp b31
Removing instruction jmp b10
Removing instruction jmp b56
Removing instruction jmp b32
Removing instruction jmp b11
Removing instruction jmp b57
Removing instruction jmp b33
Removing instruction jmp b12
Removing instruction jmp b58
Removing instruction jmp b34
Removing instruction jmp b13
Removing instruction jmp b59
Removing instruction jmp b60
Removing instruction jmp b35
Removing instruction jmp b14
Removing instruction jmp b61
Removing instruction jmp b36
Removing instruction jmp b15
Removing instruction jmp b62
Removing instruction jmp b37
Removing instruction jmp b16
Removing instruction jmp b63
Removing instruction jmp b38
Removing instruction jmp b17
Removing instruction jmp b64
Removing instruction jmp b65
Removing instruction jmp b39
Removing instruction jmp b18
Removing instruction jmp b66
Removing instruction jmp b40
Removing instruction jmp b19
Removing instruction jmp b67
Removing instruction jmp b41
Removing instruction jmp b20
Removing instruction jmp b68
Removing instruction jmp b42
Removing instruction jmp b21
Removing instruction jmp b69
Removing instruction jmp b70
Removing instruction jmp b22
Removing instruction jmp b1
Removing instruction jmp breturn
Removing instruction jmp b1
Removing instruction jmp b2
Removing instruction jmp b3
Removing instruction jmp b4
Removing instruction jmp b5
Removing instruction jmp breturn
Removing instruction jmp 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
Succesful ASM optimization Pass5NextJumpElimination
Removing instruction ldy #0
Succesful ASM optimization Pass5UnnecesaryLoadElimination
Replacing label b22_from_b22 with b22
Replacing label b1_from_b1 with b1
Replacing label b1_from_b1 with b1
Replacing label b1_from_b2 with b1
Replacing label b1_from_b1 with b1
Replacing label b1_from_b1 with b1
Removing instruction b21_from_bbegin:
Removing instruction b21:
Removing instruction main_from_b21:
Removing instruction bend_from_b21:
Removing instruction b23_from_b1:
Removing instruction b2_from_b23:
Removing instruction b24_from_b46:
Removing instruction b3_from_b24:
Removing instruction printu_from_b3:
Removing instruction b25_from_b47:
Removing instruction b4_from_b25:
Removing instruction b26_from_b48:
Removing instruction b5_from_b26:
Removing instruction b49_from_b5:
Removing instruction print_ln_from_b49:
Removing instruction b27_from_b50:
Removing instruction b6_from_b27:
Removing instruction b28_from_b51:
Removing instruction b7_from_b28:
Removing instruction printu_from_b7:
Removing instruction b29_from_b52:
Removing instruction b8_from_b29:
Removing instruction b30_from_b53:
Removing instruction b9_from_b30:
Removing instruction b54_from_b9:
Removing instruction print_ln_from_b54:
Removing instruction b31_from_b55:
Removing instruction b10_from_b31:
Removing instruction b32_from_b56:
Removing instruction b11_from_b32:
Removing instruction printu_from_b11:
Removing instruction b33_from_b57:
Removing instruction b12_from_b33:
Removing instruction b34_from_b58:
Removing instruction b13_from_b34:
Removing instruction b59_from_b13:
Removing instruction print_ln_from_b59:
Removing instruction b35_from_b60:
Removing instruction b14_from_b35:
Removing instruction b36_from_b61:
Removing instruction b15_from_b36:
Removing instruction printu_from_b15:
Removing instruction b37_from_b62:
Removing instruction b16_from_b37:
Removing instruction b38_from_b63:
Removing instruction b17_from_b38:
Removing instruction b64_from_b17:
Removing instruction print_ln_from_b64:
Removing instruction b39_from_b65:
Removing instruction b18_from_b39:
Removing instruction b40_from_b66:
Removing instruction b19_from_b40:
Removing instruction printu_from_b19:
Removing instruction b41_from_b67:
Removing instruction b20_from_b41:
Removing instruction b42_from_b68:
Removing instruction b21_from_b42:
Removing instruction b69_from_b21:
Removing instruction print_ln_from_b69:
Removing instruction b22_from_b22:
Removing instruction b22_from_b70:
Removing instruction b1_from_print_ln:
Removing instruction b1_from_b1:
Removing instruction print_str_from_b2:
Removing instruction b4_from_b3:
Removing instruction print_char_from_b4:
Removing instruction b1_from_print_str:
Removing instruction b1_from_b2:
Removing instruction b1_from_b1:
Succesful ASM optimization Pass5RedundantLabelElimination
Removing instruction bend:
Removing instruction print_cls_from_main:
Removing instruction b1_from_main:
Removing instruction b23:
Removing instruction printu_from_b2:
Removing instruction b46:
Removing instruction b24:
Removing instruction b47:
Removing instruction b25:
Removing instruction printu_from_b4:
Removing instruction b48:
Removing instruction b26:
Removing instruction printu_from_b5:
Removing instruction b49:
Removing instruction b50:
Removing instruction b27:
Removing instruction printu_from_b6:
Removing instruction b51:
Removing instruction b28:
Removing instruction b52:
Removing instruction b29:
Removing instruction printu_from_b8:
Removing instruction b53:
Removing instruction b30:
Removing instruction printu_from_b9:
Removing instruction b54:
Removing instruction b55:
Removing instruction b31:
Removing instruction printu_from_b10:
Removing instruction b56:
Removing instruction b32:
Removing instruction b57:
Removing instruction b33:
Removing instruction printu_from_b12:
Removing instruction b58:
Removing instruction b34:
Removing instruction printu_from_b13:
Removing instruction b59:
Removing instruction b60:
Removing instruction b35:
Removing instruction printu_from_b14:
Removing instruction b61:
Removing instruction b36:
Removing instruction b62:
Removing instruction b37:
Removing instruction printu_from_b16:
Removing instruction b63:
Removing instruction b38:
Removing instruction printu_from_b17:
Removing instruction b64:
Removing instruction b65:
Removing instruction b39:
Removing instruction printu_from_b18:
Removing instruction b66:
Removing instruction b40:
Removing instruction b67:
Removing instruction b41:
Removing instruction printu_from_b20:
Removing instruction b68:
Removing instruction b42:
Removing instruction printu_from_b21:
Removing instruction b69:
Removing instruction b70:
Removing instruction b1_from_b71:
Removing instruction breturn:
Removing instruction print_char_from_printu:
Removing instruction b1:
Removing instruction print_byte_from_b1:
Removing instruction b2:
Removing instruction b3:
Removing instruction print_byte_from_b3:
Removing instruction b4:
Removing instruction b5:
Removing instruction print_char_from_b5:
Removing instruction breturn:
Removing instruction breturn:
Removing instruction print_char_from_print_byte:
Removing instruction b1:
Removing instruction print_char_from_b1:
Removing instruction breturn:
Removing instruction breturn:
Removing instruction b1_from_print_cls:
Removing instruction breturn:
Succesful ASM optimization Pass5UnusedLabelElimination
Updating BasicUpstart to call main directly
Removing instruction jsr main
Succesful ASM optimization Pass5SkipBegin
Relabelling long label b2_from_b1 to b23
Relabelling long label b3_from_b46 to b24
Relabelling long label b4_from_b47 to b25
Relabelling long label b5_from_b48 to b26
Relabelling long label b6_from_b50 to b27
Relabelling long label b7_from_b51 to b28
Relabelling long label b8_from_b52 to b29
Relabelling long label b9_from_b53 to b30
Relabelling long label b10_from_b55 to b31
Relabelling long label b11_from_b56 to b32
Relabelling long label b12_from_b57 to b33
Relabelling long label b13_from_b58 to b34
Relabelling long label b14_from_b60 to b35
Relabelling long label b15_from_b61 to b36
Relabelling long label b16_from_b62 to b37
Relabelling long label b17_from_b63 to b38
Relabelling long label b18_from_b65 to b39
Relabelling long label b19_from_b66 to b40
Relabelling long label b20_from_b67 to b41
Relabelling long label b21_from_b68 to b42
Succesful ASM optimization Pass5RelabelLongLabels
Removing instruction jmp b1
Succesful ASM optimization Pass5NextJumpElimination
Removing instruction bbegin:
Succesful ASM optimization Pass5UnusedLabelElimination

FINAL SYMBOL TABLE
(label) @21
(label) @begin
(label) @end
(void()) main()
(label) main::@1
(label) main::@10
(label) main::@11
(label) main::@12
(label) main::@13
(label) main::@14
(label) main::@15
(label) main::@16
(label) main::@17
(label) main::@18
(label) main::@19
(label) main::@2
(label) main::@20
(label) main::@21
(label) main::@22
(label) main::@23
(label) main::@24
(label) main::@25
(label) main::@26
(label) main::@27
(label) main::@28
(label) main::@29
(label) main::@3
(label) main::@30
(label) main::@31
(label) main::@32
(label) main::@33
(label) main::@34
(label) main::@35
(label) main::@36
(label) main::@37
(label) main::@38
(label) main::@39
(label) main::@4
(label) main::@40
(label) main::@41
(label) main::@42
(label) main::@46
(label) main::@47
(label) main::@48
(label) main::@49
(label) main::@5
(label) main::@50
(label) main::@51
(label) main::@52
(label) main::@53
(label) main::@54
(label) main::@55
(label) main::@56
(label) main::@57
(label) main::@58
(label) main::@59
(label) main::@6
(label) main::@60
(label) main::@61
(label) main::@62
(label) main::@63
(label) main::@64
(label) main::@65
(label) main::@66
(label) main::@67
(label) main::@68
(label) main::@69
(label) main::@7
(label) main::@70
(label) main::@71
(label) main::@8
(label) main::@9
(byte) main::a
(byte) main::a#1 a zp ZP_BYTE:2 5.5
(byte) main::a#10 a zp ZP_BYTE:2 3.860927152317884
(byte) main::b
(byte) main::b#0 b zp ZP_BYTE:12 0.9758064516129035
(byte[5]) main::cs
(const byte[5]) main::cs#0 cs = { (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/word/signed word/dword/signed dword) 199, (byte/signed byte/word/signed word/dword/signed dword) 55, (byte/word/signed word/dword/signed dword) 151, (byte/signed byte/word/signed word/dword/signed dword) 103 }
(byte) main::i
(byte) main::i#1 i zp ZP_BYTE:3 11.0
(byte) main::i#10 i zp ZP_BYTE:3 0.8684210526315792
(const string) main::op op = (string) "< @"
(const string) main::op12 op12 = (string) ">=@"
(const string) main::op16 op16 = (string) "==@"
(const string) main::op4 op4 = (string) "> @"
(const string) main::op8 op8 = (string) "<=@"
(byte) main::r
(byte) main::r#40 reg byte x 3.6666666666666665
(byte) main::r#41 reg byte x 5.5
(byte) main::r#42 reg byte x 3.6666666666666665
(byte) main::r#43 reg byte x 3.6666666666666665
(byte) main::r#44 reg byte x 3.6666666666666665
(byte) main::r#45 reg byte x 5.5
(byte) main::r#46 reg byte x 3.6666666666666665
(byte) main::r#47 reg byte x 3.6666666666666665
(byte) main::r#48 reg byte x 3.6666666666666665
(byte) main::r#49 reg byte x 5.5
(byte) main::r#50 reg byte x 3.6666666666666665
(byte) main::r#51 reg byte x 3.6666666666666665
(byte) main::r#52 reg byte x 3.6666666666666665
(byte) main::r#53 reg byte x 5.5
(byte) main::r#54 reg byte x 3.6666666666666665
(byte) main::r#55 reg byte x 3.6666666666666665
(byte) main::r#56 reg byte x 3.6666666666666665
(byte) main::r#57 reg byte x 5.5
(byte) main::r#58 reg byte x 3.6666666666666665
(byte) main::r#59 reg byte x 3.6666666666666665
(void()) print_byte((byte) print_byte::b)
(byte~) print_byte::$0 reg byte a 4.0
(byte~) print_byte::$2 reg byte a 4.0
(label) print_byte::@1
(label) print_byte::@return
(byte) print_byte::b
(byte) print_byte::b#0 b zp ZP_BYTE:11 4.0
(byte) print_byte::b#1 b zp ZP_BYTE:11 4.0
(byte) print_byte::b#2 b zp ZP_BYTE:11 2.0
(void()) print_char((byte) print_char::ch)
(label) print_char::@return
(byte) print_char::ch
(byte) print_char::ch#0 reg byte a 4.0
(byte) print_char::ch#1 reg byte a 4.0
(byte) print_char::ch#4 reg byte a 4.0
(byte) print_char::ch#5 reg byte a 8.0
(byte*) print_char_cursor
(byte*) print_char_cursor#1 print_char_cursor zp ZP_WORD:9 101.0
(byte*) print_char_cursor#120 print_char_cursor zp ZP_WORD:9 2.75
(byte*~) print_char_cursor#142 print_char_cursor zp ZP_WORD:9 22.0
(byte*~) print_char_cursor#143 print_char_cursor zp ZP_WORD:9 22.0
(byte*~) print_char_cursor#147 print_char_cursor zp ZP_WORD:9 22.0
(byte*~) print_char_cursor#151 print_char_cursor zp ZP_WORD:9 22.0
(byte*~) print_char_cursor#159 print_char_cursor zp ZP_WORD:9 22.0
(byte*) print_char_cursor#2 print_char_cursor zp ZP_WORD:9 51.16666666666666
(byte*) print_char_cursor#54 print_char_cursor zp ZP_WORD:9 7.0
(byte*) print_char_cursor#55 print_char_cursor zp ZP_WORD:9 2.106060606060605
(byte*) print_char_cursor#94 print_char_cursor zp ZP_WORD:9 2.0
(byte*) print_char_cursor#95 print_char_cursor zp ZP_WORD:9 222.0
(void()) print_cls()
(label) print_cls::@1
(label) print_cls::@return
(byte*) print_cls::sc
(byte*) print_cls::sc#1 sc zp ZP_WORD:4 16.5
(byte*) print_cls::sc#2 sc zp ZP_WORD:4 16.5
(byte[]) print_hextab
(const byte[]) print_hextab#0 print_hextab = (string) "0123456789abcdef"
(byte*) print_line_cursor
(byte*) print_line_cursor#1 print_line_cursor zp ZP_WORD:4 3.2265625
(byte*) print_line_cursor#13 print_line_cursor zp ZP_WORD:4 204.0
(byte*) print_line_cursor#25 print_line_cursor zp ZP_WORD:4 57.0
(byte*) print_line_cursor#27 print_line_cursor zp ZP_WORD:4 0.7333333333333333
(void()) print_ln()
(label) print_ln::@1
(label) print_ln::@return
(byte*) print_screen
(void()) print_str((byte*) print_str::str)
(label) print_str::@1
(label) print_str::@2
(label) print_str::@return
(byte*) print_str::str
(byte*) print_str::str#0 str zp ZP_WORD:6 202.0
(byte*) print_str::str#1 str zp ZP_WORD:6 2.0
(byte*) print_str::str#2 str zp ZP_WORD:6 101.5
(void()) printu((byte) printu::a , (byte[]) printu::op , (byte) printu::b , (byte) printu::res)
(label) printu::@1
(label) printu::@2
(label) printu::@3
(label) printu::@4
(label) printu::@5
(label) printu::@return
(byte) printu::a
(byte) printu::a#0 a zp ZP_BYTE:2 7.333333333333333
(byte) printu::a#1 a zp ZP_BYTE:2 11.0
(byte) printu::a#10 a zp ZP_BYTE:2 7.333333333333333
(byte) printu::a#11 a zp ZP_BYTE:2 7.333333333333333
(byte) printu::a#12 a zp ZP_BYTE:2 5.5
(byte) printu::a#13 a zp ZP_BYTE:2 11.0
(byte) printu::a#14 a zp ZP_BYTE:2 7.333333333333333
(byte) printu::a#15 a zp ZP_BYTE:2 7.333333333333333
(byte) printu::a#16 a zp ZP_BYTE:2 5.5
(byte) printu::a#17 a zp ZP_BYTE:2 11.0
(byte) printu::a#18 a zp ZP_BYTE:2 7.333333333333333
(byte) printu::a#19 a zp ZP_BYTE:2 7.333333333333333
(byte) printu::a#2 a zp ZP_BYTE:2 7.333333333333333
(byte) printu::a#20 a zp ZP_BYTE:2 111.0
(byte) printu::a#3 a zp ZP_BYTE:2 7.333333333333333
(byte) printu::a#4 a zp ZP_BYTE:2 5.5
(byte) printu::a#5 a zp ZP_BYTE:2 11.0
(byte) printu::a#6 a zp ZP_BYTE:2 7.333333333333333
(byte) printu::a#7 a zp ZP_BYTE:2 7.333333333333333
(byte) printu::a#8 a zp ZP_BYTE:2 5.5
(byte) printu::a#9 a zp ZP_BYTE:2 11.0
(byte) printu::b
(byte) printu::b#0 b zp ZP_BYTE:8 11.0
(byte) printu::b#10 b zp ZP_BYTE:8 11.0
(byte) printu::b#11 b zp ZP_BYTE:8 11.0
(byte) printu::b#12 b zp ZP_BYTE:8 7.333333333333333
(byte) printu::b#14 b zp ZP_BYTE:8 11.0
(byte) printu::b#15 b zp ZP_BYTE:8 11.0
(byte) printu::b#16 b zp ZP_BYTE:8 7.333333333333333
(byte) printu::b#18 b zp ZP_BYTE:8 11.0
(byte) printu::b#19 b zp ZP_BYTE:8 11.0
(byte) printu::b#2 b zp ZP_BYTE:8 11.0
(byte) printu::b#20 b zp ZP_BYTE:8 27.833333333333325
(byte) printu::b#3 b zp ZP_BYTE:8 11.0
(byte) printu::b#4 b zp ZP_BYTE:8 7.333333333333333
(byte) printu::b#6 b zp ZP_BYTE:8 11.0
(byte) printu::b#7 b zp ZP_BYTE:8 11.0
(byte) printu::b#8 b zp ZP_BYTE:8 7.333333333333333
(byte[]) printu::op
(byte[]) printu::op#20 op zp ZP_WORD:6 0.5
(byte) printu::res
(byte) printu::res#0 reg byte x 22.0
(byte) printu::res#1 reg byte x 22.0
(byte) printu::res#10 reg byte x 22.0
(byte) printu::res#11 reg byte x 22.0
(byte) printu::res#12 reg byte x 11.0
(byte) printu::res#13 reg byte x 22.0
(byte) printu::res#14 reg byte x 22.0
(byte) printu::res#15 reg byte x 22.0
(byte) printu::res#16 reg byte x 11.0
(byte) printu::res#17 reg byte x 22.0
(byte) printu::res#18 reg byte x 22.0
(byte) printu::res#19 reg byte x 22.0
(byte) printu::res#2 reg byte x 22.0
(byte) printu::res#20 reg byte x 22.200000000000003
(byte) printu::res#3 reg byte x 22.0
(byte) printu::res#4 reg byte x 11.0
(byte) printu::res#5 reg byte x 22.0
(byte) printu::res#6 reg byte x 22.0
(byte) printu::res#7 reg byte x 22.0
(byte) printu::res#8 reg byte x 11.0
(byte) printu::res#9 reg byte x 22.0

zp ZP_BYTE:2 [ main::a#10 main::a#1 printu::a#20 printu::a#8 printu::a#9 printu::a#10 printu::a#11 printu::a#12 printu::a#13 printu::a#14 printu::a#15 printu::a#16 printu::a#17 printu::a#0 printu::a#18 printu::a#19 printu::a#1 printu::a#2 printu::a#3 printu::a#4 printu::a#5 printu::a#6 printu::a#7 ]
zp ZP_BYTE:3 [ main::i#10 main::i#1 ]
reg byte x [ main::r#40 ]
reg byte x [ main::r#41 ]
reg byte x [ main::r#42 ]
reg byte x [ main::r#43 ]
reg byte x [ main::r#44 ]
reg byte x [ main::r#45 ]
reg byte x [ main::r#46 ]
reg byte x [ main::r#47 ]
reg byte x [ main::r#48 ]
reg byte x [ main::r#49 ]
reg byte x [ main::r#50 ]
reg byte x [ main::r#51 ]
reg byte x [ main::r#52 ]
reg byte x [ main::r#53 ]
reg byte x [ main::r#54 ]
reg byte x [ main::r#55 ]
reg byte x [ main::r#56 ]
reg byte x [ main::r#57 ]
reg byte x [ main::r#58 ]
reg byte x [ main::r#59 ]
zp ZP_WORD:4 [ print_line_cursor#13 print_line_cursor#25 print_line_cursor#27 print_line_cursor#1 print_cls::sc#2 print_cls::sc#1 ]
zp ZP_WORD:6 [ printu::op#20 print_str::str#2 print_str::str#1 print_str::str#0 ]
zp ZP_BYTE:8 [ printu::b#20 printu::b#8 printu::b#10 printu::b#11 printu::b#12 printu::b#14 printu::b#15 printu::b#16 printu::b#0 printu::b#18 printu::b#19 printu::b#2 printu::b#3 printu::b#4 printu::b#6 printu::b#7 ]
reg byte x [ printu::res#20 printu::res#8 printu::res#9 printu::res#10 printu::res#11 printu::res#12 printu::res#13 printu::res#14 printu::res#15 printu::res#16 printu::res#17 printu::res#0 printu::res#18 printu::res#19 printu::res#1 printu::res#2 printu::res#3 printu::res#4 printu::res#5 printu::res#6 printu::res#7 ]
reg byte a [ print_char::ch#5 print_char::ch#0 print_char::ch#1 print_char::ch#4 ]
zp ZP_WORD:9 [ print_char_cursor#54 print_char_cursor#94 print_char_cursor#95 print_char_cursor#143 print_char_cursor#55 print_char_cursor#147 print_char_cursor#151 print_char_cursor#120 print_char_cursor#142 print_char_cursor#159 print_char_cursor#2 print_char_cursor#1 ]
zp ZP_BYTE:11 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ]
zp ZP_BYTE:12 [ main::b#0 ]
reg byte a [ print_byte::$0 ]
reg byte a [ print_byte::$2 ]


FINAL ASSEMBLER
Score: 15766

//SEG0 File Comments
//SEG1 Basic Upstart
.pc = $801 "Basic"
:BasicUpstart(main)
.pc = $80d "Program"
//SEG2 Global Constants & labels
  .label print_char_cursor = 9
  .label print_line_cursor = 4
//SEG3 @begin
//SEG4 [1] phi from @begin to @21 [phi:@begin->@21]
//SEG5 @21
//SEG6 [2] call main 
//SEG7 [4] phi from @21 to main [phi:@21->main]
//SEG8 [3] phi from @21 to @end [phi:@21->@end]
//SEG9 @end
//SEG10 main
main: {
    .label b = $c
    .label a = 2
    .label i = 3
  //SEG11 [5] call print_cls 
  //SEG12 [199] phi from main to print_cls [phi:main->print_cls]
    jsr print_cls
  //SEG13 [6] phi from main to main::@1 [phi:main->main::@1]
  //SEG14 [6] phi (byte*) print_line_cursor#27 = ((byte*))(word/signed word/dword/signed dword) 1024 [phi:main->main::@1#0] -- pbuz1=pbuc1 
    lda #<$400
    sta print_line_cursor
    lda #>$400
    sta print_line_cursor+1
  //SEG15 [6] phi (byte) main::i#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->main::@1#1] -- vbuz1=vbuc1 
    lda #0
    sta i
  //SEG16 [6] phi (byte*) print_char_cursor#120 = ((byte*))(word/signed word/dword/signed dword) 1024 [phi:main->main::@1#2] -- pbuz1=pbuc1 
    lda #<$400
    sta print_char_cursor
    lda #>$400
    sta print_char_cursor+1
  //SEG17 [6] phi (byte) main::a#10 = (byte/signed byte/word/signed word/dword/signed dword) 7 [phi:main->main::@1#3] -- vbuz1=vbuc1 
    lda #7
    sta a
  //SEG18 main::@1
  b1:
  //SEG19 [7] (byte) main::b#0 ← (byte/word/signed word/dword/signed dword) 206 - (byte) main::a#10 -- vbuz1=vbuc1_minus_vbuz2 
    lda #$ce
    sec
    sbc a
    sta b
  //SEG20 [8] if((byte) main::a#10>=(byte) main::b#0) goto main::@2 -- vbuz1_ge_vbuz2_then_la1 
    lda a
    cmp b
    bcs b23
  //SEG21 [9] phi from main::@1 to main::@23 [phi:main::@1->main::@23]
  //SEG22 main::@23
  //SEG23 [10] phi from main::@23 to main::@2 [phi:main::@23->main::@2]
  //SEG24 [10] phi (byte) main::r#40 = (byte) '+' [phi:main::@23->main::@2#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp b2
  //SEG25 [10] phi from main::@1 to main::@2 [phi:main::@1->main::@2]
  b23:
  //SEG26 [10] phi (byte) main::r#40 = (byte) '-' [phi:main::@1->main::@2#0] -- vbuxx=vbuc1 
    ldx #'-'
  //SEG27 main::@2
  b2:
  //SEG28 [11] (byte) printu::a#0 ← (byte) main::a#10
  //SEG29 [12] (byte) printu::b#0 ← (byte) main::b#0 -- vbuz1=vbuz2 
    lda b
    sta printu.b
  //SEG30 [13] (byte) printu::res#0 ← (byte) main::r#40
  //SEG31 [14] call printu 
  //SEG32 [167] phi from main::@2 to printu [phi:main::@2->printu]
  //SEG33 [167] phi (byte) printu::res#20 = (byte) printu::res#0 [phi:main::@2->printu#0] -- register_copy 
  //SEG34 [167] phi (byte) printu::b#20 = (byte) printu::b#0 [phi:main::@2->printu#1] -- register_copy 
  //SEG35 [167] phi (byte[]) printu::op#20 = (const string) main::op [phi:main::@2->printu#2] -- pbuz1=pbuc1 
    lda #<op
    sta printu.op
    lda #>op
    sta printu.op+1
  //SEG36 [167] phi (byte) printu::a#20 = (byte) printu::a#0 [phi:main::@2->printu#3] -- register_copy 
  //SEG37 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#120 [phi:main::@2->printu#4] -- register_copy 
    jsr printu
  //SEG38 main::@46
  //SEG39 [15] if((byte) main::a#10>=(byte/signed byte/word/signed word/dword/signed dword) 55) goto main::@3 -- vbuz1_ge_vbuc1_then_la1 
    lda a
    cmp #$37
    bcs b24
  //SEG40 [16] phi from main::@46 to main::@24 [phi:main::@46->main::@24]
  //SEG41 main::@24
  //SEG42 [17] phi from main::@24 to main::@3 [phi:main::@24->main::@3]
  //SEG43 [17] phi (byte) main::r#41 = (byte) '+' [phi:main::@24->main::@3#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp b3
  //SEG44 [17] phi from main::@46 to main::@3 [phi:main::@46->main::@3]
  b24:
  //SEG45 [17] phi (byte) main::r#41 = (byte) '-' [phi:main::@46->main::@3#0] -- vbuxx=vbuc1 
    ldx #'-'
  //SEG46 main::@3
  b3:
  //SEG47 [18] (byte) printu::a#1 ← (byte) main::a#10
  //SEG48 [19] (byte) printu::res#1 ← (byte) main::r#41
  //SEG49 [20] call printu 
  //SEG50 [167] phi from main::@3 to printu [phi:main::@3->printu]
  //SEG51 [167] phi (byte) printu::res#20 = (byte) printu::res#1 [phi:main::@3->printu#0] -- register_copy 
  //SEG52 [167] phi (byte) printu::b#20 = (byte/signed byte/word/signed word/dword/signed dword) 55 [phi:main::@3->printu#1] -- vbuz1=vbuc1 
    lda #$37
    sta printu.b
  //SEG53 [167] phi (byte[]) printu::op#20 = (const string) main::op [phi:main::@3->printu#2] -- pbuz1=pbuc1 
    lda #<op
    sta printu.op
    lda #>op
    sta printu.op+1
  //SEG54 [167] phi (byte) printu::a#20 = (byte) printu::a#1 [phi:main::@3->printu#3] -- register_copy 
  //SEG55 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@3->printu#4] -- register_copy 
    jsr printu
  //SEG56 main::@47
  //SEG57 [21] if((byte) main::a#10>=*((const byte[5]) main::cs#0 + (byte) main::i#10)) goto main::@4 -- vbuz1_ge_pbuc1_derefidx_vbuz2_then_la1 
    lda a
    ldy i
    cmp cs,y
    bcs b25
  //SEG58 [22] phi from main::@47 to main::@25 [phi:main::@47->main::@25]
  //SEG59 main::@25
  //SEG60 [23] phi from main::@25 to main::@4 [phi:main::@25->main::@4]
  //SEG61 [23] phi (byte) main::r#42 = (byte) '+' [phi:main::@25->main::@4#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp b4
  //SEG62 [23] phi from main::@47 to main::@4 [phi:main::@47->main::@4]
  b25:
  //SEG63 [23] phi (byte) main::r#42 = (byte) '-' [phi:main::@47->main::@4#0] -- vbuxx=vbuc1 
    ldx #'-'
  //SEG64 main::@4
  b4:
  //SEG65 [24] (byte) printu::a#2 ← (byte) main::a#10
  //SEG66 [25] (byte) printu::b#2 ← *((const byte[5]) main::cs#0 + (byte) main::i#10) -- vbuz1=pbuc1_derefidx_vbuz2 
    ldy i
    lda cs,y
    sta printu.b
  //SEG67 [26] (byte) printu::res#2 ← (byte) main::r#42
  //SEG68 [27] call printu 
  //SEG69 [167] phi from main::@4 to printu [phi:main::@4->printu]
  //SEG70 [167] phi (byte) printu::res#20 = (byte) printu::res#2 [phi:main::@4->printu#0] -- register_copy 
  //SEG71 [167] phi (byte) printu::b#20 = (byte) printu::b#2 [phi:main::@4->printu#1] -- register_copy 
  //SEG72 [167] phi (byte[]) printu::op#20 = (const string) main::op [phi:main::@4->printu#2] -- pbuz1=pbuc1 
    lda #<op
    sta printu.op
    lda #>op
    sta printu.op+1
  //SEG73 [167] phi (byte) printu::a#20 = (byte) printu::a#2 [phi:main::@4->printu#3] -- register_copy 
  //SEG74 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@4->printu#4] -- register_copy 
    jsr printu
  //SEG75 main::@48
  //SEG76 [28] if((byte) main::a#10>=(byte) main::a#10) goto main::@5 -- vbuz1_ge_vbuz1_then_la1 
    lda a
    cmp a
    bcs b26
  //SEG77 [29] phi from main::@48 to main::@26 [phi:main::@48->main::@26]
  //SEG78 main::@26
  //SEG79 [30] phi from main::@26 to main::@5 [phi:main::@26->main::@5]
  //SEG80 [30] phi (byte) main::r#43 = (byte) '+' [phi:main::@26->main::@5#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp b5
  //SEG81 [30] phi from main::@48 to main::@5 [phi:main::@48->main::@5]
  b26:
  //SEG82 [30] phi (byte) main::r#43 = (byte) '-' [phi:main::@48->main::@5#0] -- vbuxx=vbuc1 
    ldx #'-'
  //SEG83 main::@5
  b5:
  //SEG84 [31] (byte) printu::a#3 ← (byte) main::a#10
  //SEG85 [32] (byte) printu::b#3 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda a
    sta printu.b
  //SEG86 [33] (byte) printu::res#3 ← (byte) main::r#43
  //SEG87 [34] call printu 
  //SEG88 [167] phi from main::@5 to printu [phi:main::@5->printu]
  //SEG89 [167] phi (byte) printu::res#20 = (byte) printu::res#3 [phi:main::@5->printu#0] -- register_copy 
  //SEG90 [167] phi (byte) printu::b#20 = (byte) printu::b#3 [phi:main::@5->printu#1] -- register_copy 
  //SEG91 [167] phi (byte[]) printu::op#20 = (const string) main::op [phi:main::@5->printu#2] -- pbuz1=pbuc1 
    lda #<op
    sta printu.op
    lda #>op
    sta printu.op+1
  //SEG92 [167] phi (byte) printu::a#20 = (byte) printu::a#3 [phi:main::@5->printu#3] -- register_copy 
  //SEG93 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@5->printu#4] -- register_copy 
    jsr printu
  //SEG94 [35] phi from main::@5 to main::@49 [phi:main::@5->main::@49]
  //SEG95 main::@49
  //SEG96 [36] call print_ln 
  //SEG97 [162] phi from main::@49 to print_ln [phi:main::@49->print_ln]
  //SEG98 [162] phi (byte*) print_line_cursor#25 = (byte*) print_line_cursor#27 [phi:main::@49->print_ln#0] -- register_copy 
    jsr print_ln
  //SEG99 main::@50
  //SEG100 [37] if((byte) main::a#10<=(byte) main::b#0) goto main::@6 -- vbuz1_le_vbuz2_then_la1 
    lda b
    cmp a
    bcs b27
  //SEG101 [38] phi from main::@50 to main::@27 [phi:main::@50->main::@27]
  //SEG102 main::@27
  //SEG103 [39] phi from main::@27 to main::@6 [phi:main::@27->main::@6]
  //SEG104 [39] phi (byte) main::r#44 = (byte) '+' [phi:main::@27->main::@6#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp b6
  //SEG105 [39] phi from main::@50 to main::@6 [phi:main::@50->main::@6]
  b27:
  //SEG106 [39] phi (byte) main::r#44 = (byte) '-' [phi:main::@50->main::@6#0] -- vbuxx=vbuc1 
    ldx #'-'
  //SEG107 main::@6
  b6:
  //SEG108 [40] (byte) printu::a#4 ← (byte) main::a#10
  //SEG109 [41] (byte) printu::b#4 ← (byte) main::b#0 -- vbuz1=vbuz2 
    lda b
    sta printu.b
  //SEG110 [42] (byte) printu::res#4 ← (byte) main::r#44
  //SEG111 [43] (byte*~) print_char_cursor#159 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 
    lda print_line_cursor
    sta print_char_cursor
    lda print_line_cursor+1
    sta print_char_cursor+1
  //SEG112 [44] call printu 
  //SEG113 [167] phi from main::@6 to printu [phi:main::@6->printu]
  //SEG114 [167] phi (byte) printu::res#20 = (byte) printu::res#4 [phi:main::@6->printu#0] -- register_copy 
  //SEG115 [167] phi (byte) printu::b#20 = (byte) printu::b#4 [phi:main::@6->printu#1] -- register_copy 
  //SEG116 [167] phi (byte[]) printu::op#20 = (const string) main::op4 [phi:main::@6->printu#2] -- pbuz1=pbuc1 
    lda #<op4
    sta printu.op
    lda #>op4
    sta printu.op+1
  //SEG117 [167] phi (byte) printu::a#20 = (byte) printu::a#4 [phi:main::@6->printu#3] -- register_copy 
  //SEG118 [167] phi (byte*) print_char_cursor#95 = (byte*~) print_char_cursor#159 [phi:main::@6->printu#4] -- register_copy 
    jsr printu
  //SEG119 main::@51
  //SEG120 [45] if((byte) main::a#10<=(byte/signed byte/word/signed word/dword/signed dword) 55) goto main::@7 -- vbuz1_le_vbuc1_then_la1 
    lda #$37
    cmp a
    bcs b28
  //SEG121 [46] phi from main::@51 to main::@28 [phi:main::@51->main::@28]
  //SEG122 main::@28
  //SEG123 [47] phi from main::@28 to main::@7 [phi:main::@28->main::@7]
  //SEG124 [47] phi (byte) main::r#45 = (byte) '+' [phi:main::@28->main::@7#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp b7
  //SEG125 [47] phi from main::@51 to main::@7 [phi:main::@51->main::@7]
  b28:
  //SEG126 [47] phi (byte) main::r#45 = (byte) '-' [phi:main::@51->main::@7#0] -- vbuxx=vbuc1 
    ldx #'-'
  //SEG127 main::@7
  b7:
  //SEG128 [48] (byte) printu::a#5 ← (byte) main::a#10
  //SEG129 [49] (byte) printu::res#5 ← (byte) main::r#45
  //SEG130 [50] call printu 
  //SEG131 [167] phi from main::@7 to printu [phi:main::@7->printu]
  //SEG132 [167] phi (byte) printu::res#20 = (byte) printu::res#5 [phi:main::@7->printu#0] -- register_copy 
  //SEG133 [167] phi (byte) printu::b#20 = (byte/signed byte/word/signed word/dword/signed dword) 55 [phi:main::@7->printu#1] -- vbuz1=vbuc1 
    lda #$37
    sta printu.b
  //SEG134 [167] phi (byte[]) printu::op#20 = (const string) main::op4 [phi:main::@7->printu#2] -- pbuz1=pbuc1 
    lda #<op4
    sta printu.op
    lda #>op4
    sta printu.op+1
  //SEG135 [167] phi (byte) printu::a#20 = (byte) printu::a#5 [phi:main::@7->printu#3] -- register_copy 
  //SEG136 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@7->printu#4] -- register_copy 
    jsr printu
  //SEG137 main::@52
  //SEG138 [51] if((byte) main::a#10<=*((const byte[5]) main::cs#0 + (byte) main::i#10)) goto main::@8 -- vbuz1_le_pbuc1_derefidx_vbuz2_then_la1 
    ldy i
    lda cs,y
    cmp a
    bcs b29
  //SEG139 [52] phi from main::@52 to main::@29 [phi:main::@52->main::@29]
  //SEG140 main::@29
  //SEG141 [53] phi from main::@29 to main::@8 [phi:main::@29->main::@8]
  //SEG142 [53] phi (byte) main::r#46 = (byte) '+' [phi:main::@29->main::@8#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp b8
  //SEG143 [53] phi from main::@52 to main::@8 [phi:main::@52->main::@8]
  b29:
  //SEG144 [53] phi (byte) main::r#46 = (byte) '-' [phi:main::@52->main::@8#0] -- vbuxx=vbuc1 
    ldx #'-'
  //SEG145 main::@8
  b8:
  //SEG146 [54] (byte) printu::a#6 ← (byte) main::a#10
  //SEG147 [55] (byte) printu::b#6 ← *((const byte[5]) main::cs#0 + (byte) main::i#10) -- vbuz1=pbuc1_derefidx_vbuz2 
    ldy i
    lda cs,y
    sta printu.b
  //SEG148 [56] (byte) printu::res#6 ← (byte) main::r#46
  //SEG149 [57] call printu 
  //SEG150 [167] phi from main::@8 to printu [phi:main::@8->printu]
  //SEG151 [167] phi (byte) printu::res#20 = (byte) printu::res#6 [phi:main::@8->printu#0] -- register_copy 
  //SEG152 [167] phi (byte) printu::b#20 = (byte) printu::b#6 [phi:main::@8->printu#1] -- register_copy 
  //SEG153 [167] phi (byte[]) printu::op#20 = (const string) main::op4 [phi:main::@8->printu#2] -- pbuz1=pbuc1 
    lda #<op4
    sta printu.op
    lda #>op4
    sta printu.op+1
  //SEG154 [167] phi (byte) printu::a#20 = (byte) printu::a#6 [phi:main::@8->printu#3] -- register_copy 
  //SEG155 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@8->printu#4] -- register_copy 
    jsr printu
  //SEG156 main::@53
  //SEG157 [58] if((byte) main::a#10<=(byte) main::a#10) goto main::@9 -- vbuz1_le_vbuz1_then_la1 
    lda a
    cmp a
    bcs b30
  //SEG158 [59] phi from main::@53 to main::@30 [phi:main::@53->main::@30]
  //SEG159 main::@30
  //SEG160 [60] phi from main::@30 to main::@9 [phi:main::@30->main::@9]
  //SEG161 [60] phi (byte) main::r#47 = (byte) '+' [phi:main::@30->main::@9#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp b9
  //SEG162 [60] phi from main::@53 to main::@9 [phi:main::@53->main::@9]
  b30:
  //SEG163 [60] phi (byte) main::r#47 = (byte) '-' [phi:main::@53->main::@9#0] -- vbuxx=vbuc1 
    ldx #'-'
  //SEG164 main::@9
  b9:
  //SEG165 [61] (byte) printu::a#7 ← (byte) main::a#10
  //SEG166 [62] (byte) printu::b#7 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda a
    sta printu.b
  //SEG167 [63] (byte) printu::res#7 ← (byte) main::r#47
  //SEG168 [64] call printu 
  //SEG169 [167] phi from main::@9 to printu [phi:main::@9->printu]
  //SEG170 [167] phi (byte) printu::res#20 = (byte) printu::res#7 [phi:main::@9->printu#0] -- register_copy 
  //SEG171 [167] phi (byte) printu::b#20 = (byte) printu::b#7 [phi:main::@9->printu#1] -- register_copy 
  //SEG172 [167] phi (byte[]) printu::op#20 = (const string) main::op4 [phi:main::@9->printu#2] -- pbuz1=pbuc1 
    lda #<op4
    sta printu.op
    lda #>op4
    sta printu.op+1
  //SEG173 [167] phi (byte) printu::a#20 = (byte) printu::a#7 [phi:main::@9->printu#3] -- register_copy 
  //SEG174 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@9->printu#4] -- register_copy 
    jsr printu
  //SEG175 [65] phi from main::@9 to main::@54 [phi:main::@9->main::@54]
  //SEG176 main::@54
  //SEG177 [66] call print_ln 
  //SEG178 [162] phi from main::@54 to print_ln [phi:main::@54->print_ln]
  //SEG179 [162] phi (byte*) print_line_cursor#25 = (byte*) print_line_cursor#1 [phi:main::@54->print_ln#0] -- register_copy 
    jsr print_ln
  //SEG180 main::@55
  //SEG181 [67] if((byte) main::a#10>(byte) main::b#0) goto main::@10 -- vbuz1_gt_vbuz2_then_la1 
    lda b
    cmp a
    bcc b31
  //SEG182 [68] phi from main::@55 to main::@31 [phi:main::@55->main::@31]
  //SEG183 main::@31
  //SEG184 [69] phi from main::@31 to main::@10 [phi:main::@31->main::@10]
  //SEG185 [69] phi (byte) main::r#48 = (byte) '+' [phi:main::@31->main::@10#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp b10
  //SEG186 [69] phi from main::@55 to main::@10 [phi:main::@55->main::@10]
  b31:
  //SEG187 [69] phi (byte) main::r#48 = (byte) '-' [phi:main::@55->main::@10#0] -- vbuxx=vbuc1 
    ldx #'-'
  //SEG188 main::@10
  b10:
  //SEG189 [70] (byte) printu::a#8 ← (byte) main::a#10
  //SEG190 [71] (byte) printu::b#8 ← (byte) main::b#0 -- vbuz1=vbuz2 
    lda b
    sta printu.b
  //SEG191 [72] (byte) printu::res#8 ← (byte) main::r#48
  //SEG192 [73] (byte*~) print_char_cursor#143 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 
    lda print_line_cursor
    sta print_char_cursor
    lda print_line_cursor+1
    sta print_char_cursor+1
  //SEG193 [74] call printu 
  //SEG194 [167] phi from main::@10 to printu [phi:main::@10->printu]
  //SEG195 [167] phi (byte) printu::res#20 = (byte) printu::res#8 [phi:main::@10->printu#0] -- register_copy 
  //SEG196 [167] phi (byte) printu::b#20 = (byte) printu::b#8 [phi:main::@10->printu#1] -- register_copy 
  //SEG197 [167] phi (byte[]) printu::op#20 = (const string) main::op8 [phi:main::@10->printu#2] -- pbuz1=pbuc1 
    lda #<op8
    sta printu.op
    lda #>op8
    sta printu.op+1
  //SEG198 [167] phi (byte) printu::a#20 = (byte) printu::a#8 [phi:main::@10->printu#3] -- register_copy 
  //SEG199 [167] phi (byte*) print_char_cursor#95 = (byte*~) print_char_cursor#143 [phi:main::@10->printu#4] -- register_copy 
    jsr printu
  //SEG200 main::@56
  //SEG201 [75] if((byte) main::a#10>(byte/signed byte/word/signed word/dword/signed dword) 55) goto main::@11 -- vbuz1_gt_vbuc1_then_la1 
    lda a
    cmp #$37
    beq !+
    bcs b32
  !:
  //SEG202 [76] phi from main::@56 to main::@32 [phi:main::@56->main::@32]
  //SEG203 main::@32
  //SEG204 [77] phi from main::@32 to main::@11 [phi:main::@32->main::@11]
  //SEG205 [77] phi (byte) main::r#49 = (byte) '+' [phi:main::@32->main::@11#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp b11
  //SEG206 [77] phi from main::@56 to main::@11 [phi:main::@56->main::@11]
  b32:
  //SEG207 [77] phi (byte) main::r#49 = (byte) '-' [phi:main::@56->main::@11#0] -- vbuxx=vbuc1 
    ldx #'-'
  //SEG208 main::@11
  b11:
  //SEG209 [78] (byte) printu::a#9 ← (byte) main::a#10
  //SEG210 [79] (byte) printu::res#9 ← (byte) main::r#49
  //SEG211 [80] call printu 
  //SEG212 [167] phi from main::@11 to printu [phi:main::@11->printu]
  //SEG213 [167] phi (byte) printu::res#20 = (byte) printu::res#9 [phi:main::@11->printu#0] -- register_copy 
  //SEG214 [167] phi (byte) printu::b#20 = (byte/signed byte/word/signed word/dword/signed dword) 55 [phi:main::@11->printu#1] -- vbuz1=vbuc1 
    lda #$37
    sta printu.b
  //SEG215 [167] phi (byte[]) printu::op#20 = (const string) main::op8 [phi:main::@11->printu#2] -- pbuz1=pbuc1 
    lda #<op8
    sta printu.op
    lda #>op8
    sta printu.op+1
  //SEG216 [167] phi (byte) printu::a#20 = (byte) printu::a#9 [phi:main::@11->printu#3] -- register_copy 
  //SEG217 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@11->printu#4] -- register_copy 
    jsr printu
  //SEG218 main::@57
  //SEG219 [81] if((byte) main::a#10>*((const byte[5]) main::cs#0 + (byte) main::i#10)) goto main::@12 -- vbuz1_gt_pbuc1_derefidx_vbuz2_then_la1 
    ldy i
    lda cs,y
    cmp a
    bcc b33
  //SEG220 [82] phi from main::@57 to main::@33 [phi:main::@57->main::@33]
  //SEG221 main::@33
  //SEG222 [83] phi from main::@33 to main::@12 [phi:main::@33->main::@12]
  //SEG223 [83] phi (byte) main::r#50 = (byte) '+' [phi:main::@33->main::@12#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp b12
  //SEG224 [83] phi from main::@57 to main::@12 [phi:main::@57->main::@12]
  b33:
  //SEG225 [83] phi (byte) main::r#50 = (byte) '-' [phi:main::@57->main::@12#0] -- vbuxx=vbuc1 
    ldx #'-'
  //SEG226 main::@12
  b12:
  //SEG227 [84] (byte) printu::a#10 ← (byte) main::a#10
  //SEG228 [85] (byte) printu::b#10 ← *((const byte[5]) main::cs#0 + (byte) main::i#10) -- vbuz1=pbuc1_derefidx_vbuz2 
    ldy i
    lda cs,y
    sta printu.b
  //SEG229 [86] (byte) printu::res#10 ← (byte) main::r#50
  //SEG230 [87] call printu 
  //SEG231 [167] phi from main::@12 to printu [phi:main::@12->printu]
  //SEG232 [167] phi (byte) printu::res#20 = (byte) printu::res#10 [phi:main::@12->printu#0] -- register_copy 
  //SEG233 [167] phi (byte) printu::b#20 = (byte) printu::b#10 [phi:main::@12->printu#1] -- register_copy 
  //SEG234 [167] phi (byte[]) printu::op#20 = (const string) main::op8 [phi:main::@12->printu#2] -- pbuz1=pbuc1 
    lda #<op8
    sta printu.op
    lda #>op8
    sta printu.op+1
  //SEG235 [167] phi (byte) printu::a#20 = (byte) printu::a#10 [phi:main::@12->printu#3] -- register_copy 
  //SEG236 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@12->printu#4] -- register_copy 
    jsr printu
  //SEG237 main::@58
  //SEG238 [88] if((byte) main::a#10>(byte) main::a#10) goto main::@13 -- vbuz1_gt_vbuz1_then_la1 
    lda a
    cmp a
    bcc b34
  //SEG239 [89] phi from main::@58 to main::@34 [phi:main::@58->main::@34]
  //SEG240 main::@34
  //SEG241 [90] phi from main::@34 to main::@13 [phi:main::@34->main::@13]
  //SEG242 [90] phi (byte) main::r#51 = (byte) '+' [phi:main::@34->main::@13#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp b13
  //SEG243 [90] phi from main::@58 to main::@13 [phi:main::@58->main::@13]
  b34:
  //SEG244 [90] phi (byte) main::r#51 = (byte) '-' [phi:main::@58->main::@13#0] -- vbuxx=vbuc1 
    ldx #'-'
  //SEG245 main::@13
  b13:
  //SEG246 [91] (byte) printu::a#11 ← (byte) main::a#10
  //SEG247 [92] (byte) printu::b#11 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda a
    sta printu.b
  //SEG248 [93] (byte) printu::res#11 ← (byte) main::r#51
  //SEG249 [94] call printu 
  //SEG250 [167] phi from main::@13 to printu [phi:main::@13->printu]
  //SEG251 [167] phi (byte) printu::res#20 = (byte) printu::res#11 [phi:main::@13->printu#0] -- register_copy 
  //SEG252 [167] phi (byte) printu::b#20 = (byte) printu::b#11 [phi:main::@13->printu#1] -- register_copy 
  //SEG253 [167] phi (byte[]) printu::op#20 = (const string) main::op8 [phi:main::@13->printu#2] -- pbuz1=pbuc1 
    lda #<op8
    sta printu.op
    lda #>op8
    sta printu.op+1
  //SEG254 [167] phi (byte) printu::a#20 = (byte) printu::a#11 [phi:main::@13->printu#3] -- register_copy 
  //SEG255 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@13->printu#4] -- register_copy 
    jsr printu
  //SEG256 [95] phi from main::@13 to main::@59 [phi:main::@13->main::@59]
  //SEG257 main::@59
  //SEG258 [96] call print_ln 
  //SEG259 [162] phi from main::@59 to print_ln [phi:main::@59->print_ln]
  //SEG260 [162] phi (byte*) print_line_cursor#25 = (byte*) print_line_cursor#1 [phi:main::@59->print_ln#0] -- register_copy 
    jsr print_ln
  //SEG261 main::@60
  //SEG262 [97] if((byte) main::a#10<(byte) main::b#0) goto main::@14 -- vbuz1_lt_vbuz2_then_la1 
    lda a
    cmp b
    bcc b35
  //SEG263 [98] phi from main::@60 to main::@35 [phi:main::@60->main::@35]
  //SEG264 main::@35
  //SEG265 [99] phi from main::@35 to main::@14 [phi:main::@35->main::@14]
  //SEG266 [99] phi (byte) main::r#52 = (byte) '+' [phi:main::@35->main::@14#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp b14
  //SEG267 [99] phi from main::@60 to main::@14 [phi:main::@60->main::@14]
  b35:
  //SEG268 [99] phi (byte) main::r#52 = (byte) '-' [phi:main::@60->main::@14#0] -- vbuxx=vbuc1 
    ldx #'-'
  //SEG269 main::@14
  b14:
  //SEG270 [100] (byte) printu::a#12 ← (byte) main::a#10
  //SEG271 [101] (byte) printu::b#12 ← (byte) main::b#0 -- vbuz1=vbuz2 
    lda b
    sta printu.b
  //SEG272 [102] (byte) printu::res#12 ← (byte) main::r#52
  //SEG273 [103] (byte*~) print_char_cursor#147 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 
    lda print_line_cursor
    sta print_char_cursor
    lda print_line_cursor+1
    sta print_char_cursor+1
  //SEG274 [104] call printu 
  //SEG275 [167] phi from main::@14 to printu [phi:main::@14->printu]
  //SEG276 [167] phi (byte) printu::res#20 = (byte) printu::res#12 [phi:main::@14->printu#0] -- register_copy 
  //SEG277 [167] phi (byte) printu::b#20 = (byte) printu::b#12 [phi:main::@14->printu#1] -- register_copy 
  //SEG278 [167] phi (byte[]) printu::op#20 = (const string) main::op12 [phi:main::@14->printu#2] -- pbuz1=pbuc1 
    lda #<op12
    sta printu.op
    lda #>op12
    sta printu.op+1
  //SEG279 [167] phi (byte) printu::a#20 = (byte) printu::a#12 [phi:main::@14->printu#3] -- register_copy 
  //SEG280 [167] phi (byte*) print_char_cursor#95 = (byte*~) print_char_cursor#147 [phi:main::@14->printu#4] -- register_copy 
    jsr printu
  //SEG281 main::@61
  //SEG282 [105] if((byte) main::a#10<(byte/signed byte/word/signed word/dword/signed dword) 55) goto main::@15 -- vbuz1_lt_vbuc1_then_la1 
    lda a
    cmp #$37
    bcc b36
  //SEG283 [106] phi from main::@61 to main::@36 [phi:main::@61->main::@36]
  //SEG284 main::@36
  //SEG285 [107] phi from main::@36 to main::@15 [phi:main::@36->main::@15]
  //SEG286 [107] phi (byte) main::r#53 = (byte) '+' [phi:main::@36->main::@15#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp b15
  //SEG287 [107] phi from main::@61 to main::@15 [phi:main::@61->main::@15]
  b36:
  //SEG288 [107] phi (byte) main::r#53 = (byte) '-' [phi:main::@61->main::@15#0] -- vbuxx=vbuc1 
    ldx #'-'
  //SEG289 main::@15
  b15:
  //SEG290 [108] (byte) printu::a#13 ← (byte) main::a#10
  //SEG291 [109] (byte) printu::res#13 ← (byte) main::r#53
  //SEG292 [110] call printu 
  //SEG293 [167] phi from main::@15 to printu [phi:main::@15->printu]
  //SEG294 [167] phi (byte) printu::res#20 = (byte) printu::res#13 [phi:main::@15->printu#0] -- register_copy 
  //SEG295 [167] phi (byte) printu::b#20 = (byte/signed byte/word/signed word/dword/signed dword) 55 [phi:main::@15->printu#1] -- vbuz1=vbuc1 
    lda #$37
    sta printu.b
  //SEG296 [167] phi (byte[]) printu::op#20 = (const string) main::op12 [phi:main::@15->printu#2] -- pbuz1=pbuc1 
    lda #<op12
    sta printu.op
    lda #>op12
    sta printu.op+1
  //SEG297 [167] phi (byte) printu::a#20 = (byte) printu::a#13 [phi:main::@15->printu#3] -- register_copy 
  //SEG298 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@15->printu#4] -- register_copy 
    jsr printu
  //SEG299 main::@62
  //SEG300 [111] if((byte) main::a#10<*((const byte[5]) main::cs#0 + (byte) main::i#10)) goto main::@16 -- vbuz1_lt_pbuc1_derefidx_vbuz2_then_la1 
    lda a
    ldy i
    cmp cs,y
    bcc b37
  //SEG301 [112] phi from main::@62 to main::@37 [phi:main::@62->main::@37]
  //SEG302 main::@37
  //SEG303 [113] phi from main::@37 to main::@16 [phi:main::@37->main::@16]
  //SEG304 [113] phi (byte) main::r#54 = (byte) '+' [phi:main::@37->main::@16#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp b16
  //SEG305 [113] phi from main::@62 to main::@16 [phi:main::@62->main::@16]
  b37:
  //SEG306 [113] phi (byte) main::r#54 = (byte) '-' [phi:main::@62->main::@16#0] -- vbuxx=vbuc1 
    ldx #'-'
  //SEG307 main::@16
  b16:
  //SEG308 [114] (byte) printu::a#14 ← (byte) main::a#10
  //SEG309 [115] (byte) printu::b#14 ← *((const byte[5]) main::cs#0 + (byte) main::i#10) -- vbuz1=pbuc1_derefidx_vbuz2 
    ldy i
    lda cs,y
    sta printu.b
  //SEG310 [116] (byte) printu::res#14 ← (byte) main::r#54
  //SEG311 [117] call printu 
  //SEG312 [167] phi from main::@16 to printu [phi:main::@16->printu]
  //SEG313 [167] phi (byte) printu::res#20 = (byte) printu::res#14 [phi:main::@16->printu#0] -- register_copy 
  //SEG314 [167] phi (byte) printu::b#20 = (byte) printu::b#14 [phi:main::@16->printu#1] -- register_copy 
  //SEG315 [167] phi (byte[]) printu::op#20 = (const string) main::op12 [phi:main::@16->printu#2] -- pbuz1=pbuc1 
    lda #<op12
    sta printu.op
    lda #>op12
    sta printu.op+1
  //SEG316 [167] phi (byte) printu::a#20 = (byte) printu::a#14 [phi:main::@16->printu#3] -- register_copy 
  //SEG317 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@16->printu#4] -- register_copy 
    jsr printu
  //SEG318 main::@63
  //SEG319 [118] if((byte) main::a#10<(byte) main::a#10) goto main::@17 -- vbuz1_lt_vbuz1_then_la1 
    lda a
    cmp a
    bcc b38
  //SEG320 [119] phi from main::@63 to main::@38 [phi:main::@63->main::@38]
  //SEG321 main::@38
  //SEG322 [120] phi from main::@38 to main::@17 [phi:main::@38->main::@17]
  //SEG323 [120] phi (byte) main::r#55 = (byte) '+' [phi:main::@38->main::@17#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp b17
  //SEG324 [120] phi from main::@63 to main::@17 [phi:main::@63->main::@17]
  b38:
  //SEG325 [120] phi (byte) main::r#55 = (byte) '-' [phi:main::@63->main::@17#0] -- vbuxx=vbuc1 
    ldx #'-'
  //SEG326 main::@17
  b17:
  //SEG327 [121] (byte) printu::a#15 ← (byte) main::a#10
  //SEG328 [122] (byte) printu::b#15 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda a
    sta printu.b
  //SEG329 [123] (byte) printu::res#15 ← (byte) main::r#55
  //SEG330 [124] call printu 
  //SEG331 [167] phi from main::@17 to printu [phi:main::@17->printu]
  //SEG332 [167] phi (byte) printu::res#20 = (byte) printu::res#15 [phi:main::@17->printu#0] -- register_copy 
  //SEG333 [167] phi (byte) printu::b#20 = (byte) printu::b#15 [phi:main::@17->printu#1] -- register_copy 
  //SEG334 [167] phi (byte[]) printu::op#20 = (const string) main::op12 [phi:main::@17->printu#2] -- pbuz1=pbuc1 
    lda #<op12
    sta printu.op
    lda #>op12
    sta printu.op+1
  //SEG335 [167] phi (byte) printu::a#20 = (byte) printu::a#15 [phi:main::@17->printu#3] -- register_copy 
  //SEG336 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@17->printu#4] -- register_copy 
    jsr printu
  //SEG337 [125] phi from main::@17 to main::@64 [phi:main::@17->main::@64]
  //SEG338 main::@64
  //SEG339 [126] call print_ln 
  //SEG340 [162] phi from main::@64 to print_ln [phi:main::@64->print_ln]
  //SEG341 [162] phi (byte*) print_line_cursor#25 = (byte*) print_line_cursor#1 [phi:main::@64->print_ln#0] -- register_copy 
    jsr print_ln
  //SEG342 main::@65
  //SEG343 [127] if((byte) main::a#10!=(byte) main::b#0) goto main::@18 -- vbuz1_neq_vbuz2_then_la1 
    lda a
    cmp b
    bne b39
  //SEG344 [128] phi from main::@65 to main::@39 [phi:main::@65->main::@39]
  //SEG345 main::@39
  //SEG346 [129] phi from main::@39 to main::@18 [phi:main::@39->main::@18]
  //SEG347 [129] phi (byte) main::r#56 = (byte) '+' [phi:main::@39->main::@18#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp b18
  //SEG348 [129] phi from main::@65 to main::@18 [phi:main::@65->main::@18]
  b39:
  //SEG349 [129] phi (byte) main::r#56 = (byte) '-' [phi:main::@65->main::@18#0] -- vbuxx=vbuc1 
    ldx #'-'
  //SEG350 main::@18
  b18:
  //SEG351 [130] (byte) printu::a#16 ← (byte) main::a#10
  //SEG352 [131] (byte) printu::b#16 ← (byte) main::b#0 -- vbuz1=vbuz2 
    lda b
    sta printu.b
  //SEG353 [132] (byte) printu::res#16 ← (byte) main::r#56
  //SEG354 [133] (byte*~) print_char_cursor#151 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 
    lda print_line_cursor
    sta print_char_cursor
    lda print_line_cursor+1
    sta print_char_cursor+1
  //SEG355 [134] call printu 
  //SEG356 [167] phi from main::@18 to printu [phi:main::@18->printu]
  //SEG357 [167] phi (byte) printu::res#20 = (byte) printu::res#16 [phi:main::@18->printu#0] -- register_copy 
  //SEG358 [167] phi (byte) printu::b#20 = (byte) printu::b#16 [phi:main::@18->printu#1] -- register_copy 
  //SEG359 [167] phi (byte[]) printu::op#20 = (const string) main::op16 [phi:main::@18->printu#2] -- pbuz1=pbuc1 
    lda #<op16
    sta printu.op
    lda #>op16
    sta printu.op+1
  //SEG360 [167] phi (byte) printu::a#20 = (byte) printu::a#16 [phi:main::@18->printu#3] -- register_copy 
  //SEG361 [167] phi (byte*) print_char_cursor#95 = (byte*~) print_char_cursor#151 [phi:main::@18->printu#4] -- register_copy 
    jsr printu
  //SEG362 main::@66
  //SEG363 [135] if((byte) main::a#10!=(byte/signed byte/word/signed word/dword/signed dword) 55) goto main::@19 -- vbuz1_neq_vbuc1_then_la1 
    lda a
    cmp #$37
    bne b40
  //SEG364 [136] phi from main::@66 to main::@40 [phi:main::@66->main::@40]
  //SEG365 main::@40
  //SEG366 [137] phi from main::@40 to main::@19 [phi:main::@40->main::@19]
  //SEG367 [137] phi (byte) main::r#57 = (byte) '+' [phi:main::@40->main::@19#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp b19
  //SEG368 [137] phi from main::@66 to main::@19 [phi:main::@66->main::@19]
  b40:
  //SEG369 [137] phi (byte) main::r#57 = (byte) '-' [phi:main::@66->main::@19#0] -- vbuxx=vbuc1 
    ldx #'-'
  //SEG370 main::@19
  b19:
  //SEG371 [138] (byte) printu::a#17 ← (byte) main::a#10
  //SEG372 [139] (byte) printu::res#17 ← (byte) main::r#57
  //SEG373 [140] call printu 
  //SEG374 [167] phi from main::@19 to printu [phi:main::@19->printu]
  //SEG375 [167] phi (byte) printu::res#20 = (byte) printu::res#17 [phi:main::@19->printu#0] -- register_copy 
  //SEG376 [167] phi (byte) printu::b#20 = (byte/signed byte/word/signed word/dword/signed dword) 55 [phi:main::@19->printu#1] -- vbuz1=vbuc1 
    lda #$37
    sta printu.b
  //SEG377 [167] phi (byte[]) printu::op#20 = (const string) main::op16 [phi:main::@19->printu#2] -- pbuz1=pbuc1 
    lda #<op16
    sta printu.op
    lda #>op16
    sta printu.op+1
  //SEG378 [167] phi (byte) printu::a#20 = (byte) printu::a#17 [phi:main::@19->printu#3] -- register_copy 
  //SEG379 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@19->printu#4] -- register_copy 
    jsr printu
  //SEG380 main::@67
  //SEG381 [141] if((byte) main::a#10!=*((const byte[5]) main::cs#0 + (byte) main::i#10)) goto main::@20 -- vbuz1_neq_pbuc1_derefidx_vbuz2_then_la1 
    lda a
    ldy i
    cmp cs,y
    bne b41
  //SEG382 [142] phi from main::@67 to main::@41 [phi:main::@67->main::@41]
  //SEG383 main::@41
  //SEG384 [143] phi from main::@41 to main::@20 [phi:main::@41->main::@20]
  //SEG385 [143] phi (byte) main::r#58 = (byte) '+' [phi:main::@41->main::@20#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp b20
  //SEG386 [143] phi from main::@67 to main::@20 [phi:main::@67->main::@20]
  b41:
  //SEG387 [143] phi (byte) main::r#58 = (byte) '-' [phi:main::@67->main::@20#0] -- vbuxx=vbuc1 
    ldx #'-'
  //SEG388 main::@20
  b20:
  //SEG389 [144] (byte) printu::a#18 ← (byte) main::a#10
  //SEG390 [145] (byte) printu::b#18 ← *((const byte[5]) main::cs#0 + (byte) main::i#10) -- vbuz1=pbuc1_derefidx_vbuz2 
    ldy i
    lda cs,y
    sta printu.b
  //SEG391 [146] (byte) printu::res#18 ← (byte) main::r#58
  //SEG392 [147] call printu 
  //SEG393 [167] phi from main::@20 to printu [phi:main::@20->printu]
  //SEG394 [167] phi (byte) printu::res#20 = (byte) printu::res#18 [phi:main::@20->printu#0] -- register_copy 
  //SEG395 [167] phi (byte) printu::b#20 = (byte) printu::b#18 [phi:main::@20->printu#1] -- register_copy 
  //SEG396 [167] phi (byte[]) printu::op#20 = (const string) main::op16 [phi:main::@20->printu#2] -- pbuz1=pbuc1 
    lda #<op16
    sta printu.op
    lda #>op16
    sta printu.op+1
  //SEG397 [167] phi (byte) printu::a#20 = (byte) printu::a#18 [phi:main::@20->printu#3] -- register_copy 
  //SEG398 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@20->printu#4] -- register_copy 
    jsr printu
  //SEG399 main::@68
  //SEG400 [148] if((byte) main::a#10!=(byte) main::a#10) goto main::@21 -- vbuz1_neq_vbuz1_then_la1 
    lda a
    cmp a
    bne b42
  //SEG401 [149] phi from main::@68 to main::@42 [phi:main::@68->main::@42]
  //SEG402 main::@42
  //SEG403 [150] phi from main::@42 to main::@21 [phi:main::@42->main::@21]
  //SEG404 [150] phi (byte) main::r#59 = (byte) '+' [phi:main::@42->main::@21#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp b21
  //SEG405 [150] phi from main::@68 to main::@21 [phi:main::@68->main::@21]
  b42:
  //SEG406 [150] phi (byte) main::r#59 = (byte) '-' [phi:main::@68->main::@21#0] -- vbuxx=vbuc1 
    ldx #'-'
  //SEG407 main::@21
  b21:
  //SEG408 [151] (byte) printu::a#19 ← (byte) main::a#10
  //SEG409 [152] (byte) printu::b#19 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda a
    sta printu.b
  //SEG410 [153] (byte) printu::res#19 ← (byte) main::r#59
  //SEG411 [154] call printu 
  //SEG412 [167] phi from main::@21 to printu [phi:main::@21->printu]
  //SEG413 [167] phi (byte) printu::res#20 = (byte) printu::res#19 [phi:main::@21->printu#0] -- register_copy 
  //SEG414 [167] phi (byte) printu::b#20 = (byte) printu::b#19 [phi:main::@21->printu#1] -- register_copy 
  //SEG415 [167] phi (byte[]) printu::op#20 = (const string) main::op16 [phi:main::@21->printu#2] -- pbuz1=pbuc1 
    lda #<op16
    sta printu.op
    lda #>op16
    sta printu.op+1
  //SEG416 [167] phi (byte) printu::a#20 = (byte) printu::a#19 [phi:main::@21->printu#3] -- register_copy 
  //SEG417 [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@21->printu#4] -- register_copy 
    jsr printu
  //SEG418 [155] phi from main::@21 to main::@69 [phi:main::@21->main::@69]
  //SEG419 main::@69
  //SEG420 [156] call print_ln 
  //SEG421 [162] phi from main::@69 to print_ln [phi:main::@69->print_ln]
  //SEG422 [162] phi (byte*) print_line_cursor#25 = (byte*) print_line_cursor#1 [phi:main::@69->print_ln#0] -- register_copy 
    jsr print_ln
  //SEG423 main::@70
  //SEG424 [157] (byte) main::a#1 ← (byte) main::a#10 + (byte/signed byte/word/signed word/dword/signed dword) 48 -- vbuz1=vbuz1_plus_vbuc1 
    lda #$30
    clc
    adc a
    sta a
  //SEG425 [158] (byte) main::i#1 ← ++ (byte) main::i#10 -- vbuz1=_inc_vbuz1 
    inc i
  //SEG426 [159] if((byte) main::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 5) goto main::@71 -- vbuz1_neq_vbuc1_then_la1 
    lda i
    cmp #5
    bne b71
  //SEG427 [160] phi from main::@22 main::@70 to main::@22 [phi:main::@22/main::@70->main::@22]
  //SEG428 main::@22
  b22:
    jmp b22
  //SEG429 main::@71
  b71:
  //SEG430 [161] (byte*~) print_char_cursor#142 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 
    lda print_line_cursor
    sta print_char_cursor
    lda print_line_cursor+1
    sta print_char_cursor+1
  //SEG431 [6] phi from main::@71 to main::@1 [phi:main::@71->main::@1]
  //SEG432 [6] phi (byte*) print_line_cursor#27 = (byte*) print_line_cursor#1 [phi:main::@71->main::@1#0] -- register_copy 
  //SEG433 [6] phi (byte) main::i#10 = (byte) main::i#1 [phi:main::@71->main::@1#1] -- register_copy 
  //SEG434 [6] phi (byte*) print_char_cursor#120 = (byte*~) print_char_cursor#142 [phi:main::@71->main::@1#2] -- register_copy 
  //SEG435 [6] phi (byte) main::a#10 = (byte) main::a#1 [phi:main::@71->main::@1#3] -- register_copy 
    jmp b1
    op: .text "< @"
    op4: .text "> @"
    op8: .text "<=@"
    op12: .text ">=@"
    op16: .text "==@"
    cs: .byte 7, $c7, $37, $97, $67
}
//SEG436 print_ln
// Print a newline
print_ln: {
  //SEG437 [163] phi from print_ln print_ln::@1 to print_ln::@1 [phi:print_ln/print_ln::@1->print_ln::@1]
  //SEG438 [163] phi (byte*) print_line_cursor#13 = (byte*) print_line_cursor#25 [phi:print_ln/print_ln::@1->print_ln::@1#0] -- register_copy 
  //SEG439 print_ln::@1
  b1:
  //SEG440 [164] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#13 + (byte/signed byte/word/signed word/dword/signed dword) 40 -- pbuz1=pbuz1_plus_vbuc1 
    lda print_line_cursor
    clc
    adc #$28
    sta print_line_cursor
    bcc !+
    inc print_line_cursor+1
  !:
  //SEG441 [165] if((byte*) print_line_cursor#1<(byte*) print_char_cursor#55) goto print_ln::@1 -- pbuz1_lt_pbuz2_then_la1 
    lda print_line_cursor+1
    cmp print_char_cursor+1
    bcc b1
    bne !+
    lda print_line_cursor
    cmp print_char_cursor
    bcc b1
  !:
  //SEG442 print_ln::@return
  //SEG443 [166] return 
    rts
}
//SEG444 printu
// printu(byte zeropage(2) a, byte[] zeropage(6) op, byte zeropage(8) b, byte register(X) res)
printu: {
    .label a = 2
    .label b = 8
    .label op = 6
  //SEG445 [168] call print_char 
  //SEG446 [180] phi from printu to print_char [phi:printu->print_char]
  //SEG447 [180] phi (byte*) print_char_cursor#54 = (byte*) print_char_cursor#95 [phi:printu->print_char#0] -- register_copy 
  //SEG448 [180] phi (byte) print_char::ch#5 = (byte) ' ' [phi:printu->print_char#1] -- vbuaa=vbuc1 
    lda #' '
    jsr print_char
  //SEG449 printu::@1
  //SEG450 [169] (byte) print_byte::b#0 ← (byte) printu::a#20 -- vbuz1=vbuz2 
    lda a
    sta print_byte.b
  //SEG451 [170] call print_byte 
  //SEG452 [184] phi from printu::@1 to print_byte [phi:printu::@1->print_byte]
  //SEG453 [184] phi (byte*) print_char_cursor#94 = (byte*) print_char_cursor#55 [phi:printu::@1->print_byte#0] -- register_copy 
  //SEG454 [184] phi (byte) print_byte::b#2 = (byte) print_byte::b#0 [phi:printu::@1->print_byte#1] -- register_copy 
    jsr print_byte
  //SEG455 printu::@2
  //SEG456 [171] (byte*) print_str::str#1 ← (byte[]) printu::op#20
  //SEG457 [172] call print_str 
  //SEG458 [192] phi from printu::@2 to print_str [phi:printu::@2->print_str]
    jsr print_str
  //SEG459 printu::@3
  //SEG460 [173] (byte) print_byte::b#1 ← (byte) printu::b#20 -- vbuz1=vbuz2 
    lda b
    sta print_byte.b
  //SEG461 [174] call print_byte 
  //SEG462 [184] phi from printu::@3 to print_byte [phi:printu::@3->print_byte]
  //SEG463 [184] phi (byte*) print_char_cursor#94 = (byte*) print_char_cursor#2 [phi:printu::@3->print_byte#0] -- register_copy 
  //SEG464 [184] phi (byte) print_byte::b#2 = (byte) print_byte::b#1 [phi:printu::@3->print_byte#1] -- register_copy 
    jsr print_byte
  //SEG465 [175] phi from printu::@3 to printu::@4 [phi:printu::@3->printu::@4]
  //SEG466 printu::@4
  //SEG467 [176] call print_char 
  //SEG468 [180] phi from printu::@4 to print_char [phi:printu::@4->print_char]
  //SEG469 [180] phi (byte*) print_char_cursor#54 = (byte*) print_char_cursor#55 [phi:printu::@4->print_char#0] -- register_copy 
  //SEG470 [180] phi (byte) print_char::ch#5 = (byte) ' ' [phi:printu::@4->print_char#1] -- vbuaa=vbuc1 
    lda #' '
    jsr print_char
  //SEG471 printu::@5
  //SEG472 [177] (byte) print_char::ch#4 ← (byte) printu::res#20 -- vbuaa=vbuxx 
    txa
  //SEG473 [178] call print_char 
  //SEG474 [180] phi from printu::@5 to print_char [phi:printu::@5->print_char]
  //SEG475 [180] phi (byte*) print_char_cursor#54 = (byte*) print_char_cursor#55 [phi:printu::@5->print_char#0] -- register_copy 
  //SEG476 [180] phi (byte) print_char::ch#5 = (byte) print_char::ch#4 [phi:printu::@5->print_char#1] -- register_copy 
    jsr print_char
  //SEG477 printu::@return
  //SEG478 [179] return 
    rts
}
//SEG479 print_char
// Print a single char
// print_char(byte register(A) ch)
print_char: {
  //SEG480 [181] *((byte*) print_char_cursor#54) ← (byte) print_char::ch#5 -- _deref_pbuz1=vbuaa 
    ldy #0
    sta (print_char_cursor),y
  //SEG481 [182] (byte*) print_char_cursor#55 ← ++ (byte*) print_char_cursor#54 -- pbuz1=_inc_pbuz1 
    inc print_char_cursor
    bne !+
    inc print_char_cursor+1
  !:
  //SEG482 print_char::@return
  //SEG483 [183] return 
    rts
}
//SEG484 print_byte
// Print a byte as HEX
// print_byte(byte zeropage($b) b)
print_byte: {
    .label b = $b
  //SEG485 [185] (byte~) print_byte::$0 ← (byte) print_byte::b#2 >> (byte/signed byte/word/signed word/dword/signed dword) 4 -- vbuaa=vbuz1_ror_4 
    lda b
    lsr
    lsr
    lsr
    lsr
  //SEG486 [186] (byte) print_char::ch#0 ← *((const byte[]) print_hextab#0 + (byte~) print_byte::$0) -- vbuaa=pbuc1_derefidx_vbuaa 
    tay
    lda print_hextab,y
  //SEG487 [187] call print_char 
  //SEG488 [180] phi from print_byte to print_char [phi:print_byte->print_char]
  //SEG489 [180] phi (byte*) print_char_cursor#54 = (byte*) print_char_cursor#94 [phi:print_byte->print_char#0] -- register_copy 
  //SEG490 [180] phi (byte) print_char::ch#5 = (byte) print_char::ch#0 [phi:print_byte->print_char#1] -- register_copy 
    jsr print_char
  //SEG491 print_byte::@1
  //SEG492 [188] (byte~) print_byte::$2 ← (byte) print_byte::b#2 & (byte/signed byte/word/signed word/dword/signed dword) 15 -- vbuaa=vbuz1_band_vbuc1 
    lda #$f
    and b
  //SEG493 [189] (byte) print_char::ch#1 ← *((const byte[]) print_hextab#0 + (byte~) print_byte::$2) -- vbuaa=pbuc1_derefidx_vbuaa 
    tay
    lda print_hextab,y
  //SEG494 [190] call print_char 
  //SEG495 [180] phi from print_byte::@1 to print_char [phi:print_byte::@1->print_char]
  //SEG496 [180] phi (byte*) print_char_cursor#54 = (byte*) print_char_cursor#55 [phi:print_byte::@1->print_char#0] -- register_copy 
  //SEG497 [180] phi (byte) print_char::ch#5 = (byte) print_char::ch#1 [phi:print_byte::@1->print_char#1] -- register_copy 
    jsr print_char
  //SEG498 print_byte::@return
  //SEG499 [191] return 
    rts
}
//SEG500 print_str
// Print a zero-terminated string
// print_str(byte* zeropage(6) str)
print_str: {
    .label str = 6
  //SEG501 [193] phi from print_str print_str::@2 to print_str::@1 [phi:print_str/print_str::@2->print_str::@1]
  //SEG502 [193] phi (byte*) print_char_cursor#2 = (byte*) print_char_cursor#55 [phi:print_str/print_str::@2->print_str::@1#0] -- register_copy 
  //SEG503 [193] phi (byte*) print_str::str#2 = (byte*) print_str::str#1 [phi:print_str/print_str::@2->print_str::@1#1] -- register_copy 
  //SEG504 print_str::@1
  b1:
  //SEG505 [194] if(*((byte*) print_str::str#2)!=(byte) '@') goto print_str::@2 -- _deref_pbuz1_neq_vbuc1_then_la1 
    ldy #0
    lda (str),y
    cmp #'@'
    bne b2
  //SEG506 print_str::@return
  //SEG507 [195] return 
    rts
  //SEG508 print_str::@2
  b2:
  //SEG509 [196] *((byte*) print_char_cursor#2) ← *((byte*) print_str::str#2) -- _deref_pbuz1=_deref_pbuz2 
    ldy #0
    lda (str),y
    sta (print_char_cursor),y
  //SEG510 [197] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#2 -- pbuz1=_inc_pbuz1 
    inc print_char_cursor
    bne !+
    inc print_char_cursor+1
  !:
  //SEG511 [198] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#2 -- pbuz1=_inc_pbuz1 
    inc str
    bne !+
    inc str+1
  !:
    jmp b1
}
//SEG512 print_cls
// Clear the screen. Also resets current line/char cursor.
print_cls: {
    .label sc = 4
  //SEG513 [200] phi from print_cls to print_cls::@1 [phi:print_cls->print_cls::@1]
  //SEG514 [200] phi (byte*) print_cls::sc#2 = ((byte*))(word/signed word/dword/signed dword) 1024 [phi:print_cls->print_cls::@1#0] -- pbuz1=pbuc1 
    lda #<$400
    sta sc
    lda #>$400
    sta sc+1
  //SEG515 [200] phi from print_cls::@1 to print_cls::@1 [phi:print_cls::@1->print_cls::@1]
  //SEG516 [200] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#1 [phi:print_cls::@1->print_cls::@1#0] -- register_copy 
  //SEG517 print_cls::@1
  b1:
  //SEG518 [201] *((byte*) print_cls::sc#2) ← (byte) ' ' -- _deref_pbuz1=vbuc1 
    lda #' '
    ldy #0
    sta (sc),y
  //SEG519 [202] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 -- pbuz1=_inc_pbuz1 
    inc sc
    bne !+
    inc sc+1
  !:
  //SEG520 [203] if((byte*) print_cls::sc#1!=((byte*))(word/signed word/dword/signed dword) 1024+(word/signed word/dword/signed dword) 1000) goto print_cls::@1 -- pbuz1_neq_pbuc1_then_la1 
    lda sc+1
    cmp #>$400+$3e8
    bne b1
    lda sc
    cmp #<$400+$3e8
    bne b1
  //SEG521 print_cls::@return
  //SEG522 [204] return 
    rts
}
  print_hextab: .text "0123456789abcdef"

