(label) @1
(label) @2
(label) @begin
(label) @end
(const byte*) BGCOL = (byte*) 53281
(const byte*) BGCOL2 = (byte*) 53282
(const byte*) BGCOL3 = (byte*) 53283
(const byte) BLACK = (byte) 0
(const byte*) BORDERCOL = (byte*) 53280
(const byte*) COLS = (byte*) 55296
(const byte*) D016 = (byte*) 53270
(const byte*) D018 = (byte*) 53272
(const byte) DARK_GREY = (byte) $b
(const byte*) LOGO = (byte*) 8192
(const dword) PI2_u4f28 = (dword) $6487ed51
(const dword) PI_HALF_u4f28 = (dword) $1921fb54
(const dword) PI_u4f28 = (dword) $3243f6a9
(const byte*) RASTER = (byte*) 53266
(const byte*) SCREEN = (byte*) 1024
(const byte) SIZEOF_SIGNED_WORD = (byte) 2
(const byte) VIC_MCM = (byte) $10
(const byte) WHITE = (byte) 1
(const word) XSIN_SIZE = (word) $200
(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]:33 0.8
(word) div32u16u::quotient_lo
(word) div32u16u::quotient_lo#0 quotient_lo zp[2]:14 4.0
(dword) div32u16u::return
(dword) div32u16u::return#0 return zp[4]:21 1.3333333333333333
(dword) div32u16u::return#2 return zp[4]:21 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]:25 2.75
(word) divr16u::dividend#3 dividend zp[2]:25 5.0
(word) divr16u::dividend#5 dividend zp[2]:25 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]:14 16.5
(word) divr16u::quotient#2 quotient zp[2]:14 11.0
(word) divr16u::quotient#3 quotient zp[2]:14 2.75
(word) divr16u::rem
(word) divr16u::rem#0 rem zp[2]:12 8.25
(word) divr16u::rem#1 rem zp[2]:12 22.0
(word) divr16u::rem#10 rem zp[2]:12 4.0
(word) divr16u::rem#11 rem zp[2]:12 11.666666666666666
(word) divr16u::rem#2 rem zp[2]:12 22.0
(word) divr16u::rem#4 rem zp[2]:12 4.0
(word) divr16u::rem#5 rem zp[2]:12 24.0
(word) divr16u::rem#6 rem zp[2]:12 11.0
(word) divr16u::return
(word) divr16u::return#0 return zp[2]:14 5.285714285714286
(word) divr16u::return#2 return zp[2]:14 4.0
(word) divr16u::return#3 return zp[2]:14 4.0
(void()) loop()
(signed word*~) loop::$2 zp[2]:18 22.0
(word~) loop::$7 zp[2]:18 22.0
(label) loop::@1
(label) loop::@2
(label) loop::@3
(label) loop::@4
(label) loop::@5
(label) loop::@6
(signed word) loop::xpos
(signed word) loop::xpos#0 xpos zp[2]:18 22.0
(void()) main()
(label) main::@1
(label) main::@2
(label) main::@3
(label) main::@4
(label) main::@5
(label) main::@return
(byte) main::ch
(byte) main::ch#1 reg byte x 16.5
(byte) main::ch#2 reg byte x 22.0
(label) main::toD0181
(byte*) main::toD0181_gfx
(byte) main::toD0181_return
(const byte) main::toD0181_return#0 toD0181_return = >(word)(const byte*) SCREEN&(word) $3fff*(byte) 4|>(word)(const byte*) LOGO/(byte) 4&(byte) $f
(byte*) main::toD0181_screen
(void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num)
(label) memset::@1
(label) memset::@2
(label) memset::@3
(label) memset::@return
(byte) memset::c
(byte) memset::c#4 reg byte x 1.5714285714285714
(byte*) memset::dst
(byte*) memset::dst#1 dst zp[2]:16 22.0
(byte*) memset::dst#2 dst zp[2]:16 15.333333333333332
(byte*) memset::dst#4 dst zp[2]:16 4.0
(byte*) memset::end
(byte*) memset::end#0 end zp[2]:35 2.1666666666666665
(word) memset::num
(void*) memset::return
(void*) memset::str
(void*) memset::str#3 str zp[2]:16
(signed dword()) mul16s((signed word) mul16s::a , (signed word) mul16s::b)
(word~) mul16s::$16 zp[2]:31 4.0
(word~) mul16s::$9 zp[2]:31 4.0
(label) mul16s::@1
(label) mul16s::@2
(label) mul16s::@3
(label) mul16s::@4
(label) mul16s::@return
(signed word) mul16s::a
(signed word) mul16s::a#0 a zp[2]:16 2.6
(signed word) mul16s::b
(dword) mul16s::m
(dword) mul16s::m#0 m zp[4]:8 2.0
(dword) mul16s::m#1 m zp[4]:8 4.0
(dword) mul16s::m#4 m zp[4]:8 4.0
(signed dword) mul16s::return
(signed dword) mul16s::return#0 return zp[4]:8 4.333333333333333
(signed dword) mul16s::return#2 return zp[4]:8 22.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]:14 101.0
(word) mul16u::a#1 a zp[2]:14 4.0
(word) mul16u::a#2 a zp[2]:14 2.0
(word) mul16u::a#3 a zp[2]:14 67.66666666666666
(word) mul16u::a#6 a zp[2]:14 3.0
(word) mul16u::b
(word) mul16u::b#1 b zp[2]:25 4.0
(word) mul16u::b#2 b zp[2]:25 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]:8 202.0
(dword) mul16u::res#2 res zp[4]:8 43.85714285714286
(dword) mul16u::res#6 res zp[4]:8 101.0
(dword) mul16u::return
(dword) mul16u::return#2 return zp[4]:8 4.0
(dword) mul16u::return#3 return zp[4]:8 4.0
(word()) mulu16_sel((word) mulu16_sel::v1 , (word) mulu16_sel::v2 , (byte) mulu16_sel::select)
(dword~) mulu16_sel::$0 zp[4]:8 4.0
(dword~) mulu16_sel::$1 zp[4]:8 4.0
(label) mulu16_sel::@1
(label) mulu16_sel::@return
(word) mulu16_sel::return
(word) mulu16_sel::return#0 return zp[2]:33 4.0
(word) mulu16_sel::return#1 return_1 zp[2]:18 4.0
(word) mulu16_sel::return#10 return_1 zp[2]:18 4.0
(word) mulu16_sel::return#11 return zp[2]:33 4.0
(word) mulu16_sel::return#12 return zp[2]:33 1.714285714285714
(word) mulu16_sel::return#2 return zp[2]:33 4.0
(byte) mulu16_sel::select
(byte) mulu16_sel::select#5 reg byte x 0.3333333333333333
(word) mulu16_sel::v1
(word) mulu16_sel::v1#0 v1 zp[2]:18 2.0
(word) mulu16_sel::v1#1 v1 zp[2]:18 2.0
(word) mulu16_sel::v1#2 v1 zp[2]:18 4.0
(word) mulu16_sel::v1#3 v1 zp[2]:18 2.0
(word) mulu16_sel::v1#4 v1 zp[2]:18 2.0
(word) mulu16_sel::v1#5 v1 zp[2]:18 12.0
(word) mulu16_sel::v2
(word) mulu16_sel::v2#0 v2 zp[2]:25 4.0
(word) mulu16_sel::v2#1 v2 zp[2]:25 4.0
(word) mulu16_sel::v2#3 v2 zp[2]:25 4.0
(word) mulu16_sel::v2#4 v2 zp[2]:25 4.0
(word) mulu16_sel::v2#5 v2 zp[2]:25 5.0
(word) rem16u
(word) rem16u#1 rem16u zp[2]:12 0.8
(void()) render_logo((signed word) render_logo::xpos)
(byte~) render_logo::$0 reg byte a 4.0
(byte~) render_logo::$1 reg byte a 4.0
(byte~) render_logo::$2 reg byte a 4.0
(signed word~) render_logo::$3 zp[2]:25 2.0
(byte~) render_logo::$33 reg byte a 202.0
(byte~) render_logo::$36 reg byte a 202.0
(byte~) render_logo::$39 reg byte a 202.0
(byte~) render_logo::$42 reg byte a 202.0
(byte~) render_logo::$45 reg byte a 202.0
(byte~) render_logo::$73 reg byte a 202.0
(byte~) render_logo::$76 reg byte a 202.0
(byte~) render_logo::$79 reg byte a 202.0
(byte~) render_logo::$82 reg byte a 202.0
(byte~) render_logo::$85 reg byte a 202.0
(label) render_logo::@1
(label) render_logo::@10
(label) render_logo::@11
(label) render_logo::@12
(label) render_logo::@13
(label) render_logo::@15_1
(label) render_logo::@15_2
(label) render_logo::@15_3
(label) render_logo::@15_4
(label) render_logo::@15_5
(label) render_logo::@2
(label) render_logo::@24_1
(label) render_logo::@24_2
(label) render_logo::@24_3
(label) render_logo::@24_4
(label) render_logo::@24_5
(label) render_logo::@3
(label) render_logo::@32_1
(label) render_logo::@32_2
(label) render_logo::@32_3
(label) render_logo::@32_4
(label) render_logo::@32_5
(label) render_logo::@4
(label) render_logo::@5
(label) render_logo::@6
(label) render_logo::@7
(label) render_logo::@7_1
(label) render_logo::@7_2
(label) render_logo::@7_3
(label) render_logo::@7_4
(label) render_logo::@7_5
(label) render_logo::@8
(label) render_logo::@9
(label) render_logo::@return
(byte) render_logo::line
(byte) render_logo::logo_idx
(signed byte) render_logo::logo_idx#1 reg byte a 2.0
(byte) render_logo::logo_idx#10 logo_idx zp[1]:2 57.714285714285715
(byte) render_logo::logo_idx#11 logo_idx_1 zp[1]:3 65.07142857142857
(byte) render_logo::logo_idx#14 logo_idx_1 zp[1]:3 4.0
(byte) render_logo::logo_idx#3 logo_idx zp[1]:2 202.0
(byte) render_logo::logo_idx#4 logo_idx_1 zp[1]:3 202.0
(byte) render_logo::logo_start
(byte) render_logo::screen_idx
(byte) render_logo::screen_idx#10 reg byte y 77.6923076923077
(byte) render_logo::screen_idx#15 reg byte y 126.25
(byte) render_logo::screen_idx#18 reg byte y 126.25
(byte) render_logo::screen_idx#21 reg byte y 69.92307692307692
(byte) render_logo::screen_idx#3 reg byte y 202.0
(byte) render_logo::screen_idx#4 reg byte y 101.0
(byte) render_logo::screen_idx#5 reg byte y 101.0
(byte) render_logo::screen_idx#6 reg byte y 202.0
(signed byte) render_logo::x_char
(signed byte) render_logo::x_char#0 x_char zp[1]:20 0.36363636363636365
(signed word) render_logo::xpos
(signed word) render_logo::xpos#0 xpos zp[2]:18 2.142857142857143
(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]:16 22.0
(signed word) sin16s::return#1 return zp[2]:16 5.0
(signed word) sin16s::return#5 return zp[2]:16 4.0
(signed word) sin16s::sinx
(signed word) sin16s::sinx#1 sinx zp[2]:16 4.0
(word) sin16s::usinx
(word) sin16s::usinx#0 usinx zp[2]:16 0.3333333333333333
(word) sin16s::usinx#1 usinx zp[2]:16 1.0
(dword) sin16s::x
(dword) sin16s::x#0 x zp[4]:8 8.5
(dword) sin16s::x#1 x zp[4]:8 4.0
(dword) sin16s::x#2 x zp[4]:8 4.0
(dword) sin16s::x#4 x zp[4]:8 5.0
(dword) sin16s::x#6 x zp[4]:8 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]:18 4.0
(word) sin16s::x3
(word) sin16s::x3#0 x3 zp[2]:18 1.0
(word) sin16s::x3_6
(word) sin16s::x3_6#0 x3_6 zp[2]:33 4.0
(word) sin16s::x4
(word) sin16s::x4#0 x4 zp[2]:18 4.0
(word) sin16s::x5
(word) sin16s::x5#0 x5 zp[2]:33 4.0
(word) sin16s::x5_128
(word) sin16s::x5_128#0 x5_128 zp[2]:33 4.0
(void()) sin16s_gen2((signed word*) sin16s_gen2::sintab , (word) sin16s_gen2::wavelength , (signed word) sin16s_gen2::min , (signed word) sin16s_gen2::max)
(signed dword~) sin16s_gen2::$6 zp[4]:8 22.0
(word~) sin16s_gen2::$9 zp[2]:25 11.0
(label) sin16s_gen2::@1
(label) sin16s_gen2::@2
(label) sin16s_gen2::@3
(label) sin16s_gen2::@4
(label) sin16s_gen2::@5
(label) sin16s_gen2::@return
(signed word) sin16s_gen2::ampl
(const signed word) sin16s_gen2::ampl#0 ampl = (const signed word) sin16s_gen2::max#0-(const signed word) sin16s_gen2::min#0
(word) sin16s_gen2::i
(word) sin16s_gen2::i#1 i zp[2]:35 22.0
(word) sin16s_gen2::i#2 i zp[2]:35 2.5384615384615383
(signed word) sin16s_gen2::max
(const signed word) sin16s_gen2::max#0 max = (signed word) $140
(signed word) sin16s_gen2::min
(const signed word) sin16s_gen2::min#0 min = (signed word) -$140
(signed word) sin16s_gen2::offs
(signed word*) sin16s_gen2::sintab
(signed word*) sin16s_gen2::sintab#0 sintab zp[2]:12 7.333333333333333
(signed word*) sin16s_gen2::sintab#2 sintab zp[2]:12 3.0
(dword) sin16s_gen2::step
(dword) sin16s_gen2::step#0 step zp[4]:21 0.8666666666666666
(word) sin16s_gen2::wavelength
(dword) sin16s_gen2::x
(dword) sin16s_gen2::x#1 x zp[4]:4 11.0
(dword) sin16s_gen2::x#2 x zp[4]:4 2.75
(const signed word*) xsin[(const word) XSIN_SIZE]  = { fill( XSIN_SIZE, 0) }
(word) xsin_idx
(word) xsin_idx#11 xsin_idx zp[2]:35 4.125
(word) xsin_idx#19 xsin_idx zp[2]:35 11.0
(word) xsin_idx#3 xsin_idx zp[2]:35 11.0

