Fixing pointer addition (word*~) bsearch16u::$7 ← (word*) bsearch16u::items + (byte~) bsearch16u::$6
Fixing pointer addition (word*~) bsearch16u::$15 ← (word*) bsearch16u::pivot + (number) 1
Fixing pointer addition (word*~) bsearch16u::$1 ← (word*) bsearch16u::items - (number) 1
Fixing pointer array-indexing *((word*) utoa::digit_values + (byte) utoa::digit)
Fixing pointer array-indexing *((dword*) ultoa::digit_values + (byte) ultoa::digit)
Warning! Adding boolean cast to non-boolean condition *((byte*) strcpy::src)
Warning! Adding boolean cast to non-boolean condition *((byte*) strlen::str)
Warning! Adding boolean cast to non-boolean condition *((byte*) print_str_lines::str)
Warning! Adding boolean cast to non-boolean condition (byte) print_str_lines::ch
Warning! Adding boolean cast to non-boolean condition *((byte*) print_str::str)
Warning! Adding boolean cast to non-boolean condition *((byte*) print_str_at::str)
Warning! Adding boolean cast to non-boolean sub-expression (byte) print_str_lines::ch
Identified constant variable (byte*) HEAP_TOP
Culled Empty Block (label) @1
Culled Empty Block (label) @2
Culled Empty Block (label) memset::@7
Culled Empty Block (label) memset::@6
Culled Empty Block (label) memset::@8
Culled Empty Block (label) memset::@9
Culled Empty Block (label) memset::@3
Culled Empty Block (label) @3
Culled Empty Block (label) @4
Culled Empty Block (label) @5
Culled Empty Block (label) @6
Culled Empty Block (label) @7
Culled Empty Block (label) @8
Culled Empty Block (label) @9
Culled Empty Block (label) @10
Culled Empty Block (label) @11
Culled Empty Block (label) @12
Culled Empty Block (label) @14
Culled Empty Block (label) @15
Culled Empty Block (label) print_str::@4
Culled Empty Block (label) print_str::@3
Culled Empty Block (label) print_str::@5
Culled Empty Block (label) print_str::@6
Culled Empty Block (label) @16
Culled Empty Block (label) @17
Culled Empty Block (label) @18
Culled Empty Block (label) @19
Culled Empty Block (label) @20
Culled Empty Block (label) @21
Culled Empty Block (label) @22
Culled Empty Block (label) @23
Culled Empty Block (label) @24
Culled Empty Block (label) @25
Culled Empty Block (label) @26
Culled Empty Block (label) @27
Culled Empty Block (label) @28
Culled Empty Block (label) @29
Culled Empty Block (label) @30
Culled Empty Block (label) @31
Culled Empty Block (label) @32
Culled Empty Block (label) @33
Culled Empty Block (label) @34
Culled Empty Block (label) @35
Culled Empty Block (label) @36
Culled Empty Block (label) @37
Culled Empty Block (label) main::@42
Culled Empty Block (label) main::@44
Culled Empty Block (label) @38

CONTROL FLOW GRAPH SSA
@begin: scope:[]  from
  to:@13

(void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num)
memset: scope:[memset]  from print_cls
  (byte) memset::c#4 ← phi( print_cls/(byte) memset::c#0 )
  (void*) memset::str#3 ← phi( print_cls/(void*) memset::str#0 )
  (word) memset::num#1 ← phi( print_cls/(word) memset::num#0 )
  (bool~) memset::$0 ← (word) memset::num#1 > (number) 0
  (bool~) memset::$1 ← ! (bool~) memset::$0
  if((bool~) memset::$1) goto memset::@1
  to:memset::@2
memset::@1: scope:[memset]  from memset memset::@4
  (void*) memset::str#1 ← phi( memset/(void*) memset::str#3 memset::@4/(void*) memset::str#4 )
  (void*) memset::return#0 ← (void*) memset::str#1
  to:memset::@return
memset::@2: scope:[memset]  from memset
  (byte) memset::c#3 ← phi( memset/(byte) memset::c#4 )
  (word) memset::num#2 ← phi( memset/(word) memset::num#1 )
  (void*) memset::str#2 ← phi( memset/(void*) memset::str#3 )
  (byte*~) memset::$2 ← ((byte*)) (void*) memset::str#2
  (byte*~) memset::$3 ← (byte*~) memset::$2 + (word) memset::num#2
  (byte*) memset::end#0 ← (byte*~) memset::$3
  (byte*) memset::dst#0 ← ((byte*)) (void*) memset::str#2
  to:memset::@4
memset::@4: scope:[memset]  from memset::@2 memset::@5
  (byte) memset::c#2 ← phi( memset::@2/(byte) memset::c#3 memset::@5/(byte) memset::c#1 )
  (void*) memset::str#4 ← phi( memset::@2/(void*) memset::str#2 memset::@5/(void*) memset::str#5 )
  (byte*) memset::end#1 ← phi( memset::@2/(byte*) memset::end#0 memset::@5/(byte*) memset::end#2 )
  (byte*) memset::dst#2 ← phi( memset::@2/(byte*) memset::dst#0 memset::@5/(byte*) memset::dst#1 )
  (bool~) memset::$4 ← (byte*) memset::dst#2 != (byte*) memset::end#1
  if((bool~) memset::$4) goto memset::@5
  to:memset::@1
