(label) @1
(label) @begin
(label) @end
(byte*) BGCOL
(const byte*) BGCOL#0 BGCOL = (byte*) 53281
(const byte) RADIX::BINARY BINARY = (number) 2
(const byte) RADIX::DECIMAL DECIMAL = (number) $a
(const byte) RADIX::HEXADECIMAL HEXADECIMAL = (number) $10
(const byte) RADIX::OCTAL OCTAL = (number) 8
(void()) main()
(label) main::@1
(label) main::@2
(label) main::@3
(label) main::@4
(label) main::@5
(label) main::@return
(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 ZP_WORD:12 16.5
(byte*) memset::dst#4 dst zp ZP_WORD:12 16.5
(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()) mul8s_compare()
(label) mul8s_compare::@1
(label) mul8s_compare::@2
(label) mul8s_compare::@return
(signed byte) mul8s_compare::a
(signed byte) mul8s_compare::b
(signed word) mul8s_compare::mf
(signed word) mul8s_compare::mn
(signed word) mul8s_compare::ms
(byte) mul8s_compare::ok
(const string) mul8s_compare::str str = (string) "signed multiply results match!"
(word()) mul8u((byte) mul8u::a , (byte) mul8u::b)
(byte~) mul8u::$1 reg byte a 2002.0
(label) mul8u::@1
(label) mul8u::@2
(label) mul8u::@3
(label) mul8u::@4
(label) mul8u::@return
(byte) mul8u::a
(byte) mul8u::a#0 reg byte x 1001.0
(byte) mul8u::a#2 reg byte x 34.33333333333333
(byte) mul8u::a#3 reg byte x 667.6666666666667
(byte) mul8u::b
(byte) mul8u::b#1 reg byte a 51.5
(word) mul8u::mb
(word) mul8u::mb#1 mb zp ZP_WORD:12 2002.0
(word) mul8u::mb#2 mb zp ZP_WORD:12 429.2857142857143
(word) mul8u::res
(word) mul8u::res#1 res zp ZP_WORD:9 2002.0
(word) mul8u::res#2 res zp ZP_WORD:9 517.3333333333334
(word) mul8u::res#6 res zp ZP_WORD:9 1001.0
(word) mul8u::return
(word) mul8u::return#3 return zp ZP_WORD:9 202.0
(void()) mul8u_compare()
(label) mul8u_compare::@1
(label) mul8u_compare::@10
(label) mul8u_compare::@11
(label) mul8u_compare::@12
(label) mul8u_compare::@13
(label) mul8u_compare::@14
(label) mul8u_compare::@2
(label) mul8u_compare::@3
(label) mul8u_compare::@4
(label) mul8u_compare::@5
(label) mul8u_compare::@6
(label) mul8u_compare::@7
(label) mul8u_compare::@8
(label) mul8u_compare::@9
(label) mul8u_compare::@return
(byte) mul8u_compare::a
(byte) mul8u_compare::a#1 a zp ZP_BYTE:6 16.5
(byte) mul8u_compare::a#7 a zp ZP_BYTE:6 12.11111111111111
(byte) mul8u_compare::b
(byte) mul8u_compare::b#1 b zp ZP_BYTE:11 151.5
(byte) mul8u_compare::b#10 b zp ZP_BYTE:11 20.279999999999998
(word) mul8u_compare::mf
(word) mul8u_compare::mf#0 mf zp ZP_WORD:14 11.333333333333332
(word) mul8u_compare::mn
(word) mul8u_compare::mn#0 mn zp ZP_WORD:9 17.0
(word) mul8u_compare::ms
(word) mul8u_compare::ms#0 ms zp ZP_WORD:4 14.523809523809522
(byte) mul8u_compare::ok
(byte) mul8u_compare::ok#3 reg byte x 202.0
(byte) mul8u_compare::ok#4 reg byte x 33.666666666666664
(const string) mul8u_compare::str str = (string) "multiply results match!"
(void()) mul8u_error((byte) mul8u_error::a , (byte) mul8u_error::b , (word) mul8u_error::ms , (word) mul8u_error::mn , (word) mul8u_error::mf)
(label) mul8u_error::@1
(label) mul8u_error::@10
(label) mul8u_error::@2
(label) mul8u_error::@3
(label) mul8u_error::@4
(label) mul8u_error::@5
(label) mul8u_error::@6
(label) mul8u_error::@7
(label) mul8u_error::@8
(label) mul8u_error::@9
(label) mul8u_error::@return
(byte) mul8u_error::a
(byte) mul8u_error::a#0 reg byte x 0.5714285714285714
(byte) mul8u_error::b
(byte) mul8u_error::b#0 b zp ZP_BYTE:11 0.4
(word) mul8u_error::mf
(word) mul8u_error::mf#0 mf zp ZP_WORD:14 0.21052631578947367
(word) mul8u_error::mn
(word) mul8u_error::mn#0 mn zp ZP_WORD:9 0.25
(word) mul8u_error::ms
(word) mul8u_error::ms#0 ms zp ZP_WORD:4 0.3076923076923077
(const string) mul8u_error::str str = (string) "multiply mismatch "
(byte[$200]) mula_sqr1_hi
(const byte[$200]) mula_sqr1_hi#0 mula_sqr1_hi = { fill( $200, 0) }
(byte[$200]) mula_sqr1_lo
(const byte[$200]) mula_sqr1_lo#0 mula_sqr1_lo = { fill( $200, 0) }
(byte[$200]) mula_sqr2_hi
(const byte[$200]) mula_sqr2_hi#0 mula_sqr2_hi = { fill( $200, 0) }
(byte[$200]) mula_sqr2_lo
(const byte[$200]) mula_sqr2_lo#0 mula_sqr2_lo = { fill( $200, 0) }
(word()) mulf8u((byte) mulf8u::a , (byte) mulf8u::b)
(label) mulf8u::@1
(label) mulf8u::@2
(label) mulf8u::@return
(byte) mulf8u::a
(byte) mulf8u::a#0 reg byte a 51.5
(byte) mulf8u::b
(byte) mulf8u::b#0 reg byte x 34.33333333333333
(word) mulf8u::return
(word) mulf8u::return#0 return zp ZP_WORD:14 34.33333333333333
(word) mulf8u::return#2 return zp ZP_WORD:14 202.0
(void()) mulf8u_prepare((byte) mulf8u_prepare::a)
(label) mulf8u_prepare::@return
(byte) mulf8u_prepare::a
(byte) mulf8u_prepare::a#0 reg byte a 4.0
(byte*) mulf8u_prepare::memA
(const byte*) mulf8u_prepare::memA#0 memA = (byte*) 253
(word()) mulf8u_prepared((byte) mulf8u_prepared::b)
(label) mulf8u_prepared::@return
(byte) mulf8u_prepared::b
(byte) mulf8u_prepared::b#0 reg byte x 4.0
(byte*) mulf8u_prepared::memB
(const byte*) mulf8u_prepared::memB#0 memB = (byte*) 255
(byte*) mulf8u_prepared::resL
(const byte*) mulf8u_prepared::resL#0 resL = (byte*) 254
(word) mulf8u_prepared::return
(word) mulf8u_prepared::return#0 return zp ZP_WORD:14 1.3333333333333333
(word) mulf8u_prepared::return#2 return zp ZP_WORD:14 4.0
(void()) mulf_init()
(byte~) mulf_init::$12 reg byte a 22.0
(byte~) mulf_init::$13 reg byte a 22.0
(byte~) mulf_init::$9 reg byte a 22.0
(label) mulf_init::@1
(label) mulf_init::@2
(label) mulf_init::@3
(label) mulf_init::@4
(label) mulf_init::@5
(label) mulf_init::@6
(label) mulf_init::@7
(label) mulf_init::@8
(label) mulf_init::@9
(label) mulf_init::@return
(byte) mulf_init::c
(byte) mulf_init::c#1 c zp ZP_BYTE:6 2.5384615384615383
(byte) mulf_init::c#2 c zp ZP_BYTE:6 11.0
(byte) mulf_init::dir
(byte) mulf_init::dir#2 dir zp ZP_BYTE:11 4.125
(byte) mulf_init::dir#4 dir zp ZP_BYTE:11 11.0
(word) mulf_init::sqr
(word) mulf_init::sqr#1 sqr zp ZP_WORD:14 11.0
(word) mulf_init::sqr#2 sqr zp ZP_WORD:14 22.0
(word) mulf_init::sqr#3 sqr zp ZP_WORD:14 9.166666666666666
(word) mulf_init::sqr#4 sqr zp ZP_WORD:14 5.5
(byte*) mulf_init::sqr1_hi
(byte*) mulf_init::sqr1_hi#1 sqr1_hi zp ZP_WORD:7 7.333333333333333
(byte*) mulf_init::sqr1_hi#2 sqr1_hi zp ZP_WORD:7 2.75
(byte*) mulf_init::sqr1_lo
(byte*) mulf_init::sqr1_lo#1 sqr1_lo zp ZP_WORD:4 22.0
(byte*) mulf_init::sqr1_lo#2 sqr1_lo zp ZP_WORD:4 3.142857142857143
(byte*) mulf_init::sqr2_hi
(byte*) mulf_init::sqr2_hi#1 sqr2_hi zp ZP_WORD:12 3.6666666666666665
(byte*) mulf_init::sqr2_hi#2 sqr2_hi zp ZP_WORD:12 8.25
(byte*) mulf_init::sqr2_lo
(byte*) mulf_init::sqr2_lo#1 sqr2_lo zp ZP_WORD:9 22.0
(byte*) mulf_init::sqr2_lo#2 sqr2_lo zp ZP_WORD:9 4.888888888888889
(byte) mulf_init::x_2
(byte) mulf_init::x_2#1 reg byte x 11.0
(byte) mulf_init::x_2#2 reg byte x 5.5
(byte) mulf_init::x_2#3 reg byte x 6.6000000000000005
(byte) mulf_init::x_255
(byte) mulf_init::x_255#1 reg byte x 6.6000000000000005
(byte) mulf_init::x_255#2 reg byte x 8.8
(void()) mulf_init_asm()
(label) mulf_init_asm::@return
(byte*) mulf_init_asm::mem
(const byte*) mulf_init_asm::mem#0 mem = (byte*) 255
(byte[$200]) mulf_sqr1_hi
(const byte[$200]) mulf_sqr1_hi#0 mulf_sqr1_hi = { fill( $200, 0) }
(byte[$200]) mulf_sqr1_lo
(const byte[$200]) mulf_sqr1_lo#0 mulf_sqr1_lo = { fill( $200, 0) }
(byte[$200]) mulf_sqr2_hi
(const byte[$200]) mulf_sqr2_hi#0 mulf_sqr2_hi = { fill( $200, 0) }
(byte[$200]) mulf_sqr2_lo
(const byte[$200]) mulf_sqr2_lo#0 mulf_sqr2_lo = { fill( $200, 0) }
(void()) mulf_tables_cmp()
(label) mulf_tables_cmp::@1
(label) mulf_tables_cmp::@10
(label) mulf_tables_cmp::@2
(label) mulf_tables_cmp::@3
(label) mulf_tables_cmp::@4
(label) mulf_tables_cmp::@5
(label) mulf_tables_cmp::@6
(label) mulf_tables_cmp::@7
(label) mulf_tables_cmp::@8
(label) mulf_tables_cmp::@9
(label) mulf_tables_cmp::@return
(byte*) mulf_tables_cmp::asm_sqr
(byte*) mulf_tables_cmp::asm_sqr#1 asm_sqr zp ZP_WORD:4 11.0
(byte*) mulf_tables_cmp::asm_sqr#2 asm_sqr zp ZP_WORD:4 6.6000000000000005
(byte*) mulf_tables_cmp::kc_sqr
(byte*) mulf_tables_cmp::kc_sqr#1 kc_sqr zp ZP_WORD:2 22.0
(byte*) mulf_tables_cmp::kc_sqr#2 kc_sqr zp ZP_WORD:2 4.4
(const string) mulf_tables_cmp::str str = (string) "multiply tables match!"
(const string) mulf_tables_cmp::str1 str1 = (string) "multiply table mismatch at "
(const string) mulf_tables_cmp::str2 str2 = (string) " / "
(word()) muls8u((byte) muls8u::a , (byte) muls8u::b)
(label) muls8u::@1
(label) muls8u::@2
(label) muls8u::@3
(label) muls8u::@return
(byte) muls8u::a
(byte) muls8u::a#0 a zp ZP_BYTE:6 157.71428571428572
(byte) muls8u::b
(byte) muls8u::b#0 reg byte x 183.66666666666669
(byte) muls8u::i
(byte) muls8u::i#1 reg byte y 2002.0
(byte) muls8u::i#2 reg byte y 1001.0
(word) muls8u::m
(word) muls8u::m#1 m zp ZP_WORD:4 1001.0
(word) muls8u::m#3 m zp ZP_WORD:4 1501.5
(word) muls8u::return
(word) muls8u::return#0 return zp ZP_WORD:4 367.33333333333337
(word) muls8u::return#2 return zp ZP_WORD:4 202.0
(void()) print_byte((byte) print_byte::b)
(byte~) print_byte::$0 reg byte a 4.0
(byte~) print_byte::$2 reg byte x 4.0
(label) print_byte::@1
(label) print_byte::@return
(byte) print_byte::b
(byte) print_byte::b#1 reg byte x 4.0
(byte) print_byte::b#2 reg byte x 4.0
(byte) print_byte::b#3 reg byte x 4.0
(byte) print_byte::b#4 reg byte x 4.0
(byte) print_byte::b#5 reg byte x 3.0
(void()) print_char((byte) print_char::ch)
(label) print_char::@return
(byte) print_char::ch
(byte) print_char::ch#4 reg byte a 4.0
(byte) print_char::ch#5 reg byte a 4.0
(byte) print_char::ch#6 reg byte a 6.0
(byte*) print_char_cursor
(byte*) print_char_cursor#1 print_char_cursor zp ZP_WORD:7 11.0
(byte*) print_char_cursor#100 print_char_cursor zp ZP_WORD:7 0.1951219512195122
(byte*) print_char_cursor#134 print_char_cursor zp ZP_WORD:7 1.8076923076923077
(byte*) print_char_cursor#135 print_char_cursor zp ZP_WORD:7 4.75
(byte*) print_char_cursor#143 print_char_cursor zp ZP_WORD:7 3.333333333333333
(byte*) print_char_cursor#155 print_char_cursor zp ZP_WORD:7 18.0
(byte*) print_char_cursor#19 print_char_cursor zp ZP_WORD:7 0.8333333333333334
(byte*~) print_char_cursor#193 print_char_cursor zp ZP_WORD:7 4.0
(byte*~) print_char_cursor#213 print_char_cursor zp ZP_WORD:7 4.0
(byte*) print_char_cursor#86 print_char_cursor zp ZP_WORD:7 4.0
(void()) print_cls()
(label) print_cls::@return
(byte[]) print_hextab
(const byte[]) print_hextab#0 print_hextab = (string) "0123456789abcdef"z
(byte*) print_line_cursor
(byte*) print_line_cursor#1 print_line_cursor zp ZP_WORD:2 2.5625
(byte*) print_line_cursor#11 print_line_cursor zp ZP_WORD:2 0.09523809523809523
(byte*) print_line_cursor#23 print_line_cursor zp ZP_WORD:2 24.0
(byte*) print_line_cursor#45 print_line_cursor zp ZP_WORD:2 8.0
(void()) print_ln()
(label) print_ln::@1
(label) print_ln::@return
(byte*) print_screen
(void()) print_str((byte*) print_str::str)
(label) print_str::@1
(label) print_str::@2
(label) print_str::@return
(byte*) print_str::str
(byte*) print_str::str#0 str zp ZP_WORD:12 22.0
(byte*) print_str::str#16 str zp ZP_WORD:12 11.5
(byte*) print_str::str#18 str zp ZP_WORD:12 2.0
(void()) print_word((word) print_word::w)
(label) print_word::@1
(label) print_word::@return
(word) print_word::w
(word) print_word::w#1 w zp ZP_WORD:4 4.0
(word) print_word::w#2 w zp ZP_WORD:4 4.0
(word) print_word::w#3 w zp ZP_WORD:4 4.0
(word) print_word::w#4 w zp ZP_WORD:4 4.0
(word) print_word::w#5 w zp ZP_WORD:4 4.0
(word) print_word::w#6 w zp ZP_WORD:4 4.666666666666666
(const string) str1 str1 = (string) "*"
(const string) str2 str2 = (string) " slow:"
(const string) str3 str3 = (string) " / normal:"
(const string) str4 str4 = (string) " / fast:"

reg byte x [ mul8u_compare::ok#3 mul8u_compare::ok#4 ]
reg byte x [ print_byte::b#5 print_byte::b#3 print_byte::b#4 print_byte::b#1 print_byte::b#2 ]
reg byte a [ print_char::ch#6 print_char::ch#4 print_char::ch#5 ]
reg byte x [ mul8u::a#3 mul8u::a#2 mul8u::a#0 ]
reg byte a [ mul8u::b#1 ]
reg byte y [ muls8u::i#2 muls8u::i#1 ]
zp ZP_WORD:2 [ mulf_tables_cmp::kc_sqr#2 mulf_tables_cmp::kc_sqr#1 print_line_cursor#23 print_line_cursor#45 print_line_cursor#1 print_line_cursor#11 ]
zp ZP_WORD:4 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_lo#1 print_word::w#6 print_word::w#3 print_word::w#4 print_word::w#5 print_word::w#1 print_word::w#2 mulf_tables_cmp::asm_sqr#2 mulf_tables_cmp::asm_sqr#1 mul8u_error::ms#0 mul8u_compare::ms#0 muls8u::return#0 muls8u::m#3 muls8u::m#1 muls8u::return#2 ]
zp ZP_BYTE:6 [ mulf_init::c#2 mulf_init::c#1 mul8u_compare::a#7 mul8u_compare::a#1 muls8u::a#0 ]
zp ZP_WORD:7 [ mulf_init::sqr1_hi#2 mulf_init::sqr1_hi#1 print_char_cursor#86 print_char_cursor#143 print_char_cursor#155 print_char_cursor#193 print_char_cursor#100 print_char_cursor#135 print_char_cursor#134 print_char_cursor#19 print_char_cursor#1 print_char_cursor#213 ]
reg byte x [ mulf_init::x_2#3 mulf_init::x_2#2 mulf_init::x_2#1 ]
zp ZP_WORD:9 [ mulf_init::sqr2_lo#2 mulf_init::sqr2_lo#1 mul8u::res#2 mul8u::res#6 mul8u::res#1 mul8u::return#3 mul8u_compare::mn#0 mul8u_error::mn#0 ]
reg byte x [ mulf_init::x_255#2 mulf_init::x_255#1 ]
zp ZP_BYTE:11 [ mulf_init::dir#2 mulf_init::dir#4 mul8u_compare::b#10 mul8u_compare::b#1 mul8u_error::b#0 ]
zp ZP_WORD:12 [ memset::dst#4 memset::dst#1 mulf_init::sqr2_hi#2 mulf_init::sqr2_hi#1 mul8u::mb#2 mul8u::mb#1 print_str::str#16 print_str::str#18 print_str::str#0 ]
reg byte x [ muls8u::b#0 ]
reg byte a [ mulf8u::a#0 ]
reg byte x [ mulf8u::b#0 ]
zp ZP_WORD:14 [ mulf8u::return#2 mul8u_compare::mf#0 mulf8u::return#0 mul8u_error::mf#0 mulf8u_prepared::return#2 mulf8u_prepared::return#0 mulf_init::sqr#3 mulf_init::sqr#4 mulf_init::sqr#1 mulf_init::sqr#2 ]
reg byte x [ mul8u_error::a#0 ]
reg byte a [ print_byte::$0 ]
reg byte x [ print_byte::$2 ]
reg byte a [ mul8u::$1 ]
reg byte a [ mulf8u_prepare::a#0 ]
reg byte x [ mulf8u_prepared::b#0 ]
reg byte a [ mulf_init::$9 ]
reg byte a [ mulf_init::$12 ]
reg byte a [ mulf_init::$13 ]