reg byte x [ main::ch#2 main::ch#1 ]
reg byte y [ render_logo::screen_idx#10 render_logo::screen_idx#4 render_logo::screen_idx#18 render_logo::screen_idx#3 ]
zp[1]:2 [ render_logo::logo_idx#10 render_logo::logo_idx#3 ]
zp[1]:3 [ render_logo::logo_idx#11 render_logo::logo_idx#14 render_logo::logo_idx#4 ]
reg byte y [ render_logo::screen_idx#15 render_logo::screen_idx#21 render_logo::screen_idx#5 render_logo::screen_idx#6 ]
zp[4]:4 [ sin16s_gen2::x#2 sin16s_gen2::x#1 ]
reg byte y [ sin16s::isUpper#2 ]
zp[4]:8 [ sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 mul16s::m#4 mul16s::m#1 mul16s::m#0 mul16u::return#2 mul16s::return#0 mul16u::res#2 mul16u::res#6 mul16u::res#1 mul16u::return#3 mul16s::return#2 sin16s_gen2::$6 mulu16_sel::$0 mulu16_sel::$1 ]
reg byte x [ mulu16_sel::select#5 ]
zp[2]:12 [ 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 sin16s_gen2::sintab#2 sin16s_gen2::sintab#0 ]
zp[2]:14 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 divr16u::return#3 div32u16u::quotient_lo#0 mul16u::a#3 mul16u::a#6 mul16u::a#1 mul16u::a#2 mul16u::a#0 ]
reg byte x [ divr16u::i#2 divr16u::i#1 ]
zp[2]:16 [ memset::str#3 memset::dst#2 memset::dst#4 memset::dst#1 sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 sin16s::return#0 mul16s::a#0 sin16s::usinx#0 ]
reg byte x [ memset::c#4 ]
zp[2]:18 [ loop::$7 loop::$2 loop::xpos#0 render_logo::xpos#0 mulu16_sel::v1#5 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 sin16s::x3#0 sin16s::x2#0 sin16s::x4#0 mulu16_sel::return#1 mulu16_sel::return#10 ]
reg byte a [ render_logo::$0 ]
reg byte a [ render_logo::$1 ]
reg byte a [ render_logo::$2 ]
zp[1]:20 [ render_logo::x_char#0 ]
reg byte a [ render_logo::$33 ]
reg byte a [ render_logo::$36 ]
reg byte a [ render_logo::$39 ]
reg byte a [ render_logo::$42 ]
reg byte a [ render_logo::$45 ]
reg byte a [ render_logo::logo_idx#1 ]
reg byte a [ render_logo::$73 ]
reg byte a [ render_logo::$76 ]
reg byte a [ render_logo::$79 ]
reg byte a [ render_logo::$82 ]
reg byte a [ render_logo::$85 ]
zp[4]:21 [ div32u16u::return#2 sin16s_gen2::step#0 div32u16u::return#0 ]
zp[2]:25 [ sin16s_gen2::$9 render_logo::$3 divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#0 mul16u::b#2 mul16u::b#1 mulu16_sel::v2#5 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 ]
reg byte a [ mul16u::$1 ]
zp[4]:27 [ sin16s::$4 mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ]
zp[2]:31 [ sin16s::x1#0 mul16s::$9 mul16s::$16 ]
zp[2]:33 [ div32u16u::quotient_hi#0 mulu16_sel::return#0 mulu16_sel::return#12 mulu16_sel::return#2 sin16s::x3_6#0 mulu16_sel::return#11 sin16s::x5#0 sin16s::x5_128#0 ]
reg byte a [ divr16u::$1 ]
reg byte a [ divr16u::$2 ]
zp[2]:35 [ memset::end#0 sin16s_gen2::i#2 sin16s_gen2::i#1 xsin_idx#11 xsin_idx#19 xsin_idx#3 ]