memset::@5: scope:[memset]  from memset::@4
  (void*) memset::str#5 ← phi( memset::@4/(void*) memset::str#4 )
  (byte*) memset::end#2 ← phi( memset::@4/(byte*) memset::end#1 )
  (byte*) memset::dst#3 ← phi( memset::@4/(byte*) memset::dst#2 )
  (byte) memset::c#1 ← phi( memset::@4/(byte) memset::c#2 )
  *((byte*) memset::dst#3) ← (byte) memset::c#1
  (byte*) memset::dst#1 ← ++ (byte*) memset::dst#3
  to:memset::@4
memset::@return: scope:[memset]  from memset::@1
  (void*) memset::return#3 ← phi( memset::@1/(void*) memset::return#0 )
  (void*) memset::return#1 ← (void*) memset::return#3
  return 
  to:@return
@13: scope:[]  from @begin
  (byte*) print_screen#0 ← (byte*)(number) $400
  (byte*) print_line_cursor#0 ← (byte*) print_screen#0
  (byte*) print_char_cursor#0 ← (byte*) print_line_cursor#0
  to:@39

(void()) print_str((byte*) print_str::str)
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 ← (number) 0 != *((byte*) print_str::str#2)
  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

(void()) print_ln()
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 + (number) $28
  (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

(void()) print_byte((byte) print_byte::b)
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 >> (number) 4
  (byte) print_char::ch#0 ← *((const byte*) print_hextab + (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
  (number~) print_byte::$2 ← (byte) print_byte::b#3 & (number) $f
  (byte) print_char::ch#1 ← *((const byte*) print_hextab + (number~) 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

(void()) print_char((byte) print_char::ch)
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

(void()) print_cls()
print_cls: scope:[print_cls]  from main
  (byte*) print_screen#1 ← phi( main/(byte*) print_screen#3 )
  (void*) memset::str#0 ← (void*)(byte*) print_screen#1
  (byte) memset::c#0 ← (byte) ' '
  (word) memset::num#0 ← (number) $3e8
  call memset 
  (void*) memset::return#2 ← (void*) memset::return#1
  to:print_cls::@1
print_cls::@1: scope:[print_cls]  from print_cls
  (byte*) print_screen#2 ← phi( print_cls/(byte*) print_screen#1 )
  (byte*) print_line_cursor#3 ← (byte*) print_screen#2
  (byte*) print_char_cursor#10 ← (byte*) print_line_cursor#3
  to:print_cls::@return
print_cls::@return: scope:[print_cls]  from print_cls::@1
  (byte*) print_char_cursor#56 ← phi( print_cls::@1/(byte*) print_char_cursor#10 )
  (byte*) print_line_cursor#16 ← phi( print_cls::@1/(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

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

(void()) printu((byte) printu::a , (byte*) printu::op , (byte) printu::b , (byte) printu::res)
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
@39: scope:[]  from @13
  (byte*) print_screen#4 ← phi( @13/(byte*) print_screen#0 )
  (byte*) print_char_cursor#118 ← phi( @13/(byte*) print_char_cursor#0 )
  (byte*) print_line_cursor#33 ← phi( @13/(byte*) print_line_cursor#0 )
  call main 
  to:@40
@40: scope:[]  from @39
  (byte*) print_char_cursor#91 ← phi( @39/(byte*) print_char_cursor#38 )
  (byte*) print_line_cursor#24 ← phi( @39/(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 @40

SYMBOL TABLE SSA
(label) @13
(label) @39
(label) @40
(label) @begin
(label) @end
(const byte) RADIX::BINARY = (number) 2
(const byte) RADIX::DECIMAL = (number) $a
(const byte) RADIX::HEXADECIMAL = (number) $10
(const byte) RADIX::OCTAL = (number) 8
(void()) main()
(number~) 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
(number~) 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::@43
(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
(const byte*) main::cs[(number) 5]  = { (byte) 7, (byte) $c7, (byte) $37, (byte) $97, (byte) $67 }
(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 byte*) main::op[(byte) 3]  = (byte*) "< "
(const byte*) main::op1[(byte) 3]  = (byte*) "< "
(const byte*) main::op10[(byte) 3]  = (byte*) "<="
(const byte*) main::op11[(byte) 3]  = (byte*) "<="
(const byte*) main::op12[(byte) 3]  = (byte*) ">="
(const byte*) main::op13[(byte) 3]  = (byte*) ">="
(const byte*) main::op14[(byte) 3]  = (byte*) ">="
(const byte*) main::op15[(byte) 3]  = (byte*) ">="
(const byte*) main::op16[(byte) 3]  = (byte*) "=="
(const byte*) main::op17[(byte) 3]  = (byte*) "=="
(const byte*) main::op18[(byte) 3]  = (byte*) "=="
(const byte*) main::op19[(byte) 3]  = (byte*) "=="
(const byte*) main::op2[(byte) 3]  = (byte*) "< "
(const byte*) main::op3[(byte) 3]  = (byte*) "< "
(const byte*) main::op4[(byte) 3]  = (byte*) "> "
(const byte*) main::op5[(byte) 3]  = (byte*) "> "
(const byte*) main::op6[(byte) 3]  = (byte*) "> "
(const byte*) main::op7[(byte) 3]  = (byte*) "> "
(const byte*) main::op8[(byte) 3]  = (byte*) "<="
(const byte*) main::op9[(byte) 3]  = (byte*) "<="
(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#60
(byte) main::r#7
(byte) main::r#8
(byte) main::r#9
(void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num)
(bool~) memset::$0
(bool~) memset::$1
(byte*~) memset::$2
(byte*~) memset::$3
(bool~) memset::$4
(label) memset::@1
(label) memset::@2
(label) memset::@4
(label) memset::@5
(label) memset::@return
(byte) memset::c
(byte) memset::c#0
(byte) memset::c#1
(byte) memset::c#2
(byte) memset::c#3
(byte) memset::c#4
(byte*) memset::dst
(byte*) memset::dst#0
(byte*) memset::dst#1
(byte*) memset::dst#2
(byte*) memset::dst#3
(byte*) memset::end
(byte*) memset::end#0
(byte*) memset::end#1
(byte*) memset::end#2
(word) memset::num
(word) memset::num#0
(word) memset::num#1
(word) memset::num#2
(void*) memset::return
(void*) memset::return#0
(void*) memset::return#1
(void*) memset::return#2
(void*) memset::return#3
(void*) memset::str
(void*) memset::str#0
(void*) memset::str#1
(void*) memset::str#2
(void*) memset::str#3
(void*) memset::str#4
(void*) memset::str#5
(void()) print_byte((byte) print_byte::b)
(byte~) print_byte::$0
(number~) 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#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()
(label) print_cls::@1
(label) print_cls::@return
(const byte*) print_hextab[]  = (byte*) "0123456789abcdef"z
(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
(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
(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

Adding number conversion cast (unumber) 0 in (bool~) memset::$0 ← (word) memset::num#1 > (number) 0
Adding number conversion cast (unumber) 0 in (bool~) print_str::$0 ← (number) 0 != *((byte*) print_str::str#2)
Adding number conversion cast (unumber) $28 in (byte*~) print_ln::$0 ← (byte*) print_line_cursor#13 + (number) $28
Adding number conversion cast (unumber) 4 in (byte~) print_byte::$0 ← (byte) print_byte::b#2 >> (number) 4
Adding number conversion cast (unumber) $f in (number~) print_byte::$2 ← (byte) print_byte::b#3 & (number) $f
Adding number conversion cast (unumber) print_byte::$2 in (number~) print_byte::$2 ← (byte) print_byte::b#3 & (unumber)(number) $f
Adding number conversion cast (unumber) $3e8 in (word) memset::num#0 ← (number) $3e8
Adding number conversion cast (unumber) $ce in (number~) main::$1 ← (number) $ce - (byte) main::a#2
Adding number conversion cast (unumber) main::$1 in (number~) main::$1 ← (unumber)(number) $ce - (byte) main::a#2
Adding number conversion cast (unumber) $37 in (bool~) main::$5 ← (byte) main::a#4 < (number) $37
Adding number conversion cast (unumber) $37 in (byte) printu::b#1 ← (number) $37
Adding number conversion cast (unumber) $37 in (bool~) main::$18 ← (byte) main::a#12 > (number) $37
Adding number conversion cast (unumber) $37 in (byte) printu::b#5 ← (number) $37
Adding number conversion cast (unumber) $37 in (bool~) main::$31 ← (byte) main::a#20 <= (number) $37
Adding number conversion cast (unumber) $37 in (byte) printu::b#9 ← (number) $37
Adding number conversion cast (unumber) $37 in (bool~) main::$44 ← (byte) main::a#28 >= (number) $37
Adding number conversion cast (unumber) $37 in (byte) printu::b#13 ← (number) $37
Adding number conversion cast (unumber) $37 in (bool~) main::$57 ← (byte) main::a#36 == (number) $37
Adding number conversion cast (unumber) $37 in (byte) printu::b#17 ← (number) $37
Adding number conversion cast (unumber) $30 in (number~) main::$67 ← (byte) main::a#42 + (number) $30
Adding number conversion cast (unumber) main::$67 in (number~) main::$67 ← (byte) main::a#42 + (unumber)(number) $30
Successful SSA optimization PassNAddNumberTypeConversions
Inlining cast (byte*~) memset::$2 ← (byte*)(void*) memset::str#2
Inlining cast (byte*) memset::dst#0 ← (byte*)(void*) memset::str#2
Inlining cast (word) memset::num#0 ← (unumber)(number) $3e8
Inlining cast (byte) printu::b#1 ← (unumber)(number) $37
Inlining cast (byte) printu::b#5 ← (unumber)(number) $37
Inlining cast (byte) printu::b#9 ← (unumber)(number) $37
Inlining cast (byte) printu::b#13 ← (unumber)(number) $37
Inlining cast (byte) printu::b#17 ← (unumber)(number) $37
Successful SSA optimization Pass2InlineCast
Simplifying constant integer cast 0
Simplifying constant pointer cast (byte*) 1024
Simplifying constant integer cast 0
Simplifying constant integer cast $28
Simplifying constant integer cast 4
Simplifying constant integer cast $f
Simplifying constant integer cast $3e8
Simplifying constant integer cast $ce
Simplifying constant integer cast $37
Simplifying constant integer cast $37
Simplifying constant integer cast $37
Simplifying constant integer cast $37
Simplifying constant integer cast $37
Simplifying constant integer cast $37
Simplifying constant integer cast $37
Simplifying constant integer cast $37
Simplifying constant integer cast $37
Simplifying constant integer cast $37
Simplifying constant integer cast $30
Successful SSA optimization PassNCastSimplification
Finalized unsigned number type (byte) 0
Finalized unsigned number type (byte) 0
Finalized unsigned number type (byte) $28
Finalized unsigned number type (byte) 4
Finalized unsigned number type (byte) $f
Finalized unsigned number type (word) $3e8
Finalized unsigned number type (byte) $ce
Finalized unsigned number type (byte) $37
Finalized unsigned number type (byte) $37
Finalized unsigned number type (byte) $37
Finalized unsigned number type (byte) $37
Finalized unsigned number type (byte) $37
Finalized unsigned number type (byte) $37
Finalized unsigned number type (byte) $37
Finalized unsigned number type (byte) $37
Finalized unsigned number type (byte) $37
Finalized unsigned number type (byte) $37
Finalized unsigned number type (byte) $30
Successful SSA optimization PassNFinalizeNumberTypeConversions
Inferred type updated to byte in (unumber~) print_byte::$2 ← (byte) print_byte::b#3 & (byte) $f
Inferred type updated to byte in (unumber~) main::$1 ← (byte) $ce - (byte) main::a#2
Inferred type updated to byte in (unumber~) main::$67 ← (byte) main::a#42 + (byte) $30
Inversing boolean not [2] (bool~) memset::$1 ← (word) memset::num#1 <= (byte) 0 from [1] (bool~) memset::$0 ← (word) memset::num#1 > (byte) 0
Inversing boolean not [92] (bool~) main::$3 ← (byte) main::a#2 >= (byte) main::b#0 from [91] (bool~) main::$2 ← (byte) main::a#2 < (byte) main::b#0
Inversing boolean not [104] (bool~) main::$6 ← (byte) main::a#4 >= (byte) $37 from [103] (bool~) main::$5 ← (byte) main::a#4 < (byte) $37
Inversing boolean not [118] (bool~) main::$9 ← (byte) main::a#6 >= *((const byte*) main::cs + (byte) main::i#2) from [117] (bool~) main::$8 ← (byte) main::a#6 < *((const byte*) main::cs + (byte) main::i#2)
Inversing boolean not [132] (bool~) main::$12 ← (byte) main::a#8 >= (byte) main::a#8 from [131] (bool~) main::$11 ← (byte) main::a#8 < (byte) main::a#8
Inversing boolean not [150] (bool~) main::$16 ← (byte) main::a#10 <= (byte) main::b#2 from [149] (bool~) main::$15 ← (byte) main::a#10 > (byte) main::b#2
Inversing boolean not [164] (bool~) main::$19 ← (byte) main::a#12 <= (byte) $37 from [163] (bool~) main::$18 ← (byte) main::a#12 > (byte) $37
Inversing boolean not [178] (bool~) main::$22 ← (byte) main::a#14 <= *((const byte*) main::cs + (byte) main::i#4) from [177] (bool~) main::$21 ← (byte) main::a#14 > *((const byte*) main::cs + (byte) main::i#4)
Inversing boolean not [192] (bool~) main::$25 ← (byte) main::a#16 <= (byte) main::a#16 from [191] (bool~) main::$24 ← (byte) main::a#16 > (byte) main::a#16
Inversing boolean not [210] (bool~) main::$29 ← (byte) main::a#18 > (byte) main::b#4 from [209] (bool~) main::$28 ← (byte) main::a#18 <= (byte) main::b#4
Inversing boolean not [224] (bool~) main::$32 ← (byte) main::a#20 > (byte) $37 from [223] (bool~) main::$31 ← (byte) main::a#20 <= (byte) $37
Inversing boolean not [238] (bool~) main::$35 ← (byte) main::a#22 > *((const byte*) main::cs + (byte) main::i#6) from [237] (bool~) main::$34 ← (byte) main::a#22 <= *((const byte*) main::cs + (byte) main::i#6)
Inversing boolean not [252] (bool~) main::$38 ← (byte) main::a#24 > (byte) main::a#24 from [251] (bool~) main::$37 ← (byte) main::a#24 <= (byte) main::a#24
Inversing boolean not [270] (bool~) main::$42 ← (byte) main::a#26 < (byte) main::b#6 from [269] (bool~) main::$41 ← (byte) main::a#26 >= (byte) main::b#6
Inversing boolean not [284] (bool~) main::$45 ← (byte) main::a#28 < (byte) $37 from [283] (bool~) main::$44 ← (byte) main::a#28 >= (byte) $37
Inversing boolean not [298] (bool~) main::$48 ← (byte) main::a#30 < *((const byte*) main::cs + (byte) main::i#8) from [297] (bool~) main::$47 ← (byte) main::a#30 >= *((const byte*) main::cs + (byte) main::i#8)
Inversing boolean not [312] (bool~) main::$51 ← (byte) main::a#32 < (byte) main::a#32 from [311] (bool~) main::$50 ← (byte) main::a#32 >= (byte) main::a#32
Inversing boolean not [330] (bool~) main::$55 ← (byte) main::a#34 != (byte) main::b#8 from [329] (bool~) main::$54 ← (byte) main::a#34 == (byte) main::b#8
Inversing boolean not [344] (bool~) main::$58 ← (byte) main::a#36 != (byte) $37 from [343] (bool~) main::$57 ← (byte) main::a#36 == (byte) $37
Inversing boolean not [358] (bool~) main::$61 ← (byte) main::a#38 != *((const byte*) main::cs + (byte) main::i#10) from [357] (bool~) main::$60 ← (byte) main::a#38 == *((const byte*) main::cs + (byte) main::i#10)
Inversing boolean not [372] (bool~) main::$64 ← (byte) main::a#40 != (byte) main::a#40 from [371] (bool~) main::$63 ← (byte) main::a#40 == (byte) main::a#40
Successful SSA optimization Pass2UnaryNotSimplification
Alias (void*) memset::return#0 = (void*) memset::str#1 (void*) memset::return#3 (void*) memset::return#1 
Alias (void*) memset::str#2 = (void*) memset::str#3 
Alias (word) memset::num#1 = (word) memset::num#2 
Alias (byte) memset::c#3 = (byte) memset::c#4 
Alias (byte*) memset::end#0 = (byte*~) memset::$3 
Alias (byte) memset::c#1 = (byte) memset::c#2 
Alias (byte*) memset::dst#2 = (byte*) memset::dst#3 
Alias (byte*) memset::end#1 = (byte*) memset::end#2 
Alias (void*) memset::str#4 = (void*) memset::str#5 
Alias (byte*) print_line_cursor#0 = (byte*) print_screen#0 (byte*) print_char_cursor#0 (byte*) print_line_cursor#33 (byte*) print_char_cursor#118 (byte*) print_screen#4 
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#2 (byte*) print_screen#1 (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~) 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#69 = (byte*) print_line_cursor#70 (byte*) print_line_cursor#79 
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#84 = (byte*) print_line_cursor#85 
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#54 = (byte*) print_line_cursor#55 (byte*) print_line_cursor#64 
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#39 = (byte*) print_line_cursor#40 (byte*) print_line_cursor#49 
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#86 
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#71 = (byte*) print_line_cursor#72 (byte*) print_line_cursor#80 
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#56 = (byte*) print_line_cursor#57 (byte*) print_line_cursor#65 
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#41 = (byte*) print_line_cursor#42 (byte*) print_line_cursor#50 
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#87 
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#73 = (byte*) print_line_cursor#74 (byte*) print_line_cursor#81 
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#58 = (byte*) print_line_cursor#59 (byte*) print_line_cursor#66 
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#43 = (byte*) print_line_cursor#44 (byte*) print_line_cursor#51 
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#88 
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#75 = (byte*) print_line_cursor#76 (byte*) print_line_cursor#82 
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#60 = (byte*) print_line_cursor#61 (byte*) print_line_cursor#67 
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#45 = (byte*) print_line_cursor#46 (byte*) print_line_cursor#52 
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#89 
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#77 = (byte*) print_line_cursor#78 (byte*) print_line_cursor#83 
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#62 = (byte*) print_line_cursor#63 (byte*) print_line_cursor#68 
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#47 = (byte*) print_line_cursor#48 (byte*) print_line_cursor#53 
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~) 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#69 (byte*) print_line_cursor#84 (byte*) print_line_cursor#54 (byte*) print_line_cursor#39 
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#71 (byte*) print_line_cursor#56 (byte*) print_line_cursor#41 (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#73 (byte*) print_line_cursor#58 (byte*) print_line_cursor#43 (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#75 (byte*) print_line_cursor#60 (byte*) print_line_cursor#45 (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#77 (byte*) print_line_cursor#62 (byte*) print_line_cursor#47 (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
Identical Phi Values (word) memset::num#1 (word) memset::num#0
Identical Phi Values (void*) memset::str#2 (void*) memset::str#0
Identical Phi Values (byte) memset::c#3 (byte) memset::c#0
Identical Phi Values (byte*) memset::end#1 (byte*) memset::end#0
Identical Phi Values (void*) memset::str#4 (void*) memset::str#2
Identical Phi Values (byte) memset::c#1 (byte) memset::c#3
Identical Phi Values (byte*) print_str::str#4 (byte*) print_str::str#1
Identical Phi Values (byte*) print_char_cursor#119 (byte*) print_char_cursor#40
Identical Phi Values (byte*) print_char_cursor#49 (byte*) print_char_cursor#93
Identical Phi Values (byte*) print_char_cursor#5 (byte*) print_char_cursor#55
Identical Phi Values (byte*) print_char_cursor#52 (byte*) print_char_cursor#55
Identical Phi Values (byte*) print_line_cursor#16 (byte*) print_screen#3
Identical Phi Values (byte*) print_screen#3 (byte*) print_line_cursor#0
Identical Phi Values (byte*) print_line_cursor#26 (byte*) print_line_cursor#0
Identical Phi Values (byte*) print_char_cursor#96 (byte*) print_line_cursor#0
Identical Phi Values (byte*) print_line_cursor#17 (byte*) print_line_cursor#16
Identical Phi Values (byte*) print_char_cursor#12 (byte*) print_line_cursor#16
Identical Phi Values (byte*) print_char_cursor#122 (byte*) print_char_cursor#44
Identical Phi Values (byte*) print_char_cursor#123 (byte*) print_char_cursor#44
Identical Phi Values (byte*) print_char_cursor#100 (byte*) print_char_cursor#44
Identical Phi Values (byte*) print_char_cursor#16 (byte*) print_char_cursor#44
Identical Phi Values (byte*) print_line_cursor#18 (byte*) print_line_cursor#1
Identical Phi Values (byte*) print_char_cursor#101 (byte*) print_line_cursor#1
Identical Phi Values (byte*) print_char_cursor#102 (byte*) print_char_cursor#44
Identical Phi Values (byte*) print_char_cursor#103 (byte*) print_char_cursor#44
Identical Phi Values (byte*) print_char_cursor#104 (byte*) print_char_cursor#44
Identical Phi Values (byte*) print_char_cursor#21 (byte*) print_char_cursor#44
Identical Phi Values (byte*) print_line_cursor#19 (byte*) print_line_cursor#1
Identical Phi Values (byte*) print_char_cursor#105 (byte*) print_line_cursor#1
Identical Phi Values (byte*) print_char_cursor#106 (byte*) print_char_cursor#44
Identical Phi Values (byte*) print_char_cursor#107 (byte*) print_char_cursor#44
Identical Phi Values (byte*) print_char_cursor#108 (byte*) print_char_cursor#44
Identical Phi Values (byte*) print_char_cursor#26 (byte*) print_char_cursor#44
Identical Phi Values (byte*) print_line_cursor#20 (byte*) print_line_cursor#1
Identical Phi Values (byte*) print_char_cursor#109 (byte*) print_line_cursor#1
Identical Phi Values (byte*) print_char_cursor#110 (byte*) print_char_cursor#44
Identical Phi Values (byte*) print_char_cursor#111 (byte*) print_char_cursor#44
Identical Phi Values (byte*) print_char_cursor#112 (byte*) print_char_cursor#44
Identical Phi Values (byte*) print_char_cursor#31 (byte*) print_char_cursor#44
Identical Phi Values (byte*) print_line_cursor#21 (byte*) print_line_cursor#1
Identical Phi Values (byte*) print_char_cursor#113 (byte*) print_line_cursor#1
Identical Phi Values (byte*) print_char_cursor#114 (byte*) print_char_cursor#44
Identical Phi Values (byte*) print_char_cursor#115 (byte*) print_char_cursor#44
Identical Phi Values (byte*) print_char_cursor#116 (byte*) print_char_cursor#44
Identical Phi Values (byte*) print_char_cursor#36 (byte*) print_char_cursor#44
Identical Phi Values (byte*) print_line_cursor#10 (byte*) print_line_cursor#1
Identical Phi Values (byte*) print_char_cursor#37 (byte*) print_line_cursor#1
Identical Phi Values (byte*) print_line_cursor#11 (byte*) print_line_cursor#10
Identical Phi Values (byte*) print_char_cursor#117 (byte*) print_char_cursor#37
Identical Phi Values (byte*) print_char_cursor#39 (byte*) print_char_cursor#55
Identical Phi Values (byte*) print_char_cursor#40 (byte*) print_char_cursor#52
Identical Phi Values (byte*) print_char_cursor#41 (byte*) print_char_cursor#2
Identical Phi Values (byte*) print_char_cursor#42 (byte*) print_char_cursor#52
Identical Phi Values (byte*) print_char_cursor#43 (byte*) print_char_cursor#55
Identical Phi Values (byte*) print_char_cursor#44 (byte*) print_char_cursor#55
Identical Phi Values (byte*) print_line_cursor#12 (byte*) print_line_cursor#11
Identical Phi Values (byte*) print_char_cursor#46 (byte*) print_char_cursor#117
Successful SSA optimization Pass2IdenticalPhiElimination
Identical Phi Values (void*) memset::return#0 (void*) memset::str#0
Identical Phi Values (byte*) print_char_cursor#93 (byte*) print_char_cursor#55
Successful SSA optimization Pass2IdenticalPhiElimination
Simple Condition (bool~) memset::$1 [2] if((word) memset::num#0<=(byte) 0) goto memset::@1
Simple Condition (bool~) memset::$4 [9] if((byte*) memset::dst#2!=(byte*) memset::end#0) goto memset::@5
Simple Condition (bool~) print_str::$0 [17] if((byte) 0!=*((byte*) print_str::str#2)) goto print_str::@2
Simple Condition (bool~) print_ln::$1 [26] if((byte*) print_line_cursor#1<(byte*) print_char_cursor#55) goto print_ln::@1
Simple Condition (bool~) main::$3 [59] if((byte) main::a#10>=(byte) main::b#0) goto main::@2
Simple Condition (bool~) main::$6 [69] if((byte) main::a#10>=(byte) $37) goto main::@3
Simple Condition (bool~) main::$9 [80] if((byte) main::a#10>=*((const byte*) main::cs + (byte) main::i#10)) goto main::@4
Simple Condition (bool~) main::$12 [91] if((byte) main::a#10>=(byte) main::a#10) goto main::@5
Simple Condition (bool~) main::$16 [104] if((byte) main::a#10<=(byte) main::b#0) goto main::@6
Simple Condition (bool~) main::$19 [115] if((byte) main::a#10<=(byte) $37) goto main::@7
Simple Condition (bool~) main::$22 [126] if((byte) main::a#10<=*((const byte*) main::cs + (byte) main::i#10)) goto main::@8
Simple Condition (bool~) main::$25 [137] if((byte) main::a#10<=(byte) main::a#10) goto main::@9
Simple Condition (bool~) main::$29 [150] if((byte) main::a#10>(byte) main::b#0) goto main::@10
Simple Condition (bool~) main::$32 [161] if((byte) main::a#10>(byte) $37) goto main::@11
Simple Condition (bool~) main::$35 [172] if((byte) main::a#10>*((const byte*) main::cs + (byte) main::i#10)) goto main::@12
Simple Condition (bool~) main::$38 [183] if((byte) main::a#10>(byte) main::a#10) goto main::@13
Simple Condition (bool~) main::$42 [196] if((byte) main::a#10<(byte) main::b#0) goto main::@14
Simple Condition (bool~) main::$45 [207] if((byte) main::a#10<(byte) $37) goto main::@15
Simple Condition (bool~) main::$48 [218] if((byte) main::a#10<*((const byte*) main::cs + (byte) main::i#10)) goto main::@16
Simple Condition (bool~) main::$51 [229] if((byte) main::a#10<(byte) main::a#10) goto main::@17
Simple Condition (bool~) main::$55 [242] if((byte) main::a#10!=(byte) main::b#0) goto main::@18
Simple Condition (bool~) main::$58 [253] if((byte) main::a#10!=(byte) $37) goto main::@19
Simple Condition (bool~) main::$61 [264] if((byte) main::a#10!=*((const byte*) main::cs + (byte) main::i#10)) goto main::@20
Simple Condition (bool~) main::$64 [275] if((byte) main::a#10!=(byte) main::a#10) goto main::@21
Simple Condition (bool~) main::$68 [289] 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) memset::c#0 = ' '
Constant (const word) memset::num#0 = $3e8
Constant (const byte) main::a#0 = 7
Constant (const byte) main::i#0 = 0
Constant (const byte) main::r#0 = 0
Constant (const byte) main::r#1 = '-'
Constant (const byte*) printu::op#0 = main::op
Constant (const byte) main::r#2 = '-'
Constant (const byte) main::r#3 = '+'
Constant (const byte*) printu::op#1 = main::op1
Constant (const byte) printu::b#1 = $37
Constant (const byte) main::r#4 = '-'
Constant (const byte) main::r#5 = '+'
Constant (const byte*) printu::op#2 = main::op2
Constant (const byte) main::r#6 = '-'
Constant (const byte) main::r#7 = '+'
Constant (const byte*) printu::op#3 = main::op3
Constant (const byte) main::r#8 = '-'
Constant (const byte) main::r#9 = '+'
Constant (const byte*) printu::op#4 = main::op4
Constant (const byte) main::r#10 = '-'
Constant (const byte) main::r#11 = '+'
Constant (const byte*) printu::op#5 = main::op5
Constant (const byte) printu::b#5 = $37
Constant (const byte) main::r#12 = '-'
Constant (const byte) main::r#13 = '+'
Constant (const byte*) printu::op#6 = main::op6
Constant (const byte) main::r#14 = '-'
Constant (const byte) main::r#15 = '+'
Constant (const byte*) printu::op#7 = main::op7
Constant (const byte) main::r#16 = '-'
Constant (const byte) main::r#17 = '+'
Constant (const byte*) printu::op#8 = main::op8
Constant (const byte) main::r#18 = '-'
Constant (const byte) main::r#19 = '+'
Constant (const byte*) printu::op#9 = main::op9
Constant (const byte) printu::b#9 = $37
Constant (const byte) main::r#20 = '-'
Constant (const byte) main::r#21 = '+'
Constant (const byte*) printu::op#10 = main::op10
Constant (const byte) main::r#22 = '-'
Constant (const byte) main::r#23 = '+'
Constant (const byte*) printu::op#11 = main::op11
Constant (const byte) main::r#24 = '-'
Constant (const byte) main::r#25 = '+'
Constant (const byte*) printu::op#12 = main::op12
Constant (const byte) main::r#26 = '-'
Constant (const byte) main::r#27 = '+'
Constant (const byte*) printu::op#13 = main::op13
Constant (const byte) printu::b#13 = $37
Constant (const byte) main::r#28 = '-'
Constant (const byte) main::r#29 = '+'
Constant (const byte*) printu::op#14 = main::op14
Constant (const byte) main::r#30 = '-'
Constant (const byte) main::r#31 = '+'
Constant (const byte*) printu::op#15 = main::op15
Constant (const byte) main::r#32 = '-'
Constant (const byte) main::r#33 = '+'
Constant (const byte*) printu::op#16 = main::op16
Constant (const byte) main::r#34 = '-'
Constant (const byte) main::r#35 = '+'
Constant (const byte*) printu::op#17 = main::op17
Constant (const byte) printu::b#17 = $37
Constant (const byte) main::r#36 = '-'
Constant (const byte) main::r#37 = '+'
Constant (const byte*) printu::op#18 = main::op18
Constant (const byte) main::r#38 = '-'
Constant (const byte) main::r#39 = '+'
Constant (const byte*) printu::op#19 = main::op19
Constant (const byte) main::r#40 = '+'
Constant (const byte) print_char::ch#2 = ' '
Constant (const byte) print_char::ch#3 = ' '
Successful SSA optimization Pass2ConstantIdentification
Constant (const void*) memset::str#0 = (void*)print_line_cursor#0
Successful SSA optimization Pass2ConstantIdentification
Constant (const byte*) memset::$2 = (byte*)memset::str#0
Constant (const byte*) memset::dst#0 = (byte*)memset::str#0
Constant (const void*) memset::return#2 = memset::str#0
Successful SSA optimization Pass2ConstantIdentification
if() condition always false - eliminating [2] if((const word) memset::num#0<=(byte) 0) goto memset::@1
if() condition always true - replacing block destination [292] if(true) goto main::@43
Successful SSA optimization Pass2ConstantIfs
Consolidated constant strings into (const byte*) main::op
Consolidated constant strings into (const byte*) main::op4
Consolidated constant strings into (const byte*) main::op8
Consolidated constant strings into (const byte*) main::op12
Consolidated constant strings into (const byte*) main::op16
Successful SSA optimization Pass2ConstantStringConsolidation
Resolved ranged next value [287] main::i#1 ← ++ main::i#10 to ++
Resolved ranged comparison value [289] if(main::i#1!=rangelast(0,4)) goto main::@1 to (number) 5
Rewriting conditional comparison [115] if((byte) main::a#10<=(byte) $37) goto main::@7
Rewriting conditional comparison [161] if((byte) main::a#10>(byte) $37) goto main::@11
Eliminating unused constant (const void*) memset::return#2
Eliminating unused constant (const byte) main::r#0
Successful SSA optimization PassNEliminateUnusedVars
Removing unused block main::@return
Successful SSA optimization Pass2EliminateUnusedBlocks
Adding number conversion cast (unumber) $37+1 in if((byte) main::a#10<(byte) $37+(number) 1) goto main::@7
Adding number conversion cast (unumber) 1 in if((byte) main::a#10<(unumber)(byte) $37+(number) 1) goto main::@7
Adding number conversion cast (unumber) $37+1 in if((byte) main::a#10>=(byte) $37+(number) 1) goto main::@11
Adding number conversion cast (unumber) 1 in if((byte) main::a#10>=(unumber)(byte) $37+(number) 1) goto main::@11
Adding number conversion cast (unumber) 5 in if((byte) main::i#1!=(number) 5) goto main::@1
Successful SSA optimization PassNAddNumberTypeConversions
Simplifying constant integer cast (byte) $37+(unumber)(number) 1
Simplifying constant integer cast 1
Simplifying constant integer cast (byte) $37+(unumber)(number) 1
Simplifying constant integer cast 1
Simplifying constant integer cast 5
Successful SSA optimization PassNCastSimplification
Finalized unsigned number type (byte) 1
Finalized unsigned number type (byte) 1
Finalized unsigned number type (byte) 5
Successful SSA optimization PassNFinalizeNumberTypeConversions
Constant right-side identified [0] (byte*) memset::end#0 ← (const byte*) memset::$2 + (const word) memset::num#0
Successful SSA optimization Pass2ConstantRValueConsolidation
Constant (const byte*) memset::end#0 = memset::$2+memset::num#0
Successful SSA optimization Pass2ConstantIdentification
Inlining constant with var siblings (const byte*) memset::dst#0
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) main::a#0
Inlining constant with var siblings (const byte) main::i#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) main::r#40
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 byte*) main::op
Constant inlined printu::op#1 = (const byte*) main::op
Constant inlined printu::op#8 = (const byte*) main::op8
Constant inlined printu::op#9 = (const byte*) main::op8
Constant inlined printu::op#6 = (const byte*) main::op4
Constant inlined main::r#39 = (byte) '+'
Constant inlined printu::op#7 = (const byte*) main::op4
Constant inlined printu::op#4 = (const byte*) main::op4
Constant inlined printu::op#5 = (const byte*) main::op4
Constant inlined printu::op#2 = (const byte*) main::op
Constant inlined printu::op#3 = (const byte*) 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 byte*) main::op8
Constant inlined printu::b#17 = (byte) $37
Constant inlined main::op10 = (const byte*) main::op8
Constant inlined main::op15 = (const byte*) main::op12
Constant inlined printu::b#13 = (byte) $37
Constant inlined main::op13 = (const byte*) main::op12
Constant inlined print_line_cursor#0 = (byte*) 1024
Constant inlined main::op14 = (const byte*) main::op12
Constant inlined memset::dst#0 = (byte*)(const void*) memset::str#0
Constant inlined main::r#40 = (byte) '+'
Constant inlined printu::op#17 = (const byte*) main::op16
Constant inlined main::r#19 = (byte) '+'
Constant inlined printu::op#18 = (const byte*) main::op16
Constant inlined printu::op#19 = (const byte*) main::op16
Constant inlined main::r#17 = (byte) '+'
Constant inlined main::r#18 = (byte) '-'
Constant inlined main::a#0 = (byte) 7
Constant inlined main::r#11 = (byte) '+'
Constant inlined main::r#12 = (byte) '-'
Constant inlined memset::$2 = (byte*)(const void*) memset::str#0
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 byte*) main::op16
Constant inlined main::i#0 = (byte) 0
Constant inlined main::op17 = (const byte*) main::op16
Constant inlined main::op18 = (const byte*) main::op16
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 main::r#4 = (byte) '-'
Constant inlined printu::b#9 = (byte) $37
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) $37
Constant inlined main::op1 = (const byte*) main::op
Constant inlined printu::op#10 = (const byte*) main::op8
Constant inlined print_char::ch#2 = (byte) ' '
Constant inlined main::r#23 = (byte) '+'
Constant inlined printu::op#11 = (const byte*) main::op8
Constant inlined main::r#20 = (byte) '-'
Constant inlined printu::op#12 = (const byte*) main::op12
Constant inlined main::r#21 = (byte) '+'
Constant inlined printu::op#13 = (const byte*) main::op12
Constant inlined main::r#26 = (byte) '-'
Constant inlined printu::b#1 = (byte) $37
Constant inlined printu::op#14 = (const byte*) main::op12
Constant inlined main::r#27 = (byte) '+'
Constant inlined printu::op#15 = (const byte*) main::op12
Constant inlined main::r#24 = (byte) '-'
Constant inlined printu::op#16 = (const byte*) main::op16
Constant inlined main::r#25 = (byte) '+'
Constant inlined main::op9 = (const byte*) main::op8
Constant inlined main::op6 = (const byte*) main::op4
Constant inlined main::op7 = (const byte*) main::op4
Constant inlined main::op5 = (const byte*) main::op4
Constant inlined main::op2 = (const byte*) main::op
Constant inlined main::op3 = (const byte*) main::op
Successful SSA optimization Pass2ConstantInlining
Added new block during phi lifting print_ln::@3(between print_ln::@1 and print_ln::@1)
Added new block during phi lifting main::@71(between main::@70 and main::@1)
Adding NOP phi() at start of @begin
Adding NOP phi() at start of @13
Adding NOP phi() at start of @39
Adding NOP phi() at start of @40
Adding NOP phi() at start of @end
Adding NOP phi() at start of main
Adding NOP phi() at start of main::@45
Adding NOP phi() at start of main::@22
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::@43
Adding NOP phi() at start of print_ln::@2
Adding NOP phi() at start of printu::@6
Adding NOP phi() at start of print_byte::@2
Adding NOP phi() at start of print_cls
Adding NOP phi() at start of print_cls::@1
Adding NOP phi() at start of memset
Adding NOP phi() at start of memset::@2
Adding NOP phi() at start of memset::@1
CALL GRAPH
Calls in [] to main:3 
Calls in [main] to print_cls:7 printu:21 printu:30 printu:41 printu:52 print_ln:54 printu:65 printu:74 printu:85 printu:96 print_ln:98 printu:109 printu:118 printu:129 printu:140 print_ln:142 printu:153 printu:162 printu:173 printu:184 print_ln:186 printu:197 printu:206 printu:217 printu:228 print_ln:230 
Calls in [printu] to print_char:249 print_byte:253 print_str:255 print_byte:259 print_char:261 print_char:265 
Calls in [print_byte] to print_char:277 print_char:282 
Calls in [print_cls] to memset:296 

Created 38 initial phi equivalence classes
Coalesced [17] print_char_cursor#161 ← print_char_cursor#120
Coalesced [18] printu::a#32 ← printu::a#0
Coalesced [19] printu::b#31 ← printu::b#0
Coalesced [20] printu::res#36 ← printu::res#0
Coalesced [27] print_char_cursor#164 ← print_char_cursor#55
Coalesced [28] printu::a#35 ← printu::a#1
Coalesced [29] printu::res#39 ← printu::res#1
Coalesced (already) [37] print_char_cursor#165 ← print_char_cursor#55
Coalesced [38] printu::a#36 ← printu::a#2
Coalesced [39] printu::b#34 ← printu::b#2
Coalesced [40] printu::res#40 ← printu::res#2
Coalesced (already) [48] print_char_cursor#166 ← print_char_cursor#55
Coalesced [49] printu::a#37 ← printu::a#3
Coalesced [50] printu::b#35 ← printu::b#3
Coalesced [51] printu::res#41 ← printu::res#3
Coalesced [53] print_line_cursor#90 ← print_line_cursor#27
Not coalescing [61] print_char_cursor#167 ← print_line_cursor#1
Coalesced [62] printu::a#38 ← printu::a#4
Coalesced [63] printu::b#36 ← printu::b#4
Coalesced [64] printu::res#42 ← printu::res#4
Coalesced (already) [71] print_char_cursor#168 ← print_char_cursor#55
Coalesced [72] printu::a#39 ← printu::a#5
Coalesced [73] printu::res#43 ← printu::res#5
Coalesced (already) [81] print_char_cursor#169 ← print_char_cursor#55
Coalesced [82] printu::a#40 ← printu::a#6
Coalesced [83] printu::b#37 ← printu::b#6
Coalesced [84] printu::res#44 ← printu::res#6
Coalesced (already) [92] print_char_cursor#170 ← print_char_cursor#55
Coalesced [93] printu::a#41 ← printu::a#7
Coalesced [94] printu::b#38 ← printu::b#7
Coalesced [95] printu::res#45 ← printu::res#7
Coalesced [97] print_line_cursor#91 ← print_line_cursor#1
Not coalescing [105] print_char_cursor#151 ← print_line_cursor#1
Coalesced [106] printu::a#22 ← printu::a#8
Coalesced [107] printu::b#24 ← printu::b#8
Coalesced [108] printu::res#26 ← printu::res#8
Coalesced (already) [115] print_char_cursor#152 ← print_char_cursor#55
Coalesced [116] printu::a#23 ← printu::a#9
Coalesced [117] printu::res#27 ← printu::res#9
Coalesced (already) [125] print_char_cursor#153 ← print_char_cursor#55
Coalesced [126] printu::a#24 ← printu::a#10
Coalesced [127] printu::b#25 ← printu::b#10
Coalesced [128] printu::res#28 ← printu::res#10
Coalesced (already) [136] print_char_cursor#154 ← print_char_cursor#55
Coalesced [137] printu::a#25 ← printu::a#11
Coalesced [138] printu::b#26 ← printu::b#11
Coalesced [139] printu::res#29 ← printu::res#11
Coalesced (already) [141] print_line_cursor#92 ← print_line_cursor#1
Not coalescing [149] print_char_cursor#155 ← print_line_cursor#1
Coalesced [150] printu::a#26 ← printu::a#12
Coalesced [151] printu::b#27 ← printu::b#12
Coalesced [152] printu::res#30 ← printu::res#12
Coalesced (already) [159] print_char_cursor#156 ← print_char_cursor#55
Coalesced [160] printu::a#27 ← printu::a#13
Coalesced [161] printu::res#31 ← printu::res#13
Coalesced (already) [169] print_char_cursor#157 ← print_char_cursor#55
Coalesced [170] printu::a#28 ← printu::a#14
Coalesced [171] printu::b#28 ← printu::b#14
Coalesced [172] printu::res#32 ← printu::res#14
Coalesced (already) [180] print_char_cursor#158 ← print_char_cursor#55
Coalesced [181] printu::a#29 ← printu::a#15
Coalesced [182] printu::b#29 ← printu::b#15
Coalesced [183] printu::res#33 ← printu::res#15
Coalesced (already) [185] print_line_cursor#93 ← print_line_cursor#1
Not coalescing [193] print_char_cursor#159 ← print_line_cursor#1
Coalesced [194] printu::a#30 ← printu::a#16
Coalesced [195] printu::b#30 ← printu::b#16
Coalesced [196] printu::res#34 ← printu::res#16
Coalesced (already) [203] print_char_cursor#160 ← print_char_cursor#55
Coalesced [204] printu::a#31 ← printu::a#17
Coalesced [205] printu::res#35 ← printu::res#17
Coalesced (already) [213] print_char_cursor#162 ← print_char_cursor#55
Coalesced [214] printu::a#33 ← printu::a#18
Coalesced [215] printu::b#32 ← printu::b#18
Coalesced [216] printu::res#37 ← printu::res#18
Coalesced (already) [224] print_char_cursor#163 ← print_char_cursor#55
Coalesced [225] printu::a#34 ← printu::a#19
Coalesced [226] printu::b#33 ← printu::b#19
Coalesced [227] printu::res#38 ← printu::res#19
Coalesced (already) [229] print_line_cursor#94 ← print_line_cursor#1
Coalesced [235] main::a#68 ← main::a#1
Not coalescing [236] print_char_cursor#150 ← print_line_cursor#1
Coalesced [237] main::i#68 ← main::i#1
Coalesced (already) [238] print_line_cursor#97 ← print_line_cursor#1
Coalesced [240] print_line_cursor#95 ← print_line_cursor#25
Coalesced (already) [246] print_line_cursor#96 ← print_line_cursor#1
Coalesced [248] print_char_cursor#147 ← print_char_cursor#95
Coalesced [251] print_byte::b#4 ← print_byte::b#0
Coalesced [252] print_char_cursor#143 ← print_char_cursor#55
Coalesced [257] print_byte::b#5 ← print_byte::b#1
Coalesced [258] print_char_cursor#144 ← print_char_cursor#2
Coalesced (already) [260] print_char_cursor#148 ← print_char_cursor#55
Coalesced [263] print_char::ch#8 ← print_char::ch#4
Coalesced (already) [264] print_char_cursor#149 ← print_char_cursor#55
Coalesced [275] print_char::ch#6 ← print_char::ch#0
Coalesced (already) [276] print_char_cursor#145 ← print_char_cursor#94
Coalesced [280] print_char::ch#7 ← print_char::ch#1
Coalesced (already) [281] print_char_cursor#146 ← print_char_cursor#55
Coalesced [285] print_str::str#5 ← print_str::str#1
Coalesced (already) [286] print_char_cursor#141 ← print_char_cursor#55
Coalesced [293] print_str::str#6 ← print_str::str#0
Coalesced [294] print_char_cursor#142 ← print_char_cursor#1
Coalesced [307] memset::dst#4 ← memset::dst#1
Coalesced down to 32 phi equivalence classes
Culled Empty Block (label) @13
Culled Empty Block (label) @40
Culled Empty Block (label) main::@45
Culled Empty Block (label) print_ln::@2
Culled Empty Block (label) print_ln::@3
Culled Empty Block (label) printu::@6
Culled Empty Block (label) print_byte::@2
Culled Empty Block (label) print_cls::@1
Culled Empty Block (label) memset::@2
Culled Empty Block (label) memset::@1
Renumbering block @39 to @1
Renumbering block memset::@4 to memset::@1
Renumbering block memset::@5 to memset::@2
Renumbering block main::@43 to main::@42
Renumbering block main::@46 to main::@43
Renumbering block main::@47 to main::@44
Renumbering block main::@48 to main::@45
Renumbering block main::@49 to main::@46
Renumbering block main::@50 to main::@47
Renumbering block main::@51 to main::@48
Renumbering block main::@52 to main::@49
Renumbering block main::@53 to main::@50
Renumbering block main::@54 to main::@51
Renumbering block main::@55 to main::@52
Renumbering block main::@56 to main::@53
Renumbering block main::@57 to main::@54
Renumbering block main::@58 to main::@55
Renumbering block main::@59 to main::@56
Renumbering block main::@60 to main::@57
Renumbering block main::@61 to main::@58
Renumbering block main::@62 to main::@59
Renumbering block main::@63 to main::@60
Renumbering block main::@64 to main::@61
Renumbering block main::@65 to main::@62
Renumbering block main::@66 to main::@63
Renumbering block main::@67 to main::@64
Renumbering block main::@68 to main::@65
Renumbering block main::@69 to main::@66
Renumbering block main::@70 to main::@67
Renumbering block main::@71 to main::@68
Adding NOP phi() at start of @begin
Adding NOP phi() at start of @1
Adding NOP phi() at start of @end
Adding NOP phi() at start of main
Adding NOP phi() at start of main::@22
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::@46
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::@51
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::@56
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::@61
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::@66
Adding NOP phi() at start of main::@42
Adding NOP phi() at start of printu::@4
Adding NOP phi() at start of print_str
Adding NOP phi() at start of print_cls
Adding NOP phi() at start of memset

FINAL CONTROL FLOW GRAPH
@begin: scope:[]  from
  [0] phi()
  to:@1
@1: scope:[]  from @begin
  [1] phi()
  [2] call main 
  to:@end
@end: scope:[]  from @1
  [3] phi()

(void()) main()
main: scope:[main]  from @1
  [4] phi()
  [5] call print_cls 
  to:main::@1
main::@1: scope:[main]  from main main::@68
  [6] (byte*) print_line_cursor#27 ← phi( main/(byte*) 1024 main::@68/(byte*) print_line_cursor#1 )
  [6] (byte) main::i#10 ← phi( main/(byte) 0 main::@68/(byte) main::i#1 )
  [6] (byte*) print_char_cursor#120 ← phi( main/(byte*) 1024 main::@68/(byte*) print_char_cursor#150 )
  [6] (byte) main::a#10 ← phi( main/(byte) 7 main::@68/(byte) main::a#1 )
  [7] (byte) main::b#0 ← (byte) $ce - (byte) main::a#10
  [8] if((byte) main::a#10>=(byte) main::b#0) goto main::@2
  to:main::@22
main::@22: scope:[main]  from main::@1
  [9] phi()
  to:main::@2
main::@2: scope:[main]  from main::@1 main::@22
  [10] (byte) main::r#41 ← phi( main::@1/(byte) '-' main::@22/(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#41
  [14] call printu 
  to:main::@43
main::@43: scope:[main]  from main::@2
  [15] if((byte) main::a#10>=(byte) $37) goto main::@3
  to:main::@23
main::@23: scope:[main]  from main::@43
  [16] phi()
  to:main::@3
main::@3: scope:[main]  from main::@23 main::@43
  [17] (byte) main::r#42 ← phi( main::@23/(byte) '+' main::@43/(byte) '-' )
  [18] (byte) printu::a#1 ← (byte) main::a#10
  [19] (byte) printu::res#1 ← (byte) main::r#42
  [20] call printu 
  to:main::@44
main::@44: scope:[main]  from main::@3
  [21] if((byte) main::a#10>=*((const byte*) main::cs + (byte) main::i#10)) goto main::@4
  to:main::@24
main::@24: scope:[main]  from main::@44
  [22] phi()
  to:main::@4
main::@4: scope:[main]  from main::@24 main::@44
  [23] (byte) main::r#43 ← phi( main::@24/(byte) '+' main::@44/(byte) '-' )
  [24] (byte) printu::a#2 ← (byte) main::a#10
  [25] (byte) printu::b#2 ← *((const byte*) main::cs + (byte) main::i#10)
  [26] (byte) printu::res#2 ← (byte) main::r#43
  [27] call printu 
  to:main::@45
main::@45: scope:[main]  from main::@4
  [28] if((byte) main::a#10>=(byte) main::a#10) goto main::@5
  to:main::@25
main::@25: scope:[main]  from main::@45
  [29] phi()
  to:main::@5
main::@5: scope:[main]  from main::@25 main::@45
  [30] (byte) main::r#44 ← phi( main::@25/(byte) '+' main::@45/(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#44
  [34] call printu 
  to:main::@46
main::@46: scope:[main]  from main::@5
  [35] phi()
  [36] call print_ln 
  to:main::@47
main::@47: scope:[main]  from main::@46
  [37] if((byte) main::a#10<=(byte) main::b#0) goto main::@6
  to:main::@26
main::@26: scope:[main]  from main::@47
  [38] phi()
  to:main::@6
main::@6: scope:[main]  from main::@26 main::@47
  [39] (byte) main::r#45 ← phi( main::@26/(byte) '+' main::@47/(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#45
  [43] (byte*) print_char_cursor#167 ← (byte*) print_line_cursor#1
  [44] call printu 
  to:main::@48
main::@48: scope:[main]  from main::@6
  [45] if((byte) main::a#10<(byte) $37+(byte) 1) goto main::@7
  to:main::@27
main::@27: scope:[main]  from main::@48
  [46] phi()
  to:main::@7
main::@7: scope:[main]  from main::@27 main::@48
  [47] (byte) main::r#46 ← phi( main::@27/(byte) '+' main::@48/(byte) '-' )
  [48] (byte) printu::a#5 ← (byte) main::a#10
  [49] (byte) printu::res#5 ← (byte) main::r#46
  [50] call printu 
  to:main::@49
main::@49: scope:[main]  from main::@7
  [51] if((byte) main::a#10<=*((const byte*) main::cs + (byte) main::i#10)) goto main::@8
  to:main::@28
main::@28: scope:[main]  from main::@49
  [52] phi()
  to:main::@8
main::@8: scope:[main]  from main::@28 main::@49
  [53] (byte) main::r#47 ← phi( main::@28/(byte) '+' main::@49/(byte) '-' )
  [54] (byte) printu::a#6 ← (byte) main::a#10
  [55] (byte) printu::b#6 ← *((const byte*) main::cs + (byte) main::i#10)
  [56] (byte) printu::res#6 ← (byte) main::r#47
  [57] call printu 
  to:main::@50
main::@50: scope:[main]  from main::@8
  [58] if((byte) main::a#10<=(byte) main::a#10) goto main::@9
  to:main::@29
main::@29: scope:[main]  from main::@50
  [59] phi()
  to:main::@9
main::@9: scope:[main]  from main::@29 main::@50
  [60] (byte) main::r#48 ← phi( main::@29/(byte) '+' main::@50/(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#48
  [64] call printu 
  to:main::@51
main::@51: scope:[main]  from main::@9
  [65] phi()
  [66] call print_ln 
  to:main::@52
main::@52: scope:[main]  from main::@51
  [67] if((byte) main::a#10>(byte) main::b#0) goto main::@10
  to:main::@30
main::@30: scope:[main]  from main::@52
  [68] phi()
  to:main::@10
main::@10: scope:[main]  from main::@30 main::@52
  [69] (byte) main::r#49 ← phi( main::@30/(byte) '+' main::@52/(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#49
  [73] (byte*) print_char_cursor#151 ← (byte*) print_line_cursor#1
  [74] call printu 
  to:main::@53
main::@53: scope:[main]  from main::@10
  [75] if((byte) main::a#10>=(byte) $37+(byte) 1) goto main::@11
  to:main::@31
main::@31: scope:[main]  from main::@53
  [76] phi()
  to:main::@11
main::@11: scope:[main]  from main::@31 main::@53
  [77] (byte) main::r#50 ← phi( main::@31/(byte) '+' main::@53/(byte) '-' )
  [78] (byte) printu::a#9 ← (byte) main::a#10
  [79] (byte) printu::res#9 ← (byte) main::r#50
  [80] call printu 
  to:main::@54
main::@54: scope:[main]  from main::@11
  [81] if((byte) main::a#10>*((const byte*) main::cs + (byte) main::i#10)) goto main::@12
  to:main::@32
main::@32: scope:[main]  from main::@54
  [82] phi()
  to:main::@12
main::@12: scope:[main]  from main::@32 main::@54
  [83] (byte) main::r#51 ← phi( main::@32/(byte) '+' main::@54/(byte) '-' )
  [84] (byte) printu::a#10 ← (byte) main::a#10
  [85] (byte) printu::b#10 ← *((const byte*) main::cs + (byte) main::i#10)
  [86] (byte) printu::res#10 ← (byte) main::r#51
  [87] call printu 
  to:main::@55
main::@55: scope:[main]  from main::@12
  [88] if((byte) main::a#10>(byte) main::a#10) goto main::@13
  to:main::@33
main::@33: scope:[main]  from main::@55
  [89] phi()
  to:main::@13
main::@13: scope:[main]  from main::@33 main::@55
  [90] (byte) main::r#52 ← phi( main::@33/(byte) '+' main::@55/(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#52
  [94] call printu 
  to:main::@56
main::@56: scope:[main]  from main::@13
  [95] phi()
  [96] call print_ln 
  to:main::@57
main::@57: scope:[main]  from main::@56
  [97] if((byte) main::a#10<(byte) main::b#0) goto main::@14
  to:main::@34
main::@34: scope:[main]  from main::@57
  [98] phi()
  to:main::@14
main::@14: scope:[main]  from main::@34 main::@57
  [99] (byte) main::r#53 ← phi( main::@34/(byte) '+' main::@57/(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#53
  [103] (byte*) print_char_cursor#155 ← (byte*) print_line_cursor#1
  [104] call printu 
  to:main::@58
main::@58: scope:[main]  from main::@14
  [105] if((byte) main::a#10<(byte) $37) goto main::@15
  to:main::@35
main::@35: scope:[main]  from main::@58
  [106] phi()
  to:main::@15
main::@15: scope:[main]  from main::@35 main::@58
  [107] (byte) main::r#54 ← phi( main::@35/(byte) '+' main::@58/(byte) '-' )
  [108] (byte) printu::a#13 ← (byte) main::a#10
  [109] (byte) printu::res#13 ← (byte) main::r#54
  [110] call printu 
  to:main::@59
main::@59: scope:[main]  from main::@15
  [111] if((byte) main::a#10<*((const byte*) main::cs + (byte) main::i#10)) goto main::@16
  to:main::@36
main::@36: scope:[main]  from main::@59
  [112] phi()
  to:main::@16
main::@16: scope:[main]  from main::@36 main::@59
  [113] (byte) main::r#55 ← phi( main::@36/(byte) '+' main::@59/(byte) '-' )
  [114] (byte) printu::a#14 ← (byte) main::a#10
  [115] (byte) printu::b#14 ← *((const byte*) main::cs + (byte) main::i#10)
  [116] (byte) printu::res#14 ← (byte) main::r#55
  [117] call printu 
  to:main::@60
main::@60: scope:[main]  from main::@16
  [118] if((byte) main::a#10<(byte) main::a#10) goto main::@17
  to:main::@37
main::@37: scope:[main]  from main::@60
  [119] phi()
  to:main::@17
main::@17: scope:[main]  from main::@37 main::@60
  [120] (byte) main::r#56 ← phi( main::@37/(byte) '+' main::@60/(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#56
  [124] call printu 
  to:main::@61
main::@61: scope:[main]  from main::@17
  [125] phi()
  [126] call print_ln 
  to:main::@62
main::@62: scope:[main]  from main::@61
  [127] if((byte) main::a#10!=(byte) main::b#0) goto main::@18
  to:main::@38
main::@38: scope:[main]  from main::@62
  [128] phi()
  to:main::@18
main::@18: scope:[main]  from main::@38 main::@62
  [129] (byte) main::r#57 ← phi( main::@38/(byte) '+' main::@62/(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#57
  [133] (byte*) print_char_cursor#159 ← (byte*) print_line_cursor#1
  [134] call printu 
  to:main::@63
main::@63: scope:[main]  from main::@18
  [135] if((byte) main::a#10!=(byte) $37) goto main::@19
  to:main::@39
main::@39: scope:[main]  from main::@63
  [136] phi()
  to:main::@19
main::@19: scope:[main]  from main::@39 main::@63
  [137] (byte) main::r#58 ← phi( main::@39/(byte) '+' main::@63/(byte) '-' )
  [138] (byte) printu::a#17 ← (byte) main::a#10
  [139] (byte) printu::res#17 ← (byte) main::r#58
  [140] call printu 
  to:main::@64
main::@64: scope:[main]  from main::@19
  [141] if((byte) main::a#10!=*((const byte*) main::cs + (byte) main::i#10)) goto main::@20
  to:main::@40
main::@40: scope:[main]  from main::@64
  [142] phi()
  to:main::@20
main::@20: scope:[main]  from main::@40 main::@64
  [143] (byte) main::r#59 ← phi( main::@40/(byte) '+' main::@64/(byte) '-' )
  [144] (byte) printu::a#18 ← (byte) main::a#10
  [145] (byte) printu::b#18 ← *((const byte*) main::cs + (byte) main::i#10)
  [146] (byte) printu::res#18 ← (byte) main::r#59
  [147] call printu 
  to:main::@65
main::@65: scope:[main]  from main::@20
  [148] if((byte) main::a#10!=(byte) main::a#10) goto main::@21
  to:main::@41
main::@41: scope:[main]  from main::@65
  [149] phi()
  to:main::@21
main::@21: scope:[main]  from main::@41 main::@65
  [150] (byte) main::r#60 ← phi( main::@41/(byte) '+' main::@65/(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#60
  [154] call printu 
  to:main::@66
main::@66: scope:[main]  from main::@21
  [155] phi()
  [156] call print_ln 
  to:main::@67
main::@67: scope:[main]  from main::@66
  [157] (byte) main::a#1 ← (byte) main::a#10 + (byte) $30
  [158] (byte) main::i#1 ← ++ (byte) main::i#10
  [159] if((byte) main::i#1!=(byte) 5) goto main::@68
  to:main::@42
main::@42: scope:[main]  from main::@42 main::@67
  [160] phi()
  to:main::@42
main::@68: scope:[main]  from main::@67
  [161] (byte*) print_char_cursor#150 ← (byte*) print_line_cursor#1
  to:main::@1

(void()) print_ln()
print_ln: scope:[print_ln]  from main::@46 main::@51 main::@56 main::@61 main::@66
  [162] (byte*) print_line_cursor#25 ← phi( main::@46/(byte*) print_line_cursor#27 main::@51/(byte*) print_line_cursor#1 main::@56/(byte*) print_line_cursor#1 main::@61/(byte*) print_line_cursor#1 main::@66/(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) $28
  [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

(void()) printu((byte) printu::a , (byte*) printu::op , (byte) printu::b , (byte) printu::res)
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) $37 main::@12/(byte) printu::b#10 main::@13/(byte) printu::b#11 main::@14/(byte) printu::b#12 main::@15/(byte) $37 main::@16/(byte) printu::b#14 main::@17/(byte) printu::b#15 main::@18/(byte) printu::b#16 main::@19/(byte) $37 main::@2/(byte) printu::b#0 main::@20/(byte) printu::b#18 main::@21/(byte) printu::b#19 main::@3/(byte) $37 main::@4/(byte) printu::b#2 main::@5/(byte) printu::b#3 main::@6/(byte) printu::b#4 main::@7/(byte) $37 main::@8/(byte) printu::b#6 main::@9/(byte) printu::b#7 )
  [167] (byte*) printu::op#20 ← phi( main::@10/(const byte*) main::op8 main::@11/(const byte*) main::op8 main::@12/(const byte*) main::op8 main::@13/(const byte*) main::op8 main::@14/(const byte*) main::op12 main::@15/(const byte*) main::op12 main::@16/(const byte*) main::op12 main::@17/(const byte*) main::op12 main::@18/(const byte*) main::op16 main::@19/(const byte*) main::op16 main::@2/(const byte*) main::op main::@20/(const byte*) main::op16 main::@21/(const byte*) main::op16 main::@3/(const byte*) main::op main::@4/(const byte*) main::op main::@5/(const byte*) main::op main::@6/(const byte*) main::op4 main::@7/(const byte*) main::op4 main::@8/(const byte*) main::op4 main::@9/(const byte*) 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#151 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#155 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#159 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#167 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

(void()) print_char((byte) print_char::ch)
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

(void()) print_byte((byte) print_byte::b)
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) 4
  [186] (byte) print_char::ch#0 ← *((const byte*) print_hextab + (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) $f
  [189] (byte) print_char::ch#1 ← *((const byte*) print_hextab + (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

(void()) print_str((byte*) print_str::str)
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) 0!=*((byte*) print_str::str#2)) 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

(void()) print_cls()
print_cls: scope:[print_cls]  from main
  [199] phi()
  [200] call memset 
  to:print_cls::@return
print_cls::@return: scope:[print_cls]  from print_cls
  [201] return 
  to:@return

(void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num)
memset: scope:[memset]  from print_cls
  [202] phi()
  to:memset::@1
memset::@1: scope:[memset]  from memset memset::@2
  [203] (byte*) memset::dst#2 ← phi( memset/(byte*)(const void*) memset::str#0 memset::@2/(byte*) memset::dst#1 )
  [204] if((byte*) memset::dst#2!=(const byte*) memset::end#0) goto memset::@2
  to:memset::@return
memset::@return: scope:[memset]  from memset::@1
  [205] return 
  to:@return
memset::@2: scope:[memset]  from memset::@1
  [206] *((byte*) memset::dst#2) ← (const byte) memset::c#0
  [207] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2
  to:memset::@1


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) main::i
(byte) main::i#1 11.0
(byte) main::i#10 0.8684210526315792
(byte) main::r
(byte) main::r#41 3.6666666666666665
(byte) main::r#42 5.5
(byte) main::r#43 3.6666666666666665
(byte) main::r#44 3.6666666666666665
(byte) main::r#45 3.6666666666666665
(byte) main::r#46 5.5
(byte) main::r#47 3.6666666666666665
(byte) main::r#48 3.6666666666666665
(byte) main::r#49 3.6666666666666665
(byte) main::r#50 5.5
(byte) main::r#51 3.6666666666666665
(byte) main::r#52 3.6666666666666665
(byte) main::r#53 3.6666666666666665
(byte) main::r#54 5.5
(byte) main::r#55 3.6666666666666665
(byte) main::r#56 3.6666666666666665
(byte) main::r#57 3.6666666666666665
(byte) main::r#58 5.5
(byte) main::r#59 3.6666666666666665
(byte) main::r#60 3.6666666666666665
(void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num)
(byte) memset::c
(byte*) memset::dst
(byte*) memset::dst#1 22.0
(byte*) memset::dst#2 14.666666666666666
(byte*) memset::end
(word) memset::num
(void*) memset::return
(void*) memset::str
(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#150 22.0
(byte*) print_char_cursor#151 22.0
(byte*) print_char_cursor#155 22.0
(byte*) print_char_cursor#159 22.0
(byte*) print_char_cursor#167 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_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#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 ]
[ main::r#60 ]
[ 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#151 print_char_cursor#55 print_char_cursor#155 print_char_cursor#159 print_char_cursor#120 print_char_cursor#150 print_char_cursor#167 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 ]
[ memset::dst#2 memset::dst#1 ]
Added variable main::b#0 to live range equivalence class [ main::b#0 ]
Added variable print_byte::$0 to live range equivalence class [ print_byte::$0 ]
Added variable print_byte::$2 to live range equivalence class [ print_byte::$2 ]
Complete equivalence classes
[ main::a#10 main::a#1 ]
[ main::i#10 main::i#1 ]
[ 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 ]
[ main::r#60 ]
[ 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#151 print_char_cursor#55 print_char_cursor#155 print_char_cursor#159 print_char_cursor#120 print_char_cursor#150 print_char_cursor#167 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 ]
[ memset::dst#2 memset::dst#1 ]
[ main::b#0 ]
[ print_byte::$0 ]
[ print_byte::$2 ]
Allocated zp[1]:2 [ main::a#10 main::a#1 ]
Allocated zp[1]:3 [ main::i#10 main::i#1 ]
Allocated zp[1]:4 [ main::r#41 ]
Allocated zp[1]:5 [ main::r#42 ]
Allocated zp[1]:6 [ main::r#43 ]
Allocated zp[1]:7 [ main::r#44 ]
Allocated zp[1]:8 [ main::r#45 ]
Allocated zp[1]:9 [ main::r#46 ]
Allocated zp[1]:10 [ main::r#47 ]
Allocated zp[1]:11 [ main::r#48 ]
Allocated zp[1]:12 [ main::r#49 ]
Allocated zp[1]:13 [ main::r#50 ]
Allocated zp[1]:14 [ main::r#51 ]
Allocated zp[1]:15 [ main::r#52 ]
Allocated zp[1]:16 [ main::r#53 ]
Allocated zp[1]:17 [ main::r#54 ]
Allocated zp[1]:18 [ main::r#55 ]
Allocated zp[1]:19 [ main::r#56 ]
Allocated zp[1]:20 [ main::r#57 ]
Allocated zp[1]:21 [ main::r#58 ]
Allocated zp[1]:22 [ main::r#59 ]
Allocated zp[1]:23 [ main::r#60 ]
Allocated zp[2]:24 [ print_line_cursor#13 print_line_cursor#25 print_line_cursor#27 print_line_cursor#1 ]
Allocated zp[1]: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[2]:27 [ printu::op#20 ]
Allocated zp[1]: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[1]: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[1]:31 [ print_char::ch#5 print_char::ch#0 print_char::ch#1 print_char::ch#4 ]
Allocated zp[2]:32 [ print_char_cursor#54 print_char_cursor#94 print_char_cursor#95 print_char_cursor#151 print_char_cursor#55 print_char_cursor#155 print_char_cursor#159 print_char_cursor#120 print_char_cursor#150 print_char_cursor#167 print_char_cursor#2 print_char_cursor#1 ]
Allocated zp[1]:34 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ]
Allocated zp[2]:35 [ print_str::str#2 print_str::str#1 print_str::str#0 ]
Allocated zp[2]:37 [ memset::dst#2 memset::dst#1 ]
Allocated zp[1]:39 [ main::b#0 ]
Allocated zp[1]:40 [ print_byte::$0 ]
Allocated zp[1]:41 [ print_byte::$2 ]

INITIAL ASM
Target platform is c64basic / MOS6502X
  // File Comments
  // Upstart
.pc = $801 "Basic"
:BasicUpstart(__bbegin)
.pc = $80d "Program"
  // Global Constants & labels
  .label print_char_cursor = $20
  .label print_line_cursor = $18
  // @begin
__bbegin:
  // [1] phi from @begin to @1 [phi:@begin->@1]
__b1_from___bbegin:
  jmp __b1
  // @1
__b1:
  // [2] call main 
  // [4] phi from @1 to main [phi:@1->main]
main_from___b1:
  jsr main
  // [3] phi from @1 to @end [phi:@1->@end]
__bend_from___b1:
  jmp __bend
  // @end
__bend:
  // main
main: {
    .label b = $27
    .label a = 2
    .label i = 3
    .label r = 4
    .label r_1 = 5
    .label r_2 = 6
    .label r_3 = 7
    .label r_4 = 8
    .label r_5 = 9
    .label r_6 = $a
    .label r_7 = $b
    .label r_8 = $c
    .label r_9 = $d
    .label r_10 = $e
    .label r_11 = $f
    .label r_12 = $10
    .label r_13 = $11
    .label r_14 = $12
    .label r_15 = $13
    .label r_16 = $14
    .label r_17 = $15
    .label r_18 = $16
    .label r_19 = $17
    // [5] call print_cls 
    // [199] phi from main to print_cls [phi:main->print_cls]
  print_cls_from_main:
    jsr print_cls
    // [6] phi from main to main::@1 [phi:main->main::@1]
  __b1_from_main:
    // [6] phi (byte*) print_line_cursor#27 = (byte*) 1024 [phi:main->main::@1#0] -- pbuz1=pbuc1 
    lda #<$400
    sta.z print_line_cursor
    lda #>$400
    sta.z print_line_cursor+1
    // [6] phi (byte) main::i#10 = (byte) 0 [phi:main->main::@1#1] -- vbuz1=vbuc1 
    lda #0
    sta.z i
    // [6] phi (byte*) print_char_cursor#120 = (byte*) 1024 [phi:main->main::@1#2] -- pbuz1=pbuc1 
    lda #<$400
    sta.z print_char_cursor
    lda #>$400
    sta.z print_char_cursor+1
    // [6] phi (byte) main::a#10 = (byte) 7 [phi:main->main::@1#3] -- vbuz1=vbuc1 
    lda #7
    sta.z a
    jmp __b1
    // main::@1
  __b1:
    // [7] (byte) main::b#0 ← (byte) $ce - (byte) main::a#10 -- vbuz1=vbuc1_minus_vbuz2 
    lda #$ce
    sec
    sbc.z a
    sta.z b
    // [8] if((byte) main::a#10>=(byte) main::b#0) goto main::@2 -- vbuz1_ge_vbuz2_then_la1 
    lda.z a
    cmp.z b
    bcs __b2_from___b1
    // [9] phi from main::@1 to main::@22 [phi:main::@1->main::@22]
  __b22_from___b1:
    jmp __b22
    // main::@22
  __b22:
    // [10] phi from main::@22 to main::@2 [phi:main::@22->main::@2]
  __b2_from___b22:
    // [10] phi (byte) main::r#41 = (byte) '+' [phi:main::@22->main::@2#0] -- vbuz1=vbuc1 
    lda #'+'
    sta.z r
    jmp __b2
    // [10] phi from main::@1 to main::@2 [phi:main::@1->main::@2]
  __b2_from___b1:
    // [10] phi (byte) main::r#41 = (byte) '-' [phi:main::@1->main::@2#0] -- vbuz1=vbuc1 
    lda #'-'
    sta.z r
    jmp __b2
    // main::@2
  __b2:
    // [11] (byte) printu::a#0 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda.z a
    sta.z printu.a
    // [12] (byte) printu::b#0 ← (byte) main::b#0 -- vbuz1=vbuz2 
    lda.z b
    sta.z printu.b
    // [13] (byte) printu::res#0 ← (byte) main::r#41 -- vbuz1=vbuz2 
    lda.z r
    sta.z printu.res
    // [14] call printu 
    // [167] phi from main::@2 to printu [phi:main::@2->printu]
  printu_from___b2:
    // [167] phi (byte) printu::res#20 = (byte) printu::res#0 [phi:main::@2->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) printu::b#0 [phi:main::@2->printu#1] -- register_copy 
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op [phi:main::@2->printu#2] -- pbuz1=pbuc1 
    lda #<op
    sta.z printu.op
    lda #>op
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#0 [phi:main::@2->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#120 [phi:main::@2->printu#4] -- register_copy 
    jsr printu
    jmp __b43
    // main::@43
  __b43:
    // [15] if((byte) main::a#10>=(byte) $37) goto main::@3 -- vbuz1_ge_vbuc1_then_la1 
    lda.z a
    cmp #$37
    bcs __b3_from___b43
    // [16] phi from main::@43 to main::@23 [phi:main::@43->main::@23]
  __b23_from___b43:
    jmp __b23
    // main::@23
  __b23:
    // [17] phi from main::@23 to main::@3 [phi:main::@23->main::@3]
  __b3_from___b23:
    // [17] phi (byte) main::r#42 = (byte) '+' [phi:main::@23->main::@3#0] -- vbuz1=vbuc1 
    lda #'+'
    sta.z r_1
    jmp __b3
    // [17] phi from main::@43 to main::@3 [phi:main::@43->main::@3]
  __b3_from___b43:
    // [17] phi (byte) main::r#42 = (byte) '-' [phi:main::@43->main::@3#0] -- vbuz1=vbuc1 
    lda #'-'
    sta.z r_1
    jmp __b3
    // main::@3
  __b3:
    // [18] (byte) printu::a#1 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda.z a
    sta.z printu.a
    // [19] (byte) printu::res#1 ← (byte) main::r#42 -- vbuz1=vbuz2 
    lda.z r_1
    sta.z printu.res
    // [20] call printu 
    // [167] phi from main::@3 to printu [phi:main::@3->printu]
  printu_from___b3:
    // [167] phi (byte) printu::res#20 = (byte) printu::res#1 [phi:main::@3->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) $37 [phi:main::@3->printu#1] -- vbuz1=vbuc1 
    lda #$37
    sta.z printu.b
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op [phi:main::@3->printu#2] -- pbuz1=pbuc1 
    lda #<op
    sta.z printu.op
    lda #>op
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#1 [phi:main::@3->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@3->printu#4] -- register_copy 
    jsr printu
    jmp __b44
    // main::@44
  __b44:
    // [21] if((byte) main::a#10>=*((const byte*) main::cs + (byte) main::i#10)) goto main::@4 -- vbuz1_ge_pbuc1_derefidx_vbuz2_then_la1 
    lda.z a
    ldy.z i
    cmp cs,y
    bcs __b4_from___b44
    // [22] phi from main::@44 to main::@24 [phi:main::@44->main::@24]
  __b24_from___b44:
    jmp __b24
    // main::@24
  __b24:
    // [23] phi from main::@24 to main::@4 [phi:main::@24->main::@4]
  __b4_from___b24:
    // [23] phi (byte) main::r#43 = (byte) '+' [phi:main::@24->main::@4#0] -- vbuz1=vbuc1 
    lda #'+'
    sta.z r_2
    jmp __b4
    // [23] phi from main::@44 to main::@4 [phi:main::@44->main::@4]
  __b4_from___b44:
    // [23] phi (byte) main::r#43 = (byte) '-' [phi:main::@44->main::@4#0] -- vbuz1=vbuc1 
    lda #'-'
    sta.z r_2
    jmp __b4
    // main::@4
  __b4:
    // [24] (byte) printu::a#2 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda.z a
    sta.z printu.a
    // [25] (byte) printu::b#2 ← *((const byte*) main::cs + (byte) main::i#10) -- vbuz1=pbuc1_derefidx_vbuz2 
    ldy.z i
    lda cs,y
    sta.z printu.b
    // [26] (byte) printu::res#2 ← (byte) main::r#43 -- vbuz1=vbuz2 
    lda.z r_2
    sta.z printu.res
    // [27] call printu 
    // [167] phi from main::@4 to printu [phi:main::@4->printu]
  printu_from___b4:
    // [167] phi (byte) printu::res#20 = (byte) printu::res#2 [phi:main::@4->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) printu::b#2 [phi:main::@4->printu#1] -- register_copy 
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op [phi:main::@4->printu#2] -- pbuz1=pbuc1 
    lda #<op
    sta.z printu.op
    lda #>op
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#2 [phi:main::@4->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@4->printu#4] -- register_copy 
    jsr printu
    jmp __b45
    // main::@45
  __b45:
    // [28] if((byte) main::a#10>=(byte) main::a#10) goto main::@5 -- vbuz1_ge_vbuz1_then_la1 
    lda.z a
    cmp.z a
    bcs __b5_from___b45
    // [29] phi from main::@45 to main::@25 [phi:main::@45->main::@25]
  __b25_from___b45:
    jmp __b25
    // main::@25
  __b25:
    // [30] phi from main::@25 to main::@5 [phi:main::@25->main::@5]
  __b5_from___b25:
    // [30] phi (byte) main::r#44 = (byte) '+' [phi:main::@25->main::@5#0] -- vbuz1=vbuc1 
    lda #'+'
    sta.z r_3
    jmp __b5
    // [30] phi from main::@45 to main::@5 [phi:main::@45->main::@5]
  __b5_from___b45:
    // [30] phi (byte) main::r#44 = (byte) '-' [phi:main::@45->main::@5#0] -- vbuz1=vbuc1 
    lda #'-'
    sta.z r_3
    jmp __b5
    // main::@5
  __b5:
    // [31] (byte) printu::a#3 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda.z a
    sta.z printu.a
    // [32] (byte) printu::b#3 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda.z a
    sta.z printu.b
    // [33] (byte) printu::res#3 ← (byte) main::r#44 -- vbuz1=vbuz2 
    lda.z r_3
    sta.z printu.res
    // [34] call printu 
    // [167] phi from main::@5 to printu [phi:main::@5->printu]
  printu_from___b5:
    // [167] phi (byte) printu::res#20 = (byte) printu::res#3 [phi:main::@5->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) printu::b#3 [phi:main::@5->printu#1] -- register_copy 
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op [phi:main::@5->printu#2] -- pbuz1=pbuc1 
    lda #<op
    sta.z printu.op
    lda #>op
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#3 [phi:main::@5->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@5->printu#4] -- register_copy 
    jsr printu
    // [35] phi from main::@5 to main::@46 [phi:main::@5->main::@46]
  __b46_from___b5:
    jmp __b46
    // main::@46
  __b46:
    // [36] call print_ln 
    // [162] phi from main::@46 to print_ln [phi:main::@46->print_ln]
  print_ln_from___b46:
    // [162] phi (byte*) print_line_cursor#25 = (byte*) print_line_cursor#27 [phi:main::@46->print_ln#0] -- register_copy 
    jsr print_ln
    jmp __b47
    // main::@47
  __b47:
    // [37] if((byte) main::a#10<=(byte) main::b#0) goto main::@6 -- vbuz1_le_vbuz2_then_la1 
    lda.z b
    cmp.z a
    bcs __b6_from___b47
    // [38] phi from main::@47 to main::@26 [phi:main::@47->main::@26]
  __b26_from___b47:
    jmp __b26
    // main::@26
  __b26:
    // [39] phi from main::@26 to main::@6 [phi:main::@26->main::@6]
  __b6_from___b26:
    // [39] phi (byte) main::r#45 = (byte) '+' [phi:main::@26->main::@6#0] -- vbuz1=vbuc1 
    lda #'+'
    sta.z r_4
    jmp __b6
    // [39] phi from main::@47 to main::@6 [phi:main::@47->main::@6]
  __b6_from___b47:
    // [39] phi (byte) main::r#45 = (byte) '-' [phi:main::@47->main::@6#0] -- vbuz1=vbuc1 
    lda #'-'
    sta.z r_4
    jmp __b6
    // main::@6
  __b6:
    // [40] (byte) printu::a#4 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda.z a
    sta.z printu.a
    // [41] (byte) printu::b#4 ← (byte) main::b#0 -- vbuz1=vbuz2 
    lda.z b
    sta.z printu.b
    // [42] (byte) printu::res#4 ← (byte) main::r#45 -- vbuz1=vbuz2 
    lda.z r_4
    sta.z printu.res
    // [43] (byte*) print_char_cursor#167 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 
    lda.z print_line_cursor
    sta.z print_char_cursor
    lda.z print_line_cursor+1
    sta.z print_char_cursor+1
    // [44] call printu 
    // [167] phi from main::@6 to printu [phi:main::@6->printu]
  printu_from___b6:
    // [167] phi (byte) printu::res#20 = (byte) printu::res#4 [phi:main::@6->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) printu::b#4 [phi:main::@6->printu#1] -- register_copy 
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op4 [phi:main::@6->printu#2] -- pbuz1=pbuc1 
    lda #<op4
    sta.z printu.op
    lda #>op4
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#4 [phi:main::@6->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#167 [phi:main::@6->printu#4] -- register_copy 
    jsr printu
    jmp __b48
    // main::@48
  __b48:
    // [45] if((byte) main::a#10<(byte) $37+(byte) 1) goto main::@7 -- vbuz1_lt_vbuc1_then_la1 
    lda.z a
    cmp #$37+1
    bcc __b7_from___b48
    // [46] phi from main::@48 to main::@27 [phi:main::@48->main::@27]
  __b27_from___b48:
    jmp __b27
    // main::@27
  __b27:
    // [47] phi from main::@27 to main::@7 [phi:main::@27->main::@7]
  __b7_from___b27:
    // [47] phi (byte) main::r#46 = (byte) '+' [phi:main::@27->main::@7#0] -- vbuz1=vbuc1 
    lda #'+'
    sta.z r_5
    jmp __b7
    // [47] phi from main::@48 to main::@7 [phi:main::@48->main::@7]
  __b7_from___b48:
    // [47] phi (byte) main::r#46 = (byte) '-' [phi:main::@48->main::@7#0] -- vbuz1=vbuc1 
    lda #'-'
    sta.z r_5
    jmp __b7
    // main::@7
  __b7:
    // [48] (byte) printu::a#5 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda.z a
    sta.z printu.a
    // [49] (byte) printu::res#5 ← (byte) main::r#46 -- vbuz1=vbuz2 
    lda.z r_5
    sta.z printu.res
    // [50] call printu 
    // [167] phi from main::@7 to printu [phi:main::@7->printu]
  printu_from___b7:
    // [167] phi (byte) printu::res#20 = (byte) printu::res#5 [phi:main::@7->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) $37 [phi:main::@7->printu#1] -- vbuz1=vbuc1 
    lda #$37
    sta.z printu.b
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op4 [phi:main::@7->printu#2] -- pbuz1=pbuc1 
    lda #<op4
    sta.z printu.op
    lda #>op4
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#5 [phi:main::@7->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@7->printu#4] -- register_copy 
    jsr printu
    jmp __b49
    // main::@49
  __b49:
    // [51] if((byte) main::a#10<=*((const byte*) main::cs + (byte) main::i#10)) goto main::@8 -- vbuz1_le_pbuc1_derefidx_vbuz2_then_la1 
    ldy.z i
    lda cs,y
    cmp.z a
    bcs __b8_from___b49
    // [52] phi from main::@49 to main::@28 [phi:main::@49->main::@28]
  __b28_from___b49:
    jmp __b28
    // main::@28
  __b28:
    // [53] phi from main::@28 to main::@8 [phi:main::@28->main::@8]
  __b8_from___b28:
    // [53] phi (byte) main::r#47 = (byte) '+' [phi:main::@28->main::@8#0] -- vbuz1=vbuc1 
    lda #'+'
    sta.z r_6
    jmp __b8
    // [53] phi from main::@49 to main::@8 [phi:main::@49->main::@8]
  __b8_from___b49:
    // [53] phi (byte) main::r#47 = (byte) '-' [phi:main::@49->main::@8#0] -- vbuz1=vbuc1 
    lda #'-'
    sta.z r_6
    jmp __b8
    // main::@8
  __b8:
    // [54] (byte) printu::a#6 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda.z a
    sta.z printu.a
    // [55] (byte) printu::b#6 ← *((const byte*) main::cs + (byte) main::i#10) -- vbuz1=pbuc1_derefidx_vbuz2 
    ldy.z i
    lda cs,y
    sta.z printu.b
    // [56] (byte) printu::res#6 ← (byte) main::r#47 -- vbuz1=vbuz2 
    lda.z r_6
    sta.z printu.res
    // [57] call printu 
    // [167] phi from main::@8 to printu [phi:main::@8->printu]
  printu_from___b8:
    // [167] phi (byte) printu::res#20 = (byte) printu::res#6 [phi:main::@8->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) printu::b#6 [phi:main::@8->printu#1] -- register_copy 
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op4 [phi:main::@8->printu#2] -- pbuz1=pbuc1 
    lda #<op4
    sta.z printu.op
    lda #>op4
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#6 [phi:main::@8->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@8->printu#4] -- register_copy 
    jsr printu
    jmp __b50
    // main::@50
  __b50:
    // [58] if((byte) main::a#10<=(byte) main::a#10) goto main::@9 -- vbuz1_le_vbuz1_then_la1 
    lda.z a
    cmp.z a
    bcs __b9_from___b50
    // [59] phi from main::@50 to main::@29 [phi:main::@50->main::@29]
  __b29_from___b50:
    jmp __b29
    // main::@29
  __b29:
    // [60] phi from main::@29 to main::@9 [phi:main::@29->main::@9]
  __b9_from___b29:
    // [60] phi (byte) main::r#48 = (byte) '+' [phi:main::@29->main::@9#0] -- vbuz1=vbuc1 
    lda #'+'
    sta.z r_7
    jmp __b9
    // [60] phi from main::@50 to main::@9 [phi:main::@50->main::@9]
  __b9_from___b50:
    // [60] phi (byte) main::r#48 = (byte) '-' [phi:main::@50->main::@9#0] -- vbuz1=vbuc1 
    lda #'-'
    sta.z r_7
    jmp __b9
    // main::@9
  __b9:
    // [61] (byte) printu::a#7 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda.z a
    sta.z printu.a
    // [62] (byte) printu::b#7 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda.z a
    sta.z printu.b
    // [63] (byte) printu::res#7 ← (byte) main::r#48 -- vbuz1=vbuz2 
    lda.z r_7
    sta.z printu.res
    // [64] call printu 
    // [167] phi from main::@9 to printu [phi:main::@9->printu]
  printu_from___b9:
    // [167] phi (byte) printu::res#20 = (byte) printu::res#7 [phi:main::@9->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) printu::b#7 [phi:main::@9->printu#1] -- register_copy 
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op4 [phi:main::@9->printu#2] -- pbuz1=pbuc1 
    lda #<op4
    sta.z printu.op
    lda #>op4
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#7 [phi:main::@9->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@9->printu#4] -- register_copy 
    jsr printu
    // [65] phi from main::@9 to main::@51 [phi:main::@9->main::@51]
  __b51_from___b9:
    jmp __b51
    // main::@51
  __b51:
    // [66] call print_ln 
    // [162] phi from main::@51 to print_ln [phi:main::@51->print_ln]
  print_ln_from___b51:
    // [162] phi (byte*) print_line_cursor#25 = (byte*) print_line_cursor#1 [phi:main::@51->print_ln#0] -- register_copy 
    jsr print_ln
    jmp __b52
    // main::@52
  __b52:
    // [67] if((byte) main::a#10>(byte) main::b#0) goto main::@10 -- vbuz1_gt_vbuz2_then_la1 
    lda.z b
    cmp.z a
    bcc __b10_from___b52
    // [68] phi from main::@52 to main::@30 [phi:main::@52->main::@30]
  __b30_from___b52:
    jmp __b30
    // main::@30
  __b30:
    // [69] phi from main::@30 to main::@10 [phi:main::@30->main::@10]
  __b10_from___b30:
    // [69] phi (byte) main::r#49 = (byte) '+' [phi:main::@30->main::@10#0] -- vbuz1=vbuc1 
    lda #'+'
    sta.z r_8
    jmp __b10
    // [69] phi from main::@52 to main::@10 [phi:main::@52->main::@10]
  __b10_from___b52:
    // [69] phi (byte) main::r#49 = (byte) '-' [phi:main::@52->main::@10#0] -- vbuz1=vbuc1 
    lda #'-'
    sta.z r_8
    jmp __b10
    // main::@10
  __b10:
    // [70] (byte) printu::a#8 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda.z a
    sta.z printu.a
    // [71] (byte) printu::b#8 ← (byte) main::b#0 -- vbuz1=vbuz2 
    lda.z b
    sta.z printu.b
    // [72] (byte) printu::res#8 ← (byte) main::r#49 -- vbuz1=vbuz2 
    lda.z r_8
    sta.z printu.res
    // [73] (byte*) print_char_cursor#151 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 
    lda.z print_line_cursor
    sta.z print_char_cursor
    lda.z print_line_cursor+1
    sta.z print_char_cursor+1
    // [74] call printu 
    // [167] phi from main::@10 to printu [phi:main::@10->printu]
  printu_from___b10:
    // [167] phi (byte) printu::res#20 = (byte) printu::res#8 [phi:main::@10->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) printu::b#8 [phi:main::@10->printu#1] -- register_copy 
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op8 [phi:main::@10->printu#2] -- pbuz1=pbuc1 
    lda #<op8
    sta.z printu.op
    lda #>op8
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#8 [phi:main::@10->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#151 [phi:main::@10->printu#4] -- register_copy 
    jsr printu
    jmp __b53
    // main::@53
  __b53:
    // [75] if((byte) main::a#10>=(byte) $37+(byte) 1) goto main::@11 -- vbuz1_ge_vbuc1_then_la1 
    lda.z a
    cmp #$37+1
    bcs __b11_from___b53
    // [76] phi from main::@53 to main::@31 [phi:main::@53->main::@31]
  __b31_from___b53:
    jmp __b31
    // main::@31
  __b31:
    // [77] phi from main::@31 to main::@11 [phi:main::@31->main::@11]
  __b11_from___b31:
    // [77] phi (byte) main::r#50 = (byte) '+' [phi:main::@31->main::@11#0] -- vbuz1=vbuc1 
    lda #'+'
    sta.z r_9
    jmp __b11
    // [77] phi from main::@53 to main::@11 [phi:main::@53->main::@11]
  __b11_from___b53:
    // [77] phi (byte) main::r#50 = (byte) '-' [phi:main::@53->main::@11#0] -- vbuz1=vbuc1 
    lda #'-'
    sta.z r_9
    jmp __b11
    // main::@11
  __b11:
    // [78] (byte) printu::a#9 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda.z a
    sta.z printu.a
    // [79] (byte) printu::res#9 ← (byte) main::r#50 -- vbuz1=vbuz2 
    lda.z r_9
    sta.z printu.res
    // [80] call printu 
    // [167] phi from main::@11 to printu [phi:main::@11->printu]
  printu_from___b11:
    // [167] phi (byte) printu::res#20 = (byte) printu::res#9 [phi:main::@11->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) $37 [phi:main::@11->printu#1] -- vbuz1=vbuc1 
    lda #$37
    sta.z printu.b
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op8 [phi:main::@11->printu#2] -- pbuz1=pbuc1 
    lda #<op8
    sta.z printu.op
    lda #>op8
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#9 [phi:main::@11->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@11->printu#4] -- register_copy 
    jsr printu
    jmp __b54
    // main::@54
  __b54:
    // [81] if((byte) main::a#10>*((const byte*) main::cs + (byte) main::i#10)) goto main::@12 -- vbuz1_gt_pbuc1_derefidx_vbuz2_then_la1 
    ldy.z i
    lda cs,y
    cmp.z a
    bcc __b12_from___b54
    // [82] phi from main::@54 to main::@32 [phi:main::@54->main::@32]
  __b32_from___b54:
    jmp __b32
    // main::@32
  __b32:
    // [83] phi from main::@32 to main::@12 [phi:main::@32->main::@12]
  __b12_from___b32:
    // [83] phi (byte) main::r#51 = (byte) '+' [phi:main::@32->main::@12#0] -- vbuz1=vbuc1 
    lda #'+'
    sta.z r_10
    jmp __b12
    // [83] phi from main::@54 to main::@12 [phi:main::@54->main::@12]
  __b12_from___b54:
    // [83] phi (byte) main::r#51 = (byte) '-' [phi:main::@54->main::@12#0] -- vbuz1=vbuc1 
    lda #'-'
    sta.z r_10
    jmp __b12
    // main::@12
  __b12:
    // [84] (byte) printu::a#10 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda.z a
    sta.z printu.a
    // [85] (byte) printu::b#10 ← *((const byte*) main::cs + (byte) main::i#10) -- vbuz1=pbuc1_derefidx_vbuz2 
    ldy.z i
    lda cs,y
    sta.z printu.b
    // [86] (byte) printu::res#10 ← (byte) main::r#51 -- vbuz1=vbuz2 
    lda.z r_10
    sta.z printu.res
    // [87] call printu 
    // [167] phi from main::@12 to printu [phi:main::@12->printu]
  printu_from___b12:
    // [167] phi (byte) printu::res#20 = (byte) printu::res#10 [phi:main::@12->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) printu::b#10 [phi:main::@12->printu#1] -- register_copy 
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op8 [phi:main::@12->printu#2] -- pbuz1=pbuc1 
    lda #<op8
    sta.z printu.op
    lda #>op8
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#10 [phi:main::@12->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@12->printu#4] -- register_copy 
    jsr printu
    jmp __b55
    // main::@55
  __b55:
    // [88] if((byte) main::a#10>(byte) main::a#10) goto main::@13 -- vbuz1_gt_vbuz1_then_la1 
    lda.z a
    cmp.z a
    bcc __b13_from___b55
    // [89] phi from main::@55 to main::@33 [phi:main::@55->main::@33]
  __b33_from___b55:
    jmp __b33
    // main::@33
  __b33:
    // [90] phi from main::@33 to main::@13 [phi:main::@33->main::@13]
  __b13_from___b33:
    // [90] phi (byte) main::r#52 = (byte) '+' [phi:main::@33->main::@13#0] -- vbuz1=vbuc1 
    lda #'+'
    sta.z r_11
    jmp __b13
    // [90] phi from main::@55 to main::@13 [phi:main::@55->main::@13]
  __b13_from___b55:
    // [90] phi (byte) main::r#52 = (byte) '-' [phi:main::@55->main::@13#0] -- vbuz1=vbuc1 
    lda #'-'
    sta.z r_11
    jmp __b13
    // main::@13
  __b13:
    // [91] (byte) printu::a#11 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda.z a
    sta.z printu.a
    // [92] (byte) printu::b#11 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda.z a
    sta.z printu.b
    // [93] (byte) printu::res#11 ← (byte) main::r#52 -- vbuz1=vbuz2 
    lda.z r_11
    sta.z printu.res
    // [94] call printu 
    // [167] phi from main::@13 to printu [phi:main::@13->printu]
  printu_from___b13:
    // [167] phi (byte) printu::res#20 = (byte) printu::res#11 [phi:main::@13->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) printu::b#11 [phi:main::@13->printu#1] -- register_copy 
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op8 [phi:main::@13->printu#2] -- pbuz1=pbuc1 
    lda #<op8
    sta.z printu.op
    lda #>op8
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#11 [phi:main::@13->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@13->printu#4] -- register_copy 
    jsr printu
    // [95] phi from main::@13 to main::@56 [phi:main::@13->main::@56]
  __b56_from___b13:
    jmp __b56
    // main::@56
  __b56:
    // [96] call print_ln 
    // [162] phi from main::@56 to print_ln [phi:main::@56->print_ln]
  print_ln_from___b56:
    // [162] phi (byte*) print_line_cursor#25 = (byte*) print_line_cursor#1 [phi:main::@56->print_ln#0] -- register_copy 
    jsr print_ln
    jmp __b57
    // main::@57
  __b57:
    // [97] if((byte) main::a#10<(byte) main::b#0) goto main::@14 -- vbuz1_lt_vbuz2_then_la1 
    lda.z a
    cmp.z b
    bcc __b14_from___b57
    // [98] phi from main::@57 to main::@34 [phi:main::@57->main::@34]
  __b34_from___b57:
    jmp __b34
    // main::@34
  __b34:
    // [99] phi from main::@34 to main::@14 [phi:main::@34->main::@14]
  __b14_from___b34:
    // [99] phi (byte) main::r#53 = (byte) '+' [phi:main::@34->main::@14#0] -- vbuz1=vbuc1 
    lda #'+'
    sta.z r_12
    jmp __b14
    // [99] phi from main::@57 to main::@14 [phi:main::@57->main::@14]
  __b14_from___b57:
    // [99] phi (byte) main::r#53 = (byte) '-' [phi:main::@57->main::@14#0] -- vbuz1=vbuc1 
    lda #'-'
    sta.z r_12
    jmp __b14
    // main::@14
  __b14:
    // [100] (byte) printu::a#12 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda.z a
    sta.z printu.a
    // [101] (byte) printu::b#12 ← (byte) main::b#0 -- vbuz1=vbuz2 
    lda.z b
    sta.z printu.b
    // [102] (byte) printu::res#12 ← (byte) main::r#53 -- vbuz1=vbuz2 
    lda.z r_12
    sta.z printu.res
    // [103] (byte*) print_char_cursor#155 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 
    lda.z print_line_cursor
    sta.z print_char_cursor
    lda.z print_line_cursor+1
    sta.z print_char_cursor+1
    // [104] call printu 
    // [167] phi from main::@14 to printu [phi:main::@14->printu]
  printu_from___b14:
    // [167] phi (byte) printu::res#20 = (byte) printu::res#12 [phi:main::@14->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) printu::b#12 [phi:main::@14->printu#1] -- register_copy 
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op12 [phi:main::@14->printu#2] -- pbuz1=pbuc1 
    lda #<op12
    sta.z printu.op
    lda #>op12
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#12 [phi:main::@14->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#155 [phi:main::@14->printu#4] -- register_copy 
    jsr printu
    jmp __b58
    // main::@58
  __b58:
    // [105] if((byte) main::a#10<(byte) $37) goto main::@15 -- vbuz1_lt_vbuc1_then_la1 
    lda.z a
    cmp #$37
    bcc __b15_from___b58
    // [106] phi from main::@58 to main::@35 [phi:main::@58->main::@35]
  __b35_from___b58:
    jmp __b35
    // main::@35
  __b35:
    // [107] phi from main::@35 to main::@15 [phi:main::@35->main::@15]
  __b15_from___b35:
    // [107] phi (byte) main::r#54 = (byte) '+' [phi:main::@35->main::@15#0] -- vbuz1=vbuc1 
    lda #'+'
    sta.z r_13
    jmp __b15
    // [107] phi from main::@58 to main::@15 [phi:main::@58->main::@15]
  __b15_from___b58:
    // [107] phi (byte) main::r#54 = (byte) '-' [phi:main::@58->main::@15#0] -- vbuz1=vbuc1 
    lda #'-'
    sta.z r_13
    jmp __b15
    // main::@15
  __b15:
    // [108] (byte) printu::a#13 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda.z a
    sta.z printu.a
    // [109] (byte) printu::res#13 ← (byte) main::r#54 -- vbuz1=vbuz2 
    lda.z r_13
    sta.z printu.res
    // [110] call printu 
    // [167] phi from main::@15 to printu [phi:main::@15->printu]
  printu_from___b15:
    // [167] phi (byte) printu::res#20 = (byte) printu::res#13 [phi:main::@15->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) $37 [phi:main::@15->printu#1] -- vbuz1=vbuc1 
    lda #$37
    sta.z printu.b
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op12 [phi:main::@15->printu#2] -- pbuz1=pbuc1 
    lda #<op12
    sta.z printu.op
    lda #>op12
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#13 [phi:main::@15->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@15->printu#4] -- register_copy 
    jsr printu
    jmp __b59
    // main::@59
  __b59:
    // [111] if((byte) main::a#10<*((const byte*) main::cs + (byte) main::i#10)) goto main::@16 -- vbuz1_lt_pbuc1_derefidx_vbuz2_then_la1 
    lda.z a
    ldy.z i
    cmp cs,y
    bcc __b16_from___b59
    // [112] phi from main::@59 to main::@36 [phi:main::@59->main::@36]
  __b36_from___b59:
    jmp __b36
    // main::@36
  __b36:
    // [113] phi from main::@36 to main::@16 [phi:main::@36->main::@16]
  __b16_from___b36:
    // [113] phi (byte) main::r#55 = (byte) '+' [phi:main::@36->main::@16#0] -- vbuz1=vbuc1 
    lda #'+'
    sta.z r_14
    jmp __b16
    // [113] phi from main::@59 to main::@16 [phi:main::@59->main::@16]
  __b16_from___b59:
    // [113] phi (byte) main::r#55 = (byte) '-' [phi:main::@59->main::@16#0] -- vbuz1=vbuc1 
    lda #'-'
    sta.z r_14
    jmp __b16
    // main::@16
  __b16:
    // [114] (byte) printu::a#14 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda.z a
    sta.z printu.a
    // [115] (byte) printu::b#14 ← *((const byte*) main::cs + (byte) main::i#10) -- vbuz1=pbuc1_derefidx_vbuz2 
    ldy.z i
    lda cs,y
    sta.z printu.b
    // [116] (byte) printu::res#14 ← (byte) main::r#55 -- vbuz1=vbuz2 
    lda.z r_14
    sta.z printu.res
    // [117] call printu 
    // [167] phi from main::@16 to printu [phi:main::@16->printu]
  printu_from___b16:
    // [167] phi (byte) printu::res#20 = (byte) printu::res#14 [phi:main::@16->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) printu::b#14 [phi:main::@16->printu#1] -- register_copy 
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op12 [phi:main::@16->printu#2] -- pbuz1=pbuc1 
    lda #<op12
    sta.z printu.op
    lda #>op12
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#14 [phi:main::@16->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@16->printu#4] -- register_copy 
    jsr printu
    jmp __b60
    // main::@60
  __b60:
    // [118] if((byte) main::a#10<(byte) main::a#10) goto main::@17 -- vbuz1_lt_vbuz1_then_la1 
    lda.z a
    cmp.z a
    bcc __b17_from___b60
    // [119] phi from main::@60 to main::@37 [phi:main::@60->main::@37]
  __b37_from___b60:
    jmp __b37
    // main::@37
  __b37:
    // [120] phi from main::@37 to main::@17 [phi:main::@37->main::@17]
  __b17_from___b37:
    // [120] phi (byte) main::r#56 = (byte) '+' [phi:main::@37->main::@17#0] -- vbuz1=vbuc1 
    lda #'+'
    sta.z r_15
    jmp __b17
    // [120] phi from main::@60 to main::@17 [phi:main::@60->main::@17]
  __b17_from___b60:
    // [120] phi (byte) main::r#56 = (byte) '-' [phi:main::@60->main::@17#0] -- vbuz1=vbuc1 
    lda #'-'
    sta.z r_15
    jmp __b17
    // main::@17
  __b17:
    // [121] (byte) printu::a#15 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda.z a
    sta.z printu.a
    // [122] (byte) printu::b#15 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda.z a
    sta.z printu.b
    // [123] (byte) printu::res#15 ← (byte) main::r#56 -- vbuz1=vbuz2 
    lda.z r_15
    sta.z printu.res
    // [124] call printu 
    // [167] phi from main::@17 to printu [phi:main::@17->printu]
  printu_from___b17:
    // [167] phi (byte) printu::res#20 = (byte) printu::res#15 [phi:main::@17->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) printu::b#15 [phi:main::@17->printu#1] -- register_copy 
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op12 [phi:main::@17->printu#2] -- pbuz1=pbuc1 
    lda #<op12
    sta.z printu.op
    lda #>op12
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#15 [phi:main::@17->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@17->printu#4] -- register_copy 
    jsr printu
    // [125] phi from main::@17 to main::@61 [phi:main::@17->main::@61]
  __b61_from___b17:
    jmp __b61
    // main::@61
  __b61:
    // [126] call print_ln 
    // [162] phi from main::@61 to print_ln [phi:main::@61->print_ln]
  print_ln_from___b61:
    // [162] phi (byte*) print_line_cursor#25 = (byte*) print_line_cursor#1 [phi:main::@61->print_ln#0] -- register_copy 
    jsr print_ln
    jmp __b62
    // main::@62
  __b62:
    // [127] if((byte) main::a#10!=(byte) main::b#0) goto main::@18 -- vbuz1_neq_vbuz2_then_la1 
    lda.z a
    cmp.z b
    bne __b18_from___b62
    // [128] phi from main::@62 to main::@38 [phi:main::@62->main::@38]
  __b38_from___b62:
    jmp __b38
    // main::@38
  __b38:
    // [129] phi from main::@38 to main::@18 [phi:main::@38->main::@18]
  __b18_from___b38:
    // [129] phi (byte) main::r#57 = (byte) '+' [phi:main::@38->main::@18#0] -- vbuz1=vbuc1 
    lda #'+'
    sta.z r_16
    jmp __b18
    // [129] phi from main::@62 to main::@18 [phi:main::@62->main::@18]
  __b18_from___b62:
    // [129] phi (byte) main::r#57 = (byte) '-' [phi:main::@62->main::@18#0] -- vbuz1=vbuc1 
    lda #'-'
    sta.z r_16
    jmp __b18
    // main::@18
  __b18:
    // [130] (byte) printu::a#16 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda.z a
    sta.z printu.a
    // [131] (byte) printu::b#16 ← (byte) main::b#0 -- vbuz1=vbuz2 
    lda.z b
    sta.z printu.b
    // [132] (byte) printu::res#16 ← (byte) main::r#57 -- vbuz1=vbuz2 
    lda.z r_16
    sta.z printu.res
    // [133] (byte*) print_char_cursor#159 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 
    lda.z print_line_cursor
    sta.z print_char_cursor
    lda.z print_line_cursor+1
    sta.z print_char_cursor+1
    // [134] call printu 
    // [167] phi from main::@18 to printu [phi:main::@18->printu]
  printu_from___b18:
    // [167] phi (byte) printu::res#20 = (byte) printu::res#16 [phi:main::@18->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) printu::b#16 [phi:main::@18->printu#1] -- register_copy 
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op16 [phi:main::@18->printu#2] -- pbuz1=pbuc1 
    lda #<op16
    sta.z printu.op
    lda #>op16
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#16 [phi:main::@18->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#159 [phi:main::@18->printu#4] -- register_copy 
    jsr printu
    jmp __b63
    // main::@63
  __b63:
    // [135] if((byte) main::a#10!=(byte) $37) goto main::@19 -- vbuz1_neq_vbuc1_then_la1 
    lda #$37
    cmp.z a
    bne __b19_from___b63
    // [136] phi from main::@63 to main::@39 [phi:main::@63->main::@39]
  __b39_from___b63:
    jmp __b39
    // main::@39
  __b39:
    // [137] phi from main::@39 to main::@19 [phi:main::@39->main::@19]
  __b19_from___b39:
    // [137] phi (byte) main::r#58 = (byte) '+' [phi:main::@39->main::@19#0] -- vbuz1=vbuc1 
    lda #'+'
    sta.z r_17
    jmp __b19
    // [137] phi from main::@63 to main::@19 [phi:main::@63->main::@19]
  __b19_from___b63:
    // [137] phi (byte) main::r#58 = (byte) '-' [phi:main::@63->main::@19#0] -- vbuz1=vbuc1 
    lda #'-'
    sta.z r_17
    jmp __b19
    // main::@19
  __b19:
    // [138] (byte) printu::a#17 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda.z a
    sta.z printu.a
    // [139] (byte) printu::res#17 ← (byte) main::r#58 -- vbuz1=vbuz2 
    lda.z r_17
    sta.z printu.res
    // [140] call printu 
    // [167] phi from main::@19 to printu [phi:main::@19->printu]
  printu_from___b19:
    // [167] phi (byte) printu::res#20 = (byte) printu::res#17 [phi:main::@19->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) $37 [phi:main::@19->printu#1] -- vbuz1=vbuc1 
    lda #$37
    sta.z printu.b
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op16 [phi:main::@19->printu#2] -- pbuz1=pbuc1 
    lda #<op16
    sta.z printu.op
    lda #>op16
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#17 [phi:main::@19->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@19->printu#4] -- register_copy 
    jsr printu
    jmp __b64
    // main::@64
  __b64:
    // [141] if((byte) main::a#10!=*((const byte*) main::cs + (byte) main::i#10)) goto main::@20 -- vbuz1_neq_pbuc1_derefidx_vbuz2_then_la1 
    lda.z a
    ldy.z i
    cmp cs,y
    bne __b20_from___b64
    // [142] phi from main::@64 to main::@40 [phi:main::@64->main::@40]
  __b40_from___b64:
    jmp __b40
    // main::@40
  __b40:
    // [143] phi from main::@40 to main::@20 [phi:main::@40->main::@20]
  __b20_from___b40:
    // [143] phi (byte) main::r#59 = (byte) '+' [phi:main::@40->main::@20#0] -- vbuz1=vbuc1 
    lda #'+'
    sta.z r_18
    jmp __b20
    // [143] phi from main::@64 to main::@20 [phi:main::@64->main::@20]
  __b20_from___b64:
    // [143] phi (byte) main::r#59 = (byte) '-' [phi:main::@64->main::@20#0] -- vbuz1=vbuc1 
    lda #'-'
    sta.z r_18
    jmp __b20
    // main::@20
  __b20:
    // [144] (byte) printu::a#18 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda.z a
    sta.z printu.a
    // [145] (byte) printu::b#18 ← *((const byte*) main::cs + (byte) main::i#10) -- vbuz1=pbuc1_derefidx_vbuz2 
    ldy.z i
    lda cs,y
    sta.z printu.b
    // [146] (byte) printu::res#18 ← (byte) main::r#59 -- vbuz1=vbuz2 
    lda.z r_18
    sta.z printu.res
    // [147] call printu 
    // [167] phi from main::@20 to printu [phi:main::@20->printu]
  printu_from___b20:
    // [167] phi (byte) printu::res#20 = (byte) printu::res#18 [phi:main::@20->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) printu::b#18 [phi:main::@20->printu#1] -- register_copy 
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op16 [phi:main::@20->printu#2] -- pbuz1=pbuc1 
    lda #<op16
    sta.z printu.op
    lda #>op16
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#18 [phi:main::@20->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@20->printu#4] -- register_copy 
    jsr printu
    jmp __b65
    // main::@65
  __b65:
    // [148] if((byte) main::a#10!=(byte) main::a#10) goto main::@21 -- vbuz1_neq_vbuz1_then_la1 
    lda.z a
    cmp.z a
    bne __b21_from___b65
    // [149] phi from main::@65 to main::@41 [phi:main::@65->main::@41]
  __b41_from___b65:
    jmp __b41
    // main::@41
  __b41:
    // [150] phi from main::@41 to main::@21 [phi:main::@41->main::@21]
  __b21_from___b41:
    // [150] phi (byte) main::r#60 = (byte) '+' [phi:main::@41->main::@21#0] -- vbuz1=vbuc1 
    lda #'+'
    sta.z r_19
    jmp __b21
    // [150] phi from main::@65 to main::@21 [phi:main::@65->main::@21]
  __b21_from___b65:
    // [150] phi (byte) main::r#60 = (byte) '-' [phi:main::@65->main::@21#0] -- vbuz1=vbuc1 
    lda #'-'
    sta.z r_19
    jmp __b21
    // main::@21
  __b21:
    // [151] (byte) printu::a#19 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda.z a
    sta.z printu.a
    // [152] (byte) printu::b#19 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda.z a
    sta.z printu.b
    // [153] (byte) printu::res#19 ← (byte) main::r#60 -- vbuz1=vbuz2 
    lda.z r_19
    sta.z printu.res
    // [154] call printu 
    // [167] phi from main::@21 to printu [phi:main::@21->printu]
  printu_from___b21:
    // [167] phi (byte) printu::res#20 = (byte) printu::res#19 [phi:main::@21->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) printu::b#19 [phi:main::@21->printu#1] -- register_copy 
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op16 [phi:main::@21->printu#2] -- pbuz1=pbuc1 
    lda #<op16
    sta.z printu.op
    lda #>op16
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#19 [phi:main::@21->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@21->printu#4] -- register_copy 
    jsr printu
    // [155] phi from main::@21 to main::@66 [phi:main::@21->main::@66]
  __b66_from___b21:
    jmp __b66
    // main::@66
  __b66:
    // [156] call print_ln 
    // [162] phi from main::@66 to print_ln [phi:main::@66->print_ln]
  print_ln_from___b66:
    // [162] phi (byte*) print_line_cursor#25 = (byte*) print_line_cursor#1 [phi:main::@66->print_ln#0] -- register_copy 
    jsr print_ln
    jmp __b67
    // main::@67
  __b67:
    // [157] (byte) main::a#1 ← (byte) main::a#10 + (byte) $30 -- vbuz1=vbuz1_plus_vbuc1 
    lax.z a
    axs #-[$30]
    stx.z a
    // [158] (byte) main::i#1 ← ++ (byte) main::i#10 -- vbuz1=_inc_vbuz1 
    inc.z i
    // [159] if((byte) main::i#1!=(byte) 5) goto main::@68 -- vbuz1_neq_vbuc1_then_la1 
    lda #5
    cmp.z i
    bne __b68
    // [160] phi from main::@42 main::@67 to main::@42 [phi:main::@42/main::@67->main::@42]
  __b42_from___b42:
  __b42_from___b67:
    jmp __b42
    // main::@42
  __b42:
    jmp __b42_from___b42
    // main::@68
  __b68:
    // [161] (byte*) print_char_cursor#150 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 
    lda.z print_line_cursor
    sta.z print_char_cursor
    lda.z print_line_cursor+1
    sta.z print_char_cursor+1
    // [6] phi from main::@68 to main::@1 [phi:main::@68->main::@1]
  __b1_from___b68:
    // [6] phi (byte*) print_line_cursor#27 = (byte*) print_line_cursor#1 [phi:main::@68->main::@1#0] -- register_copy 
    // [6] phi (byte) main::i#10 = (byte) main::i#1 [phi:main::@68->main::@1#1] -- register_copy 
    // [6] phi (byte*) print_char_cursor#120 = (byte*) print_char_cursor#150 [phi:main::@68->main::@1#2] -- register_copy 
    // [6] phi (byte) main::a#10 = (byte) main::a#1 [phi:main::@68->main::@1#3] -- register_copy 
    jmp __b1
    cs: .byte 7, $c7, $37, $97, $67
    op: .text "< "
    .byte 0
    op4: .text "> "
    .byte 0
    op8: .text "<="
    .byte 0
    op12: .text ">="
    .byte 0
    op16: .text "=="
    .byte 0
}
  // print_ln
// Print a newline
print_ln: {
    // [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:
    // [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
    // print_ln::@1
  __b1:
    // [164] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#13 + (byte) $28 -- pbuz1=pbuz1_plus_vbuc1 
    lda #$28
    clc
    adc.z print_line_cursor
    sta.z print_line_cursor
    bcc !+
    inc.z print_line_cursor+1
  !:
    // [165] if((byte*) print_line_cursor#1<(byte*) print_char_cursor#55) goto print_ln::@1 -- pbuz1_lt_pbuz2_then_la1 
    lda.z print_line_cursor+1
    cmp.z print_char_cursor+1
    bcc __b1_from___b1
    bne !+
    lda.z print_line_cursor
    cmp.z print_char_cursor
    bcc __b1_from___b1
  !:
    jmp __breturn
    // print_ln::@return
  __breturn:
    // [166] return 
    rts
}
  // printu
// printu(byte zp($1a) a, byte* zp($1b) op, byte zp($1d) b, byte zp($1e) res)
printu: {
    .label a = $1a
    .label b = $1d
    .label res = $1e
    .label op = $1b
    // [168] call print_char 
    // [180] phi from printu to print_char [phi:printu->print_char]
  print_char_from_printu:
    // [180] phi (byte*) print_char_cursor#54 = (byte*) print_char_cursor#95 [phi:printu->print_char#0] -- register_copy 
    // [180] phi (byte) print_char::ch#5 = (byte) ' ' [phi:printu->print_char#1] -- vbuz1=vbuc1 
    lda #' '
    sta.z print_char.ch
    jsr print_char
    jmp __b1
    // printu::@1
  __b1:
    // [169] (byte) print_byte::b#0 ← (byte) printu::a#20 -- vbuz1=vbuz2 
    lda.z a
    sta.z print_byte.b
    // [170] call print_byte 
    // [184] phi from printu::@1 to print_byte [phi:printu::@1->print_byte]
  print_byte_from___b1:
    // [184] phi (byte*) print_char_cursor#94 = (byte*) print_char_cursor#55 [phi:printu::@1->print_byte#0] -- register_copy 
    // [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
    // printu::@2
  __b2:
    // [171] (byte*) print_str::str#1 ← (byte*) printu::op#20 -- pbuz1=pbuz2 
    lda.z op
    sta.z print_str.str
    lda.z op+1
    sta.z print_str.str+1
    // [172] call print_str 
    // [192] phi from printu::@2 to print_str [phi:printu::@2->print_str]
  print_str_from___b2:
    jsr print_str
    jmp __b3
    // printu::@3
  __b3:
    // [173] (byte) print_byte::b#1 ← (byte) printu::b#20 -- vbuz1=vbuz2 
    lda.z b
    sta.z print_byte.b
    // [174] call print_byte 
    // [184] phi from printu::@3 to print_byte [phi:printu::@3->print_byte]
  print_byte_from___b3:
    // [184] phi (byte*) print_char_cursor#94 = (byte*) print_char_cursor#2 [phi:printu::@3->print_byte#0] -- register_copy 
    // [184] phi (byte) print_byte::b#2 = (byte) print_byte::b#1 [phi:printu::@3->print_byte#1] -- register_copy 
    jsr print_byte
    // [175] phi from printu::@3 to printu::@4 [phi:printu::@3->printu::@4]
  __b4_from___b3:
    jmp __b4
    // printu::@4
  __b4:
    // [176] call print_char 
    // [180] phi from printu::@4 to print_char [phi:printu::@4->print_char]
  print_char_from___b4:
    // [180] phi (byte*) print_char_cursor#54 = (byte*) print_char_cursor#55 [phi:printu::@4->print_char#0] -- register_copy 
    // [180] phi (byte) print_char::ch#5 = (byte) ' ' [phi:printu::@4->print_char#1] -- vbuz1=vbuc1 
    lda #' '
    sta.z print_char.ch
    jsr print_char
    jmp __b5
    // printu::@5
  __b5:
    // [177] (byte) print_char::ch#4 ← (byte) printu::res#20 -- vbuz1=vbuz2 
    lda.z res
    sta.z print_char.ch
    // [178] call print_char 
    // [180] phi from printu::@5 to print_char [phi:printu::@5->print_char]
  print_char_from___b5:
    // [180] phi (byte*) print_char_cursor#54 = (byte*) print_char_cursor#55 [phi:printu::@5->print_char#0] -- register_copy 
    // [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
    // printu::@return
  __breturn:
    // [179] return 
    rts
}
  // print_char
// Print a single char
// print_char(byte zp($1f) ch)
print_char: {
    .label ch = $1f
    // [181] *((byte*) print_char_cursor#54) ← (byte) print_char::ch#5 -- _deref_pbuz1=vbuz2 
    lda.z ch
    ldy #0
    sta (print_char_cursor),y
    // [182] (byte*) print_char_cursor#55 ← ++ (byte*) print_char_cursor#54 -- pbuz1=_inc_pbuz1 
    inc.z print_char_cursor
    bne !+
    inc.z print_char_cursor+1
  !:
    jmp __breturn
    // print_char::@return
  __breturn:
    // [183] return 
    rts
}
  // print_byte
// Print a byte as HEX
// print_byte(byte zp($22) b)
print_byte: {
    .label __0 = $28
    .label __2 = $29
    .label b = $22
    // [185] (byte~) print_byte::$0 ← (byte) print_byte::b#2 >> (byte) 4 -- vbuz1=vbuz2_ror_4 
    lda.z b
    lsr
    lsr
    lsr
    lsr
    sta.z __0
    // [186] (byte) print_char::ch#0 ← *((const byte*) print_hextab + (byte~) print_byte::$0) -- vbuz1=pbuc1_derefidx_vbuz2 
    ldy.z __0
    lda print_hextab,y
    sta.z print_char.ch
    // [187] call print_char 
    // [180] phi from print_byte to print_char [phi:print_byte->print_char]
  print_char_from_print_byte:
    // [180] phi (byte*) print_char_cursor#54 = (byte*) print_char_cursor#94 [phi:print_byte->print_char#0] -- register_copy 
    // [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
    // print_byte::@1
  __b1:
    // [188] (byte~) print_byte::$2 ← (byte) print_byte::b#2 & (byte) $f -- vbuz1=vbuz2_band_vbuc1 
    lda #$f
    and.z b
    sta.z __2
    // [189] (byte) print_char::ch#1 ← *((const byte*) print_hextab + (byte~) print_byte::$2) -- vbuz1=pbuc1_derefidx_vbuz2 
    ldy.z __2
    lda print_hextab,y
    sta.z print_char.ch
    // [190] call print_char 
    // [180] phi from print_byte::@1 to print_char [phi:print_byte::@1->print_char]
  print_char_from___b1:
    // [180] phi (byte*) print_char_cursor#54 = (byte*) print_char_cursor#55 [phi:print_byte::@1->print_char#0] -- register_copy 
    // [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
    // print_byte::@return
  __breturn:
    // [191] return 
    rts
}
  // print_str
// Print a zero-terminated string
// print_str(byte* zp($23) str)
print_str: {
    .label str = $23
    // [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:
    // [193] phi (byte*) print_char_cursor#2 = (byte*) print_char_cursor#55 [phi:print_str/print_str::@2->print_str::@1#0] -- register_copy 
    // [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
    // print_str::@1
  __b1:
    // [194] if((byte) 0!=*((byte*) print_str::str#2)) goto print_str::@2 -- vbuc1_neq__deref_pbuz1_then_la1 
    ldy #0
    lda (str),y
    cmp #0
    bne __b2
    jmp __breturn
    // print_str::@return
  __breturn:
    // [195] return 
    rts
    // print_str::@2
  __b2:
    // [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
    // [197] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#2 -- pbuz1=_inc_pbuz1 
    inc.z print_char_cursor
    bne !+
    inc.z print_char_cursor+1
  !:
    // [198] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#2 -- pbuz1=_inc_pbuz1 
    inc.z str
    bne !+
    inc.z str+1
  !:
    jmp __b1_from___b2
}
  // print_cls
// Clear the screen. Also resets current line/char cursor.
print_cls: {
    // [200] call memset 
    // [202] phi from print_cls to memset [phi:print_cls->memset]
  memset_from_print_cls:
    jsr memset
    jmp __breturn
    // print_cls::@return
  __breturn:
    // [201] return 
    rts
}
  // memset
// Copies the character c (an unsigned char) to the first num characters of the object pointed to by the argument str.
memset: {
    .const c = ' '
    .const num = $3e8
    .label str = $400
    .label end = str+num
    .label dst = $25
    // [203] phi from memset to memset::@1 [phi:memset->memset::@1]
  __b1_from_memset:
    // [203] phi (byte*) memset::dst#2 = (byte*)(const void*) memset::str#0 [phi:memset->memset::@1#0] -- pbuz1=pbuc1 
    lda #<str
    sta.z dst
    lda #>str
    sta.z dst+1
    jmp __b1
    // memset::@1
  __b1:
    // [204] if((byte*) memset::dst#2!=(const byte*) memset::end#0) goto memset::@2 -- pbuz1_neq_pbuc1_then_la1 
    lda.z dst+1
    cmp #>end
    bne __b2
    lda.z dst
    cmp #<end
    bne __b2
    jmp __breturn
    // memset::@return
  __breturn:
    // [205] return 
    rts
    // memset::@2
  __b2:
    // [206] *((byte*) memset::dst#2) ← (const byte) memset::c#0 -- _deref_pbuz1=vbuc1 
    lda #c
    ldy #0
    sta (dst),y
    // [207] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2 -- pbuz1=_inc_pbuz1 
    inc.z dst
    bne !+
    inc.z dst+1
  !:
    // [203] phi from memset::@2 to memset::@1 [phi:memset::@2->memset::@1]
  __b1_from___b2:
    // [203] phi (byte*) memset::dst#2 = (byte*) memset::dst#1 [phi:memset::@2->memset::@1#0] -- register_copy 
    jmp __b1
}
  // File Data
  print_hextab: .text "0123456789abcdef"

REGISTER UPLIFT POTENTIAL REGISTERS
Statement [7] (byte) main::b#0 ← (byte) $ce - (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[1]:2 [ main::a#10 main::a#1 ]
Removing always clobbered register reg byte a as potential for zp[1]:3 [ main::i#10 main::i#1 ]
Statement [21] if((byte) main::a#10>=*((const byte*) main::cs + (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[1]: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#167 ← (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#167 ] ( 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#167 ] ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]: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[1]: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[1]: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*) main::cs + (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#151 ← (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#151 ] ( 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#151 ] ) always clobbers reg byte a 
Statement [81] if((byte) main::a#10>*((const byte*) main::cs + (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#155 ← (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#155 ] ( 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#155 ] ) always clobbers reg byte a 
Statement [111] if((byte) main::a#10<*((const byte*) main::cs + (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#159 ← (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#159 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#1 printu::a#16 printu::b#16 printu::res#16 print_char_cursor#159 ] ) always clobbers reg byte a 
Statement [141] if((byte) main::a#10!=*((const byte*) main::cs + (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) $30 [ 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#150 ← (byte*) print_line_cursor#1 [ main::a#1 print_char_cursor#150 main::i#1 print_line_cursor#1 ] ( main:2 [ main::a#1 print_char_cursor#150 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) $28 [ 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[1]:2 [ main::a#10 main::a#1 ]
Removing always clobbered register reg byte y as potential for zp[1]:3 [ main::i#10 main::i#1 ]
Removing always clobbered register reg byte y as potential for zp[1]:39 [ main::b#0 ]
Removing always clobbered register reg byte y as potential for zp[1]: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[1]: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[1]: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[1]: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) 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[1]: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) $f [ 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) 0!=*((byte*) print_str::str#2)) 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 [204] if((byte*) memset::dst#2!=(const byte*) memset::end#0) goto memset::@2 [ memset::dst#2 ] ( main:2::print_cls:5::memset:200 [ memset::dst#2 ] ) always clobbers reg byte a 
Statement [206] *((byte*) memset::dst#2) ← (const byte) memset::c#0 [ memset::dst#2 ] ( main:2::print_cls:5::memset:200 [ memset::dst#2 ] ) always clobbers reg byte a reg byte y 
Statement [7] (byte) main::b#0 ← (byte) $ce - (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*) main::cs + (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 [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#167 ← (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#167 ] ( 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#167 ] ) always clobbers reg byte a 
Statement [51] if((byte) main::a#10<=*((const byte*) main::cs + (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#151 ← (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#151 ] ( 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#151 ] ) always clobbers reg byte a 
Statement [81] if((byte) main::a#10>*((const byte*) main::cs + (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#155 ← (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#155 ] ( 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#155 ] ) always clobbers reg byte a 
Statement [111] if((byte) main::a#10<*((const byte*) main::cs + (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#159 ← (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#159 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#1 printu::a#16 printu::b#16 printu::res#16 print_char_cursor#159 ] ) always clobbers reg byte a 
Statement [141] if((byte) main::a#10!=*((const byte*) main::cs + (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) $30 [ 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 reg byte x 
Removing always clobbered register reg byte x as potential for zp[1]:3 [ main::i#10 main::i#1 ]
Statement [159] if((byte) main::i#1!=(byte) 5) goto main::@68 [ main::a#1 main::i#1 print_line_cursor#1 ] ( main:2 [ main::a#1 main::i#1 print_line_cursor#1 ] ) always clobbers reg byte a 
Statement [161] (byte*) print_char_cursor#150 ← (byte*) print_line_cursor#1 [ main::a#1 print_char_cursor#150 main::i#1 print_line_cursor#1 ] ( main:2 [ main::a#1 print_char_cursor#150 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) $28 [ 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) 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) $f [ 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) 0!=*((byte*) print_str::str#2)) 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 [204] if((byte*) memset::dst#2!=(const byte*) memset::end#0) goto memset::@2 [ memset::dst#2 ] ( main:2::print_cls:5::memset:200 [ memset::dst#2 ] ) always clobbers reg byte a 
Statement [206] *((byte*) memset::dst#2) ← (const byte) memset::c#0 [ memset::dst#2 ] ( main:2::print_cls:5::memset:200 [ memset::dst#2 ] ) always clobbers reg byte a reg byte y 
Statement [7] (byte) main::b#0 ← (byte) $ce - (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*) main::cs + (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*) main::cs + (byte) main::i#10) [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 main::r#43 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#43 printu::a#2 printu::b#2 print_char_cursor#55 ] ) always clobbers reg byte y 
Removing always clobbered register reg byte y as potential for zp[1]:6 [ main::r#43 ]
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#167 ← (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#167 ] ( 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#167 ] ) always clobbers reg byte a 
Statement [51] if((byte) main::a#10<=*((const byte*) main::cs + (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 reg byte y 
Statement [55] (byte) printu::b#6 ← *((const byte*) main::cs + (byte) main::i#10) [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 main::r#47 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#47 printu::a#6 printu::b#6 print_char_cursor#55 ] ) always clobbers reg byte y 
Removing always clobbered register reg byte y as potential for zp[1]:10 [ main::r#47 ]
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#151 ← (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#151 ] ( 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#151 ] ) always clobbers reg byte a 
Statement [81] if((byte) main::a#10>*((const byte*) main::cs + (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 reg byte y 
Statement [85] (byte) printu::b#10 ← *((const byte*) main::cs + (byte) main::i#10) [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 main::r#51 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#51 printu::a#10 printu::b#10 print_char_cursor#55 ] ) always clobbers reg byte y 
Removing always clobbered register reg byte y as potential for zp[1]:14 [ main::r#51 ]
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#155 ← (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#155 ] ( 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#155 ] ) always clobbers reg byte a 
Statement [111] if((byte) main::a#10<*((const byte*) main::cs + (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 reg byte y 
Statement [115] (byte) printu::b#14 ← *((const byte*) main::cs + (byte) main::i#10) [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 main::r#55 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#55 printu::a#14 printu::b#14 print_char_cursor#55 ] ) always clobbers reg byte y 
Removing always clobbered register reg byte y as potential for zp[1]:18 [ main::r#55 ]
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#159 ← (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#159 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#1 printu::a#16 printu::b#16 printu::res#16 print_char_cursor#159 ] ) always clobbers reg byte a 
Statement [141] if((byte) main::a#10!=*((const byte*) main::cs + (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 reg byte y 
Statement [145] (byte) printu::b#18 ← *((const byte*) main::cs + (byte) main::i#10) [ main::a#10 main::i#10 print_line_cursor#1 main::r#59 printu::a#18 printu::b#18 print_char_cursor#55 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#1 main::r#59 printu::a#18 printu::b#18 print_char_cursor#55 ] ) always clobbers reg byte y 
Removing always clobbered register reg byte y as potential for zp[1]:22 [ main::r#59 ]
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) $30 [ 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 reg byte x 
Statement [159] if((byte) main::i#1!=(byte) 5) goto main::@68 [ main::a#1 main::i#1 print_line_cursor#1 ] ( main:2 [ main::a#1 main::i#1 print_line_cursor#1 ] ) always clobbers reg byte a 
Statement [161] (byte*) print_char_cursor#150 ← (byte*) print_line_cursor#1 [ main::a#1 print_char_cursor#150 main::i#1 print_line_cursor#1 ] ( main:2 [ main::a#1 print_char_cursor#150 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) $28 [ 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) 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) $f [ 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) 0!=*((byte*) print_str::str#2)) 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 [204] if((byte*) memset::dst#2!=(const byte*) memset::end#0) goto memset::@2 [ memset::dst#2 ] ( main:2::print_cls:5::memset:200 [ memset::dst#2 ] ) always clobbers reg byte a 
Statement [206] *((byte*) memset::dst#2) ← (const byte) memset::c#0 [ memset::dst#2 ] ( main:2::print_cls:5::memset:200 [ memset::dst#2 ] ) always clobbers reg byte a reg byte y 
Statement [7] (byte) main::b#0 ← (byte) $ce - (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*) main::cs + (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*) main::cs + (byte) main::i#10) [ main::a#10 main::i#10 print_line_cursor#27 main::b#0 main::r#43 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#43 printu::a#2 printu::b#2 print_char_cursor#55 ] ) always clobbers reg byte y 
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#167 ← (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#167 ] ( 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#167 ] ) always clobbers reg byte a 
Statement [51] if((byte) main::a#10<=*((const byte*) main::cs + (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 reg byte y 
Statement [55] (byte) printu::b#6 ← *((const byte*) main::cs + (byte) main::i#10) [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 main::r#47 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#47 printu::a#6 printu::b#6 print_char_cursor#55 ] ) always clobbers reg byte y 
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#151 ← (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#151 ] ( 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#151 ] ) always clobbers reg byte a 
Statement [81] if((byte) main::a#10>*((const byte*) main::cs + (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 reg byte y 
Statement [85] (byte) printu::b#10 ← *((const byte*) main::cs + (byte) main::i#10) [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 main::r#51 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#51 printu::a#10 printu::b#10 print_char_cursor#55 ] ) always clobbers reg byte y 
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#155 ← (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#155 ] ( 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#155 ] ) always clobbers reg byte a 
Statement [111] if((byte) main::a#10<*((const byte*) main::cs + (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 reg byte y 
Statement [115] (byte) printu::b#14 ← *((const byte*) main::cs + (byte) main::i#10) [ main::a#10 main::i#10 print_line_cursor#1 main::b#0 main::r#55 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#55 printu::a#14 printu::b#14 print_char_cursor#55 ] ) always clobbers reg byte y 
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#159 ← (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#159 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#1 printu::a#16 printu::b#16 printu::res#16 print_char_cursor#159 ] ) always clobbers reg byte a 
Statement [141] if((byte) main::a#10!=*((const byte*) main::cs + (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 reg byte y 
Statement [145] (byte) printu::b#18 ← *((const byte*) main::cs + (byte) main::i#10) [ main::a#10 main::i#10 print_line_cursor#1 main::r#59 printu::a#18 printu::b#18 print_char_cursor#55 ] ( main:2 [ main::a#10 main::i#10 print_line_cursor#1 main::r#59 printu::a#18 printu::b#18 print_char_cursor#55 ] ) always clobbers reg byte y 
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) $30 [ 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 reg byte x 
Statement [159] if((byte) main::i#1!=(byte) 5) goto main::@68 [ main::a#1 main::i#1 print_line_cursor#1 ] ( main:2 [ main::a#1 main::i#1 print_line_cursor#1 ] ) always clobbers reg byte a 
Statement [161] (byte*) print_char_cursor#150 ← (byte*) print_line_cursor#1 [ main::a#1 print_char_cursor#150 main::i#1 print_line_cursor#1 ] ( main:2 [ main::a#1 print_char_cursor#150 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) $28 [ 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) 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) $f [ 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) 0!=*((byte*) print_str::str#2)) 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 [204] if((byte*) memset::dst#2!=(const byte*) memset::end#0) goto memset::@2 [ memset::dst#2 ] ( main:2::print_cls:5::memset:200 [ memset::dst#2 ] ) always clobbers reg byte a 
Statement [206] *((byte*) memset::dst#2) ← (const byte) memset::c#0 [ memset::dst#2 ] ( main:2::print_cls:5::memset:200 [ memset::dst#2 ] ) always clobbers reg byte a reg byte y 
Potential registers zp[1]:2 [ main::a#10 main::a#1 ] : zp[1]:2 , reg byte x , 
Potential registers zp[1]:3 [ main::i#10 main::i#1 ] : zp[1]:3 , 
Potential registers zp[1]:4 [ main::r#41 ] : zp[1]:4 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:5 [ main::r#42 ] : zp[1]:5 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:6 [ main::r#43 ] : zp[1]:6 , reg byte a , reg byte x , 
Potential registers zp[1]:7 [ main::r#44 ] : zp[1]:7 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:8 [ main::r#45 ] : zp[1]:8 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:9 [ main::r#46 ] : zp[1]:9 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:10 [ main::r#47 ] : zp[1]:10 , reg byte a , reg byte x , 
Potential registers zp[1]:11 [ main::r#48 ] : zp[1]:11 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:12 [ main::r#49 ] : zp[1]:12 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:13 [ main::r#50 ] : zp[1]:13 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:14 [ main::r#51 ] : zp[1]:14 , reg byte a , reg byte x , 
Potential registers zp[1]:15 [ main::r#52 ] : zp[1]:15 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:16 [ main::r#53 ] : zp[1]:16 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:17 [ main::r#54 ] : zp[1]:17 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:18 [ main::r#55 ] : zp[1]:18 , reg byte a , reg byte x , 
Potential registers zp[1]:19 [ main::r#56 ] : zp[1]:19 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:20 [ main::r#57 ] : zp[1]:20 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:21 [ main::r#58 ] : zp[1]:21 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:22 [ main::r#59 ] : zp[1]:22 , reg byte a , reg byte x , 
Potential registers zp[1]:23 [ main::r#60 ] : zp[1]:23 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[2]:24 [ print_line_cursor#13 print_line_cursor#25 print_line_cursor#27 print_line_cursor#1 ] : zp[2]:24 , 
Potential registers zp[1]: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[1]:26 , reg byte x , 
Potential registers zp[2]:27 [ printu::op#20 ] : zp[2]:27 , 
Potential registers zp[1]: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[1]:29 , reg byte x , 
Potential registers zp[1]: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[1]:30 , reg byte x , 
Potential registers zp[1]:31 [ print_char::ch#5 print_char::ch#0 print_char::ch#1 print_char::ch#4 ] : zp[1]:31 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[2]:32 [ print_char_cursor#54 print_char_cursor#94 print_char_cursor#95 print_char_cursor#151 print_char_cursor#55 print_char_cursor#155 print_char_cursor#159 print_char_cursor#120 print_char_cursor#150 print_char_cursor#167 print_char_cursor#2 print_char_cursor#1 ] : zp[2]:32 , 
Potential registers zp[1]:34 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ] : zp[1]:34 , reg byte x , 
Potential registers zp[2]:35 [ print_str::str#2 print_str::str#1 print_str::str#0 ] : zp[2]:35 , 
Potential registers zp[2]:37 [ memset::dst#2 memset::dst#1 ] : zp[2]:37 , 
Potential registers zp[1]:39 [ main::b#0 ] : zp[1]:39 , reg byte x , 
Potential registers zp[1]:40 [ print_byte::$0 ] : zp[1]:40 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:41 [ print_byte::$2 ] : zp[1]:41 , reg byte a , reg byte x , reg byte y , 

REGISTER UPLIFT SCOPES
Uplift Scope [printu] 418.2: zp[1]: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[1]: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[1]: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[2]:27 [ printu::op#20 ] 
Uplift Scope [] 498.02: zp[2]:32 [ print_char_cursor#54 print_char_cursor#94 print_char_cursor#95 print_char_cursor#151 print_char_cursor#55 print_char_cursor#155 print_char_cursor#159 print_char_cursor#120 print_char_cursor#150 print_char_cursor#167 print_char_cursor#2 print_char_cursor#1 ] 264.96: zp[2]:24 [ print_line_cursor#13 print_line_cursor#25 print_line_cursor#27 print_line_cursor#1 ] 
Uplift Scope [print_str] 305.5: zp[2]:35 [ print_str::str#2 print_str::str#1 print_str::str#0 ] 
Uplift Scope [main] 11.87: zp[1]:3 [ main::i#10 main::i#1 ] 9.36: zp[1]:2 [ main::a#10 main::a#1 ] 5.5: zp[1]:5 [ main::r#42 ] 5.5: zp[1]:9 [ main::r#46 ] 5.5: zp[1]:13 [ main::r#50 ] 5.5: zp[1]:17 [ main::r#54 ] 5.5: zp[1]:21 [ main::r#58 ] 3.67: zp[1]:4 [ main::r#41 ] 3.67: zp[1]:6 [ main::r#43 ] 3.67: zp[1]:7 [ main::r#44 ] 3.67: zp[1]:8 [ main::r#45 ] 3.67: zp[1]:10 [ main::r#47 ] 3.67: zp[1]:11 [ main::r#48 ] 3.67: zp[1]:12 [ main::r#49 ] 3.67: zp[1]:14 [ main::r#51 ] 3.67: zp[1]:15 [ main::r#52 ] 3.67: zp[1]:16 [ main::r#53 ] 3.67: zp[1]:18 [ main::r#55 ] 3.67: zp[1]:19 [ main::r#56 ] 3.67: zp[1]:20 [ main::r#57 ] 3.67: zp[1]:22 [ main::r#59 ] 3.67: zp[1]:23 [ main::r#60 ] 0.98: zp[1]:39 [ main::b#0 ] 
Uplift Scope [memset] 36.67: zp[2]:37 [ memset::dst#2 memset::dst#1 ] 
Uplift Scope [print_char] 20: zp[1]:31 [ print_char::ch#5 print_char::ch#0 print_char::ch#1 print_char::ch#4 ] 
Uplift Scope [print_byte] 10: zp[1]:34 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ] 4: zp[1]:40 [ print_byte::$0 ] 4: zp[1]:41 [ print_byte::$2 ] 
Uplift Scope [RADIX] 
Uplift Scope [print_ln] 
Uplift Scope [print_cls] 

Uplifting [printu] best 21771 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[1]: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[1]: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[2]:27 [ printu::op#20 ] 
Uplifting [] best 21771 combination zp[2]:32 [ print_char_cursor#54 print_char_cursor#94 print_char_cursor#95 print_char_cursor#151 print_char_cursor#55 print_char_cursor#155 print_char_cursor#159 print_char_cursor#120 print_char_cursor#150 print_char_cursor#167 print_char_cursor#2 print_char_cursor#1 ] zp[2]:24 [ print_line_cursor#13 print_line_cursor#25 print_line_cursor#27 print_line_cursor#1 ] 
Uplifting [print_str] best 21771 combination zp[2]:35 [ print_str::str#2 print_str::str#1 print_str::str#0 ] 
Uplifting [memset] best 21771 combination zp[2]:37 [ memset::dst#2 memset::dst#1 ] 
Uplifting [print_char] best 21755 combination reg byte a [ print_char::ch#5 print_char::ch#0 print_char::ch#1 print_char::ch#4 ] 
Uplifting [print_byte] best 21751 combination zp[1]:34 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ] reg byte a [ print_byte::$0 ] zp[1]:41 [ print_byte::$2 ] 
Limited combination testing to 10 combinations of 32 possible.
Uplifting [RADIX] best 21751 combination 
Uplifting [print_ln] best 21751 combination 
Uplifting [print_cls] best 21751 combination 
Attempting to uplift remaining variables inzp[1]: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 21751 combination zp[1]: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[1]: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 21751 combination zp[1]: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[1]:3 [ main::i#10 main::i#1 ]
Uplifting [main] best 21751 combination zp[1]:3 [ main::i#10 main::i#1 ] 
Attempting to uplift remaining variables inzp[1]:34 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ]
Uplifting [print_byte] best 21751 combination zp[1]:34 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ] 
Attempting to uplift remaining variables inzp[1]:2 [ main::a#10 main::a#1 ]
Uplifting [main] best 21751 combination zp[1]:2 [ main::a#10 main::a#1 ] 
Attempting to uplift remaining variables inzp[1]:5 [ main::r#42 ]
Uplifting [main] best 21661 combination reg byte x [ main::r#42 ] 
Attempting to uplift remaining variables inzp[1]:9 [ main::r#46 ]
Uplifting [main] best 21571 combination reg byte x [ main::r#46 ] 
Attempting to uplift remaining variables inzp[1]:13 [ main::r#50 ]
Uplifting [main] best 21481 combination reg byte x [ main::r#50 ] 
Attempting to uplift remaining variables inzp[1]:17 [ main::r#54 ]
Uplifting [main] best 21391 combination reg byte x [ main::r#54 ] 
Attempting to uplift remaining variables inzp[1]:21 [ main::r#58 ]
Uplifting [main] best 21301 combination reg byte x [ main::r#58 ] 
Attempting to uplift remaining variables inzp[1]:41 [ print_byte::$2 ]
Uplifting [print_byte] best 21297 combination reg byte a [ print_byte::$2 ] 
Attempting to uplift remaining variables inzp[1]:4 [ main::r#41 ]
Uplifting [main] best 21207 combination reg byte x [ main::r#41 ] 
Attempting to uplift remaining variables inzp[1]:6 [ main::r#43 ]
Uplifting [main] best 21117 combination reg byte x [ main::r#43 ] 
Attempting to uplift remaining variables inzp[1]:7 [ main::r#44 ]
Uplifting [main] best 21027 combination reg byte x [ main::r#44 ] 
Attempting to uplift remaining variables inzp[1]:8 [ main::r#45 ]
Uplifting [main] best 20937 combination reg byte x [ main::r#45 ] 
Attempting to uplift remaining variables inzp[1]:10 [ main::r#47 ]
Uplifting [main] best 20847 combination reg byte x [ main::r#47 ] 
Attempting to uplift remaining variables inzp[1]:11 [ main::r#48 ]
Uplifting [main] best 20757 combination reg byte x [ main::r#48 ] 
Attempting to uplift remaining variables inzp[1]:12 [ main::r#49 ]
Uplifting [main] best 20667 combination reg byte x [ main::r#49 ] 
Attempting to uplift remaining variables inzp[1]:14 [ main::r#51 ]
Uplifting [main] best 20577 combination reg byte x [ main::r#51 ] 
Attempting to uplift remaining variables inzp[1]:15 [ main::r#52 ]
Uplifting [main] best 20487 combination reg byte x [ main::r#52 ] 
Attempting to uplift remaining variables inzp[1]:16 [ main::r#53 ]
Uplifting [main] best 20397 combination reg byte x [ main::r#53 ] 
Attempting to uplift remaining variables inzp[1]:18 [ main::r#55 ]
Uplifting [main] best 20307 combination reg byte x [ main::r#55 ] 
Attempting to uplift remaining variables inzp[1]:19 [ main::r#56 ]
Uplifting [main] best 20217 combination reg byte x [ main::r#56 ] 
Attempting to uplift remaining variables inzp[1]:20 [ main::r#57 ]
Uplifting [main] best 20127 combination reg byte x [ main::r#57 ] 
Attempting to uplift remaining variables inzp[1]:22 [ main::r#59 ]
Uplifting [main] best 20037 combination reg byte x [ main::r#59 ] 
Attempting to uplift remaining variables inzp[1]:23 [ main::r#60 ]
Uplifting [main] best 19947 combination reg byte x [ main::r#60 ] 
Attempting to uplift remaining variables inzp[1]:39 [ main::b#0 ]
Uplifting [main] best 19947 combination zp[1]:39 [ main::b#0 ] 
Coalescing zero page register [ zp[1]:2 [ main::a#10 main::a#1 ] ] with [ zp[1]: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 [ zp[2]:27 [ printu::op#20 ] ] with [ zp[2]:35 [ print_str::str#2 print_str::str#1 print_str::str#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:37 [ memset::dst#2 memset::dst#1 ] ] with [ zp[2]:24 [ print_line_cursor#13 print_line_cursor#25 print_line_cursor#27 print_line_cursor#1 ] ]
Allocated (was zp[2]:27) zp[2]:4 [ printu::op#20 print_str::str#2 print_str::str#1 print_str::str#0 ]
Allocated (was zp[1]:29) zp[1]:6 [ 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[2]:32) zp[2]:7 [ print_char_cursor#54 print_char_cursor#94 print_char_cursor#95 print_char_cursor#151 print_char_cursor#55 print_char_cursor#155 print_char_cursor#159 print_char_cursor#120 print_char_cursor#150 print_char_cursor#167 print_char_cursor#2 print_char_cursor#1 ]
Allocated (was zp[1]:34) zp[1]:9 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ]
Allocated (was zp[2]:37) zp[2]:10 [ memset::dst#2 memset::dst#1 print_line_cursor#13 print_line_cursor#25 print_line_cursor#27 print_line_cursor#1 ]
Allocated (was zp[1]:39) zp[1]:12 [ main::b#0 ]

ASSEMBLER BEFORE OPTIMIZATION
  // File Comments
  // Upstart
.pc = $801 "Basic"
:BasicUpstart(__bbegin)
.pc = $80d "Program"
  // Global Constants & labels
  .label print_char_cursor = 7
  .label print_line_cursor = $a
  // @begin
__bbegin:
  // [1] phi from @begin to @1 [phi:@begin->@1]
__b1_from___bbegin:
  jmp __b1
  // @1
__b1:
  // [2] call main 
  // [4] phi from @1 to main [phi:@1->main]
main_from___b1:
  jsr main
  // [3] phi from @1 to @end [phi:@1->@end]
__bend_from___b1:
  jmp __bend
  // @end
__bend:
  // main
main: {
    .label b = $c
    .label a = 2
    .label i = 3
    // [5] call print_cls 
    // [199] phi from main to print_cls [phi:main->print_cls]
  print_cls_from_main:
    jsr print_cls
    // [6] phi from main to main::@1 [phi:main->main::@1]
  __b1_from_main:
    // [6] phi (byte*) print_line_cursor#27 = (byte*) 1024 [phi:main->main::@1#0] -- pbuz1=pbuc1 
    lda #<$400
    sta.z print_line_cursor
    lda #>$400
    sta.z print_line_cursor+1
    // [6] phi (byte) main::i#10 = (byte) 0 [phi:main->main::@1#1] -- vbuz1=vbuc1 
    lda #0
    sta.z i
    // [6] phi (byte*) print_char_cursor#120 = (byte*) 1024 [phi:main->main::@1#2] -- pbuz1=pbuc1 
    lda #<$400
    sta.z print_char_cursor
    lda #>$400
    sta.z print_char_cursor+1
    // [6] phi (byte) main::a#10 = (byte) 7 [phi:main->main::@1#3] -- vbuz1=vbuc1 
    lda #7
    sta.z a
    jmp __b1
    // main::@1
  __b1:
    // [7] (byte) main::b#0 ← (byte) $ce - (byte) main::a#10 -- vbuz1=vbuc1_minus_vbuz2 
    lda #$ce
    sec
    sbc.z a
    sta.z b
    // [8] if((byte) main::a#10>=(byte) main::b#0) goto main::@2 -- vbuz1_ge_vbuz2_then_la1 
    lda.z a
    cmp.z b
    bcs __b2_from___b1
    // [9] phi from main::@1 to main::@22 [phi:main::@1->main::@22]
  __b22_from___b1:
    jmp __b22
    // main::@22
  __b22:
    // [10] phi from main::@22 to main::@2 [phi:main::@22->main::@2]
  __b2_from___b22:
    // [10] phi (byte) main::r#41 = (byte) '+' [phi:main::@22->main::@2#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp __b2
    // [10] phi from main::@1 to main::@2 [phi:main::@1->main::@2]
  __b2_from___b1:
    // [10] phi (byte) main::r#41 = (byte) '-' [phi:main::@1->main::@2#0] -- vbuxx=vbuc1 
    ldx #'-'
    jmp __b2
    // main::@2
  __b2:
    // [11] (byte) printu::a#0 ← (byte) main::a#10
    // [12] (byte) printu::b#0 ← (byte) main::b#0 -- vbuz1=vbuz2 
    lda.z b
    sta.z printu.b
    // [13] (byte) printu::res#0 ← (byte) main::r#41
    // [14] call printu 
    // [167] phi from main::@2 to printu [phi:main::@2->printu]
  printu_from___b2:
    // [167] phi (byte) printu::res#20 = (byte) printu::res#0 [phi:main::@2->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) printu::b#0 [phi:main::@2->printu#1] -- register_copy 
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op [phi:main::@2->printu#2] -- pbuz1=pbuc1 
    lda #<op
    sta.z printu.op
    lda #>op
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#0 [phi:main::@2->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#120 [phi:main::@2->printu#4] -- register_copy 
    jsr printu
    jmp __b43
    // main::@43
  __b43:
    // [15] if((byte) main::a#10>=(byte) $37) goto main::@3 -- vbuz1_ge_vbuc1_then_la1 
    lda.z a
    cmp #$37
    bcs __b3_from___b43
    // [16] phi from main::@43 to main::@23 [phi:main::@43->main::@23]
  __b23_from___b43:
    jmp __b23
    // main::@23
  __b23:
    // [17] phi from main::@23 to main::@3 [phi:main::@23->main::@3]
  __b3_from___b23:
    // [17] phi (byte) main::r#42 = (byte) '+' [phi:main::@23->main::@3#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp __b3
    // [17] phi from main::@43 to main::@3 [phi:main::@43->main::@3]
  __b3_from___b43:
    // [17] phi (byte) main::r#42 = (byte) '-' [phi:main::@43->main::@3#0] -- vbuxx=vbuc1 
    ldx #'-'
    jmp __b3
    // main::@3
  __b3:
    // [18] (byte) printu::a#1 ← (byte) main::a#10
    // [19] (byte) printu::res#1 ← (byte) main::r#42
    // [20] call printu 
    // [167] phi from main::@3 to printu [phi:main::@3->printu]
  printu_from___b3:
    // [167] phi (byte) printu::res#20 = (byte) printu::res#1 [phi:main::@3->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) $37 [phi:main::@3->printu#1] -- vbuz1=vbuc1 
    lda #$37
    sta.z printu.b
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op [phi:main::@3->printu#2] -- pbuz1=pbuc1 
    lda #<op
    sta.z printu.op
    lda #>op
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#1 [phi:main::@3->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@3->printu#4] -- register_copy 
    jsr printu
    jmp __b44
    // main::@44
  __b44:
    // [21] if((byte) main::a#10>=*((const byte*) main::cs + (byte) main::i#10)) goto main::@4 -- vbuz1_ge_pbuc1_derefidx_vbuz2_then_la1 
    lda.z a
    ldy.z i
    cmp cs,y
    bcs __b4_from___b44
    // [22] phi from main::@44 to main::@24 [phi:main::@44->main::@24]
  __b24_from___b44:
    jmp __b24
    // main::@24
  __b24:
    // [23] phi from main::@24 to main::@4 [phi:main::@24->main::@4]
  __b4_from___b24:
    // [23] phi (byte) main::r#43 = (byte) '+' [phi:main::@24->main::@4#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp __b4
    // [23] phi from main::@44 to main::@4 [phi:main::@44->main::@4]
  __b4_from___b44:
    // [23] phi (byte) main::r#43 = (byte) '-' [phi:main::@44->main::@4#0] -- vbuxx=vbuc1 
    ldx #'-'
    jmp __b4
    // main::@4
  __b4:
    // [24] (byte) printu::a#2 ← (byte) main::a#10
    // [25] (byte) printu::b#2 ← *((const byte*) main::cs + (byte) main::i#10) -- vbuz1=pbuc1_derefidx_vbuz2 
    ldy.z i
    lda cs,y
    sta.z printu.b
    // [26] (byte) printu::res#2 ← (byte) main::r#43
    // [27] call printu 
    // [167] phi from main::@4 to printu [phi:main::@4->printu]
  printu_from___b4:
    // [167] phi (byte) printu::res#20 = (byte) printu::res#2 [phi:main::@4->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) printu::b#2 [phi:main::@4->printu#1] -- register_copy 
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op [phi:main::@4->printu#2] -- pbuz1=pbuc1 
    lda #<op
    sta.z printu.op
    lda #>op
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#2 [phi:main::@4->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@4->printu#4] -- register_copy 
    jsr printu
    jmp __b45
    // main::@45
  __b45:
    // [28] if((byte) main::a#10>=(byte) main::a#10) goto main::@5 -- vbuz1_ge_vbuz1_then_la1 
    lda.z a
    cmp.z a
    bcs __b5_from___b45
    // [29] phi from main::@45 to main::@25 [phi:main::@45->main::@25]
  __b25_from___b45:
    jmp __b25
    // main::@25
  __b25:
    // [30] phi from main::@25 to main::@5 [phi:main::@25->main::@5]
  __b5_from___b25:
    // [30] phi (byte) main::r#44 = (byte) '+' [phi:main::@25->main::@5#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp __b5
    // [30] phi from main::@45 to main::@5 [phi:main::@45->main::@5]
  __b5_from___b45:
    // [30] phi (byte) main::r#44 = (byte) '-' [phi:main::@45->main::@5#0] -- vbuxx=vbuc1 
    ldx #'-'
    jmp __b5
    // main::@5
  __b5:
    // [31] (byte) printu::a#3 ← (byte) main::a#10
    // [32] (byte) printu::b#3 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda.z a
    sta.z printu.b
    // [33] (byte) printu::res#3 ← (byte) main::r#44
    // [34] call printu 
    // [167] phi from main::@5 to printu [phi:main::@5->printu]
  printu_from___b5:
    // [167] phi (byte) printu::res#20 = (byte) printu::res#3 [phi:main::@5->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) printu::b#3 [phi:main::@5->printu#1] -- register_copy 
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op [phi:main::@5->printu#2] -- pbuz1=pbuc1 
    lda #<op
    sta.z printu.op
    lda #>op
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#3 [phi:main::@5->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@5->printu#4] -- register_copy 
    jsr printu
    // [35] phi from main::@5 to main::@46 [phi:main::@5->main::@46]
  __b46_from___b5:
    jmp __b46
    // main::@46
  __b46:
    // [36] call print_ln 
    // [162] phi from main::@46 to print_ln [phi:main::@46->print_ln]
  print_ln_from___b46:
    // [162] phi (byte*) print_line_cursor#25 = (byte*) print_line_cursor#27 [phi:main::@46->print_ln#0] -- register_copy 
    jsr print_ln
    jmp __b47
    // main::@47
  __b47:
    // [37] if((byte) main::a#10<=(byte) main::b#0) goto main::@6 -- vbuz1_le_vbuz2_then_la1 
    lda.z b
    cmp.z a
    bcs __b6_from___b47
    // [38] phi from main::@47 to main::@26 [phi:main::@47->main::@26]
  __b26_from___b47:
    jmp __b26
    // main::@26
  __b26:
    // [39] phi from main::@26 to main::@6 [phi:main::@26->main::@6]
  __b6_from___b26:
    // [39] phi (byte) main::r#45 = (byte) '+' [phi:main::@26->main::@6#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp __b6
    // [39] phi from main::@47 to main::@6 [phi:main::@47->main::@6]
  __b6_from___b47:
    // [39] phi (byte) main::r#45 = (byte) '-' [phi:main::@47->main::@6#0] -- vbuxx=vbuc1 
    ldx #'-'
    jmp __b6
    // main::@6
  __b6:
    // [40] (byte) printu::a#4 ← (byte) main::a#10
    // [41] (byte) printu::b#4 ← (byte) main::b#0 -- vbuz1=vbuz2 
    lda.z b
    sta.z printu.b
    // [42] (byte) printu::res#4 ← (byte) main::r#45
    // [43] (byte*) print_char_cursor#167 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 
    lda.z print_line_cursor
    sta.z print_char_cursor
    lda.z print_line_cursor+1
    sta.z print_char_cursor+1
    // [44] call printu 
    // [167] phi from main::@6 to printu [phi:main::@6->printu]
  printu_from___b6:
    // [167] phi (byte) printu::res#20 = (byte) printu::res#4 [phi:main::@6->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) printu::b#4 [phi:main::@6->printu#1] -- register_copy 
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op4 [phi:main::@6->printu#2] -- pbuz1=pbuc1 
    lda #<op4
    sta.z printu.op
    lda #>op4
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#4 [phi:main::@6->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#167 [phi:main::@6->printu#4] -- register_copy 
    jsr printu
    jmp __b48
    // main::@48
  __b48:
    // [45] if((byte) main::a#10<(byte) $37+(byte) 1) goto main::@7 -- vbuz1_lt_vbuc1_then_la1 
    lda.z a
    cmp #$37+1
    bcc __b7_from___b48
    // [46] phi from main::@48 to main::@27 [phi:main::@48->main::@27]
  __b27_from___b48:
    jmp __b27
    // main::@27
  __b27:
    // [47] phi from main::@27 to main::@7 [phi:main::@27->main::@7]
  __b7_from___b27:
    // [47] phi (byte) main::r#46 = (byte) '+' [phi:main::@27->main::@7#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp __b7
    // [47] phi from main::@48 to main::@7 [phi:main::@48->main::@7]
  __b7_from___b48:
    // [47] phi (byte) main::r#46 = (byte) '-' [phi:main::@48->main::@7#0] -- vbuxx=vbuc1 
    ldx #'-'
    jmp __b7
    // main::@7
  __b7:
    // [48] (byte) printu::a#5 ← (byte) main::a#10
    // [49] (byte) printu::res#5 ← (byte) main::r#46
    // [50] call printu 
    // [167] phi from main::@7 to printu [phi:main::@7->printu]
  printu_from___b7:
    // [167] phi (byte) printu::res#20 = (byte) printu::res#5 [phi:main::@7->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) $37 [phi:main::@7->printu#1] -- vbuz1=vbuc1 
    lda #$37
    sta.z printu.b
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op4 [phi:main::@7->printu#2] -- pbuz1=pbuc1 
    lda #<op4
    sta.z printu.op
    lda #>op4
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#5 [phi:main::@7->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@7->printu#4] -- register_copy 
    jsr printu
    jmp __b49
    // main::@49
  __b49:
    // [51] if((byte) main::a#10<=*((const byte*) main::cs + (byte) main::i#10)) goto main::@8 -- vbuz1_le_pbuc1_derefidx_vbuz2_then_la1 
    ldy.z i
    lda cs,y
    cmp.z a
    bcs __b8_from___b49
    // [52] phi from main::@49 to main::@28 [phi:main::@49->main::@28]
  __b28_from___b49:
    jmp __b28
    // main::@28
  __b28:
    // [53] phi from main::@28 to main::@8 [phi:main::@28->main::@8]
  __b8_from___b28:
    // [53] phi (byte) main::r#47 = (byte) '+' [phi:main::@28->main::@8#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp __b8
    // [53] phi from main::@49 to main::@8 [phi:main::@49->main::@8]
  __b8_from___b49:
    // [53] phi (byte) main::r#47 = (byte) '-' [phi:main::@49->main::@8#0] -- vbuxx=vbuc1 
    ldx #'-'
    jmp __b8
    // main::@8
  __b8:
    // [54] (byte) printu::a#6 ← (byte) main::a#10
    // [55] (byte) printu::b#6 ← *((const byte*) main::cs + (byte) main::i#10) -- vbuz1=pbuc1_derefidx_vbuz2 
    ldy.z i
    lda cs,y
    sta.z printu.b
    // [56] (byte) printu::res#6 ← (byte) main::r#47
    // [57] call printu 
    // [167] phi from main::@8 to printu [phi:main::@8->printu]
  printu_from___b8:
    // [167] phi (byte) printu::res#20 = (byte) printu::res#6 [phi:main::@8->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) printu::b#6 [phi:main::@8->printu#1] -- register_copy 
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op4 [phi:main::@8->printu#2] -- pbuz1=pbuc1 
    lda #<op4
    sta.z printu.op
    lda #>op4
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#6 [phi:main::@8->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@8->printu#4] -- register_copy 
    jsr printu
    jmp __b50
    // main::@50
  __b50:
    // [58] if((byte) main::a#10<=(byte) main::a#10) goto main::@9 -- vbuz1_le_vbuz1_then_la1 
    lda.z a
    cmp.z a
    bcs __b9_from___b50
    // [59] phi from main::@50 to main::@29 [phi:main::@50->main::@29]
  __b29_from___b50:
    jmp __b29
    // main::@29
  __b29:
    // [60] phi from main::@29 to main::@9 [phi:main::@29->main::@9]
  __b9_from___b29:
    // [60] phi (byte) main::r#48 = (byte) '+' [phi:main::@29->main::@9#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp __b9
    // [60] phi from main::@50 to main::@9 [phi:main::@50->main::@9]
  __b9_from___b50:
    // [60] phi (byte) main::r#48 = (byte) '-' [phi:main::@50->main::@9#0] -- vbuxx=vbuc1 
    ldx #'-'
    jmp __b9
    // main::@9
  __b9:
    // [61] (byte) printu::a#7 ← (byte) main::a#10
    // [62] (byte) printu::b#7 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda.z a
    sta.z printu.b
    // [63] (byte) printu::res#7 ← (byte) main::r#48
    // [64] call printu 
    // [167] phi from main::@9 to printu [phi:main::@9->printu]
  printu_from___b9:
    // [167] phi (byte) printu::res#20 = (byte) printu::res#7 [phi:main::@9->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) printu::b#7 [phi:main::@9->printu#1] -- register_copy 
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op4 [phi:main::@9->printu#2] -- pbuz1=pbuc1 
    lda #<op4
    sta.z printu.op
    lda #>op4
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#7 [phi:main::@9->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@9->printu#4] -- register_copy 
    jsr printu
    // [65] phi from main::@9 to main::@51 [phi:main::@9->main::@51]
  __b51_from___b9:
    jmp __b51
    // main::@51
  __b51:
    // [66] call print_ln 
    // [162] phi from main::@51 to print_ln [phi:main::@51->print_ln]
  print_ln_from___b51:
    // [162] phi (byte*) print_line_cursor#25 = (byte*) print_line_cursor#1 [phi:main::@51->print_ln#0] -- register_copy 
    jsr print_ln
    jmp __b52
    // main::@52
  __b52:
    // [67] if((byte) main::a#10>(byte) main::b#0) goto main::@10 -- vbuz1_gt_vbuz2_then_la1 
    lda.z b
    cmp.z a
    bcc __b10_from___b52
    // [68] phi from main::@52 to main::@30 [phi:main::@52->main::@30]
  __b30_from___b52:
    jmp __b30
    // main::@30
  __b30:
    // [69] phi from main::@30 to main::@10 [phi:main::@30->main::@10]
  __b10_from___b30:
    // [69] phi (byte) main::r#49 = (byte) '+' [phi:main::@30->main::@10#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp __b10
    // [69] phi from main::@52 to main::@10 [phi:main::@52->main::@10]
  __b10_from___b52:
    // [69] phi (byte) main::r#49 = (byte) '-' [phi:main::@52->main::@10#0] -- vbuxx=vbuc1 
    ldx #'-'
    jmp __b10
    // main::@10
  __b10:
    // [70] (byte) printu::a#8 ← (byte) main::a#10
    // [71] (byte) printu::b#8 ← (byte) main::b#0 -- vbuz1=vbuz2 
    lda.z b
    sta.z printu.b
    // [72] (byte) printu::res#8 ← (byte) main::r#49
    // [73] (byte*) print_char_cursor#151 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 
    lda.z print_line_cursor
    sta.z print_char_cursor
    lda.z print_line_cursor+1
    sta.z print_char_cursor+1
    // [74] call printu 
    // [167] phi from main::@10 to printu [phi:main::@10->printu]
  printu_from___b10:
    // [167] phi (byte) printu::res#20 = (byte) printu::res#8 [phi:main::@10->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) printu::b#8 [phi:main::@10->printu#1] -- register_copy 
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op8 [phi:main::@10->printu#2] -- pbuz1=pbuc1 
    lda #<op8
    sta.z printu.op
    lda #>op8
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#8 [phi:main::@10->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#151 [phi:main::@10->printu#4] -- register_copy 
    jsr printu
    jmp __b53
    // main::@53
  __b53:
    // [75] if((byte) main::a#10>=(byte) $37+(byte) 1) goto main::@11 -- vbuz1_ge_vbuc1_then_la1 
    lda.z a
    cmp #$37+1
    bcs __b11_from___b53
    // [76] phi from main::@53 to main::@31 [phi:main::@53->main::@31]
  __b31_from___b53:
    jmp __b31
    // main::@31
  __b31:
    // [77] phi from main::@31 to main::@11 [phi:main::@31->main::@11]
  __b11_from___b31:
    // [77] phi (byte) main::r#50 = (byte) '+' [phi:main::@31->main::@11#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp __b11
    // [77] phi from main::@53 to main::@11 [phi:main::@53->main::@11]
  __b11_from___b53:
    // [77] phi (byte) main::r#50 = (byte) '-' [phi:main::@53->main::@11#0] -- vbuxx=vbuc1 
    ldx #'-'
    jmp __b11
    // main::@11
  __b11:
    // [78] (byte) printu::a#9 ← (byte) main::a#10
    // [79] (byte) printu::res#9 ← (byte) main::r#50
    // [80] call printu 
    // [167] phi from main::@11 to printu [phi:main::@11->printu]
  printu_from___b11:
    // [167] phi (byte) printu::res#20 = (byte) printu::res#9 [phi:main::@11->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) $37 [phi:main::@11->printu#1] -- vbuz1=vbuc1 
    lda #$37
    sta.z printu.b
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op8 [phi:main::@11->printu#2] -- pbuz1=pbuc1 
    lda #<op8
    sta.z printu.op
    lda #>op8
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#9 [phi:main::@11->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@11->printu#4] -- register_copy 
    jsr printu
    jmp __b54
    // main::@54
  __b54:
    // [81] if((byte) main::a#10>*((const byte*) main::cs + (byte) main::i#10)) goto main::@12 -- vbuz1_gt_pbuc1_derefidx_vbuz2_then_la1 
    ldy.z i
    lda cs,y
    cmp.z a
    bcc __b12_from___b54
    // [82] phi from main::@54 to main::@32 [phi:main::@54->main::@32]
  __b32_from___b54:
    jmp __b32
    // main::@32
  __b32:
    // [83] phi from main::@32 to main::@12 [phi:main::@32->main::@12]
  __b12_from___b32:
    // [83] phi (byte) main::r#51 = (byte) '+' [phi:main::@32->main::@12#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp __b12
    // [83] phi from main::@54 to main::@12 [phi:main::@54->main::@12]
  __b12_from___b54:
    // [83] phi (byte) main::r#51 = (byte) '-' [phi:main::@54->main::@12#0] -- vbuxx=vbuc1 
    ldx #'-'
    jmp __b12
    // main::@12
  __b12:
    // [84] (byte) printu::a#10 ← (byte) main::a#10
    // [85] (byte) printu::b#10 ← *((const byte*) main::cs + (byte) main::i#10) -- vbuz1=pbuc1_derefidx_vbuz2 
    ldy.z i
    lda cs,y
    sta.z printu.b
    // [86] (byte) printu::res#10 ← (byte) main::r#51
    // [87] call printu 
    // [167] phi from main::@12 to printu [phi:main::@12->printu]
  printu_from___b12:
    // [167] phi (byte) printu::res#20 = (byte) printu::res#10 [phi:main::@12->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) printu::b#10 [phi:main::@12->printu#1] -- register_copy 
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op8 [phi:main::@12->printu#2] -- pbuz1=pbuc1 
    lda #<op8
    sta.z printu.op
    lda #>op8
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#10 [phi:main::@12->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@12->printu#4] -- register_copy 
    jsr printu
    jmp __b55
    // main::@55
  __b55:
    // [88] if((byte) main::a#10>(byte) main::a#10) goto main::@13 -- vbuz1_gt_vbuz1_then_la1 
    lda.z a
    cmp.z a
    bcc __b13_from___b55
    // [89] phi from main::@55 to main::@33 [phi:main::@55->main::@33]
  __b33_from___b55:
    jmp __b33
    // main::@33
  __b33:
    // [90] phi from main::@33 to main::@13 [phi:main::@33->main::@13]
  __b13_from___b33:
    // [90] phi (byte) main::r#52 = (byte) '+' [phi:main::@33->main::@13#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp __b13
    // [90] phi from main::@55 to main::@13 [phi:main::@55->main::@13]
  __b13_from___b55:
    // [90] phi (byte) main::r#52 = (byte) '-' [phi:main::@55->main::@13#0] -- vbuxx=vbuc1 
    ldx #'-'
    jmp __b13
    // main::@13
  __b13:
    // [91] (byte) printu::a#11 ← (byte) main::a#10
    // [92] (byte) printu::b#11 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda.z a
    sta.z printu.b
    // [93] (byte) printu::res#11 ← (byte) main::r#52
    // [94] call printu 
    // [167] phi from main::@13 to printu [phi:main::@13->printu]
  printu_from___b13:
    // [167] phi (byte) printu::res#20 = (byte) printu::res#11 [phi:main::@13->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) printu::b#11 [phi:main::@13->printu#1] -- register_copy 
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op8 [phi:main::@13->printu#2] -- pbuz1=pbuc1 
    lda #<op8
    sta.z printu.op
    lda #>op8
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#11 [phi:main::@13->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@13->printu#4] -- register_copy 
    jsr printu
    // [95] phi from main::@13 to main::@56 [phi:main::@13->main::@56]
  __b56_from___b13:
    jmp __b56
    // main::@56
  __b56:
    // [96] call print_ln 
    // [162] phi from main::@56 to print_ln [phi:main::@56->print_ln]
  print_ln_from___b56:
    // [162] phi (byte*) print_line_cursor#25 = (byte*) print_line_cursor#1 [phi:main::@56->print_ln#0] -- register_copy 
    jsr print_ln
    jmp __b57
    // main::@57
  __b57:
    // [97] if((byte) main::a#10<(byte) main::b#0) goto main::@14 -- vbuz1_lt_vbuz2_then_la1 
    lda.z a
    cmp.z b
    bcc __b14_from___b57
    // [98] phi from main::@57 to main::@34 [phi:main::@57->main::@34]
  __b34_from___b57:
    jmp __b34
    // main::@34
  __b34:
    // [99] phi from main::@34 to main::@14 [phi:main::@34->main::@14]
  __b14_from___b34:
    // [99] phi (byte) main::r#53 = (byte) '+' [phi:main::@34->main::@14#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp __b14
    // [99] phi from main::@57 to main::@14 [phi:main::@57->main::@14]
  __b14_from___b57:
    // [99] phi (byte) main::r#53 = (byte) '-' [phi:main::@57->main::@14#0] -- vbuxx=vbuc1 
    ldx #'-'
    jmp __b14
    // main::@14
  __b14:
    // [100] (byte) printu::a#12 ← (byte) main::a#10
    // [101] (byte) printu::b#12 ← (byte) main::b#0 -- vbuz1=vbuz2 
    lda.z b
    sta.z printu.b
    // [102] (byte) printu::res#12 ← (byte) main::r#53
    // [103] (byte*) print_char_cursor#155 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 
    lda.z print_line_cursor
    sta.z print_char_cursor
    lda.z print_line_cursor+1
    sta.z print_char_cursor+1
    // [104] call printu 
    // [167] phi from main::@14 to printu [phi:main::@14->printu]
  printu_from___b14:
    // [167] phi (byte) printu::res#20 = (byte) printu::res#12 [phi:main::@14->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) printu::b#12 [phi:main::@14->printu#1] -- register_copy 
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op12 [phi:main::@14->printu#2] -- pbuz1=pbuc1 
    lda #<op12
    sta.z printu.op
    lda #>op12
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#12 [phi:main::@14->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#155 [phi:main::@14->printu#4] -- register_copy 
    jsr printu
    jmp __b58
    // main::@58
  __b58:
    // [105] if((byte) main::a#10<(byte) $37) goto main::@15 -- vbuz1_lt_vbuc1_then_la1 
    lda.z a
    cmp #$37
    bcc __b15_from___b58
    // [106] phi from main::@58 to main::@35 [phi:main::@58->main::@35]
  __b35_from___b58:
    jmp __b35
    // main::@35
  __b35:
    // [107] phi from main::@35 to main::@15 [phi:main::@35->main::@15]
  __b15_from___b35:
    // [107] phi (byte) main::r#54 = (byte) '+' [phi:main::@35->main::@15#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp __b15
    // [107] phi from main::@58 to main::@15 [phi:main::@58->main::@15]
  __b15_from___b58:
    // [107] phi (byte) main::r#54 = (byte) '-' [phi:main::@58->main::@15#0] -- vbuxx=vbuc1 
    ldx #'-'
    jmp __b15
    // main::@15
  __b15:
    // [108] (byte) printu::a#13 ← (byte) main::a#10
    // [109] (byte) printu::res#13 ← (byte) main::r#54
    // [110] call printu 
    // [167] phi from main::@15 to printu [phi:main::@15->printu]
  printu_from___b15:
    // [167] phi (byte) printu::res#20 = (byte) printu::res#13 [phi:main::@15->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) $37 [phi:main::@15->printu#1] -- vbuz1=vbuc1 
    lda #$37
    sta.z printu.b
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op12 [phi:main::@15->printu#2] -- pbuz1=pbuc1 
    lda #<op12
    sta.z printu.op
    lda #>op12
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#13 [phi:main::@15->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@15->printu#4] -- register_copy 
    jsr printu
    jmp __b59
    // main::@59
  __b59:
    // [111] if((byte) main::a#10<*((const byte*) main::cs + (byte) main::i#10)) goto main::@16 -- vbuz1_lt_pbuc1_derefidx_vbuz2_then_la1 
    lda.z a
    ldy.z i
    cmp cs,y
    bcc __b16_from___b59
    // [112] phi from main::@59 to main::@36 [phi:main::@59->main::@36]
  __b36_from___b59:
    jmp __b36
    // main::@36
  __b36:
    // [113] phi from main::@36 to main::@16 [phi:main::@36->main::@16]
  __b16_from___b36:
    // [113] phi (byte) main::r#55 = (byte) '+' [phi:main::@36->main::@16#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp __b16
    // [113] phi from main::@59 to main::@16 [phi:main::@59->main::@16]
  __b16_from___b59:
    // [113] phi (byte) main::r#55 = (byte) '-' [phi:main::@59->main::@16#0] -- vbuxx=vbuc1 
    ldx #'-'
    jmp __b16
    // main::@16
  __b16:
    // [114] (byte) printu::a#14 ← (byte) main::a#10
    // [115] (byte) printu::b#14 ← *((const byte*) main::cs + (byte) main::i#10) -- vbuz1=pbuc1_derefidx_vbuz2 
    ldy.z i
    lda cs,y
    sta.z printu.b
    // [116] (byte) printu::res#14 ← (byte) main::r#55
    // [117] call printu 
    // [167] phi from main::@16 to printu [phi:main::@16->printu]
  printu_from___b16:
    // [167] phi (byte) printu::res#20 = (byte) printu::res#14 [phi:main::@16->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) printu::b#14 [phi:main::@16->printu#1] -- register_copy 
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op12 [phi:main::@16->printu#2] -- pbuz1=pbuc1 
    lda #<op12
    sta.z printu.op
    lda #>op12
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#14 [phi:main::@16->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@16->printu#4] -- register_copy 
    jsr printu
    jmp __b60
    // main::@60
  __b60:
    // [118] if((byte) main::a#10<(byte) main::a#10) goto main::@17 -- vbuz1_lt_vbuz1_then_la1 
    lda.z a
    cmp.z a
    bcc __b17_from___b60
    // [119] phi from main::@60 to main::@37 [phi:main::@60->main::@37]
  __b37_from___b60:
    jmp __b37
    // main::@37
  __b37:
    // [120] phi from main::@37 to main::@17 [phi:main::@37->main::@17]
  __b17_from___b37:
    // [120] phi (byte) main::r#56 = (byte) '+' [phi:main::@37->main::@17#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp __b17
    // [120] phi from main::@60 to main::@17 [phi:main::@60->main::@17]
  __b17_from___b60:
    // [120] phi (byte) main::r#56 = (byte) '-' [phi:main::@60->main::@17#0] -- vbuxx=vbuc1 
    ldx #'-'
    jmp __b17
    // main::@17
  __b17:
    // [121] (byte) printu::a#15 ← (byte) main::a#10
    // [122] (byte) printu::b#15 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda.z a
    sta.z printu.b
    // [123] (byte) printu::res#15 ← (byte) main::r#56
    // [124] call printu 
    // [167] phi from main::@17 to printu [phi:main::@17->printu]
  printu_from___b17:
    // [167] phi (byte) printu::res#20 = (byte) printu::res#15 [phi:main::@17->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) printu::b#15 [phi:main::@17->printu#1] -- register_copy 
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op12 [phi:main::@17->printu#2] -- pbuz1=pbuc1 
    lda #<op12
    sta.z printu.op
    lda #>op12
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#15 [phi:main::@17->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@17->printu#4] -- register_copy 
    jsr printu
    // [125] phi from main::@17 to main::@61 [phi:main::@17->main::@61]
  __b61_from___b17:
    jmp __b61
    // main::@61
  __b61:
    // [126] call print_ln 
    // [162] phi from main::@61 to print_ln [phi:main::@61->print_ln]
  print_ln_from___b61:
    // [162] phi (byte*) print_line_cursor#25 = (byte*) print_line_cursor#1 [phi:main::@61->print_ln#0] -- register_copy 
    jsr print_ln
    jmp __b62
    // main::@62
  __b62:
    // [127] if((byte) main::a#10!=(byte) main::b#0) goto main::@18 -- vbuz1_neq_vbuz2_then_la1 
    lda.z a
    cmp.z b
    bne __b18_from___b62
    // [128] phi from main::@62 to main::@38 [phi:main::@62->main::@38]
  __b38_from___b62:
    jmp __b38
    // main::@38
  __b38:
    // [129] phi from main::@38 to main::@18 [phi:main::@38->main::@18]
  __b18_from___b38:
    // [129] phi (byte) main::r#57 = (byte) '+' [phi:main::@38->main::@18#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp __b18
    // [129] phi from main::@62 to main::@18 [phi:main::@62->main::@18]
  __b18_from___b62:
    // [129] phi (byte) main::r#57 = (byte) '-' [phi:main::@62->main::@18#0] -- vbuxx=vbuc1 
    ldx #'-'
    jmp __b18
    // main::@18
  __b18:
    // [130] (byte) printu::a#16 ← (byte) main::a#10
    // [131] (byte) printu::b#16 ← (byte) main::b#0 -- vbuz1=vbuz2 
    lda.z b
    sta.z printu.b
    // [132] (byte) printu::res#16 ← (byte) main::r#57
    // [133] (byte*) print_char_cursor#159 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 
    lda.z print_line_cursor
    sta.z print_char_cursor
    lda.z print_line_cursor+1
    sta.z print_char_cursor+1
    // [134] call printu 
    // [167] phi from main::@18 to printu [phi:main::@18->printu]
  printu_from___b18:
    // [167] phi (byte) printu::res#20 = (byte) printu::res#16 [phi:main::@18->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) printu::b#16 [phi:main::@18->printu#1] -- register_copy 
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op16 [phi:main::@18->printu#2] -- pbuz1=pbuc1 
    lda #<op16
    sta.z printu.op
    lda #>op16
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#16 [phi:main::@18->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#159 [phi:main::@18->printu#4] -- register_copy 
    jsr printu
    jmp __b63
    // main::@63
  __b63:
    // [135] if((byte) main::a#10!=(byte) $37) goto main::@19 -- vbuz1_neq_vbuc1_then_la1 
    lda #$37
    cmp.z a
    bne __b19_from___b63
    // [136] phi from main::@63 to main::@39 [phi:main::@63->main::@39]
  __b39_from___b63:
    jmp __b39
    // main::@39
  __b39:
    // [137] phi from main::@39 to main::@19 [phi:main::@39->main::@19]
  __b19_from___b39:
    // [137] phi (byte) main::r#58 = (byte) '+' [phi:main::@39->main::@19#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp __b19
    // [137] phi from main::@63 to main::@19 [phi:main::@63->main::@19]
  __b19_from___b63:
    // [137] phi (byte) main::r#58 = (byte) '-' [phi:main::@63->main::@19#0] -- vbuxx=vbuc1 
    ldx #'-'
    jmp __b19
    // main::@19
  __b19:
    // [138] (byte) printu::a#17 ← (byte) main::a#10
    // [139] (byte) printu::res#17 ← (byte) main::r#58
    // [140] call printu 
    // [167] phi from main::@19 to printu [phi:main::@19->printu]
  printu_from___b19:
    // [167] phi (byte) printu::res#20 = (byte) printu::res#17 [phi:main::@19->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) $37 [phi:main::@19->printu#1] -- vbuz1=vbuc1 
    lda #$37
    sta.z printu.b
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op16 [phi:main::@19->printu#2] -- pbuz1=pbuc1 
    lda #<op16
    sta.z printu.op
    lda #>op16
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#17 [phi:main::@19->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@19->printu#4] -- register_copy 
    jsr printu
    jmp __b64
    // main::@64
  __b64:
    // [141] if((byte) main::a#10!=*((const byte*) main::cs + (byte) main::i#10)) goto main::@20 -- vbuz1_neq_pbuc1_derefidx_vbuz2_then_la1 
    lda.z a
    ldy.z i
    cmp cs,y
    bne __b20_from___b64
    // [142] phi from main::@64 to main::@40 [phi:main::@64->main::@40]
  __b40_from___b64:
    jmp __b40
    // main::@40
  __b40:
    // [143] phi from main::@40 to main::@20 [phi:main::@40->main::@20]
  __b20_from___b40:
    // [143] phi (byte) main::r#59 = (byte) '+' [phi:main::@40->main::@20#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp __b20
    // [143] phi from main::@64 to main::@20 [phi:main::@64->main::@20]
  __b20_from___b64:
    // [143] phi (byte) main::r#59 = (byte) '-' [phi:main::@64->main::@20#0] -- vbuxx=vbuc1 
    ldx #'-'
    jmp __b20
    // main::@20
  __b20:
    // [144] (byte) printu::a#18 ← (byte) main::a#10
    // [145] (byte) printu::b#18 ← *((const byte*) main::cs + (byte) main::i#10) -- vbuz1=pbuc1_derefidx_vbuz2 
    ldy.z i
    lda cs,y
    sta.z printu.b
    // [146] (byte) printu::res#18 ← (byte) main::r#59
    // [147] call printu 
    // [167] phi from main::@20 to printu [phi:main::@20->printu]
  printu_from___b20:
    // [167] phi (byte) printu::res#20 = (byte) printu::res#18 [phi:main::@20->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) printu::b#18 [phi:main::@20->printu#1] -- register_copy 
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op16 [phi:main::@20->printu#2] -- pbuz1=pbuc1 
    lda #<op16
    sta.z printu.op
    lda #>op16
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#18 [phi:main::@20->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@20->printu#4] -- register_copy 
    jsr printu
    jmp __b65
    // main::@65
  __b65:
    // [148] if((byte) main::a#10!=(byte) main::a#10) goto main::@21 -- vbuz1_neq_vbuz1_then_la1 
    lda.z a
    cmp.z a
    bne __b21_from___b65
    // [149] phi from main::@65 to main::@41 [phi:main::@65->main::@41]
  __b41_from___b65:
    jmp __b41
    // main::@41
  __b41:
    // [150] phi from main::@41 to main::@21 [phi:main::@41->main::@21]
  __b21_from___b41:
    // [150] phi (byte) main::r#60 = (byte) '+' [phi:main::@41->main::@21#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp __b21
    // [150] phi from main::@65 to main::@21 [phi:main::@65->main::@21]
  __b21_from___b65:
    // [150] phi (byte) main::r#60 = (byte) '-' [phi:main::@65->main::@21#0] -- vbuxx=vbuc1 
    ldx #'-'
    jmp __b21
    // main::@21
  __b21:
    // [151] (byte) printu::a#19 ← (byte) main::a#10
    // [152] (byte) printu::b#19 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda.z a
    sta.z printu.b
    // [153] (byte) printu::res#19 ← (byte) main::r#60
    // [154] call printu 
    // [167] phi from main::@21 to printu [phi:main::@21->printu]
  printu_from___b21:
    // [167] phi (byte) printu::res#20 = (byte) printu::res#19 [phi:main::@21->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) printu::b#19 [phi:main::@21->printu#1] -- register_copy 
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op16 [phi:main::@21->printu#2] -- pbuz1=pbuc1 
    lda #<op16
    sta.z printu.op
    lda #>op16
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#19 [phi:main::@21->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@21->printu#4] -- register_copy 
    jsr printu
    // [155] phi from main::@21 to main::@66 [phi:main::@21->main::@66]
  __b66_from___b21:
    jmp __b66
    // main::@66
  __b66:
    // [156] call print_ln 
    // [162] phi from main::@66 to print_ln [phi:main::@66->print_ln]
  print_ln_from___b66:
    // [162] phi (byte*) print_line_cursor#25 = (byte*) print_line_cursor#1 [phi:main::@66->print_ln#0] -- register_copy 
    jsr print_ln
    jmp __b67
    // main::@67
  __b67:
    // [157] (byte) main::a#1 ← (byte) main::a#10 + (byte) $30 -- vbuz1=vbuz1_plus_vbuc1 
    lax.z a
    axs #-[$30]
    stx.z a
    // [158] (byte) main::i#1 ← ++ (byte) main::i#10 -- vbuz1=_inc_vbuz1 
    inc.z i
    // [159] if((byte) main::i#1!=(byte) 5) goto main::@68 -- vbuz1_neq_vbuc1_then_la1 
    lda #5
    cmp.z i
    bne __b68
    // [160] phi from main::@42 main::@67 to main::@42 [phi:main::@42/main::@67->main::@42]
  __b42_from___b42:
  __b42_from___b67:
    jmp __b42
    // main::@42
  __b42:
    jmp __b42_from___b42
    // main::@68
  __b68:
    // [161] (byte*) print_char_cursor#150 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 
    lda.z print_line_cursor
    sta.z print_char_cursor
    lda.z print_line_cursor+1
    sta.z print_char_cursor+1
    // [6] phi from main::@68 to main::@1 [phi:main::@68->main::@1]
  __b1_from___b68:
    // [6] phi (byte*) print_line_cursor#27 = (byte*) print_line_cursor#1 [phi:main::@68->main::@1#0] -- register_copy 
    // [6] phi (byte) main::i#10 = (byte) main::i#1 [phi:main::@68->main::@1#1] -- register_copy 
    // [6] phi (byte*) print_char_cursor#120 = (byte*) print_char_cursor#150 [phi:main::@68->main::@1#2] -- register_copy 
    // [6] phi (byte) main::a#10 = (byte) main::a#1 [phi:main::@68->main::@1#3] -- register_copy 
    jmp __b1
    cs: .byte 7, $c7, $37, $97, $67
    op: .text "< "
    .byte 0
    op4: .text "> "
    .byte 0
    op8: .text "<="
    .byte 0
    op12: .text ">="
    .byte 0
    op16: .text "=="
    .byte 0
}
  // print_ln
// Print a newline
print_ln: {
    // [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:
    // [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
    // print_ln::@1
  __b1:
    // [164] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#13 + (byte) $28 -- pbuz1=pbuz1_plus_vbuc1 
    lda #$28
    clc
    adc.z print_line_cursor
    sta.z print_line_cursor
    bcc !+
    inc.z print_line_cursor+1
  !:
    // [165] if((byte*) print_line_cursor#1<(byte*) print_char_cursor#55) goto print_ln::@1 -- pbuz1_lt_pbuz2_then_la1 
    lda.z print_line_cursor+1
    cmp.z print_char_cursor+1
    bcc __b1_from___b1
    bne !+
    lda.z print_line_cursor
    cmp.z print_char_cursor
    bcc __b1_from___b1
  !:
    jmp __breturn
    // print_ln::@return
  __breturn:
    // [166] return 
    rts
}
  // printu
// printu(byte zp(2) a, byte* zp(4) op, byte zp(6) b, byte register(X) res)
printu: {
    .label a = 2
    .label b = 6
    .label op = 4
    // [168] call print_char 
    // [180] phi from printu to print_char [phi:printu->print_char]
  print_char_from_printu:
    // [180] phi (byte*) print_char_cursor#54 = (byte*) print_char_cursor#95 [phi:printu->print_char#0] -- register_copy 
    // [180] phi (byte) print_char::ch#5 = (byte) ' ' [phi:printu->print_char#1] -- vbuaa=vbuc1 
    lda #' '
    jsr print_char
    jmp __b1
    // printu::@1
  __b1:
    // [169] (byte) print_byte::b#0 ← (byte) printu::a#20 -- vbuz1=vbuz2 
    lda.z a
    sta.z print_byte.b
    // [170] call print_byte 
    // [184] phi from printu::@1 to print_byte [phi:printu::@1->print_byte]
  print_byte_from___b1:
    // [184] phi (byte*) print_char_cursor#94 = (byte*) print_char_cursor#55 [phi:printu::@1->print_byte#0] -- register_copy 
    // [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
    // printu::@2
  __b2:
    // [171] (byte*) print_str::str#1 ← (byte*) printu::op#20
    // [172] call print_str 
    // [192] phi from printu::@2 to print_str [phi:printu::@2->print_str]
  print_str_from___b2:
    jsr print_str
    jmp __b3
    // printu::@3
  __b3:
    // [173] (byte) print_byte::b#1 ← (byte) printu::b#20 -- vbuz1=vbuz2 
    lda.z b
    sta.z print_byte.b
    // [174] call print_byte 
    // [184] phi from printu::@3 to print_byte [phi:printu::@3->print_byte]
  print_byte_from___b3:
    // [184] phi (byte*) print_char_cursor#94 = (byte*) print_char_cursor#2 [phi:printu::@3->print_byte#0] -- register_copy 
    // [184] phi (byte) print_byte::b#2 = (byte) print_byte::b#1 [phi:printu::@3->print_byte#1] -- register_copy 
    jsr print_byte
    // [175] phi from printu::@3 to printu::@4 [phi:printu::@3->printu::@4]
  __b4_from___b3:
    jmp __b4
    // printu::@4
  __b4:
    // [176] call print_char 
    // [180] phi from printu::@4 to print_char [phi:printu::@4->print_char]
  print_char_from___b4:
    // [180] phi (byte*) print_char_cursor#54 = (byte*) print_char_cursor#55 [phi:printu::@4->print_char#0] -- register_copy 
    // [180] phi (byte) print_char::ch#5 = (byte) ' ' [phi:printu::@4->print_char#1] -- vbuaa=vbuc1 
    lda #' '
    jsr print_char
    jmp __b5
    // printu::@5
  __b5:
    // [177] (byte) print_char::ch#4 ← (byte) printu::res#20 -- vbuaa=vbuxx 
    txa
    // [178] call print_char 
    // [180] phi from printu::@5 to print_char [phi:printu::@5->print_char]
  print_char_from___b5:
    // [180] phi (byte*) print_char_cursor#54 = (byte*) print_char_cursor#55 [phi:printu::@5->print_char#0] -- register_copy 
    // [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
    // printu::@return
  __breturn:
    // [179] return 
    rts
}
  // print_char
// Print a single char
// print_char(byte register(A) ch)
print_char: {
    // [181] *((byte*) print_char_cursor#54) ← (byte) print_char::ch#5 -- _deref_pbuz1=vbuaa 
    ldy #0
    sta (print_char_cursor),y
    // [182] (byte*) print_char_cursor#55 ← ++ (byte*) print_char_cursor#54 -- pbuz1=_inc_pbuz1 
    inc.z print_char_cursor
    bne !+
    inc.z print_char_cursor+1
  !:
    jmp __breturn
    // print_char::@return
  __breturn:
    // [183] return 
    rts
}
  // print_byte
// Print a byte as HEX
// print_byte(byte zp(9) b)
print_byte: {
    .label b = 9
    // [185] (byte~) print_byte::$0 ← (byte) print_byte::b#2 >> (byte) 4 -- vbuaa=vbuz1_ror_4 
    lda.z b
    lsr
    lsr
    lsr
    lsr
    // [186] (byte) print_char::ch#0 ← *((const byte*) print_hextab + (byte~) print_byte::$0) -- vbuaa=pbuc1_derefidx_vbuaa 
    tay
    lda print_hextab,y
    // [187] call print_char 
    // [180] phi from print_byte to print_char [phi:print_byte->print_char]
  print_char_from_print_byte:
    // [180] phi (byte*) print_char_cursor#54 = (byte*) print_char_cursor#94 [phi:print_byte->print_char#0] -- register_copy 
    // [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
    // print_byte::@1
  __b1:
    // [188] (byte~) print_byte::$2 ← (byte) print_byte::b#2 & (byte) $f -- vbuaa=vbuz1_band_vbuc1 
    lda #$f
    and.z b
    // [189] (byte) print_char::ch#1 ← *((const byte*) print_hextab + (byte~) print_byte::$2) -- vbuaa=pbuc1_derefidx_vbuaa 
    tay
    lda print_hextab,y
    // [190] call print_char 
    // [180] phi from print_byte::@1 to print_char [phi:print_byte::@1->print_char]
  print_char_from___b1:
    // [180] phi (byte*) print_char_cursor#54 = (byte*) print_char_cursor#55 [phi:print_byte::@1->print_char#0] -- register_copy 
    // [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
    // print_byte::@return
  __breturn:
    // [191] return 
    rts
}
  // print_str
// Print a zero-terminated string
// print_str(byte* zp(4) str)
print_str: {
    .label str = 4
    // [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:
    // [193] phi (byte*) print_char_cursor#2 = (byte*) print_char_cursor#55 [phi:print_str/print_str::@2->print_str::@1#0] -- register_copy 
    // [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
    // print_str::@1
  __b1:
    // [194] if((byte) 0!=*((byte*) print_str::str#2)) goto print_str::@2 -- vbuc1_neq__deref_pbuz1_then_la1 
    ldy #0
    lda (str),y
    cmp #0
    bne __b2
    jmp __breturn
    // print_str::@return
  __breturn:
    // [195] return 
    rts
    // print_str::@2
  __b2:
    // [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
    // [197] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#2 -- pbuz1=_inc_pbuz1 
    inc.z print_char_cursor
    bne !+
    inc.z print_char_cursor+1
  !:
    // [198] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#2 -- pbuz1=_inc_pbuz1 
    inc.z str
    bne !+
    inc.z str+1
  !:
    jmp __b1_from___b2
}
  // print_cls
// Clear the screen. Also resets current line/char cursor.
print_cls: {
    // [200] call memset 
    // [202] phi from print_cls to memset [phi:print_cls->memset]
  memset_from_print_cls:
    jsr memset
    jmp __breturn
    // print_cls::@return
  __breturn:
    // [201] return 
    rts
}
  // memset
// Copies the character c (an unsigned char) to the first num characters of the object pointed to by the argument str.
memset: {
    .const c = ' '
    .const num = $3e8
    .label str = $400
    .label end = str+num
    .label dst = $a
    // [203] phi from memset to memset::@1 [phi:memset->memset::@1]
  __b1_from_memset:
    // [203] phi (byte*) memset::dst#2 = (byte*)(const void*) memset::str#0 [phi:memset->memset::@1#0] -- pbuz1=pbuc1 
    lda #<str
    sta.z dst
    lda #>str
    sta.z dst+1
    jmp __b1
    // memset::@1
  __b1:
    // [204] if((byte*) memset::dst#2!=(const byte*) memset::end#0) goto memset::@2 -- pbuz1_neq_pbuc1_then_la1 
    lda.z dst+1
    cmp #>end
    bne __b2
    lda.z dst
    cmp #<end
    bne __b2
    jmp __breturn
    // memset::@return
  __breturn:
    // [205] return 
    rts
    // memset::@2
  __b2:
    // [206] *((byte*) memset::dst#2) ← (const byte) memset::c#0 -- _deref_pbuz1=vbuc1 
    lda #c
    ldy #0
    sta (dst),y
    // [207] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2 -- pbuz1=_inc_pbuz1 
    inc.z dst
    bne !+
    inc.z dst+1
  !:
    // [203] phi from memset::@2 to memset::@1 [phi:memset::@2->memset::@1]
  __b1_from___b2:
    // [203] phi (byte*) memset::dst#2 = (byte*) memset::dst#1 [phi:memset::@2->memset::@1#0] -- register_copy 
    jmp __b1
}
  // File Data
  print_hextab: .text "0123456789abcdef"

ASSEMBLER OPTIMIZATIONS
Removing instruction jmp __b1
Removing instruction jmp __bend
Removing instruction jmp __b1
Removing instruction jmp __b22
Removing instruction jmp __b2
Removing instruction jmp __b43
Removing instruction jmp __b23
Removing instruction jmp __b3
Removing instruction jmp __b44
Removing instruction jmp __b24
Removing instruction jmp __b4
Removing instruction jmp __b45
Removing instruction jmp __b25
Removing instruction jmp __b5
Removing instruction jmp __b46
Removing instruction jmp __b47
Removing instruction jmp __b26
Removing instruction jmp __b6
Removing instruction jmp __b48
Removing instruction jmp __b27
Removing instruction jmp __b7
Removing instruction jmp __b49
Removing instruction jmp __b28
Removing instruction jmp __b8
Removing instruction jmp __b50
Removing instruction jmp __b29
Removing instruction jmp __b9
Removing instruction jmp __b51
Removing instruction jmp __b52
Removing instruction jmp __b30
Removing instruction jmp __b10
Removing instruction jmp __b53
Removing instruction jmp __b31
Removing instruction jmp __b11
Removing instruction jmp __b54
Removing instruction jmp __b32
Removing instruction jmp __b12
Removing instruction jmp __b55
Removing instruction jmp __b33
Removing instruction jmp __b13
Removing instruction jmp __b56
Removing instruction jmp __b57
Removing instruction jmp __b34
Removing instruction jmp __b14
Removing instruction jmp __b58
Removing instruction jmp __b35
Removing instruction jmp __b15
Removing instruction jmp __b59
Removing instruction jmp __b36
Removing instruction jmp __b16
Removing instruction jmp __b60
Removing instruction jmp __b37
Removing instruction jmp __b17
Removing instruction jmp __b61
Removing instruction jmp __b62
Removing instruction jmp __b38
Removing instruction jmp __b18
Removing instruction jmp __b63
Removing instruction jmp __b39
Removing instruction jmp __b19
Removing instruction jmp __b64
Removing instruction jmp __b40
Removing instruction jmp __b20
Removing instruction jmp __b65
Removing instruction jmp __b41
Removing instruction jmp __b21
Removing instruction jmp __b66
Removing instruction jmp __b67
Removing instruction jmp __b42
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 __breturn
Removing instruction jmp __b1
Removing instruction jmp __breturn
Succesful ASM optimization Pass5NextJumpElimination
Removing instruction ldy #0
Succesful ASM optimization Pass5UnnecesaryLoadElimination
Replacing label __bbegin with __b1
Replacing label __b42_from___b42 with __b42
Replacing label __b1_from___b1 with __b1
Replacing label __b1_from___b1 with __b1
Replacing label __b1_from___b2 with __b1
Removing instruction __bbegin:
Removing instruction __b1_from___bbegin:
Removing instruction main_from___b1:
Removing instruction __bend_from___b1:
Removing instruction __b22_from___b1:
Removing instruction __b2_from___b22:
Removing instruction __b23_from___b43:
Removing instruction __b3_from___b23:
Removing instruction printu_from___b3:
Removing instruction __b24_from___b44:
Removing instruction __b4_from___b24:
Removing instruction __b25_from___b45:
Removing instruction __b5_from___b25:
Removing instruction __b46_from___b5:
Removing instruction print_ln_from___b46:
Removing instruction __b26_from___b47:
Removing instruction __b6_from___b26:
Removing instruction __b27_from___b48:
Removing instruction __b7_from___b27:
Removing instruction printu_from___b7:
Removing instruction __b28_from___b49:
Removing instruction __b8_from___b28:
Removing instruction __b29_from___b50:
Removing instruction __b9_from___b29:
Removing instruction __b51_from___b9:
Removing instruction print_ln_from___b51:
Removing instruction __b30_from___b52:
Removing instruction __b10_from___b30:
Removing instruction __b31_from___b53:
Removing instruction __b11_from___b31:
Removing instruction printu_from___b11:
Removing instruction __b32_from___b54:
Removing instruction __b12_from___b32:
Removing instruction __b33_from___b55:
Removing instruction __b13_from___b33:
Removing instruction __b56_from___b13:
Removing instruction print_ln_from___b56:
Removing instruction __b34_from___b57:
Removing instruction __b14_from___b34:
Removing instruction __b35_from___b58:
Removing instruction __b15_from___b35:
Removing instruction printu_from___b15:
Removing instruction __b36_from___b59:
Removing instruction __b16_from___b36:
Removing instruction __b37_from___b60:
Removing instruction __b17_from___b37:
Removing instruction __b61_from___b17:
Removing instruction print_ln_from___b61:
Removing instruction __b38_from___b62:
Removing instruction __b18_from___b38:
Removing instruction __b39_from___b63:
Removing instruction __b19_from___b39:
Removing instruction printu_from___b19:
Removing instruction __b40_from___b64:
Removing instruction __b20_from___b40:
Removing instruction __b41_from___b65:
Removing instruction __b21_from___b41:
Removing instruction __b66_from___b21:
Removing instruction print_ln_from___b66:
Removing instruction __b42_from___b42:
Removing instruction __b42_from___b67:
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:
Succesful ASM optimization Pass5RedundantLabelElimination
Removing instruction __bend:
Removing instruction print_cls_from_main:
Removing instruction __b1_from_main:
Removing instruction __b22:
Removing instruction printu_from___b2:
Removing instruction __b43:
Removing instruction __b23:
Removing instruction __b44:
Removing instruction __b24:
Removing instruction printu_from___b4:
Removing instruction __b45:
Removing instruction __b25:
Removing instruction printu_from___b5:
Removing instruction __b46:
Removing instruction __b47:
Removing instruction __b26:
Removing instruction printu_from___b6:
Removing instruction __b48:
Removing instruction __b27:
Removing instruction __b49:
Removing instruction __b28:
Removing instruction printu_from___b8:
Removing instruction __b50:
Removing instruction __b29:
Removing instruction printu_from___b9:
Removing instruction __b51:
Removing instruction __b52:
Removing instruction __b30:
Removing instruction printu_from___b10:
Removing instruction __b53:
Removing instruction __b31:
Removing instruction __b54:
Removing instruction __b32:
Removing instruction printu_from___b12:
Removing instruction __b55:
Removing instruction __b33:
Removing instruction printu_from___b13:
Removing instruction __b56:
Removing instruction __b57:
Removing instruction __b34:
Removing instruction printu_from___b14:
Removing instruction __b58:
Removing instruction __b35:
Removing instruction __b59:
Removing instruction __b36:
Removing instruction printu_from___b16:
Removing instruction __b60:
Removing instruction __b37:
Removing instruction printu_from___b17:
Removing instruction __b61:
Removing instruction __b62:
Removing instruction __b38:
Removing instruction printu_from___b18:
Removing instruction __b63:
Removing instruction __b39:
Removing instruction __b64:
Removing instruction __b40:
Removing instruction printu_from___b20:
Removing instruction __b65:
Removing instruction __b41:
Removing instruction printu_from___b21:
Removing instruction __b66:
Removing instruction __b67:
Removing instruction __b1_from___b68:
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 memset_from_print_cls:
Removing instruction __breturn:
Removing instruction __b1_from_memset:
Removing instruction __breturn:
Removing instruction __b1_from___b2:
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 b1
Relabelling long label __b3_from___b43 to b2
Relabelling long label __b4_from___b44 to b3
Relabelling long label __b5_from___b45 to b4
Relabelling long label __b6_from___b47 to b5
Relabelling long label __b7_from___b48 to b6
Relabelling long label __b8_from___b49 to b7
Relabelling long label __b9_from___b50 to b8
Relabelling long label __b10_from___b52 to b9
Relabelling long label __b11_from___b53 to b10
Relabelling long label __b12_from___b54 to b11
Relabelling long label __b13_from___b55 to b12
Relabelling long label __b14_from___b57 to b13
Relabelling long label __b15_from___b58 to b14
Relabelling long label __b16_from___b59 to b15
Relabelling long label __b17_from___b60 to b16
Relabelling long label __b18_from___b62 to b17
Relabelling long label __b19_from___b63 to b18
Relabelling long label __b20_from___b64 to b19
Relabelling long label __b21_from___b65 to b20
Succesful ASM optimization Pass5RelabelLongLabels
Removing instruction __b1:
Succesful ASM optimization Pass5UnusedLabelElimination

FINAL SYMBOL TABLE
(label) @1
(label) @begin
(label) @end
(const byte) RADIX::BINARY = (number) 2
(const byte) RADIX::DECIMAL = (number) $a
(const byte) RADIX::HEXADECIMAL = (number) $10
(const byte) RADIX::OCTAL = (number) 8
(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::@43
(label) main::@44
(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::@7
(label) main::@8
(label) main::@9
(byte) main::a
(byte) main::a#1 a zp[1]:2 5.5
(byte) main::a#10 a zp[1]:2 3.860927152317884
(byte) main::b
(byte) main::b#0 b zp[1]:12 0.9758064516129035
(const byte*) main::cs[(number) 5]  = { (byte) 7, (byte) $c7, (byte) $37, (byte) $97, (byte) $67 }
(byte) main::i
(byte) main::i#1 i zp[1]:3 11.0
(byte) main::i#10 i zp[1]:3 0.8684210526315792
(const byte*) main::op[(byte) 3]  = (byte*) "< "
(const byte*) main::op12[(byte) 3]  = (byte*) ">="
(const byte*) main::op16[(byte) 3]  = (byte*) "=="
(const byte*) main::op4[(byte) 3]  = (byte*) "> "
(const byte*) main::op8[(byte) 3]  = (byte*) "<="
(byte) main::r
(byte) main::r#41 reg byte x 3.6666666666666665
(byte) main::r#42 reg byte x 5.5
(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 3.6666666666666665
(byte) main::r#46 reg byte x 5.5
(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 3.6666666666666665
(byte) main::r#50 reg byte x 5.5
(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 3.6666666666666665
(byte) main::r#54 reg byte x 5.5
(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 3.6666666666666665
(byte) main::r#58 reg byte x 5.5
(byte) main::r#59 reg byte x 3.6666666666666665
(byte) main::r#60 reg byte x 3.6666666666666665
(void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num)
(label) memset::@1
(label) memset::@2
(label) memset::@return
(byte) memset::c
(const byte) memset::c#0 c = (byte) ' '
(byte*) memset::dst
(byte*) memset::dst#1 dst zp[2]:10 22.0
(byte*) memset::dst#2 dst zp[2]:10 14.666666666666666
(byte*) memset::end
(const byte*) memset::end#0 end = (byte*)(const void*) memset::str#0+(const word) memset::num#0
(word) memset::num
(const word) memset::num#0 num = (word) $3e8
(void*) memset::return
(void*) memset::str
(const void*) memset::str#0 str = (void*)(byte*) 1024
(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[1]:9 4.0
(byte) print_byte::b#1 b zp[1]:9 4.0
(byte) print_byte::b#2 b zp[1]:9 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[2]:7 101.0
(byte*) print_char_cursor#120 print_char_cursor zp[2]:7 2.75
(byte*) print_char_cursor#150 print_char_cursor zp[2]:7 22.0
(byte*) print_char_cursor#151 print_char_cursor zp[2]:7 22.0
(byte*) print_char_cursor#155 print_char_cursor zp[2]:7 22.0
(byte*) print_char_cursor#159 print_char_cursor zp[2]:7 22.0
(byte*) print_char_cursor#167 print_char_cursor zp[2]:7 22.0
(byte*) print_char_cursor#2 print_char_cursor zp[2]:7 51.16666666666666
(byte*) print_char_cursor#54 print_char_cursor zp[2]:7 7.0
(byte*) print_char_cursor#55 print_char_cursor zp[2]:7 2.106060606060605
(byte*) print_char_cursor#94 print_char_cursor zp[2]:7 2.0
(byte*) print_char_cursor#95 print_char_cursor zp[2]:7 222.0
(void()) print_cls()
(label) print_cls::@return
(const byte*) print_hextab[]  = (byte*) "0123456789abcdef"z
(byte*) print_line_cursor
(byte*) print_line_cursor#1 print_line_cursor zp[2]:10 3.2265625
(byte*) print_line_cursor#13 print_line_cursor zp[2]:10 204.0
(byte*) print_line_cursor#25 print_line_cursor zp[2]:10 57.0
(byte*) print_line_cursor#27 print_line_cursor zp[2]:10 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[2]:4 202.0
(byte*) print_str::str#1 str zp[2]:4 2.0
(byte*) print_str::str#2 str zp[2]:4 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[1]:2 7.333333333333333
(byte) printu::a#1 a zp[1]:2 11.0
(byte) printu::a#10 a zp[1]:2 7.333333333333333
(byte) printu::a#11 a zp[1]:2 7.333333333333333
(byte) printu::a#12 a zp[1]:2 5.5
(byte) printu::a#13 a zp[1]:2 11.0
(byte) printu::a#14 a zp[1]:2 7.333333333333333
(byte) printu::a#15 a zp[1]:2 7.333333333333333
(byte) printu::a#16 a zp[1]:2 5.5
(byte) printu::a#17 a zp[1]:2 11.0
(byte) printu::a#18 a zp[1]:2 7.333333333333333
(byte) printu::a#19 a zp[1]:2 7.333333333333333
(byte) printu::a#2 a zp[1]:2 7.333333333333333
(byte) printu::a#20 a zp[1]:2 111.0
(byte) printu::a#3 a zp[1]:2 7.333333333333333
(byte) printu::a#4 a zp[1]:2 5.5
(byte) printu::a#5 a zp[1]:2 11.0
(byte) printu::a#6 a zp[1]:2 7.333333333333333
(byte) printu::a#7 a zp[1]:2 7.333333333333333
(byte) printu::a#8 a zp[1]:2 5.5
(byte) printu::a#9 a zp[1]:2 11.0
(byte) printu::b
(byte) printu::b#0 b zp[1]:6 11.0
(byte) printu::b#10 b zp[1]:6 11.0
(byte) printu::b#11 b zp[1]:6 11.0
(byte) printu::b#12 b zp[1]:6 7.333333333333333
(byte) printu::b#14 b zp[1]:6 11.0
(byte) printu::b#15 b zp[1]:6 11.0
(byte) printu::b#16 b zp[1]:6 7.333333333333333
(byte) printu::b#18 b zp[1]:6 11.0
(byte) printu::b#19 b zp[1]:6 11.0
(byte) printu::b#2 b zp[1]:6 11.0
(byte) printu::b#20 b zp[1]:6 27.833333333333325
(byte) printu::b#3 b zp[1]:6 11.0
(byte) printu::b#4 b zp[1]:6 7.333333333333333
(byte) printu::b#6 b zp[1]:6 11.0
(byte) printu::b#7 b zp[1]:6 11.0
(byte) printu::b#8 b zp[1]:6 7.333333333333333
(byte*) printu::op
(byte*) printu::op#20 op zp[2]:4 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[1]: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[1]:3 [ main::i#10 main::i#1 ]
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 ]
reg byte x [ main::r#60 ]
zp[2]:4 [ printu::op#20 print_str::str#2 print_str::str#1 print_str::str#0 ]
zp[1]:6 [ 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[2]:7 [ print_char_cursor#54 print_char_cursor#94 print_char_cursor#95 print_char_cursor#151 print_char_cursor#55 print_char_cursor#155 print_char_cursor#159 print_char_cursor#120 print_char_cursor#150 print_char_cursor#167 print_char_cursor#2 print_char_cursor#1 ]
zp[1]:9 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ]
zp[2]:10 [ memset::dst#2 memset::dst#1 print_line_cursor#13 print_line_cursor#25 print_line_cursor#27 print_line_cursor#1 ]
zp[1]:12 [ main::b#0 ]
reg byte a [ print_byte::$0 ]
reg byte a [ print_byte::$2 ]


FINAL ASSEMBLER
Score: 15763

  // File Comments
  // Upstart
.pc = $801 "Basic"
:BasicUpstart(main)
.pc = $80d "Program"
  // Global Constants & labels
  .label print_char_cursor = 7
  .label print_line_cursor = $a
  // @begin
  // [1] phi from @begin to @1 [phi:@begin->@1]
  // @1
  // [2] call main 
  // [4] phi from @1 to main [phi:@1->main]
  // [3] phi from @1 to @end [phi:@1->@end]
  // @end
  // main
main: {
    .label b = $c
    .label a = 2
    .label i = 3
    // print_cls()
    // [5] call print_cls 
    // [199] phi from main to print_cls [phi:main->print_cls]
    jsr print_cls
    // [6] phi from main to main::@1 [phi:main->main::@1]
    // [6] phi (byte*) print_line_cursor#27 = (byte*) 1024 [phi:main->main::@1#0] -- pbuz1=pbuc1 
    lda #<$400
    sta.z print_line_cursor
    lda #>$400
    sta.z print_line_cursor+1
    // [6] phi (byte) main::i#10 = (byte) 0 [phi:main->main::@1#1] -- vbuz1=vbuc1 
    lda #0
    sta.z i
    // [6] phi (byte*) print_char_cursor#120 = (byte*) 1024 [phi:main->main::@1#2] -- pbuz1=pbuc1 
    lda #<$400
    sta.z print_char_cursor
    lda #>$400
    sta.z print_char_cursor+1
    // [6] phi (byte) main::a#10 = (byte) 7 [phi:main->main::@1#3] -- vbuz1=vbuc1 
    lda #7
    sta.z a
    // main::@1
  __b1:
    // b = $ce-a
    // [7] (byte) main::b#0 ← (byte) $ce - (byte) main::a#10 -- vbuz1=vbuc1_minus_vbuz2 
    lda #$ce
    sec
    sbc.z a
    sta.z b
    // if(a<b)
    // [8] if((byte) main::a#10>=(byte) main::b#0) goto main::@2 -- vbuz1_ge_vbuz2_then_la1 
    lda.z a
    cmp.z b
    bcs b1
    // [9] phi from main::@1 to main::@22 [phi:main::@1->main::@22]
    // main::@22
    // [10] phi from main::@22 to main::@2 [phi:main::@22->main::@2]
    // [10] phi (byte) main::r#41 = (byte) '+' [phi:main::@22->main::@2#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp __b2
    // [10] phi from main::@1 to main::@2 [phi:main::@1->main::@2]
  b1:
    // [10] phi (byte) main::r#41 = (byte) '-' [phi:main::@1->main::@2#0] -- vbuxx=vbuc1 
    ldx #'-'
    // main::@2
  __b2:
    // printu(a, "< ", b, r)
    // [11] (byte) printu::a#0 ← (byte) main::a#10
    // [12] (byte) printu::b#0 ← (byte) main::b#0 -- vbuz1=vbuz2 
    lda.z b
    sta.z printu.b
    // [13] (byte) printu::res#0 ← (byte) main::r#41
    // [14] call printu 
    // [167] phi from main::@2 to printu [phi:main::@2->printu]
    // [167] phi (byte) printu::res#20 = (byte) printu::res#0 [phi:main::@2->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) printu::b#0 [phi:main::@2->printu#1] -- register_copy 
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op [phi:main::@2->printu#2] -- pbuz1=pbuc1 
    lda #<op
    sta.z printu.op
    lda #>op
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#0 [phi:main::@2->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#120 [phi:main::@2->printu#4] -- register_copy 
    jsr printu
    // main::@43
    // if(a<$37)
    // [15] if((byte) main::a#10>=(byte) $37) goto main::@3 -- vbuz1_ge_vbuc1_then_la1 
    lda.z a
    cmp #$37
    bcs b2
    // [16] phi from main::@43 to main::@23 [phi:main::@43->main::@23]
    // main::@23
    // [17] phi from main::@23 to main::@3 [phi:main::@23->main::@3]
    // [17] phi (byte) main::r#42 = (byte) '+' [phi:main::@23->main::@3#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp __b3
    // [17] phi from main::@43 to main::@3 [phi:main::@43->main::@3]
  b2:
    // [17] phi (byte) main::r#42 = (byte) '-' [phi:main::@43->main::@3#0] -- vbuxx=vbuc1 
    ldx #'-'
    // main::@3
  __b3:
    // printu(a, "< ", $37, r)
    // [18] (byte) printu::a#1 ← (byte) main::a#10
    // [19] (byte) printu::res#1 ← (byte) main::r#42
    // [20] call printu 
    // [167] phi from main::@3 to printu [phi:main::@3->printu]
    // [167] phi (byte) printu::res#20 = (byte) printu::res#1 [phi:main::@3->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) $37 [phi:main::@3->printu#1] -- vbuz1=vbuc1 
    lda #$37
    sta.z printu.b
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op [phi:main::@3->printu#2] -- pbuz1=pbuc1 
    lda #<op
    sta.z printu.op
    lda #>op
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#1 [phi:main::@3->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@3->printu#4] -- register_copy 
    jsr printu
    // main::@44
    // if(a<cs[i])
    // [21] if((byte) main::a#10>=*((const byte*) main::cs + (byte) main::i#10)) goto main::@4 -- vbuz1_ge_pbuc1_derefidx_vbuz2_then_la1 
    lda.z a
    ldy.z i
    cmp cs,y
    bcs b3
    // [22] phi from main::@44 to main::@24 [phi:main::@44->main::@24]
    // main::@24
    // [23] phi from main::@24 to main::@4 [phi:main::@24->main::@4]
    // [23] phi (byte) main::r#43 = (byte) '+' [phi:main::@24->main::@4#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp __b4
    // [23] phi from main::@44 to main::@4 [phi:main::@44->main::@4]
  b3:
    // [23] phi (byte) main::r#43 = (byte) '-' [phi:main::@44->main::@4#0] -- vbuxx=vbuc1 
    ldx #'-'
    // main::@4
  __b4:
    // printu(a, "< ", cs[i], r)
    // [24] (byte) printu::a#2 ← (byte) main::a#10
    // [25] (byte) printu::b#2 ← *((const byte*) main::cs + (byte) main::i#10) -- vbuz1=pbuc1_derefidx_vbuz2 
    ldy.z i
    lda cs,y
    sta.z printu.b
    // [26] (byte) printu::res#2 ← (byte) main::r#43
    // [27] call printu 
    // [167] phi from main::@4 to printu [phi:main::@4->printu]
    // [167] phi (byte) printu::res#20 = (byte) printu::res#2 [phi:main::@4->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) printu::b#2 [phi:main::@4->printu#1] -- register_copy 
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op [phi:main::@4->printu#2] -- pbuz1=pbuc1 
    lda #<op
    sta.z printu.op
    lda #>op
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#2 [phi:main::@4->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@4->printu#4] -- register_copy 
    jsr printu
    // main::@45
    // if(a<a)
    // [28] if((byte) main::a#10>=(byte) main::a#10) goto main::@5 -- vbuz1_ge_vbuz1_then_la1 
    lda.z a
    cmp.z a
    bcs b4
    // [29] phi from main::@45 to main::@25 [phi:main::@45->main::@25]
    // main::@25
    // [30] phi from main::@25 to main::@5 [phi:main::@25->main::@5]
    // [30] phi (byte) main::r#44 = (byte) '+' [phi:main::@25->main::@5#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp __b5
    // [30] phi from main::@45 to main::@5 [phi:main::@45->main::@5]
  b4:
    // [30] phi (byte) main::r#44 = (byte) '-' [phi:main::@45->main::@5#0] -- vbuxx=vbuc1 
    ldx #'-'
    // main::@5
  __b5:
    // printu(a, "< ", a, r)
    // [31] (byte) printu::a#3 ← (byte) main::a#10
    // [32] (byte) printu::b#3 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda.z a
    sta.z printu.b
    // [33] (byte) printu::res#3 ← (byte) main::r#44
    // [34] call printu 
    // [167] phi from main::@5 to printu [phi:main::@5->printu]
    // [167] phi (byte) printu::res#20 = (byte) printu::res#3 [phi:main::@5->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) printu::b#3 [phi:main::@5->printu#1] -- register_copy 
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op [phi:main::@5->printu#2] -- pbuz1=pbuc1 
    lda #<op
    sta.z printu.op
    lda #>op
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#3 [phi:main::@5->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@5->printu#4] -- register_copy 
    jsr printu
    // [35] phi from main::@5 to main::@46 [phi:main::@5->main::@46]
    // main::@46
    // print_ln()
    // [36] call print_ln 
    // [162] phi from main::@46 to print_ln [phi:main::@46->print_ln]
    // [162] phi (byte*) print_line_cursor#25 = (byte*) print_line_cursor#27 [phi:main::@46->print_ln#0] -- register_copy 
    jsr print_ln
    // main::@47
    // if(a>b)
    // [37] if((byte) main::a#10<=(byte) main::b#0) goto main::@6 -- vbuz1_le_vbuz2_then_la1 
    lda.z b
    cmp.z a
    bcs b5
    // [38] phi from main::@47 to main::@26 [phi:main::@47->main::@26]
    // main::@26
    // [39] phi from main::@26 to main::@6 [phi:main::@26->main::@6]
    // [39] phi (byte) main::r#45 = (byte) '+' [phi:main::@26->main::@6#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp __b6
    // [39] phi from main::@47 to main::@6 [phi:main::@47->main::@6]
  b5:
    // [39] phi (byte) main::r#45 = (byte) '-' [phi:main::@47->main::@6#0] -- vbuxx=vbuc1 
    ldx #'-'
    // main::@6
  __b6:
    // printu(a, "> ", b, r)
    // [40] (byte) printu::a#4 ← (byte) main::a#10
    // [41] (byte) printu::b#4 ← (byte) main::b#0 -- vbuz1=vbuz2 
    lda.z b
    sta.z printu.b
    // [42] (byte) printu::res#4 ← (byte) main::r#45
    // [43] (byte*) print_char_cursor#167 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 
    lda.z print_line_cursor
    sta.z print_char_cursor
    lda.z print_line_cursor+1
    sta.z print_char_cursor+1
    // printu(a, "> ", b, r)
    // [44] call printu 
    // [167] phi from main::@6 to printu [phi:main::@6->printu]
    // [167] phi (byte) printu::res#20 = (byte) printu::res#4 [phi:main::@6->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) printu::b#4 [phi:main::@6->printu#1] -- register_copy 
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op4 [phi:main::@6->printu#2] -- pbuz1=pbuc1 
    lda #<op4
    sta.z printu.op
    lda #>op4
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#4 [phi:main::@6->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#167 [phi:main::@6->printu#4] -- register_copy 
    jsr printu
    // main::@48
    // if(a>$37)
    // [45] if((byte) main::a#10<(byte) $37+(byte) 1) goto main::@7 -- vbuz1_lt_vbuc1_then_la1 
    lda.z a
    cmp #$37+1
    bcc b6
    // [46] phi from main::@48 to main::@27 [phi:main::@48->main::@27]
    // main::@27
    // [47] phi from main::@27 to main::@7 [phi:main::@27->main::@7]
    // [47] phi (byte) main::r#46 = (byte) '+' [phi:main::@27->main::@7#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp __b7
    // [47] phi from main::@48 to main::@7 [phi:main::@48->main::@7]
  b6:
    // [47] phi (byte) main::r#46 = (byte) '-' [phi:main::@48->main::@7#0] -- vbuxx=vbuc1 
    ldx #'-'
    // main::@7
  __b7:
    // printu(a, "> ", $37, r)
    // [48] (byte) printu::a#5 ← (byte) main::a#10
    // [49] (byte) printu::res#5 ← (byte) main::r#46
    // [50] call printu 
    // [167] phi from main::@7 to printu [phi:main::@7->printu]
    // [167] phi (byte) printu::res#20 = (byte) printu::res#5 [phi:main::@7->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) $37 [phi:main::@7->printu#1] -- vbuz1=vbuc1 
    lda #$37
    sta.z printu.b
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op4 [phi:main::@7->printu#2] -- pbuz1=pbuc1 
    lda #<op4
    sta.z printu.op
    lda #>op4
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#5 [phi:main::@7->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@7->printu#4] -- register_copy 
    jsr printu
    // main::@49
    // if(a>cs[i])
    // [51] if((byte) main::a#10<=*((const byte*) main::cs + (byte) main::i#10)) goto main::@8 -- vbuz1_le_pbuc1_derefidx_vbuz2_then_la1 
    ldy.z i
    lda cs,y
    cmp.z a
    bcs b7
    // [52] phi from main::@49 to main::@28 [phi:main::@49->main::@28]
    // main::@28
    // [53] phi from main::@28 to main::@8 [phi:main::@28->main::@8]
    // [53] phi (byte) main::r#47 = (byte) '+' [phi:main::@28->main::@8#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp __b8
    // [53] phi from main::@49 to main::@8 [phi:main::@49->main::@8]
  b7:
    // [53] phi (byte) main::r#47 = (byte) '-' [phi:main::@49->main::@8#0] -- vbuxx=vbuc1 
    ldx #'-'
    // main::@8
  __b8:
    // printu(a, "> ", cs[i], r)
    // [54] (byte) printu::a#6 ← (byte) main::a#10
    // [55] (byte) printu::b#6 ← *((const byte*) main::cs + (byte) main::i#10) -- vbuz1=pbuc1_derefidx_vbuz2 
    ldy.z i
    lda cs,y
    sta.z printu.b
    // [56] (byte) printu::res#6 ← (byte) main::r#47
    // [57] call printu 
    // [167] phi from main::@8 to printu [phi:main::@8->printu]
    // [167] phi (byte) printu::res#20 = (byte) printu::res#6 [phi:main::@8->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) printu::b#6 [phi:main::@8->printu#1] -- register_copy 
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op4 [phi:main::@8->printu#2] -- pbuz1=pbuc1 
    lda #<op4
    sta.z printu.op
    lda #>op4
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#6 [phi:main::@8->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@8->printu#4] -- register_copy 
    jsr printu
    // main::@50
    // if(a>a)
    // [58] if((byte) main::a#10<=(byte) main::a#10) goto main::@9 -- vbuz1_le_vbuz1_then_la1 
    lda.z a
    cmp.z a
    bcs b8
    // [59] phi from main::@50 to main::@29 [phi:main::@50->main::@29]
    // main::@29
    // [60] phi from main::@29 to main::@9 [phi:main::@29->main::@9]
    // [60] phi (byte) main::r#48 = (byte) '+' [phi:main::@29->main::@9#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp __b9
    // [60] phi from main::@50 to main::@9 [phi:main::@50->main::@9]
  b8:
    // [60] phi (byte) main::r#48 = (byte) '-' [phi:main::@50->main::@9#0] -- vbuxx=vbuc1 
    ldx #'-'
    // main::@9
  __b9:
    // printu(a, "> ", a, r)
    // [61] (byte) printu::a#7 ← (byte) main::a#10
    // [62] (byte) printu::b#7 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda.z a
    sta.z printu.b
    // [63] (byte) printu::res#7 ← (byte) main::r#48
    // [64] call printu 
    // [167] phi from main::@9 to printu [phi:main::@9->printu]
    // [167] phi (byte) printu::res#20 = (byte) printu::res#7 [phi:main::@9->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) printu::b#7 [phi:main::@9->printu#1] -- register_copy 
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op4 [phi:main::@9->printu#2] -- pbuz1=pbuc1 
    lda #<op4
    sta.z printu.op
    lda #>op4
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#7 [phi:main::@9->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@9->printu#4] -- register_copy 
    jsr printu
    // [65] phi from main::@9 to main::@51 [phi:main::@9->main::@51]
    // main::@51
    // print_ln()
    // [66] call print_ln 
    // [162] phi from main::@51 to print_ln [phi:main::@51->print_ln]
    // [162] phi (byte*) print_line_cursor#25 = (byte*) print_line_cursor#1 [phi:main::@51->print_ln#0] -- register_copy 
    jsr print_ln
    // main::@52
    // if(a<=b)
    // [67] if((byte) main::a#10>(byte) main::b#0) goto main::@10 -- vbuz1_gt_vbuz2_then_la1 
    lda.z b
    cmp.z a
    bcc b9
    // [68] phi from main::@52 to main::@30 [phi:main::@52->main::@30]
    // main::@30
    // [69] phi from main::@30 to main::@10 [phi:main::@30->main::@10]
    // [69] phi (byte) main::r#49 = (byte) '+' [phi:main::@30->main::@10#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp __b10
    // [69] phi from main::@52 to main::@10 [phi:main::@52->main::@10]
  b9:
    // [69] phi (byte) main::r#49 = (byte) '-' [phi:main::@52->main::@10#0] -- vbuxx=vbuc1 
    ldx #'-'
    // main::@10
  __b10:
    // printu(a, "<=", b, r)
    // [70] (byte) printu::a#8 ← (byte) main::a#10
    // [71] (byte) printu::b#8 ← (byte) main::b#0 -- vbuz1=vbuz2 
    lda.z b
    sta.z printu.b
    // [72] (byte) printu::res#8 ← (byte) main::r#49
    // [73] (byte*) print_char_cursor#151 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 
    lda.z print_line_cursor
    sta.z print_char_cursor
    lda.z print_line_cursor+1
    sta.z print_char_cursor+1
    // printu(a, "<=", b, r)
    // [74] call printu 
    // [167] phi from main::@10 to printu [phi:main::@10->printu]
    // [167] phi (byte) printu::res#20 = (byte) printu::res#8 [phi:main::@10->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) printu::b#8 [phi:main::@10->printu#1] -- register_copy 
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op8 [phi:main::@10->printu#2] -- pbuz1=pbuc1 
    lda #<op8
    sta.z printu.op
    lda #>op8
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#8 [phi:main::@10->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#151 [phi:main::@10->printu#4] -- register_copy 
    jsr printu
    // main::@53
    // if(a<=$37)
    // [75] if((byte) main::a#10>=(byte) $37+(byte) 1) goto main::@11 -- vbuz1_ge_vbuc1_then_la1 
    lda.z a
    cmp #$37+1
    bcs b10
    // [76] phi from main::@53 to main::@31 [phi:main::@53->main::@31]
    // main::@31
    // [77] phi from main::@31 to main::@11 [phi:main::@31->main::@11]
    // [77] phi (byte) main::r#50 = (byte) '+' [phi:main::@31->main::@11#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp __b11
    // [77] phi from main::@53 to main::@11 [phi:main::@53->main::@11]
  b10:
    // [77] phi (byte) main::r#50 = (byte) '-' [phi:main::@53->main::@11#0] -- vbuxx=vbuc1 
    ldx #'-'
    // main::@11
  __b11:
    // printu(a, "<=", $37, r)
    // [78] (byte) printu::a#9 ← (byte) main::a#10
    // [79] (byte) printu::res#9 ← (byte) main::r#50
    // [80] call printu 
    // [167] phi from main::@11 to printu [phi:main::@11->printu]
    // [167] phi (byte) printu::res#20 = (byte) printu::res#9 [phi:main::@11->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) $37 [phi:main::@11->printu#1] -- vbuz1=vbuc1 
    lda #$37
    sta.z printu.b
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op8 [phi:main::@11->printu#2] -- pbuz1=pbuc1 
    lda #<op8
    sta.z printu.op
    lda #>op8
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#9 [phi:main::@11->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@11->printu#4] -- register_copy 
    jsr printu
    // main::@54
    // if(a<=cs[i])
    // [81] if((byte) main::a#10>*((const byte*) main::cs + (byte) main::i#10)) goto main::@12 -- vbuz1_gt_pbuc1_derefidx_vbuz2_then_la1 
    ldy.z i
    lda cs,y
    cmp.z a
    bcc b11
    // [82] phi from main::@54 to main::@32 [phi:main::@54->main::@32]
    // main::@32
    // [83] phi from main::@32 to main::@12 [phi:main::@32->main::@12]
    // [83] phi (byte) main::r#51 = (byte) '+' [phi:main::@32->main::@12#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp __b12
    // [83] phi from main::@54 to main::@12 [phi:main::@54->main::@12]
  b11:
    // [83] phi (byte) main::r#51 = (byte) '-' [phi:main::@54->main::@12#0] -- vbuxx=vbuc1 
    ldx #'-'
    // main::@12
  __b12:
    // printu(a, "<=", cs[i], r)
    // [84] (byte) printu::a#10 ← (byte) main::a#10
    // [85] (byte) printu::b#10 ← *((const byte*) main::cs + (byte) main::i#10) -- vbuz1=pbuc1_derefidx_vbuz2 
    ldy.z i
    lda cs,y
    sta.z printu.b
    // [86] (byte) printu::res#10 ← (byte) main::r#51
    // [87] call printu 
    // [167] phi from main::@12 to printu [phi:main::@12->printu]
    // [167] phi (byte) printu::res#20 = (byte) printu::res#10 [phi:main::@12->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) printu::b#10 [phi:main::@12->printu#1] -- register_copy 
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op8 [phi:main::@12->printu#2] -- pbuz1=pbuc1 
    lda #<op8
    sta.z printu.op
    lda #>op8
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#10 [phi:main::@12->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@12->printu#4] -- register_copy 
    jsr printu
    // main::@55
    // if(a<=a)
    // [88] if((byte) main::a#10>(byte) main::a#10) goto main::@13 -- vbuz1_gt_vbuz1_then_la1 
    lda.z a
    cmp.z a
    bcc b12
    // [89] phi from main::@55 to main::@33 [phi:main::@55->main::@33]
    // main::@33
    // [90] phi from main::@33 to main::@13 [phi:main::@33->main::@13]
    // [90] phi (byte) main::r#52 = (byte) '+' [phi:main::@33->main::@13#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp __b13
    // [90] phi from main::@55 to main::@13 [phi:main::@55->main::@13]
  b12:
    // [90] phi (byte) main::r#52 = (byte) '-' [phi:main::@55->main::@13#0] -- vbuxx=vbuc1 
    ldx #'-'
    // main::@13
  __b13:
    // printu(a, "<=", a, r)
    // [91] (byte) printu::a#11 ← (byte) main::a#10
    // [92] (byte) printu::b#11 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda.z a
    sta.z printu.b
    // [93] (byte) printu::res#11 ← (byte) main::r#52
    // [94] call printu 
    // [167] phi from main::@13 to printu [phi:main::@13->printu]
    // [167] phi (byte) printu::res#20 = (byte) printu::res#11 [phi:main::@13->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) printu::b#11 [phi:main::@13->printu#1] -- register_copy 
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op8 [phi:main::@13->printu#2] -- pbuz1=pbuc1 
    lda #<op8
    sta.z printu.op
    lda #>op8
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#11 [phi:main::@13->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@13->printu#4] -- register_copy 
    jsr printu
    // [95] phi from main::@13 to main::@56 [phi:main::@13->main::@56]
    // main::@56
    // print_ln()
    // [96] call print_ln 
    // [162] phi from main::@56 to print_ln [phi:main::@56->print_ln]
    // [162] phi (byte*) print_line_cursor#25 = (byte*) print_line_cursor#1 [phi:main::@56->print_ln#0] -- register_copy 
    jsr print_ln
    // main::@57
    // if(a>=b)
    // [97] if((byte) main::a#10<(byte) main::b#0) goto main::@14 -- vbuz1_lt_vbuz2_then_la1 
    lda.z a
    cmp.z b
    bcc b13
    // [98] phi from main::@57 to main::@34 [phi:main::@57->main::@34]
    // main::@34
    // [99] phi from main::@34 to main::@14 [phi:main::@34->main::@14]
    // [99] phi (byte) main::r#53 = (byte) '+' [phi:main::@34->main::@14#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp __b14
    // [99] phi from main::@57 to main::@14 [phi:main::@57->main::@14]
  b13:
    // [99] phi (byte) main::r#53 = (byte) '-' [phi:main::@57->main::@14#0] -- vbuxx=vbuc1 
    ldx #'-'
    // main::@14
  __b14:
    // printu(a, ">=", b, r)
    // [100] (byte) printu::a#12 ← (byte) main::a#10
    // [101] (byte) printu::b#12 ← (byte) main::b#0 -- vbuz1=vbuz2 
    lda.z b
    sta.z printu.b
    // [102] (byte) printu::res#12 ← (byte) main::r#53
    // [103] (byte*) print_char_cursor#155 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 
    lda.z print_line_cursor
    sta.z print_char_cursor
    lda.z print_line_cursor+1
    sta.z print_char_cursor+1
    // printu(a, ">=", b, r)
    // [104] call printu 
    // [167] phi from main::@14 to printu [phi:main::@14->printu]
    // [167] phi (byte) printu::res#20 = (byte) printu::res#12 [phi:main::@14->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) printu::b#12 [phi:main::@14->printu#1] -- register_copy 
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op12 [phi:main::@14->printu#2] -- pbuz1=pbuc1 
    lda #<op12
    sta.z printu.op
    lda #>op12
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#12 [phi:main::@14->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#155 [phi:main::@14->printu#4] -- register_copy 
    jsr printu
    // main::@58
    // if(a>=$37)
    // [105] if((byte) main::a#10<(byte) $37) goto main::@15 -- vbuz1_lt_vbuc1_then_la1 
    lda.z a
    cmp #$37
    bcc b14
    // [106] phi from main::@58 to main::@35 [phi:main::@58->main::@35]
    // main::@35
    // [107] phi from main::@35 to main::@15 [phi:main::@35->main::@15]
    // [107] phi (byte) main::r#54 = (byte) '+' [phi:main::@35->main::@15#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp __b15
    // [107] phi from main::@58 to main::@15 [phi:main::@58->main::@15]
  b14:
    // [107] phi (byte) main::r#54 = (byte) '-' [phi:main::@58->main::@15#0] -- vbuxx=vbuc1 
    ldx #'-'
    // main::@15
  __b15:
    // printu(a, ">=", $37, r)
    // [108] (byte) printu::a#13 ← (byte) main::a#10
    // [109] (byte) printu::res#13 ← (byte) main::r#54
    // [110] call printu 
    // [167] phi from main::@15 to printu [phi:main::@15->printu]
    // [167] phi (byte) printu::res#20 = (byte) printu::res#13 [phi:main::@15->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) $37 [phi:main::@15->printu#1] -- vbuz1=vbuc1 
    lda #$37
    sta.z printu.b
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op12 [phi:main::@15->printu#2] -- pbuz1=pbuc1 
    lda #<op12
    sta.z printu.op
    lda #>op12
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#13 [phi:main::@15->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@15->printu#4] -- register_copy 
    jsr printu
    // main::@59
    // if(a>=cs[i])
    // [111] if((byte) main::a#10<*((const byte*) main::cs + (byte) main::i#10)) goto main::@16 -- vbuz1_lt_pbuc1_derefidx_vbuz2_then_la1 
    lda.z a
    ldy.z i
    cmp cs,y
    bcc b15
    // [112] phi from main::@59 to main::@36 [phi:main::@59->main::@36]
    // main::@36
    // [113] phi from main::@36 to main::@16 [phi:main::@36->main::@16]
    // [113] phi (byte) main::r#55 = (byte) '+' [phi:main::@36->main::@16#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp __b16
    // [113] phi from main::@59 to main::@16 [phi:main::@59->main::@16]
  b15:
    // [113] phi (byte) main::r#55 = (byte) '-' [phi:main::@59->main::@16#0] -- vbuxx=vbuc1 
    ldx #'-'
    // main::@16
  __b16:
    // printu(a, ">=", cs[i], r)
    // [114] (byte) printu::a#14 ← (byte) main::a#10
    // [115] (byte) printu::b#14 ← *((const byte*) main::cs + (byte) main::i#10) -- vbuz1=pbuc1_derefidx_vbuz2 
    ldy.z i
    lda cs,y
    sta.z printu.b
    // [116] (byte) printu::res#14 ← (byte) main::r#55
    // [117] call printu 
    // [167] phi from main::@16 to printu [phi:main::@16->printu]
    // [167] phi (byte) printu::res#20 = (byte) printu::res#14 [phi:main::@16->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) printu::b#14 [phi:main::@16->printu#1] -- register_copy 
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op12 [phi:main::@16->printu#2] -- pbuz1=pbuc1 
    lda #<op12
    sta.z printu.op
    lda #>op12
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#14 [phi:main::@16->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@16->printu#4] -- register_copy 
    jsr printu
    // main::@60
    // if(a>=a)
    // [118] if((byte) main::a#10<(byte) main::a#10) goto main::@17 -- vbuz1_lt_vbuz1_then_la1 
    lda.z a
    cmp.z a
    bcc b16
    // [119] phi from main::@60 to main::@37 [phi:main::@60->main::@37]
    // main::@37
    // [120] phi from main::@37 to main::@17 [phi:main::@37->main::@17]
    // [120] phi (byte) main::r#56 = (byte) '+' [phi:main::@37->main::@17#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp __b17
    // [120] phi from main::@60 to main::@17 [phi:main::@60->main::@17]
  b16:
    // [120] phi (byte) main::r#56 = (byte) '-' [phi:main::@60->main::@17#0] -- vbuxx=vbuc1 
    ldx #'-'
    // main::@17
  __b17:
    // printu(a, ">=", a, r)
    // [121] (byte) printu::a#15 ← (byte) main::a#10
    // [122] (byte) printu::b#15 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda.z a
    sta.z printu.b
    // [123] (byte) printu::res#15 ← (byte) main::r#56
    // [124] call printu 
    // [167] phi from main::@17 to printu [phi:main::@17->printu]
    // [167] phi (byte) printu::res#20 = (byte) printu::res#15 [phi:main::@17->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) printu::b#15 [phi:main::@17->printu#1] -- register_copy 
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op12 [phi:main::@17->printu#2] -- pbuz1=pbuc1 
    lda #<op12
    sta.z printu.op
    lda #>op12
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#15 [phi:main::@17->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@17->printu#4] -- register_copy 
    jsr printu
    // [125] phi from main::@17 to main::@61 [phi:main::@17->main::@61]
    // main::@61
    // print_ln()
    // [126] call print_ln 
    // [162] phi from main::@61 to print_ln [phi:main::@61->print_ln]
    // [162] phi (byte*) print_line_cursor#25 = (byte*) print_line_cursor#1 [phi:main::@61->print_ln#0] -- register_copy 
    jsr print_ln
    // main::@62
    // if(a==b)
    // [127] if((byte) main::a#10!=(byte) main::b#0) goto main::@18 -- vbuz1_neq_vbuz2_then_la1 
    lda.z a
    cmp.z b
    bne b17
    // [128] phi from main::@62 to main::@38 [phi:main::@62->main::@38]
    // main::@38
    // [129] phi from main::@38 to main::@18 [phi:main::@38->main::@18]
    // [129] phi (byte) main::r#57 = (byte) '+' [phi:main::@38->main::@18#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp __b18
    // [129] phi from main::@62 to main::@18 [phi:main::@62->main::@18]
  b17:
    // [129] phi (byte) main::r#57 = (byte) '-' [phi:main::@62->main::@18#0] -- vbuxx=vbuc1 
    ldx #'-'
    // main::@18
  __b18:
    // printu(a, "==", b, r)
    // [130] (byte) printu::a#16 ← (byte) main::a#10
    // [131] (byte) printu::b#16 ← (byte) main::b#0 -- vbuz1=vbuz2 
    lda.z b
    sta.z printu.b
    // [132] (byte) printu::res#16 ← (byte) main::r#57
    // [133] (byte*) print_char_cursor#159 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 
    lda.z print_line_cursor
    sta.z print_char_cursor
    lda.z print_line_cursor+1
    sta.z print_char_cursor+1
    // printu(a, "==", b, r)
    // [134] call printu 
    // [167] phi from main::@18 to printu [phi:main::@18->printu]
    // [167] phi (byte) printu::res#20 = (byte) printu::res#16 [phi:main::@18->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) printu::b#16 [phi:main::@18->printu#1] -- register_copy 
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op16 [phi:main::@18->printu#2] -- pbuz1=pbuc1 
    lda #<op16
    sta.z printu.op
    lda #>op16
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#16 [phi:main::@18->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#159 [phi:main::@18->printu#4] -- register_copy 
    jsr printu
    // main::@63
    // if(a==$37)
    // [135] if((byte) main::a#10!=(byte) $37) goto main::@19 -- vbuz1_neq_vbuc1_then_la1 
    lda #$37
    cmp.z a
    bne b18
    // [136] phi from main::@63 to main::@39 [phi:main::@63->main::@39]
    // main::@39
    // [137] phi from main::@39 to main::@19 [phi:main::@39->main::@19]
    // [137] phi (byte) main::r#58 = (byte) '+' [phi:main::@39->main::@19#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp __b19
    // [137] phi from main::@63 to main::@19 [phi:main::@63->main::@19]
  b18:
    // [137] phi (byte) main::r#58 = (byte) '-' [phi:main::@63->main::@19#0] -- vbuxx=vbuc1 
    ldx #'-'
    // main::@19
  __b19:
    // printu(a, "==", $37, r)
    // [138] (byte) printu::a#17 ← (byte) main::a#10
    // [139] (byte) printu::res#17 ← (byte) main::r#58
    // [140] call printu 
    // [167] phi from main::@19 to printu [phi:main::@19->printu]
    // [167] phi (byte) printu::res#20 = (byte) printu::res#17 [phi:main::@19->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) $37 [phi:main::@19->printu#1] -- vbuz1=vbuc1 
    lda #$37
    sta.z printu.b
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op16 [phi:main::@19->printu#2] -- pbuz1=pbuc1 
    lda #<op16
    sta.z printu.op
    lda #>op16
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#17 [phi:main::@19->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@19->printu#4] -- register_copy 
    jsr printu
    // main::@64
    // if(a==cs[i])
    // [141] if((byte) main::a#10!=*((const byte*) main::cs + (byte) main::i#10)) goto main::@20 -- vbuz1_neq_pbuc1_derefidx_vbuz2_then_la1 
    lda.z a
    ldy.z i
    cmp cs,y
    bne b19
    // [142] phi from main::@64 to main::@40 [phi:main::@64->main::@40]
    // main::@40
    // [143] phi from main::@40 to main::@20 [phi:main::@40->main::@20]
    // [143] phi (byte) main::r#59 = (byte) '+' [phi:main::@40->main::@20#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp __b20
    // [143] phi from main::@64 to main::@20 [phi:main::@64->main::@20]
  b19:
    // [143] phi (byte) main::r#59 = (byte) '-' [phi:main::@64->main::@20#0] -- vbuxx=vbuc1 
    ldx #'-'
    // main::@20
  __b20:
    // printu(a, "==", cs[i], r)
    // [144] (byte) printu::a#18 ← (byte) main::a#10
    // [145] (byte) printu::b#18 ← *((const byte*) main::cs + (byte) main::i#10) -- vbuz1=pbuc1_derefidx_vbuz2 
    ldy.z i
    lda cs,y
    sta.z printu.b
    // [146] (byte) printu::res#18 ← (byte) main::r#59
    // [147] call printu 
    // [167] phi from main::@20 to printu [phi:main::@20->printu]
    // [167] phi (byte) printu::res#20 = (byte) printu::res#18 [phi:main::@20->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) printu::b#18 [phi:main::@20->printu#1] -- register_copy 
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op16 [phi:main::@20->printu#2] -- pbuz1=pbuc1 
    lda #<op16
    sta.z printu.op
    lda #>op16
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#18 [phi:main::@20->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@20->printu#4] -- register_copy 
    jsr printu
    // main::@65
    // if(a==a)
    // [148] if((byte) main::a#10!=(byte) main::a#10) goto main::@21 -- vbuz1_neq_vbuz1_then_la1 
    lda.z a
    cmp.z a
    bne b20
    // [149] phi from main::@65 to main::@41 [phi:main::@65->main::@41]
    // main::@41
    // [150] phi from main::@41 to main::@21 [phi:main::@41->main::@21]
    // [150] phi (byte) main::r#60 = (byte) '+' [phi:main::@41->main::@21#0] -- vbuxx=vbuc1 
    ldx #'+'
    jmp __b21
    // [150] phi from main::@65 to main::@21 [phi:main::@65->main::@21]
  b20:
    // [150] phi (byte) main::r#60 = (byte) '-' [phi:main::@65->main::@21#0] -- vbuxx=vbuc1 
    ldx #'-'
    // main::@21
  __b21:
    // printu(a, "==", a, r)
    // [151] (byte) printu::a#19 ← (byte) main::a#10
    // [152] (byte) printu::b#19 ← (byte) main::a#10 -- vbuz1=vbuz2 
    lda.z a
    sta.z printu.b
    // [153] (byte) printu::res#19 ← (byte) main::r#60
    // [154] call printu 
    // [167] phi from main::@21 to printu [phi:main::@21->printu]
    // [167] phi (byte) printu::res#20 = (byte) printu::res#19 [phi:main::@21->printu#0] -- register_copy 
    // [167] phi (byte) printu::b#20 = (byte) printu::b#19 [phi:main::@21->printu#1] -- register_copy 
    // [167] phi (byte*) printu::op#20 = (const byte*) main::op16 [phi:main::@21->printu#2] -- pbuz1=pbuc1 
    lda #<op16
    sta.z printu.op
    lda #>op16
    sta.z printu.op+1
    // [167] phi (byte) printu::a#20 = (byte) printu::a#19 [phi:main::@21->printu#3] -- register_copy 
    // [167] phi (byte*) print_char_cursor#95 = (byte*) print_char_cursor#55 [phi:main::@21->printu#4] -- register_copy 
    jsr printu
    // [155] phi from main::@21 to main::@66 [phi:main::@21->main::@66]
    // main::@66
    // print_ln()
    // [156] call print_ln 
    // [162] phi from main::@66 to print_ln [phi:main::@66->print_ln]
    // [162] phi (byte*) print_line_cursor#25 = (byte*) print_line_cursor#1 [phi:main::@66->print_ln#0] -- register_copy 
    jsr print_ln
    // main::@67
    // a=a+$30
    // [157] (byte) main::a#1 ← (byte) main::a#10 + (byte) $30 -- vbuz1=vbuz1_plus_vbuc1 
    lax.z a
    axs #-[$30]
    stx.z a
    // for( byte i : 0..4 )
    // [158] (byte) main::i#1 ← ++ (byte) main::i#10 -- vbuz1=_inc_vbuz1 
    inc.z i
    // [159] if((byte) main::i#1!=(byte) 5) goto main::@68 -- vbuz1_neq_vbuc1_then_la1 
    lda #5
    cmp.z i
    bne __b68
    // [160] phi from main::@42 main::@67 to main::@42 [phi:main::@42/main::@67->main::@42]
    // main::@42
  __b42:
    jmp __b42
    // main::@68
  __b68:
    // [161] (byte*) print_char_cursor#150 ← (byte*) print_line_cursor#1 -- pbuz1=pbuz2 
    lda.z print_line_cursor
    sta.z print_char_cursor
    lda.z print_line_cursor+1
    sta.z print_char_cursor+1
    // [6] phi from main::@68 to main::@1 [phi:main::@68->main::@1]
    // [6] phi (byte*) print_line_cursor#27 = (byte*) print_line_cursor#1 [phi:main::@68->main::@1#0] -- register_copy 
    // [6] phi (byte) main::i#10 = (byte) main::i#1 [phi:main::@68->main::@1#1] -- register_copy 
    // [6] phi (byte*) print_char_cursor#120 = (byte*) print_char_cursor#150 [phi:main::@68->main::@1#2] -- register_copy 
    // [6] phi (byte) main::a#10 = (byte) main::a#1 [phi:main::@68->main::@1#3] -- register_copy 
    jmp __b1
    cs: .byte 7, $c7, $37, $97, $67
    op: .text "< "
    .byte 0
    op4: .text "> "
    .byte 0
    op8: .text "<="
    .byte 0
    op12: .text ">="
    .byte 0
    op16: .text "=="
    .byte 0
}
  // print_ln
// Print a newline
print_ln: {
    // [163] phi from print_ln print_ln::@1 to print_ln::@1 [phi:print_ln/print_ln::@1->print_ln::@1]
    // [163] phi (byte*) print_line_cursor#13 = (byte*) print_line_cursor#25 [phi:print_ln/print_ln::@1->print_ln::@1#0] -- register_copy 
    // print_ln::@1
  __b1:
    // print_line_cursor + $28
    // [164] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#13 + (byte) $28 -- pbuz1=pbuz1_plus_vbuc1 
    lda #$28
    clc
    adc.z print_line_cursor
    sta.z print_line_cursor
    bcc !+
    inc.z print_line_cursor+1
  !:
    // while (print_line_cursor<print_char_cursor)
    // [165] if((byte*) print_line_cursor#1<(byte*) print_char_cursor#55) goto print_ln::@1 -- pbuz1_lt_pbuz2_then_la1 
    lda.z print_line_cursor+1
    cmp.z print_char_cursor+1
    bcc __b1
    bne !+
    lda.z print_line_cursor
    cmp.z print_char_cursor
    bcc __b1
  !:
    // print_ln::@return
    // }
    // [166] return 
    rts
}
  // printu
// printu(byte zp(2) a, byte* zp(4) op, byte zp(6) b, byte register(X) res)
printu: {
    .label a = 2
    .label b = 6
    .label op = 4
    // print_char(' ')
    // [168] call print_char 
    // [180] phi from printu to print_char [phi:printu->print_char]
    // [180] phi (byte*) print_char_cursor#54 = (byte*) print_char_cursor#95 [phi:printu->print_char#0] -- register_copy 
    // [180] phi (byte) print_char::ch#5 = (byte) ' ' [phi:printu->print_char#1] -- vbuaa=vbuc1 
    lda #' '
    jsr print_char
    // printu::@1
    // print_byte(a)
    // [169] (byte) print_byte::b#0 ← (byte) printu::a#20 -- vbuz1=vbuz2 
    lda.z a
    sta.z print_byte.b
    // [170] call print_byte 
    // [184] phi from printu::@1 to print_byte [phi:printu::@1->print_byte]
    // [184] phi (byte*) print_char_cursor#94 = (byte*) print_char_cursor#55 [phi:printu::@1->print_byte#0] -- register_copy 
    // [184] phi (byte) print_byte::b#2 = (byte) print_byte::b#0 [phi:printu::@1->print_byte#1] -- register_copy 
    jsr print_byte
    // printu::@2
    // print_str(op)
    // [171] (byte*) print_str::str#1 ← (byte*) printu::op#20
    // [172] call print_str 
    // [192] phi from printu::@2 to print_str [phi:printu::@2->print_str]
    jsr print_str
    // printu::@3
    // print_byte(b)
    // [173] (byte) print_byte::b#1 ← (byte) printu::b#20 -- vbuz1=vbuz2 
    lda.z b
    sta.z print_byte.b
    // [174] call print_byte 
    // [184] phi from printu::@3 to print_byte [phi:printu::@3->print_byte]
    // [184] phi (byte*) print_char_cursor#94 = (byte*) print_char_cursor#2 [phi:printu::@3->print_byte#0] -- register_copy 
    // [184] phi (byte) print_byte::b#2 = (byte) print_byte::b#1 [phi:printu::@3->print_byte#1] -- register_copy 
    jsr print_byte
    // [175] phi from printu::@3 to printu::@4 [phi:printu::@3->printu::@4]
    // printu::@4
    // print_char(' ')
    // [176] call print_char 
    // [180] phi from printu::@4 to print_char [phi:printu::@4->print_char]
    // [180] phi (byte*) print_char_cursor#54 = (byte*) print_char_cursor#55 [phi:printu::@4->print_char#0] -- register_copy 
    // [180] phi (byte) print_char::ch#5 = (byte) ' ' [phi:printu::@4->print_char#1] -- vbuaa=vbuc1 
    lda #' '
    jsr print_char
    // printu::@5
    // print_char(res)
    // [177] (byte) print_char::ch#4 ← (byte) printu::res#20 -- vbuaa=vbuxx 
    txa
    // [178] call print_char 
    // [180] phi from printu::@5 to print_char [phi:printu::@5->print_char]
    // [180] phi (byte*) print_char_cursor#54 = (byte*) print_char_cursor#55 [phi:printu::@5->print_char#0] -- register_copy 
    // [180] phi (byte) print_char::ch#5 = (byte) print_char::ch#4 [phi:printu::@5->print_char#1] -- register_copy 
    jsr print_char
    // printu::@return
    // }
    // [179] return 
    rts
}
  // print_char
// Print a single char
// print_char(byte register(A) ch)
print_char: {
    // *(print_char_cursor++) = ch
    // [181] *((byte*) print_char_cursor#54) ← (byte) print_char::ch#5 -- _deref_pbuz1=vbuaa 
    ldy #0
    sta (print_char_cursor),y
    // *(print_char_cursor++) = ch;
    // [182] (byte*) print_char_cursor#55 ← ++ (byte*) print_char_cursor#54 -- pbuz1=_inc_pbuz1 
    inc.z print_char_cursor
    bne !+
    inc.z print_char_cursor+1
  !:
    // print_char::@return
    // }
    // [183] return 
    rts
}
  // print_byte
// Print a byte as HEX
// print_byte(byte zp(9) b)
print_byte: {
    .label b = 9
    // b>>4
    // [185] (byte~) print_byte::$0 ← (byte) print_byte::b#2 >> (byte) 4 -- vbuaa=vbuz1_ror_4 
    lda.z b
    lsr
    lsr
    lsr
    lsr
    // print_char(print_hextab[b>>4])
    // [186] (byte) print_char::ch#0 ← *((const byte*) print_hextab + (byte~) print_byte::$0) -- vbuaa=pbuc1_derefidx_vbuaa 
    tay
    lda print_hextab,y
    // [187] call print_char 
    // [180] phi from print_byte to print_char [phi:print_byte->print_char]
    // [180] phi (byte*) print_char_cursor#54 = (byte*) print_char_cursor#94 [phi:print_byte->print_char#0] -- register_copy 
    // [180] phi (byte) print_char::ch#5 = (byte) print_char::ch#0 [phi:print_byte->print_char#1] -- register_copy 
    jsr print_char
    // print_byte::@1
    // b&$f
    // [188] (byte~) print_byte::$2 ← (byte) print_byte::b#2 & (byte) $f -- vbuaa=vbuz1_band_vbuc1 
    lda #$f
    and.z b
    // print_char(print_hextab[b&$f])
    // [189] (byte) print_char::ch#1 ← *((const byte*) print_hextab + (byte~) print_byte::$2) -- vbuaa=pbuc1_derefidx_vbuaa 
    tay
    lda print_hextab,y
    // [190] call print_char 
    // [180] phi from print_byte::@1 to print_char [phi:print_byte::@1->print_char]
    // [180] phi (byte*) print_char_cursor#54 = (byte*) print_char_cursor#55 [phi:print_byte::@1->print_char#0] -- register_copy 
    // [180] phi (byte) print_char::ch#5 = (byte) print_char::ch#1 [phi:print_byte::@1->print_char#1] -- register_copy 
    jsr print_char
    // print_byte::@return
    // }
    // [191] return 
    rts
}
  // print_str
// Print a zero-terminated string
// print_str(byte* zp(4) str)
print_str: {
    .label str = 4
    // [193] phi from print_str print_str::@2 to print_str::@1 [phi:print_str/print_str::@2->print_str::@1]
    // [193] phi (byte*) print_char_cursor#2 = (byte*) print_char_cursor#55 [phi:print_str/print_str::@2->print_str::@1#0] -- register_copy 
    // [193] phi (byte*) print_str::str#2 = (byte*) print_str::str#1 [phi:print_str/print_str::@2->print_str::@1#1] -- register_copy 
    // print_str::@1
  __b1:
    // while(*str)
    // [194] if((byte) 0!=*((byte*) print_str::str#2)) goto print_str::@2 -- vbuc1_neq__deref_pbuz1_then_la1 
    ldy #0
    lda (str),y
    cmp #0
    bne __b2
    // print_str::@return
    // }
    // [195] return 
    rts
    // print_str::@2
  __b2:
    // *(print_char_cursor++) = *(str++)
    // [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
    // *(print_char_cursor++) = *(str++);
    // [197] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#2 -- pbuz1=_inc_pbuz1 
    inc.z print_char_cursor
    bne !+
    inc.z print_char_cursor+1
  !:
    // [198] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#2 -- pbuz1=_inc_pbuz1 
    inc.z str
    bne !+
    inc.z str+1
  !:
    jmp __b1
}
  // print_cls
// Clear the screen. Also resets current line/char cursor.
print_cls: {
    // memset(print_screen, ' ', 1000)
    // [200] call memset 
    // [202] phi from print_cls to memset [phi:print_cls->memset]
    jsr memset
    // print_cls::@return
    // }
    // [201] return 
    rts
}
  // memset
// Copies the character c (an unsigned char) to the first num characters of the object pointed to by the argument str.
memset: {
    .const c = ' '
    .const num = $3e8
    .label str = $400
    .label end = str+num
    .label dst = $a
    // [203] phi from memset to memset::@1 [phi:memset->memset::@1]
    // [203] phi (byte*) memset::dst#2 = (byte*)(const void*) memset::str#0 [phi:memset->memset::@1#0] -- pbuz1=pbuc1 
    lda #<str
    sta.z dst
    lda #>str
    sta.z dst+1
    // memset::@1
  __b1:
    // for(char* dst = str; dst!=end; dst++)
    // [204] if((byte*) memset::dst#2!=(const byte*) memset::end#0) goto memset::@2 -- pbuz1_neq_pbuc1_then_la1 
    lda.z dst+1
    cmp #>end
    bne __b2
    lda.z dst
    cmp #<end
    bne __b2
    // memset::@return
    // }
    // [205] return 
    rts
    // memset::@2
  __b2:
    // *dst = c
    // [206] *((byte*) memset::dst#2) ← (const byte) memset::c#0 -- _deref_pbuz1=vbuc1 
    lda #c
    ldy #0
    sta (dst),y
    // for(char* dst = str; dst!=end; dst++)
    // [207] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2 -- pbuz1=_inc_pbuz1 
    inc.z dst
    bne !+
    inc.z dst+1
  !:
    // [203] phi from memset::@2 to memset::@1 [phi:memset::@2->memset::@1]
    // [203] phi (byte*) memset::dst#2 = (byte*) memset::dst#1 [phi:memset::@2->memset::@1#0] -- register_copy 
    jmp __b1
}
  // File Data
  print_hextab: .text "0123456789abcdef"

