@begin: scope:[]  from
  [0] phi()
  to:@1
@1: scope:[]  from @begin
  [1] phi()
  [2] call main 
  to:@end
@end: scope:[]  from @1
  [3] phi()
main: scope:[main]  from @1
  [4] *((const byte*) BGCOL#0) ← (byte) 5
  [5] call print_cls 
  to:main::@1
main::@1: scope:[main]  from main
  [6] phi()
  [7] call mulf_init 
  to:main::@2
main::@2: scope:[main]  from main::@1
  [8] phi()
  [9] call mul16u_compare 
  to:main::@3
main::@3: scope:[main]  from main::@2
  [10] phi()
  [11] call mul16s_compare 
  to:main::@return
main::@return: scope:[main]  from main::@3
  [12] return 
  to:@return
mul16s_compare: scope:[mul16s_compare]  from main::@3
  [13] (byte*~) print_char_cursor#222 ← (byte*) print_line_cursor#1
  to:mul16s_compare::@1
mul16s_compare::@1: scope:[mul16s_compare]  from mul16s_compare mul16s_compare::@8
  [14] (byte) mul16s_compare::i#12 ← phi( mul16s_compare/(byte) 0 mul16s_compare::@8/(byte) mul16s_compare::i#1 )
  [14] (signed word) mul16s_compare::b#6 ← phi( mul16s_compare/(signed word) -$7fff mul16s_compare::@8/(signed word) mul16s_compare::b#1 )
  [14] (signed word) mul16s_compare::a#6 ← phi( mul16s_compare/(signed word) -$7fff mul16s_compare::@8/(signed word) mul16s_compare::a#1 )
  [14] (byte*) print_char_cursor#149 ← phi( mul16s_compare/(byte*~) print_char_cursor#222 mul16s_compare::@8/(byte*) print_char_cursor#132 )
  [15] call print_str 
  to:mul16s_compare::@2
mul16s_compare::@2: scope:[mul16s_compare]  from mul16s_compare::@1 mul16s_compare::@5
  [16] (byte) mul16s_compare::j#10 ← phi( mul16s_compare::@1/(byte) 0 mul16s_compare::@5/(byte) mul16s_compare::j#1 )
  [16] (signed word) mul16s_compare::b#2 ← phi( mul16s_compare::@1/(signed word) mul16s_compare::b#6 mul16s_compare::@5/(signed word) mul16s_compare::b#1 )
  [16] (signed word) mul16s_compare::a#2 ← phi( mul16s_compare::@1/(signed word) mul16s_compare::a#6 mul16s_compare::@5/(signed word) mul16s_compare::a#1 )
  [17] (signed word) mul16s_compare::a#1 ← (signed word) mul16s_compare::a#2 + (signed word) $d2b
  [18] (signed word) mul16s_compare::b#1 ← (signed word) mul16s_compare::b#2 + (signed word) $ffd
  [19] (signed word) muls16s::a#0 ← (signed word) mul16s_compare::a#1
  [20] (signed word) muls16s::b#0 ← (signed word) mul16s_compare::b#1
  [21] call muls16s 
  [22] (signed dword) muls16s::return#2 ← (signed dword) muls16s::return#0
  to:mul16s_compare::@10
mul16s_compare::@10: scope:[mul16s_compare]  from mul16s_compare::@2
  [23] (signed dword) mul16s_compare::ms#0 ← (signed dword) muls16s::return#2
  [24] (signed word) mul16s::a#0 ← (signed word) mul16s_compare::a#1
  [25] (signed word) mul16s::b#0 ← (signed word) mul16s_compare::b#1
  [26] call mul16s 
  [27] (signed dword) mul16s::return#2 ← (signed dword) mul16s::return#0
  to:mul16s_compare::@11
mul16s_compare::@11: scope:[mul16s_compare]  from mul16s_compare::@10
  [28] (signed dword) mul16s_compare::mn#0 ← (signed dword) mul16s::return#2
  [29] (signed word) mulf16s::a#0 ← (signed word) mul16s_compare::a#1
  [30] (signed word) mulf16s::b#0 ← (signed word) mul16s_compare::b#1
  [31] call mulf16s 
  [32] (signed dword) mulf16s::return#2 ← (signed dword) mulf16s::return#0
  to:mul16s_compare::@12
mul16s_compare::@12: scope:[mul16s_compare]  from mul16s_compare::@11
  [33] (signed dword) mul16s_compare::mf#0 ← (signed dword) mulf16s::return#2
  [34] if((signed dword) mul16s_compare::ms#0==(signed dword) mul16s_compare::mf#0) goto mul16s_compare::@3
  to:mul16s_compare::@6
mul16s_compare::@6: scope:[mul16s_compare]  from mul16s_compare::@12
  [35] phi()
  to:mul16s_compare::@3
mul16s_compare::@3: scope:[mul16s_compare]  from mul16s_compare::@12 mul16s_compare::@6
  [36] (byte) mul16s_compare::ok#4 ← phi( mul16s_compare::@12/(byte) 1 mul16s_compare::@6/(byte) 0 )
  [37] if((signed dword) mul16s_compare::ms#0==(signed dword) mul16s_compare::mn#0) goto mul16s_compare::@15
  to:mul16s_compare::@4
mul16s_compare::@15: scope:[mul16s_compare]  from mul16s_compare::@3
  [38] phi()
  to:mul16s_compare::@4
mul16s_compare::@4: scope:[mul16s_compare]  from mul16s_compare::@15 mul16s_compare::@3
  [39] (byte) mul16s_compare::ok#3 ← phi( mul16s_compare::@15/(byte) mul16s_compare::ok#4 mul16s_compare::@3/(byte) 0 )
  [40] if((byte) mul16s_compare::ok#3!=(byte) 0) goto mul16s_compare::@5
  to:mul16s_compare::@7
mul16s_compare::@7: scope:[mul16s_compare]  from mul16s_compare::@4
  [41] *((const byte*) BGCOL#0) ← (byte) 2
  [42] (signed word) mul16s_error::a#0 ← (signed word) mul16s_compare::a#1
  [43] (signed word) mul16s_error::b#0 ← (signed word) mul16s_compare::b#1
  [44] (signed dword) mul16s_error::ms#0 ← (signed dword) mul16s_compare::ms#0
  [45] (signed dword) mul16s_error::mn#0 ← (signed dword) mul16s_compare::mn#0
  [46] (signed dword) mul16s_error::mf#0 ← (signed dword) mul16s_compare::mf#0
  [47] call mul16s_error 
  to:mul16s_compare::@return
mul16s_compare::@return: scope:[mul16s_compare]  from mul16s_compare::@14 mul16s_compare::@7
  [48] return 
  to:@return
mul16s_compare::@5: scope:[mul16s_compare]  from mul16s_compare::@4
  [49] (byte) mul16s_compare::j#1 ← ++ (byte) mul16s_compare::j#10
  [50] if((byte) mul16s_compare::j#1!=(byte) $10) goto mul16s_compare::@2
  to:mul16s_compare::@8
mul16s_compare::@8: scope:[mul16s_compare]  from mul16s_compare::@5
  [51] (byte) mul16s_compare::i#1 ← ++ (byte) mul16s_compare::i#12
  [52] if((byte) mul16s_compare::i#1!=(byte) $10) goto mul16s_compare::@1
  to:mul16s_compare::@9
mul16s_compare::@9: scope:[mul16s_compare]  from mul16s_compare::@8
  [53] phi()
  [54] call print_ln 
  to:mul16s_compare::@13
mul16s_compare::@13: scope:[mul16s_compare]  from mul16s_compare::@9
  [55] (byte*~) print_char_cursor#183 ← (byte*) print_line_cursor#1
  [56] call print_str 
  to:mul16s_compare::@14
mul16s_compare::@14: scope:[mul16s_compare]  from mul16s_compare::@13
  [57] phi()
  [58] call print_ln 
  to:mul16s_compare::@return
print_ln: scope:[print_ln]  from mul16s_compare::@14 mul16s_compare::@9 mul16s_error::@10 mul16u_compare::@14 mul16u_compare::@9 mul16u_error::@10
  [59] (byte*) print_char_cursor#133 ← phi( mul16s_compare::@9/(byte*) print_char_cursor#132 mul16s_compare::@14/(byte*) print_char_cursor#132 mul16s_error::@10/(byte*) print_char_cursor#22 mul16u_compare::@9/(byte*) print_char_cursor#132 mul16u_compare::@14/(byte*) print_char_cursor#132 mul16u_error::@10/(byte*) print_char_cursor#22 )
  [59] (byte*) print_line_cursor#43 ← phi( mul16s_compare::@9/(byte*) print_line_cursor#1 mul16s_compare::@14/(byte*) print_line_cursor#1 mul16s_error::@10/(byte*) print_line_cursor#1 mul16u_compare::@9/(byte*) 1024 mul16u_compare::@14/(byte*) print_line_cursor#1 mul16u_error::@10/(byte*) 1024 )
  to:print_ln::@1
print_ln::@1: scope:[print_ln]  from print_ln print_ln::@1
  [60] (byte*) print_line_cursor#22 ← phi( print_ln/(byte*) print_line_cursor#43 print_ln::@1/(byte*) print_line_cursor#1 )
  [61] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#22 + (byte) $28
  [62] if((byte*) print_line_cursor#1<(byte*) print_char_cursor#133) goto print_ln::@1
  to:print_ln::@return
print_ln::@return: scope:[print_ln]  from print_ln::@1
  [63] return 
  to:@return
print_str: scope:[print_str]  from mul16s_compare::@1 mul16s_compare::@13 mul16s_error mul16s_error::@2 mul16s_error::@4 mul16s_error::@6 mul16s_error::@8 mul16u_compare::@1 mul16u_compare::@13 mul16u_error mul16u_error::@2 mul16u_error::@4 mul16u_error::@6 mul16u_error::@8
  [64] (byte*) print_char_cursor#154 ← phi( mul16s_compare::@1/(byte*) print_char_cursor#149 mul16s_compare::@13/(byte*~) print_char_cursor#183 mul16s_error/(byte*) print_char_cursor#132 mul16s_error::@2/(byte*) print_char_cursor#22 mul16s_error::@4/(byte*) print_char_cursor#22 mul16s_error::@6/(byte*) print_char_cursor#22 mul16s_error::@8/(byte*) print_char_cursor#22 mul16u_compare::@1/(byte*) print_char_cursor#145 mul16u_compare::@13/(byte*~) print_char_cursor#190 mul16u_error/(byte*) print_char_cursor#132 mul16u_error::@2/(byte*) print_char_cursor#22 mul16u_error::@4/(byte*) print_char_cursor#22 mul16u_error::@6/(byte*) print_char_cursor#22 mul16u_error::@8/(byte*) print_char_cursor#22 )
  [64] (byte*) print_str::str#17 ← phi( mul16s_compare::@1/(const string) str mul16s_compare::@13/(const string) mul16s_compare::str1 mul16s_error/(const string) mul16s_error::str mul16s_error::@2/(const string) str1 mul16s_error::@4/(const string) str2 mul16s_error::@6/(const string) str3 mul16s_error::@8/(const string) str4 mul16u_compare::@1/(const string) str mul16u_compare::@13/(const string) mul16u_compare::str1 mul16u_error/(const string) mul16u_error::str mul16u_error::@2/(const string) str1 mul16u_error::@4/(const string) str2 mul16u_error::@6/(const string) str3 mul16u_error::@8/(const string) str4 )
  to:print_str::@1
print_str::@1: scope:[print_str]  from print_str print_str::@2
  [65] (byte*) print_char_cursor#132 ← phi( print_str/(byte*) print_char_cursor#154 print_str::@2/(byte*) print_char_cursor#1 )
  [65] (byte*) print_str::str#15 ← phi( print_str/(byte*) print_str::str#17 print_str::@2/(byte*) print_str::str#0 )
  [66] if(*((byte*) print_str::str#15)!=(byte) '@') goto print_str::@2
  to:print_str::@return
print_str::@return: scope:[print_str]  from print_str::@1
  [67] return 
  to:@return
print_str::@2: scope:[print_str]  from print_str::@1
  [68] *((byte*) print_char_cursor#132) ← *((byte*) print_str::str#15)
  [69] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#132
  [70] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#15
  to:print_str::@1
mul16s_error: scope:[mul16s_error]  from mul16s_compare::@7
  [71] phi()
  [72] call print_str 
  to:mul16s_error::@1
mul16s_error::@1: scope:[mul16s_error]  from mul16s_error
  [73] (signed word) print_sword::w#1 ← (signed word) mul16s_error::a#0
  [74] call print_sword 
  to:mul16s_error::@2
mul16s_error::@2: scope:[mul16s_error]  from mul16s_error::@1
  [75] phi()
  [76] call print_str 
  to:mul16s_error::@3
mul16s_error::@3: scope:[mul16s_error]  from mul16s_error::@2
  [77] (signed word) print_sword::w#2 ← (signed word) mul16s_error::b#0
  [78] call print_sword 
  to:mul16s_error::@4
mul16s_error::@4: scope:[mul16s_error]  from mul16s_error::@3
  [79] phi()
  [80] call print_str 
  to:mul16s_error::@5
mul16s_error::@5: scope:[mul16s_error]  from mul16s_error::@4
  [81] (signed dword) print_sdword::dw#1 ← (signed dword) mul16s_error::ms#0
  [82] call print_sdword 
  to:mul16s_error::@6
mul16s_error::@6: scope:[mul16s_error]  from mul16s_error::@5
  [83] phi()
  [84] call print_str 
  to:mul16s_error::@7
mul16s_error::@7: scope:[mul16s_error]  from mul16s_error::@6
  [85] (signed dword) print_sdword::dw#2 ← (signed dword) mul16s_error::mn#0
  [86] call print_sdword 
  to:mul16s_error::@8
mul16s_error::@8: scope:[mul16s_error]  from mul16s_error::@7
  [87] phi()
  [88] call print_str 
  to:mul16s_error::@9
mul16s_error::@9: scope:[mul16s_error]  from mul16s_error::@8
  [89] (signed dword) print_sdword::dw#3 ← (signed dword) mul16s_error::mf#0
  [90] call print_sdword 
  to:mul16s_error::@10
mul16s_error::@10: scope:[mul16s_error]  from mul16s_error::@9
  [91] phi()
  [92] call print_ln 
  to:mul16s_error::@return
mul16s_error::@return: scope:[mul16s_error]  from mul16s_error::@10
  [93] return 
  to:@return
print_sdword: scope:[print_sdword]  from mul16s_error::@5 mul16s_error::@7 mul16s_error::@9
  [94] (signed dword) print_sdword::dw#4 ← phi( mul16s_error::@5/(signed dword) print_sdword::dw#1 mul16s_error::@7/(signed dword) print_sdword::dw#2 mul16s_error::@9/(signed dword) print_sdword::dw#3 )
  [95] if((signed dword) print_sdword::dw#4<(signed byte) 0) goto print_sdword::@1
  to:print_sdword::@3
print_sdword::@3: scope:[print_sdword]  from print_sdword
  [96] phi()
  [97] call print_char 
  to:print_sdword::@2
print_sdword::@2: scope:[print_sdword]  from print_sdword::@3 print_sdword::@4
  [98] (signed dword) print_sdword::dw#6 ← phi( print_sdword::@4/(signed dword) print_sdword::dw#0 print_sdword::@3/(signed dword) print_sdword::dw#4 )
  [99] (dword) print_dword::dw#0 ← (dword)(signed dword) print_sdword::dw#6
  [100] call print_dword 
  to:print_sdword::@return
print_sdword::@return: scope:[print_sdword]  from print_sdword::@2
  [101] return 
  to:@return
print_sdword::@1: scope:[print_sdword]  from print_sdword
  [102] phi()
  [103] call print_char 
  to:print_sdword::@4
print_sdword::@4: scope:[print_sdword]  from print_sdword::@1
  [104] (signed dword) print_sdword::dw#0 ← - (signed dword) print_sdword::dw#4
  to:print_sdword::@2
print_char: scope:[print_char]  from print_byte print_byte::@1 print_sdword::@1 print_sdword::@3 print_sword::@1 print_sword::@3
  [105] (byte*) print_char_cursor#88 ← phi( print_byte/(byte*) print_char_cursor#142 print_byte::@1/(byte*) print_char_cursor#22 print_sdword::@1/(byte*) print_char_cursor#132 print_sdword::@3/(byte*) print_char_cursor#132 print_sword::@1/(byte*) print_char_cursor#132 print_sword::@3/(byte*) print_char_cursor#132 )
  [105] (byte) print_char::ch#6 ← phi( print_byte/(byte) print_char::ch#4 print_byte::@1/(byte) print_char::ch#5 print_sdword::@1/(byte) '-' print_sdword::@3/(byte) ' ' print_sword::@1/(byte) '-' print_sword::@3/(byte) ' ' )
  [106] *((byte*) print_char_cursor#88) ← (byte) print_char::ch#6
  [107] (byte*) print_char_cursor#22 ← ++ (byte*) print_char_cursor#88
  to:print_char::@return
print_char::@return: scope:[print_char]  from print_char
  [108] return 
  to:@return
print_dword: scope:[print_dword]  from mul16u_error::@5 mul16u_error::@7 mul16u_error::@9 print_sdword::@2
  [109] (byte*) print_char_cursor#138 ← phi( mul16u_error::@5/(byte*) print_char_cursor#132 mul16u_error::@7/(byte*) print_char_cursor#132 mul16u_error::@9/(byte*) print_char_cursor#132 print_sdword::@2/(byte*) print_char_cursor#22 )
  [109] (dword) print_dword::dw#4 ← phi( mul16u_error::@5/(dword) print_dword::dw#1 mul16u_error::@7/(dword) print_dword::dw#2 mul16u_error::@9/(dword) print_dword::dw#3 print_sdword::@2/(dword) print_dword::dw#0 )
  [110] (word) print_word::w#1 ← > (dword) print_dword::dw#4
  [111] call print_word 
  to:print_dword::@1
print_dword::@1: scope:[print_dword]  from print_dword
  [112] (word) print_word::w#2 ← < (dword) print_dword::dw#4
  [113] call print_word 
  to:print_dword::@return
print_dword::@return: scope:[print_dword]  from print_dword::@1
  [114] return 
  to:@return
print_word: scope:[print_word]  from mul16u_error::@1 mul16u_error::@3 print_dword print_dword::@1 print_sword::@2
  [115] (byte*) print_char_cursor#137 ← phi( mul16u_error::@1/(byte*) print_char_cursor#132 mul16u_error::@3/(byte*) print_char_cursor#132 print_dword/(byte*) print_char_cursor#138 print_dword::@1/(byte*) print_char_cursor#22 print_sword::@2/(byte*) print_char_cursor#22 )
  [115] (word) print_word::w#5 ← phi( mul16u_error::@1/(word) print_word::w#3 mul16u_error::@3/(word) print_word::w#4 print_dword/(word) print_word::w#1 print_dword::@1/(word) print_word::w#2 print_sword::@2/(word) print_word::w#0 )
  [116] (byte) print_byte::b#0 ← > (word) print_word::w#5
  [117] call print_byte 
  to:print_word::@1
print_word::@1: scope:[print_word]  from print_word
  [118] (byte) print_byte::b#1 ← < (word) print_word::w#5
  [119] call print_byte 
  to:print_word::@return
print_word::@return: scope:[print_word]  from print_word::@1
  [120] return 
  to:@return
print_byte: scope:[print_byte]  from print_word print_word::@1
  [121] (byte*) print_char_cursor#142 ← phi( print_word/(byte*) print_char_cursor#137 print_word::@1/(byte*) print_char_cursor#22 )
  [121] (byte) print_byte::b#2 ← phi( print_word/(byte) print_byte::b#0 print_word::@1/(byte) print_byte::b#1 )
  [122] (byte~) print_byte::$0 ← (byte) print_byte::b#2 >> (byte) 4
  [123] (byte) print_char::ch#4 ← *((const byte[]) print_hextab#0 + (byte~) print_byte::$0)
  [124] call print_char 
  to:print_byte::@1
print_byte::@1: scope:[print_byte]  from print_byte
  [125] (byte~) print_byte::$2 ← (byte) print_byte::b#2 & (byte) $f
  [126] (byte) print_char::ch#5 ← *((const byte[]) print_hextab#0 + (byte~) print_byte::$2)
  [127] call print_char 
  to:print_byte::@return
print_byte::@return: scope:[print_byte]  from print_byte::@1
  [128] return 
  to:@return
print_sword: scope:[print_sword]  from mul16s_error::@1 mul16s_error::@3
  [129] (signed word) print_sword::w#3 ← phi( mul16s_error::@1/(signed word) print_sword::w#1 mul16s_error::@3/(signed word) print_sword::w#2 )
  [130] if((signed word) print_sword::w#3<(signed byte) 0) goto print_sword::@1
  to:print_sword::@3
print_sword::@3: scope:[print_sword]  from print_sword
  [131] phi()
  [132] call print_char 
  to:print_sword::@2
print_sword::@2: scope:[print_sword]  from print_sword::@3 print_sword::@4
  [133] (signed word) print_sword::w#5 ← phi( print_sword::@4/(signed word) print_sword::w#0 print_sword::@3/(signed word) print_sword::w#3 )
  [134] (word) print_word::w#0 ← (word)(signed word) print_sword::w#5
  [135] call print_word 
  to:print_sword::@return
print_sword::@return: scope:[print_sword]  from print_sword::@2
  [136] return 
  to:@return
print_sword::@1: scope:[print_sword]  from print_sword
  [137] phi()
  [138] call print_char 
  to:print_sword::@4
print_sword::@4: scope:[print_sword]  from print_sword::@1
  [139] (signed word) print_sword::w#0 ← - (signed word) print_sword::w#3
  to:print_sword::@2
mulf16s: scope:[mulf16s]  from mul16s_compare::@11
  [140] (word) mulf16u::a#0 ← (word)(signed word) mulf16s::a#0
  [141] (word) mulf16u::b#0 ← (word)(signed word) mulf16s::b#0
  [142] call mulf16u 
  [143] (dword) mulf16u::return#2 ← (dword) mulf16u::return#0
  to:mulf16s::@5
mulf16s::@5: scope:[mulf16s]  from mulf16s
  [144] (dword) mulf16s::m#0 ← (dword) mulf16u::return#2
  [145] if((signed word) mulf16s::a#0>=(signed byte) 0) goto mulf16s::@1
  to:mulf16s::@3
mulf16s::@3: scope:[mulf16s]  from mulf16s::@5
  [146] (word~) mulf16s::$9 ← > (dword) mulf16s::m#0
  [147] (word~) mulf16s::$16 ← (word~) mulf16s::$9 - (word)(signed word) mulf16s::b#0
  [148] (dword) mulf16s::m#1 ← (dword) mulf16s::m#0 hi= (word~) mulf16s::$16
  to:mulf16s::@1
mulf16s::@1: scope:[mulf16s]  from mulf16s::@3 mulf16s::@5
  [149] (dword) mulf16s::m#5 ← phi( mulf16s::@3/(dword) mulf16s::m#1 mulf16s::@5/(dword) mulf16s::m#0 )
  [150] if((signed word) mulf16s::b#0>=(signed byte) 0) goto mulf16s::@2
  to:mulf16s::@4
mulf16s::@4: scope:[mulf16s]  from mulf16s::@1
  [151] (word~) mulf16s::$13 ← > (dword) mulf16s::m#5
  [152] (word~) mulf16s::$17 ← (word~) mulf16s::$13 - (word)(signed word) mulf16s::a#0
  [153] (dword) mulf16s::m#2 ← (dword) mulf16s::m#5 hi= (word~) mulf16s::$17
  to:mulf16s::@2
mulf16s::@2: scope:[mulf16s]  from mulf16s::@1 mulf16s::@4
  [154] (dword) mulf16s::m#4 ← phi( mulf16s::@1/(dword) mulf16s::m#5 mulf16s::@4/(dword) mulf16s::m#2 )
  [155] (signed dword) mulf16s::return#0 ← (signed dword)(dword) mulf16s::m#4
  to:mulf16s::@return
mulf16s::@return: scope:[mulf16s]  from mulf16s::@2
  [156] return 
  to:@return
mulf16u: scope:[mulf16u]  from mul16u_compare::@11 mulf16s
  [157] (word) mulf16u::b#2 ← phi( mul16u_compare::@11/(word) mulf16u::b#1 mulf16s/(word) mulf16u::b#0 )
  [157] (word) mulf16u::a#2 ← phi( mul16u_compare::@11/(word) mulf16u::a#1 mulf16s/(word) mulf16u::a#0 )
  [158] *((const word*) mulf16u::memA#0) ← (word) mulf16u::a#2
  [159] *((const word*) mulf16u::memB#0) ← (word) mulf16u::b#2
  asm { ldamemA stasm1a+1 stasm3a+1 stasm5a+1 stasm7a+1 eor#$ff stasm2a+1 stasm4a+1 stasm6a+1 stasm8a+1 ldamemA+1 stasm1b+1 stasm3b+1 stasm5b+1 stasm7b+1 eor#$ff stasm2b+1 stasm4b+1 stasm6b+1 stasm8b+1 ldxmemB sec sm1a: ldamulf_sqr1_lo,x sm2a: sbcmulf_sqr2_lo,x stamemR+0 sm3a: ldamulf_sqr1_hi,x sm4a: sbcmulf_sqr2_hi,x sta_AA+1 sec sm1b: ldamulf_sqr1_lo,x sm2b: sbcmulf_sqr2_lo,x sta_cc+1 sm3b: ldamulf_sqr1_hi,x sm4b: sbcmulf_sqr2_hi,x sta_CC+1 ldxmemB+1 sec sm5a: ldamulf_sqr1_lo,x sm6a: sbcmulf_sqr2_lo,x sta_bb+1 sm7a: ldamulf_sqr1_hi,x sm8a: sbcmulf_sqr2_hi,x sta_BB+1 sec sm5b: ldamulf_sqr1_lo,x sm6b: sbcmulf_sqr2_lo,x sta_dd+1 sm7b: ldamulf_sqr1_hi,x sm8b: sbcmulf_sqr2_hi,x stamemR+3 clc _AA: lda#0 _bb: adc#0 stamemR+1 _BB: lda#0 _CC: adc#0 stamemR+2 bcc!+ incmemR+3 clc !: _cc: lda#0 adcmemR+1 stamemR+1 _dd: lda#0 adcmemR+2 stamemR+2 bcc!+ incmemR+3 !:  }
  [161] (dword) mulf16u::return#0 ← *((const dword*) mulf16u::memR#0)
  to:mulf16u::@return
mulf16u::@return: scope:[mulf16u]  from mulf16u
  [162] return 
  to:@return
mul16s: scope:[mul16s]  from mul16s_compare::@10
  [163] (word) mul16u::a#1 ← (word)(signed word) mul16s::a#0
  [164] (word) mul16u::b#0 ← (word)(signed word) mul16s::b#0
  [165] call mul16u 
  [166] (dword) mul16u::return#2 ← (dword) mul16u::res#2
  to:mul16s::@5
mul16s::@5: scope:[mul16s]  from mul16s
  [167] (dword) mul16s::m#0 ← (dword) mul16u::return#2
  [168] if((signed word) mul16s::a#0>=(signed byte) 0) goto mul16s::@1
  to:mul16s::@3
mul16s::@3: scope:[mul16s]  from mul16s::@5
  [169] (word~) mul16s::$9 ← > (dword) mul16s::m#0
  [170] (word~) mul16s::$16 ← (word~) mul16s::$9 - (word)(signed word) mul16s::b#0
  [171] (dword) mul16s::m#1 ← (dword) mul16s::m#0 hi= (word~) mul16s::$16
  to:mul16s::@1
mul16s::@1: scope:[mul16s]  from mul16s::@3 mul16s::@5
  [172] (dword) mul16s::m#5 ← phi( mul16s::@3/(dword) mul16s::m#1 mul16s::@5/(dword) mul16s::m#0 )
  [173] if((signed word) mul16s::b#0>=(signed byte) 0) goto mul16s::@2
  to:mul16s::@4
mul16s::@4: scope:[mul16s]  from mul16s::@1
  [174] (word~) mul16s::$13 ← > (dword) mul16s::m#5
  [175] (word~) mul16s::$17 ← (word~) mul16s::$13 - (word)(signed word) mul16s::a#0
  [176] (dword) mul16s::m#2 ← (dword) mul16s::m#5 hi= (word~) mul16s::$17
  to:mul16s::@2
mul16s::@2: scope:[mul16s]  from mul16s::@1 mul16s::@4
  [177] (dword) mul16s::m#4 ← phi( mul16s::@1/(dword) mul16s::m#5 mul16s::@4/(dword) mul16s::m#2 )
  [178] (signed dword) mul16s::return#0 ← (signed dword)(dword) mul16s::m#4
  to:mul16s::@return
mul16s::@return: scope:[mul16s]  from mul16s::@2
  [179] return 
  to:@return
mul16u: scope:[mul16u]  from mul16s mul16u_compare::@10
  [180] (word) mul16u::a#6 ← phi( mul16s/(word) mul16u::a#1 mul16u_compare::@10/(word) mul16u::a#2 )
  [180] (dword) mul16u::mb#0 ← phi( mul16s/(word) mul16u::b#0 mul16u_compare::@10/(word) mul16u::b#1 )
  to:mul16u::@1
mul16u::@1: scope:[mul16u]  from mul16u mul16u::@3
  [181] (dword) mul16u::mb#2 ← phi( mul16u/(dword) mul16u::mb#0 mul16u::@3/(dword) mul16u::mb#1 )
  [181] (dword) mul16u::res#2 ← phi( mul16u/(byte) 0 mul16u::@3/(dword) mul16u::res#6 )
  [181] (word) mul16u::a#3 ← phi( mul16u/(word) mul16u::a#6 mul16u::@3/(word) mul16u::a#0 )
  [182] if((word) mul16u::a#3!=(byte) 0) goto mul16u::@2
  to:mul16u::@return
mul16u::@return: scope:[mul16u]  from mul16u::@1
  [183] return 
  to:@return
mul16u::@2: scope:[mul16u]  from mul16u::@1
  [184] (byte~) mul16u::$1 ← (word) mul16u::a#3 & (byte) 1
  [185] if((byte~) mul16u::$1==(byte) 0) goto mul16u::@3
  to:mul16u::@4
mul16u::@4: scope:[mul16u]  from mul16u::@2
  [186] (dword) mul16u::res#1 ← (dword) mul16u::res#2 + (dword) mul16u::mb#2
  to:mul16u::@3
mul16u::@3: scope:[mul16u]  from mul16u::@2 mul16u::@4
  [187] (dword) mul16u::res#6 ← phi( mul16u::@2/(dword) mul16u::res#2 mul16u::@4/(dword) mul16u::res#1 )
  [188] (word) mul16u::a#0 ← (word) mul16u::a#3 >> (byte) 1
  [189] (dword) mul16u::mb#1 ← (dword) mul16u::mb#2 << (byte) 1
  to:mul16u::@1
muls16s: scope:[muls16s]  from mul16s_compare::@2
  [190] if((signed word) muls16s::a#0<(signed byte) 0) goto muls16s::@4
  to:muls16s::@2
muls16s::@2: scope:[muls16s]  from muls16s
  [191] if((signed word) muls16s::a#0<=(signed byte) 0) goto muls16s::@1
  to:muls16s::@3
muls16s::@3: scope:[muls16s]  from muls16s::@2 muls16s::@3
  [192] (signed word) muls16s::j#2 ← phi( muls16s::@2/(signed byte) 0 muls16s::@3/(signed word) muls16s::j#1 )
  [192] (signed dword) muls16s::m#3 ← phi( muls16s::@2/(signed byte) 0 muls16s::@3/(signed dword) muls16s::m#1 )
  [193] (signed dword) muls16s::m#1 ← (signed dword) muls16s::m#3 + (signed word) muls16s::b#0
  [194] (signed word) muls16s::j#1 ← ++ (signed word) muls16s::j#2
  [195] if((signed word) muls16s::j#1!=(signed word) muls16s::a#0) goto muls16s::@3
  to:muls16s::@1
muls16s::@1: scope:[muls16s]  from muls16s::@2 muls16s::@3 muls16s::@4
  [196] (signed dword) muls16s::return#0 ← phi( muls16s::@4/(signed dword) muls16s::m#2 muls16s::@2/(signed byte) 0 muls16s::@3/(signed dword) muls16s::m#1 )
  to:muls16s::@return
muls16s::@return: scope:[muls16s]  from muls16s::@1
  [197] return 
  to:@return
muls16s::@4: scope:[muls16s]  from muls16s muls16s::@4
  [198] (signed word) muls16s::i#2 ← phi( muls16s/(signed byte) 0 muls16s::@4/(signed word) muls16s::i#1 )
  [198] (signed dword) muls16s::m#5 ← phi( muls16s/(signed byte) 0 muls16s::@4/(signed dword) muls16s::m#2 )
  [199] (signed dword) muls16s::m#2 ← (signed dword) muls16s::m#5 - (signed word) muls16s::b#0
  [200] (signed word) muls16s::i#1 ← -- (signed word) muls16s::i#2
  [201] if((signed word) muls16s::i#1!=(signed word) muls16s::a#0) goto muls16s::@4
  to:muls16s::@1
mul16u_compare: scope:[mul16u_compare]  from main::@2
  [202] phi()
  to:mul16u_compare::@1
mul16u_compare::@1: scope:[mul16u_compare]  from mul16u_compare mul16u_compare::@8
  [203] (byte) mul16u_compare::i#12 ← phi( mul16u_compare/(byte) 0 mul16u_compare::@8/(byte) mul16u_compare::i#1 )
  [203] (word) mul16u_compare::b#6 ← phi( mul16u_compare/(byte) 0 mul16u_compare::@8/(word) mul16u_compare::b#1 )
  [203] (word) mul16u_compare::a#6 ← phi( mul16u_compare/(byte) 0 mul16u_compare::@8/(word) mul16u_compare::a#1 )
  [203] (byte*) print_char_cursor#145 ← phi( mul16u_compare/(byte*) 1024 mul16u_compare::@8/(byte*) print_char_cursor#132 )
  [204] call print_str 
  to:mul16u_compare::@2
mul16u_compare::@2: scope:[mul16u_compare]  from mul16u_compare::@1 mul16u_compare::@5
  [205] (byte) mul16u_compare::j#10 ← phi( mul16u_compare::@1/(byte) 0 mul16u_compare::@5/(byte) mul16u_compare::j#1 )
  [205] (word) mul16u_compare::b#2 ← phi( mul16u_compare::@1/(word) mul16u_compare::b#6 mul16u_compare::@5/(word) mul16u_compare::b#1 )
  [205] (word) mul16u_compare::a#2 ← phi( mul16u_compare::@1/(word) mul16u_compare::a#6 mul16u_compare::@5/(word) mul16u_compare::a#1 )
  [206] (word) mul16u_compare::a#1 ← (word) mul16u_compare::a#2 + (word) $d2b
  [207] (word) mul16u_compare::b#1 ← (word) mul16u_compare::b#2 + (word) $ffd
  [208] (word) muls16u::a#0 ← (word) mul16u_compare::a#1
  [209] (word) muls16u::b#0 ← (word) mul16u_compare::b#1
  [210] call muls16u 
  [211] (dword) muls16u::return#2 ← (dword) muls16u::return#0
  to:mul16u_compare::@10
mul16u_compare::@10: scope:[mul16u_compare]  from mul16u_compare::@2
  [212] (dword) mul16u_compare::ms#0 ← (dword) muls16u::return#2
  [213] (word) mul16u::a#2 ← (word) mul16u_compare::a#1
  [214] (word) mul16u::b#1 ← (word) mul16u_compare::b#1
  [215] call mul16u 
  [216] (dword) mul16u::return#3 ← (dword) mul16u::res#2
  to:mul16u_compare::@11
mul16u_compare::@11: scope:[mul16u_compare]  from mul16u_compare::@10
  [217] (dword) mul16u_compare::mn#0 ← (dword) mul16u::return#3
  [218] (word) mulf16u::a#1 ← (word) mul16u_compare::a#1
  [219] (word) mulf16u::b#1 ← (word) mul16u_compare::b#1
  [220] call mulf16u 
  [221] (dword) mulf16u::return#3 ← (dword) mulf16u::return#0
  to:mul16u_compare::@12
mul16u_compare::@12: scope:[mul16u_compare]  from mul16u_compare::@11
  [222] (dword) mul16u_compare::mf#0 ← (dword) mulf16u::return#3
  [223] if((dword) mul16u_compare::ms#0==(dword) mul16u_compare::mf#0) goto mul16u_compare::@3
  to:mul16u_compare::@6
mul16u_compare::@6: scope:[mul16u_compare]  from mul16u_compare::@12
  [224] phi()
  to:mul16u_compare::@3
mul16u_compare::@3: scope:[mul16u_compare]  from mul16u_compare::@12 mul16u_compare::@6
  [225] (byte) mul16u_compare::ok#4 ← phi( mul16u_compare::@12/(byte) 1 mul16u_compare::@6/(byte) 0 )
  [226] if((dword) mul16u_compare::ms#0==(dword) mul16u_compare::mn#0) goto mul16u_compare::@15
  to:mul16u_compare::@4
mul16u_compare::@15: scope:[mul16u_compare]  from mul16u_compare::@3
  [227] phi()
  to:mul16u_compare::@4
mul16u_compare::@4: scope:[mul16u_compare]  from mul16u_compare::@15 mul16u_compare::@3
  [228] (byte) mul16u_compare::ok#3 ← phi( mul16u_compare::@15/(byte) mul16u_compare::ok#4 mul16u_compare::@3/(byte) 0 )
  [229] if((byte) mul16u_compare::ok#3!=(byte) 0) goto mul16u_compare::@5
  to:mul16u_compare::@7
mul16u_compare::@7: scope:[mul16u_compare]  from mul16u_compare::@4
  [230] *((const byte*) BGCOL#0) ← (byte) 2
  [231] (word) mul16u_error::a#0 ← (word) mul16u_compare::a#1
  [232] (word) mul16u_error::b#0 ← (word) mul16u_compare::b#1
  [233] (dword) mul16u_error::ms#0 ← (dword) mul16u_compare::ms#0
  [234] (dword) mul16u_error::mn#0 ← (dword) mul16u_compare::mn#0
  [235] (dword) mul16u_error::mf#0 ← (dword) mul16u_compare::mf#0
  [236] call mul16u_error 
  to:mul16u_compare::@return
mul16u_compare::@return: scope:[mul16u_compare]  from mul16u_compare::@14 mul16u_compare::@7
  [237] return 
  to:@return
mul16u_compare::@5: scope:[mul16u_compare]  from mul16u_compare::@4
  [238] (byte) mul16u_compare::j#1 ← ++ (byte) mul16u_compare::j#10
  [239] if((byte) mul16u_compare::j#1!=(byte) $10) goto mul16u_compare::@2
  to:mul16u_compare::@8
mul16u_compare::@8: scope:[mul16u_compare]  from mul16u_compare::@5
  [240] (byte) mul16u_compare::i#1 ← ++ (byte) mul16u_compare::i#12
  [241] if((byte) mul16u_compare::i#1!=(byte) $10) goto mul16u_compare::@1
  to:mul16u_compare::@9
mul16u_compare::@9: scope:[mul16u_compare]  from mul16u_compare::@8
  [242] phi()
  [243] call print_ln 
  to:mul16u_compare::@13
mul16u_compare::@13: scope:[mul16u_compare]  from mul16u_compare::@9
  [244] (byte*~) print_char_cursor#190 ← (byte*) print_line_cursor#1
  [245] call print_str 
  to:mul16u_compare::@14
mul16u_compare::@14: scope:[mul16u_compare]  from mul16u_compare::@13
  [246] phi()
  [247] call print_ln 
  to:mul16u_compare::@return
mul16u_error: scope:[mul16u_error]  from mul16u_compare::@7
  [248] phi()
  [249] call print_str 
  to:mul16u_error::@1
mul16u_error::@1: scope:[mul16u_error]  from mul16u_error
  [250] (word) print_word::w#3 ← (word) mul16u_error::a#0
  [251] call print_word 
  to:mul16u_error::@2
mul16u_error::@2: scope:[mul16u_error]  from mul16u_error::@1
  [252] phi()
  [253] call print_str 
  to:mul16u_error::@3
mul16u_error::@3: scope:[mul16u_error]  from mul16u_error::@2
  [254] (word) print_word::w#4 ← (word) mul16u_error::b#0
  [255] call print_word 
  to:mul16u_error::@4
mul16u_error::@4: scope:[mul16u_error]  from mul16u_error::@3
  [256] phi()
  [257] call print_str 
  to:mul16u_error::@5
mul16u_error::@5: scope:[mul16u_error]  from mul16u_error::@4
  [258] (dword) print_dword::dw#1 ← (dword) mul16u_error::ms#0
  [259] call print_dword 
  to:mul16u_error::@6
mul16u_error::@6: scope:[mul16u_error]  from mul16u_error::@5
  [260] phi()
  [261] call print_str 
  to:mul16u_error::@7
mul16u_error::@7: scope:[mul16u_error]  from mul16u_error::@6
  [262] (dword) print_dword::dw#2 ← (dword) mul16u_error::mn#0
  [263] call print_dword 
  to:mul16u_error::@8
mul16u_error::@8: scope:[mul16u_error]  from mul16u_error::@7
  [264] phi()
  [265] call print_str 
  to:mul16u_error::@9
mul16u_error::@9: scope:[mul16u_error]  from mul16u_error::@8
  [266] (dword) print_dword::dw#3 ← (dword) mul16u_error::mf#0
  [267] call print_dword 
  to:mul16u_error::@10
mul16u_error::@10: scope:[mul16u_error]  from mul16u_error::@9
  [268] phi()
  [269] call print_ln 
  to:mul16u_error::@return
mul16u_error::@return: scope:[mul16u_error]  from mul16u_error::@10
  [270] return 
  to:@return
muls16u: scope:[muls16u]  from mul16u_compare::@2
  [271] if((word) muls16u::a#0==(byte) 0) goto muls16u::@1
  to:muls16u::@2
muls16u::@2: scope:[muls16u]  from muls16u muls16u::@2
  [272] (word) muls16u::i#2 ← phi( muls16u/(byte) 0 muls16u::@2/(word) muls16u::i#1 )
  [272] (dword) muls16u::m#3 ← phi( muls16u/(byte) 0 muls16u::@2/(dword) muls16u::m#1 )
  [273] (dword) muls16u::m#1 ← (dword) muls16u::m#3 + (word) muls16u::b#0
  [274] (word) muls16u::i#1 ← ++ (word) muls16u::i#2
  [275] if((word) muls16u::i#1!=(word) muls16u::a#0) goto muls16u::@2
  to:muls16u::@1
muls16u::@1: scope:[muls16u]  from muls16u muls16u::@2
  [276] (dword) muls16u::return#0 ← phi( muls16u/(byte) 0 muls16u::@2/(dword) muls16u::m#1 )
  to:muls16u::@return
muls16u::@return: scope:[muls16u]  from muls16u::@1
  [277] return 
  to:@return
mulf_init: scope:[mulf_init]  from main::@1
  [278] phi()
  to:mulf_init::@1
mulf_init::@1: scope:[mulf_init]  from mulf_init mulf_init::@2
  [279] (byte) mulf_init::x_2#3 ← phi( mulf_init/(byte) 0 mulf_init::@2/(byte) mulf_init::x_2#2 )
  [279] (byte*) mulf_init::sqr1_hi#2 ← phi( mulf_init/(const byte[$200]) mulf_sqr1_hi#0+(byte) 1 mulf_init::@2/(byte*) mulf_init::sqr1_hi#1 )
  [279] (byte*) mulf_init::sqr1_lo#2 ← phi( mulf_init/(const byte[$200]) mulf_sqr1_lo#0+(byte) 1 mulf_init::@2/(byte*) mulf_init::sqr1_lo#1 )
  [279] (word) mulf_init::sqr#4 ← phi( mulf_init/(byte) 0 mulf_init::@2/(word) mulf_init::sqr#1 )
  [279] (byte) mulf_init::c#2 ← phi( mulf_init/(byte) 0 mulf_init::@2/(byte) mulf_init::c#1 )
  [280] (byte) mulf_init::c#1 ← ++ (byte) mulf_init::c#2
  [281] (byte~) mulf_init::$7 ← (byte) mulf_init::c#1 & (byte) 1
  [282] if((byte~) mulf_init::$7!=(byte) 0) goto mulf_init::@2
  to:mulf_init::@3
mulf_init::@3: scope:[mulf_init]  from mulf_init::@1
  [283] (byte) mulf_init::x_2#1 ← ++ (byte) mulf_init::x_2#3
  [284] (word) mulf_init::sqr#2 ← ++ (word) mulf_init::sqr#4
  to:mulf_init::@2
mulf_init::@2: scope:[mulf_init]  from mulf_init::@1 mulf_init::@3
  [285] (byte) mulf_init::x_2#2 ← phi( mulf_init::@1/(byte) mulf_init::x_2#3 mulf_init::@3/(byte) mulf_init::x_2#1 )
  [285] (word) mulf_init::sqr#3 ← phi( mulf_init::@1/(word) mulf_init::sqr#4 mulf_init::@3/(word) mulf_init::sqr#2 )
  [286] (byte~) mulf_init::$10 ← < (word) mulf_init::sqr#3
  [287] *((byte*) mulf_init::sqr1_lo#2) ← (byte~) mulf_init::$10
  [288] (byte~) mulf_init::$11 ← > (word) mulf_init::sqr#3
  [289] *((byte*) mulf_init::sqr1_hi#2) ← (byte~) mulf_init::$11
  [290] (byte*) mulf_init::sqr1_hi#1 ← ++ (byte*) mulf_init::sqr1_hi#2
  [291] (word) mulf_init::sqr#1 ← (word) mulf_init::sqr#3 + (byte) mulf_init::x_2#2
  [292] (byte*) mulf_init::sqr1_lo#1 ← ++ (byte*) mulf_init::sqr1_lo#2
  [293] if((byte*) mulf_init::sqr1_lo#1!=(const byte[$200]) mulf_sqr1_lo#0+(word) $200) goto mulf_init::@1
  to:mulf_init::@4
mulf_init::@4: scope:[mulf_init]  from mulf_init::@2 mulf_init::@5
  [294] (byte) mulf_init::dir#2 ← phi( mulf_init::@2/(byte) $ff mulf_init::@5/(byte) mulf_init::dir#3 )
  [294] (byte*) mulf_init::sqr2_hi#2 ← phi( mulf_init::@2/(const byte[$200]) mulf_sqr2_hi#0 mulf_init::@5/(byte*) mulf_init::sqr2_hi#1 )
  [294] (byte*) mulf_init::sqr2_lo#2 ← phi( mulf_init::@2/(const byte[$200]) mulf_sqr2_lo#0 mulf_init::@5/(byte*) mulf_init::sqr2_lo#1 )
  [294] (byte) mulf_init::x_255#2 ← phi( mulf_init::@2/(byte) -1 mulf_init::@5/(byte) mulf_init::x_255#1 )
  [295] *((byte*) mulf_init::sqr2_lo#2) ← *((const byte[$200]) mulf_sqr1_lo#0 + (byte) mulf_init::x_255#2)
  [296] *((byte*) mulf_init::sqr2_hi#2) ← *((const byte[$200]) mulf_sqr1_hi#0 + (byte) mulf_init::x_255#2)
  [297] (byte*) mulf_init::sqr2_hi#1 ← ++ (byte*) mulf_init::sqr2_hi#2
  [298] (byte) mulf_init::x_255#1 ← (byte) mulf_init::x_255#2 + (byte) mulf_init::dir#2
  [299] if((byte) mulf_init::x_255#1!=(byte) 0) goto mulf_init::@7
  to:mulf_init::@5
mulf_init::@7: scope:[mulf_init]  from mulf_init::@4
  [300] phi()
  to:mulf_init::@5
mulf_init::@5: scope:[mulf_init]  from mulf_init::@4 mulf_init::@7
  [301] (byte) mulf_init::dir#3 ← phi( mulf_init::@7/(byte) mulf_init::dir#2 mulf_init::@4/(byte) 1 )
  [302] (byte*) mulf_init::sqr2_lo#1 ← ++ (byte*) mulf_init::sqr2_lo#2
  [303] if((byte*) mulf_init::sqr2_lo#1!=(const byte[$200]) mulf_sqr2_lo#0+(word) $1ff) goto mulf_init::@4
  to:mulf_init::@6
mulf_init::@6: scope:[mulf_init]  from mulf_init::@5
  [304] *((const byte[$200]) mulf_sqr2_lo#0+(word) $1ff) ← *((const byte[$200]) mulf_sqr1_lo#0+(word) $100)
  [305] *((const byte[$200]) mulf_sqr2_hi#0+(word) $1ff) ← *((const byte[$200]) mulf_sqr1_hi#0+(word) $100)
  to:mulf_init::@return
mulf_init::@return: scope:[mulf_init]  from mulf_init::@6
  [306] return 
  to:@return
print_cls: scope:[print_cls]  from main
  [307] phi()
  [308] call memset 
  to:print_cls::@return
print_cls::@return: scope:[print_cls]  from print_cls
  [309] return 
  to:@return
memset: scope:[memset]  from print_cls
  [310] phi()
  to:memset::@1
memset::@1: scope:[memset]  from memset memset::@1
  [311] (byte*) memset::dst#2 ← phi( memset/(byte*)(const void*) memset::str#0 memset::@1/(byte*) memset::dst#1 )
  [312] *((byte*) memset::dst#2) ← (const byte) memset::c#0
  [313] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2
  [314] if((byte*) memset::dst#1!=(const byte*) memset::end#0) goto memset::@1
  to:memset::@return
memset::@return: scope:[memset]  from memset::@1
  [315] return 
  to:@return
