(label) @1
(label) @begin
(label) @end
(const dword) PI2_u4f28 = (dword) $6487ed51
(const word) PI_HALF_u4f12 = (word) $1922
(const dword) PI_HALF_u4f28 = (dword) $1921fb54
(const word) PI_u4f12 = (word) $3244
(const dword) PI_u4f28 = (dword) $3243f6a9
(const byte) RADIX::BINARY = (number) 2
(const byte) RADIX::DECIMAL = (number) $a
(const byte) RADIX::HEXADECIMAL = (number) $10
(const byte) RADIX::OCTAL = (number) 8
(const byte) SIZEOF_SIGNED_WORD = (byte) 2
(dword()) div32u16u((dword) div32u16u::dividend , (word) div32u16u::divisor)
(label) div32u16u::@1
(label) div32u16u::@2
(label) div32u16u::@return
(dword) div32u16u::dividend
(word) div32u16u::divisor
(dword) div32u16u::quotient
(word) div32u16u::quotient_hi
(word) div32u16u::quotient_hi#0 quotient_hi zp[2]:25 0.8
(word) div32u16u::quotient_lo
(word) div32u16u::quotient_lo#0 quotient_lo zp[2]:23 4.0
(dword) div32u16u::return
(dword) div32u16u::return#0 return zp[4]:19 1.5
(dword) div32u16u::return#2 return zp[4]:19 4.0
(dword) div32u16u::return#3 return zp[4]:19 4.0
(word()) divr16u((word) divr16u::dividend , (word) divr16u::divisor , (word) divr16u::rem)
(byte~) divr16u::$1 reg byte a 22.0
(byte~) divr16u::$2 reg byte a 22.0
(label) divr16u::@1
(label) divr16u::@2
(label) divr16u::@3
(label) divr16u::@4
(label) divr16u::@5
(label) divr16u::@6
(label) divr16u::@return
(word) divr16u::dividend
(word) divr16u::dividend#0 dividend zp[2]:5 2.75
(word) divr16u::dividend#3 dividend zp[2]:5 5.0
(word) divr16u::dividend#5 dividend zp[2]:5 2.0
(word) divr16u::divisor
(byte) divr16u::i
(byte) divr16u::i#1 reg byte x 16.5
(byte) divr16u::i#2 reg byte x 1.6923076923076923
(word) divr16u::quotient
(word) divr16u::quotient#1 quotient zp[2]:23 16.5
(word) divr16u::quotient#2 quotient zp[2]:23 11.0
(word) divr16u::quotient#3 quotient zp[2]:23 2.75
(word) divr16u::rem
(word) divr16u::rem#0 rem zp[2]:3 8.25
(word) divr16u::rem#1 rem zp[2]:3 22.0
(word) divr16u::rem#10 rem zp[2]:3 4.0
(word) divr16u::rem#11 rem zp[2]:3 11.666666666666666
(word) divr16u::rem#2 rem zp[2]:3 22.0
(word) divr16u::rem#4 rem zp[2]:3 4.0
(word) divr16u::rem#5 rem zp[2]:3 24.0
(word) divr16u::rem#6 rem zp[2]:3 11.0
(word) divr16u::return
(word) divr16u::return#0 return zp[2]:23 5.285714285714286
(word) divr16u::return#2 return zp[2]:23 4.0
(word) divr16u::return#3 return zp[2]:23 4.0
(void()) main()
(label) main::@1
(label) main::@2
(label) main::@3
(label) main::@4
(label) main::@5
(label) main::@6
(label) main::@7
(label) main::@return
(byte) main::i
(byte) main::i#1 reg byte x 16.5
(byte) main::i#2 reg byte x 1.8333333333333333
(const signed word*) main::sintab1[(number) $78]  = { fill( $78, 0) }
(const signed word*) main::sintab2[(number) $78]  = { fill( $78, 0) }
(signed word*) main::st1
(signed word*) main::st1#1 st1 zp[2]:3 5.5
(signed word*) main::st1#2 st1 zp[2]:3 3.3000000000000003
(signed word*) main::st2
(signed word*) main::st2#1 st2 zp[2]:11 7.333333333333333
(signed word*) main::st2#2 st2 zp[2]:11 3.0
(const string) main::str[]  = (string) "   "
(const string) main::str1[]  = (string) " "
(signed word) main::sw
(signed word) main::sw#0 sw zp[2]:25 6.6000000000000005
(const word) main::wavelength = (word) $78
(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]:3 22.0
(byte*) memset::dst#2 dst zp[2]:3 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*)(const byte*) print_line_cursor#0
(dword()) mul16u((word) mul16u::a , (word) mul16u::b)
(byte~) mul16u::$1 reg byte a 202.0
(label) mul16u::@1
(label) mul16u::@2
(label) mul16u::@3
(label) mul16u::@4
(label) mul16u::@return
(word) mul16u::a
(word) mul16u::a#0 a zp[2]:23 101.0
(word) mul16u::a#1 a zp[2]:23 1.3333333333333333
(word) mul16u::a#2 a zp[2]:23 67.66666666666666
(word) mul16u::b
(word) mul16u::b#0 b zp[2]:5 2.0
(dword) mul16u::mb
(dword) mul16u::mb#0 mb zp[4]:27 4.0
(dword) mul16u::mb#1 mb zp[4]:27 202.0
(dword) mul16u::mb#2 mb zp[4]:27 43.57142857142858
(dword) mul16u::res
(dword) mul16u::res#1 res zp[4]:13 202.0
(dword) mul16u::res#2 res zp[4]:13 50.83333333333333
(dword) mul16u::res#6 res zp[4]:13 101.0
(dword) mul16u::return
(dword) mul16u::return#2 return zp[4]:13 4.0
(word()) mulu16_sel((word) mulu16_sel::v1 , (word) mulu16_sel::v2 , (byte) mulu16_sel::select)
(dword~) mulu16_sel::$0 zp[4]:13 4.0
(dword~) mulu16_sel::$1 zp[4]:13 4.0
(label) mulu16_sel::@1
(label) mulu16_sel::@return
(word) mulu16_sel::return
(word) mulu16_sel::return#0 return zp[2]:3 4.0
(word) mulu16_sel::return#1 return zp[2]:3 4.0
(word) mulu16_sel::return#10 return zp[2]:3 4.0
(word) mulu16_sel::return#11 return_1 zp[2]:23 4.0
(word) mulu16_sel::return#14 return_1 zp[2]:23 4.0
(word) mulu16_sel::return#15 return zp[2]:3 4.0
(word) mulu16_sel::return#16 return_1 zp[2]:23 4.0
(word) mulu16_sel::return#17 return_1 zp[2]:23 1.8333333333333335
(word) mulu16_sel::return#18 return_1 zp[2]:23 4.0
(word) mulu16_sel::return#19 return zp[2]:3 4.0
(word) mulu16_sel::return#20 return_1 zp[2]:23 4.0
(byte) mulu16_sel::select
(byte) mulu16_sel::select#10 reg byte x 0.3333333333333333
(word) mulu16_sel::v1
(word) mulu16_sel::v1#0 v1 zp[2]:3 2.0
(word) mulu16_sel::v1#1 v1 zp[2]:3 2.0
(word) mulu16_sel::v1#10 v1 zp[2]:3 22.0
(word) mulu16_sel::v1#2 v1 zp[2]:3 4.0
(word) mulu16_sel::v1#3 v1 zp[2]:3 2.0
(word) mulu16_sel::v1#4 v1 zp[2]:3 2.0
(word) mulu16_sel::v1#5 v1 zp[2]:3 2.0
(word) mulu16_sel::v1#6 v1 zp[2]:3 2.0
(word) mulu16_sel::v1#7 v1 zp[2]:3 4.0
(word) mulu16_sel::v1#8 v1 zp[2]:3 2.0
(word) mulu16_sel::v1#9 v1 zp[2]:3 2.0
(word) mulu16_sel::v2
(word) mulu16_sel::v2#0 v2 zp[2]:5 4.0
(word) mulu16_sel::v2#1 v2 zp[2]:5 4.0
(word) mulu16_sel::v2#10 v2 zp[2]:5 9.0
(word) mulu16_sel::v2#3 v2 zp[2]:5 4.0
(word) mulu16_sel::v2#4 v2 zp[2]:5 4.0
(word) mulu16_sel::v2#5 v2 zp[2]:5 4.0
(word) mulu16_sel::v2#6 v2 zp[2]:5 4.0
(word) mulu16_sel::v2#8 v2 zp[2]:5 4.0
(word) mulu16_sel::v2#9 v2 zp[2]:5 4.0
(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]:2 4.0
(byte) print_byte::b#1 b zp[1]:2 4.0
(byte) print_byte::b#2 b zp[1]:2 2.0
(void()) print_char((byte) print_char::ch)
(label) print_char::@return
(byte) print_char::ch
(byte) print_char::ch#2 reg byte a 4.0
(byte) print_char::ch#3 reg byte a 4.0
(byte) print_char::ch#4 reg byte a 6.0
(byte*) print_char_cursor
(byte*) print_char_cursor#1 print_char_cursor zp[2]:31 101.0
(byte*) print_char_cursor#13 print_char_cursor zp[2]:31 0.7083333333333334
(byte*) print_char_cursor#2 print_char_cursor zp[2]:31 32.7
(byte*) print_char_cursor#35 print_char_cursor zp[2]:31 6.0
(byte*) print_char_cursor#51 print_char_cursor zp[2]:31 5.200000000000001
(byte*) print_char_cursor#52 print_char_cursor zp[2]:31 8.25
(byte*) print_char_cursor#54 print_char_cursor zp[2]:31 24.0
(void()) print_cls()
(label) print_cls::@return
(const byte*) print_hextab[]  = (string) "0123456789abcdef"z
(byte*) print_line_cursor
(const byte*) print_line_cursor#0 print_line_cursor = (byte*) 1024
(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]:17 202.0
(byte*) print_str::str#3 str zp[2]:17 101.5
(byte*) print_str::str#5 str zp[2]:17 2.0
(void()) print_sword((signed word) print_sword::w)
(label) print_sword::@1
(label) print_sword::@2
(label) print_sword::@3
(label) print_sword::@4
(label) print_sword::@return
(signed word) print_sword::w
(signed word) print_sword::w#0 w zp[2]:25 4.0
(signed word) print_sword::w#1 w zp[2]:25 2.8333333333333335
(signed word) print_sword::w#4 w zp[2]:25 4.0
(void()) print_word((word) print_word::w)
(label) print_word::@1
(label) print_word::@return
(word) print_word::w
(word) print_word::w#0 w zp[2]:25 2.0
(word) rem16u
(word) rem16u#1 rem16u zp[2]:3 0.8
(signed word()) sin16s((dword) sin16s::x)
(dword~) sin16s::$4 zp[4]:27 4.0
(label) sin16s::@1
(label) sin16s::@10
(label) sin16s::@11
(label) sin16s::@12
(label) sin16s::@2
(label) sin16s::@3
(label) sin16s::@4
(label) sin16s::@5
(label) sin16s::@6
(label) sin16s::@7
(label) sin16s::@8
(label) sin16s::@9
(label) sin16s::@return
(byte) sin16s::isUpper
(byte) sin16s::isUpper#2 reg byte y 0.06060606060606061
(signed word) sin16s::return
(signed word) sin16s::return#0 return zp[2]:17 22.0
(signed word) sin16s::return#1 return zp[2]:17 5.0
(signed word) sin16s::return#5 return zp[2]:17 4.0
(signed word) sin16s::sinx
(signed word) sin16s::sinx#1 sinx zp[2]:17 4.0
(word) sin16s::usinx
(word) sin16s::usinx#0 usinx zp[2]:17 0.3333333333333333
(word) sin16s::usinx#1 usinx zp[2]:17 1.0
(dword) sin16s::x
(dword) sin16s::x#0 x zp[4]:13 8.5
(dword) sin16s::x#1 x zp[4]:13 4.0
(dword) sin16s::x#2 x zp[4]:13 4.0
(dword) sin16s::x#4 x zp[4]:13 5.0
(dword) sin16s::x#6 x zp[4]:13 6.0
(word) sin16s::x1
(word) sin16s::x1#0 x1 zp[2]:31 0.6363636363636365
(word) sin16s::x2
(word) sin16s::x2#0 x2 zp[2]:3 4.0
(word) sin16s::x3
(word) sin16s::x3#0 x3 zp[2]:3 1.0
(word) sin16s::x3_6
(word) sin16s::x3_6#0 x3_6 zp[2]:23 4.0
(word) sin16s::x4
(word) sin16s::x4#0 x4 zp[2]:3 4.0
(word) sin16s::x5
(word) sin16s::x5#0 x5 zp[2]:23 4.0
(word) sin16s::x5_128
(word) sin16s::x5_128#0 x5_128 zp[2]:23 4.0
(void()) sin16s_gen((signed word*) sin16s_gen::sintab , (word) sin16s_gen::wavelength)
(signed word~) sin16s_gen::$2 zp[2]:17 22.0
(label) sin16s_gen::@1
(label) sin16s_gen::@2
(label) sin16s_gen::@3
(label) sin16s_gen::@4
(label) sin16s_gen::@return
(word) sin16s_gen::i
(word) sin16s_gen::i#1 i zp[2]:25 22.0
(word) sin16s_gen::i#2 i zp[2]:25 3.666666666666667
(signed word*) sin16s_gen::sintab
(signed word*) sin16s_gen::sintab#0 sintab zp[2]:11 7.333333333333333
(signed word*) sin16s_gen::sintab#2 sintab zp[2]:11 4.714285714285714
(dword) sin16s_gen::step
(dword) sin16s_gen::step#0 step zp[4]:19 1.1818181818181819
(word) sin16s_gen::wavelength
(dword) sin16s_gen::x
(dword) sin16s_gen::x#1 x zp[4]:7 11.0
(dword) sin16s_gen::x#2 x zp[4]:7 4.125
(void()) sin16s_genb((signed word*) sin16s_genb::sintab , (word) sin16s_genb::wavelength)
(signed word~) sin16s_genb::$3 zp[2]:31 22.0
(label) sin16s_genb::@1
(label) sin16s_genb::@2
(label) sin16s_genb::@3
(label) sin16s_genb::@4
(label) sin16s_genb::@return
(word) sin16s_genb::i
(word) sin16s_genb::i#1 i zp[2]:11 22.0
(word) sin16s_genb::i#2 i zp[2]:11 3.666666666666667
(signed word*) sin16s_genb::sintab
(signed word*) sin16s_genb::sintab#0 sintab zp[2]:17 7.333333333333333
(signed word*) sin16s_genb::sintab#2 sintab zp[2]:17 4.714285714285714
(dword) sin16s_genb::step
(dword) sin16s_genb::step#0 step zp[4]:19 1.1818181818181819
(word) sin16s_genb::wavelength
(dword) sin16s_genb::x
(dword) sin16s_genb::x#1 x zp[4]:7 11.0
(dword) sin16s_genb::x#2 x zp[4]:7 4.125
(signed word()) sin16sb((word) sin16sb::x)
(label) sin16sb::@1
(label) sin16sb::@10
(label) sin16sb::@11
(label) sin16sb::@12
(label) sin16sb::@2
(label) sin16sb::@3
(label) sin16sb::@4
(label) sin16sb::@5
(label) sin16sb::@6
(label) sin16sb::@7
(label) sin16sb::@8
(label) sin16sb::@9
(label) sin16sb::@return
(byte) sin16sb::isUpper
(byte) sin16sb::isUpper#2 reg byte y 0.0625
(signed word) sin16sb::return
(signed word) sin16sb::return#0 return zp[2]:31 22.0
(signed word) sin16sb::return#1 return zp[2]:31 5.0
(signed word) sin16sb::return#5 return zp[2]:31 4.0
(signed word) sin16sb::sinx
(signed word) sin16sb::sinx#1 sinx zp[2]:31 4.0
(word) sin16sb::usinx
(word) sin16sb::usinx#0 usinx zp[2]:31 0.3333333333333333
(word) sin16sb::usinx#1 usinx zp[2]:31 1.0
(word) sin16sb::x
(word) sin16sb::x#0 x zp[2]:25 8.5
(word) sin16sb::x#1 x zp[2]:25 4.0
(word) sin16sb::x#2 x zp[2]:25 4.0
(word) sin16sb::x#4 x zp[2]:25 5.0
(word) sin16sb::x#6 x zp[2]:25 6.0
(word) sin16sb::x1
(word) sin16sb::x1#0 x1 zp[2]:25 0.6363636363636365
(word) sin16sb::x2
(word) sin16sb::x2#0 x2 zp[2]:3 4.0
(word) sin16sb::x3
(word) sin16sb::x3#0 x3 zp[2]:3 1.0
(word) sin16sb::x3_6
(word) sin16sb::x3_6#0 x3_6 zp[2]:23 4.0
(word) sin16sb::x4
(word) sin16sb::x4#0 x4 zp[2]:3 4.0
(word) sin16sb::x5
(word) sin16sb::x5#0 x5 zp[2]:23 4.0
(word) sin16sb::x5_128
(word) sin16sb::x5_128#0 x5_128 zp[2]:23 4.0

reg byte x [ main::i#2 main::i#1 ]
reg byte a [ print_char::ch#4 print_char::ch#2 print_char::ch#3 ]
zp[1]:2 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ]
reg byte y [ sin16sb::isUpper#2 ]
reg byte x [ mulu16_sel::select#10 ]
zp[2]:3 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 rem16u#1 mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 sin16sb::x3#0 sin16s::x3#0 sin16sb::x2#0 sin16sb::x4#0 sin16s::x2#0 sin16s::x4#0 mulu16_sel::return#19 mulu16_sel::return#10 mulu16_sel::return#0 mulu16_sel::return#1 mulu16_sel::return#15 memset::dst#2 memset::dst#1 main::st1#2 main::st1#1 ]
zp[2]:5 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#0 mulu16_sel::v2#10 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 mulu16_sel::v2#8 mulu16_sel::v2#9 mulu16_sel::v2#5 mulu16_sel::v2#6 mul16u::b#0 ]
reg byte x [ divr16u::i#2 divr16u::i#1 ]
zp[4]:7 [ sin16s_gen::x#2 sin16s_gen::x#1 sin16s_genb::x#2 sin16s_genb::x#1 ]
zp[2]:11 [ sin16s_gen::sintab#2 sin16s_gen::sintab#0 sin16s_genb::i#2 sin16s_genb::i#1 main::st2#2 main::st2#1 ]
reg byte y [ sin16s::isUpper#2 ]
zp[4]:13 [ sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 mul16u::res#2 mul16u::res#6 mul16u::res#1 mul16u::return#2 mulu16_sel::$0 mulu16_sel::$1 ]
zp[2]:17 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 sin16s::return#0 sin16s_gen::$2 sin16s::usinx#0 sin16s_genb::sintab#2 sin16s_genb::sintab#0 print_str::str#3 print_str::str#5 print_str::str#0 ]
reg byte a [ print_byte::$0 ]
reg byte a [ print_byte::$2 ]
zp[4]:19 [ div32u16u::return#3 sin16s_genb::step#0 div32u16u::return#0 div32u16u::return#2 sin16s_gen::step#0 ]
zp[2]:23 [ mulu16_sel::return#18 mulu16_sel::return#17 mulu16_sel::return#20 sin16sb::x3_6#0 mulu16_sel::return#11 sin16sb::x5#0 mulu16_sel::return#14 sin16s::x3_6#0 mulu16_sel::return#16 sin16s::x5#0 sin16sb::x5_128#0 sin16s::x5_128#0 divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 divr16u::return#3 div32u16u::quotient_lo#0 mul16u::a#2 mul16u::a#1 mul16u::a#0 ]
reg byte a [ mul16u::$1 ]
zp[2]:25 [ div32u16u::quotient_hi#0 sin16s_gen::i#2 sin16s_gen::i#1 sin16sb::x#6 sin16sb::x#4 sin16sb::x#0 sin16sb::x#1 sin16sb::x#2 sin16sb::x1#0 print_sword::w#4 print_sword::w#0 print_sword::w#1 main::sw#0 print_word::w#0 ]
reg byte a [ divr16u::$1 ]
reg byte a [ divr16u::$2 ]
zp[4]:27 [ sin16s::$4 mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ]
zp[2]:31 [ sin16s::x1#0 sin16sb::return#1 sin16sb::return#5 sin16sb::sinx#1 sin16sb::usinx#1 sin16sb::return#0 sin16s_genb::$3 sin16sb::usinx#0 print_char_cursor#35 print_char_cursor#54 print_char_cursor#51 print_char_cursor#52 print_char_cursor#2 print_char_cursor#13 print_char_cursor#1 ]
