(label) @1
(label) @2
(label) @begin
(label) @end
(const byte*) BGCOL = (byte*) 53281
(const byte*) BITMAP = (byte*) 8192
(const byte) BLACK = (byte) 0
(const byte*) CIA1_INTERRUPT = (byte*) 56333
(const byte) CIA_INTERRUPT_CLEAR = (byte) $7f
(const byte*) D011 = (byte*) 53265
(const byte*) D018 = (byte*) 53272
(const void()**) HARDWARE_IRQ = (void()**) 65534
(const byte*) IRQ_ENABLE = (byte*) 53274
(const byte) IRQ_RASTER = (byte) 1
(const byte*) IRQ_STATUS = (byte*) 53273
(const dword) PI2_u4f28 = (dword) $6487ed51
(const dword) PI_HALF_u4f28 = (dword) $1921fb54
(const dword) PI_u4f28 = (dword) $3243f6a9
(const byte*) PROCPORT = (byte*) 1
(const byte*) PROCPORT_DDR = (byte*) 0
(const byte) PROCPORT_DDR_MEMORY_MASK = (byte) 7
(const byte) PROCPORT_RAM_IO = (byte) 5
(const byte*) RASTER = (byte*) 53266
(const byte*) SCREEN = (byte*) 1024
(const signed word*) SINUS[(number) $200]  = { fill( $200, 0) }
(const byte) SIZEOF_SIGNED_WORD = (byte) 2
(const byte) VIC_BMM = (byte) $20
(const byte*) VIC_CONTROL = (byte*) 53265
(const byte) VIC_DEN = (byte) $10
(const byte) VIC_RSEL = (byte) 8
(const byte) WHITE = (byte) 1
(void()) bitmap_clear((byte) bitmap_clear::bgcol , (byte) bitmap_clear::fgcol)
(label) bitmap_clear::@1
(label) bitmap_clear::@return
(byte) bitmap_clear::bgcol
(byte) bitmap_clear::col
(const byte) bitmap_clear::col#0 col = (const byte) WHITE*(byte) $10
(byte) bitmap_clear::fgcol
(byte*) bitmap_gfx
(void()) bitmap_init((byte*) bitmap_init::gfx , (byte*) bitmap_init::screen)
(byte~) bitmap_init::$4 reg byte a 22.0
(byte~) bitmap_init::$5 reg byte a 22.0
(byte~) bitmap_init::$6 reg byte a 22.0
(byte~) bitmap_init::$7 zp[1]:21 5.5
(label) bitmap_init::@1
(label) bitmap_init::@2
(label) bitmap_init::@3
(label) bitmap_init::@4
(label) bitmap_init::@5
(label) bitmap_init::@6
(label) bitmap_init::@return
(byte) bitmap_init::bits
(byte) bitmap_init::bits#1 reg byte a 11.0
(byte) bitmap_init::bits#3 reg byte a 16.5
(byte) bitmap_init::bits#4 reg byte a 7.333333333333333
(byte*) bitmap_init::gfx
(byte*) bitmap_init::screen
(byte) bitmap_init::x
(byte) bitmap_init::x#1 reg byte x 16.5
(byte) bitmap_init::x#2 reg byte x 5.5
(byte) bitmap_init::y
(byte) bitmap_init::y#1 reg byte x 16.5
(byte) bitmap_init::y#2 reg byte x 5.5
(byte*) bitmap_init::yoffs
(byte*) bitmap_init::yoffs#1 yoffs zp[2]:17 22.0
(byte*) bitmap_init::yoffs#2 yoffs zp[2]:17 6.875
(byte*) bitmap_init::yoffs#4 yoffs zp[2]:17 11.0
(void()) bitmap_plot((word) bitmap_plot::x , (byte) bitmap_plot::y)
(word~) bitmap_plot::$1 zp[2]:19 4.0
(byte~) bitmap_plot::$2 reg byte a 4.0
(label) bitmap_plot::@return
(byte*) bitmap_plot::plotter
(word) bitmap_plot::plotter#0 plotter zp[2]:17 1.0
(byte*) bitmap_plot::plotter#1 plotter zp[2]:17 3.0
(word) bitmap_plot::x
(word) bitmap_plot::x#0 x zp[2]:15 3.75
(byte) bitmap_plot::y
(byte) bitmap_plot::y#0 reg byte x 7.5
(const byte*) bitmap_plot_bit[(number) $100]  = { fill( $100, 0) }
(const byte*) bitmap_plot_yhi[(number) $100]  = { fill( $100, 0) }
(const byte*) bitmap_plot_ylo[(number) $100]  = { fill( $100, 0) }
(byte*) bitmap_screen
(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]:34 0.8
(word) div32u16u::quotient_lo
(word) div32u16u::quotient_lo#0 quotient_lo zp[2]:12 4.0
(dword) div32u16u::return
(dword) div32u16u::return#0 return zp[4]:22 1.3333333333333333
(dword) div32u16u::return#2 return zp[4]:22 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]:26 2.75
(word) divr16u::dividend#3 dividend zp[2]:26 5.0
(word) divr16u::dividend#5 dividend zp[2]:26 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]:12 16.5
(word) divr16u::quotient#2 quotient zp[2]:12 11.0
(word) divr16u::quotient#3 quotient zp[2]:12 2.75
(word) divr16u::rem
(word) divr16u::rem#0 rem zp[2]:19 8.25
(word) divr16u::rem#1 rem zp[2]:19 22.0
(word) divr16u::rem#10 rem zp[2]:19 4.0
(word) divr16u::rem#11 rem zp[2]:19 11.666666666666666
(word) divr16u::rem#2 rem zp[2]:19 22.0
(word) divr16u::rem#4 rem zp[2]:19 4.0
(word) divr16u::rem#5 rem zp[2]:19 24.0
(word) divr16u::rem#6 rem zp[2]:19 11.0
(word) divr16u::return
(word) divr16u::return#0 return zp[2]:12 5.285714285714286
(word) divr16u::return#2 return zp[2]:12 4.0
(word) divr16u::return#3 return zp[2]:12 4.0
(byte) frame_cnt loadstore zp[1]:14 0.6521739130434783
(void()) init_irq()
(label) init_irq::@return
interrupt(HARDWARE_CLOBBER)(void()) irq()
(label) irq::@1
(label) irq::@2
(label) irq::@return
(void()) main()
(signed dword~) main::$11 zp[4]:6 22.0
(word~) main::$12 reg byte alu 22.0
(word~) main::$22 zp[2]:10 22.0
(word~) main::$23 zp[2]:10 22.0
(signed word*~) main::$24 zp[2]:10 22.0
(signed word*~) main::$25 zp[2]:10 22.0
(signed dword~) main::$6 zp[4]:6 22.0
(word~) main::$7 reg byte alu 22.0
(label) main::@1
(label) main::@10
(label) main::@11
(label) main::@12
(label) main::@13
(label) main::@2
(label) main::@3
(label) main::@4
(label) main::@5
(label) main::@6
(label) main::@7
(label) main::@8
(label) main::@9
(signed word) main::cos_x
(signed word) main::cos_x#0 cos_x zp[2]:10 22.0
(word) main::idx_x
(word) main::idx_x#1 idx_x zp[2]:12 11.0
(word) main::idx_x#10 idx_x zp[2]:12 3.6666666666666665
(word) main::idx_x#3 idx_x zp[2]:12 1.375
(word) main::idx_y
(word) main::idx_y#1 idx_y zp[2]:32 11.0
(word) main::idx_y#10 idx_y zp[2]:32 11.0
(word) main::idx_y#3 idx_y zp[2]:32 1.1785714285714286
(signed word) main::sin_y
(signed word) main::sin_y#0 sin_y zp[2]:10 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*) BITMAP/(byte) 4&(byte) $f
(byte*) main::toD0181_screen
(word) main::x
(word) main::x#0 x zp[2]:15 1.8333333333333333
(signed dword) main::xpos
(signed dword) main::xpos#0 xpos zp[4]:6 22.0
(word) main::y
(word) main::y#0 y zp[2]:17 11.0
(signed dword) main::ypos
(signed dword) main::ypos#0 ypos zp[4]:6 22.0
(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.375
(byte*) memset::dst
(byte*) memset::dst#1 dst zp[2]:32 22.0
(byte*) memset::dst#2 dst zp[2]:32 15.333333333333332
(byte*) memset::dst#4 dst zp[2]:32 4.0
(byte*) memset::end
(byte*) memset::end#0 end zp[2]:12 2.1666666666666665
(word) memset::num
(word) memset::num#2 num zp[2]:12 2.0
(void*) memset::return
(void*) memset::str
(void*) memset::str#3 str zp[2]:32
(signed dword()) mul16s((signed word) mul16s::a , (signed word) mul16s::b)
(word~) mul16s::$13 zp[2]:26 4.0
(word~) mul16s::$16 zp[2]:19 4.0
(word~) mul16s::$17 zp[2]:17 4.0
(word~) mul16s::$9 zp[2]:19 4.0
(label) mul16s::@1
(label) mul16s::@2
(label) mul16s::@3
(label) mul16s::@4
(label) mul16s::@5
(label) mul16s::@return
(signed word) mul16s::a
(signed word) mul16s::a#0 a zp[2]:17 22.0
(signed word) mul16s::a#3 a zp[2]:17 1.0
(signed word) mul16s::b
(signed word) mul16s::b#1 b zp[2]:10 22.0
(signed word) mul16s::b#2 b zp[2]:10 22.0
(signed word) mul16s::b#3 b zp[2]:10 2.1818181818181817
(dword) mul16s::m
(dword) mul16s::m#0 m zp[4]:6 2.0
(dword) mul16s::m#1 m zp[4]:6 4.0
(dword) mul16s::m#2 m zp[4]:6 4.0
(dword) mul16s::m#4 m zp[4]:6 4.0
(dword) mul16s::m#5 m zp[4]:6 2.5
(signed dword) mul16s::return
(signed dword) mul16s::return#0 return zp[4]:6 7.000000000000001
(signed dword) mul16s::return#2 return zp[4]:6 22.0
(signed dword) mul16s::return#3 return zp[4]:6 22.0
(signed dword) mul16s::return#4 return zp[4]:6 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]:26 101.0
(word) mul16u::a#1 a zp[2]:26 2.0
(word) mul16u::a#2 a zp[2]:26 2.0
(word) mul16u::a#3 a zp[2]:26 67.66666666666666
(word) mul16u::a#6 a zp[2]:26 3.0
(word) mul16u::b
(word) mul16u::b#0 b zp[2]:19 4.0
(word) mul16u::b#1 b zp[2]:19 4.0
(word) mul16u::b#2 b zp[2]:19 4.0
(dword) mul16u::mb
(dword) mul16u::mb#0 mb zp[4]:28 4.0
(dword) mul16u::mb#1 mb zp[4]:28 202.0
(dword) mul16u::mb#2 mb zp[4]:28 43.57142857142858
(dword) mul16u::res
(dword) mul16u::res#1 res zp[4]:6 202.0
(dword) mul16u::res#2 res zp[4]:6 43.85714285714286
(dword) mul16u::res#6 res zp[4]:6 101.0
(dword) mul16u::return
(dword) mul16u::return#2 return zp[4]:6 4.0
(dword) mul16u::return#3 return zp[4]:6 4.0
(word()) mulu16_sel((word) mulu16_sel::v1 , (word) mulu16_sel::v2 , (byte) mulu16_sel::select)
(dword~) mulu16_sel::$0 zp[4]:6 4.0
(dword~) mulu16_sel::$1 zp[4]:6 4.0
(label) mulu16_sel::@1
(label) mulu16_sel::@return
(word) mulu16_sel::return
(word) mulu16_sel::return#0 return zp[2]:32 4.0
(word) mulu16_sel::return#1 return_1 zp[2]:10 4.0
(word) mulu16_sel::return#10 return_1 zp[2]:10 4.0
(word) mulu16_sel::return#11 return zp[2]:32 4.0
(word) mulu16_sel::return#12 return zp[2]:32 1.714285714285714
(word) mulu16_sel::return#2 return zp[2]:32 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]:10 2.0
(word) mulu16_sel::v1#1 v1 zp[2]:10 2.0
(word) mulu16_sel::v1#2 v1 zp[2]:10 4.0
(word) mulu16_sel::v1#3 v1 zp[2]:10 2.0
(word) mulu16_sel::v1#4 v1 zp[2]:10 2.0
(word) mulu16_sel::v1#5 v1 zp[2]:10 12.0
(word) mulu16_sel::v2
(word) mulu16_sel::v2#0 v2 zp[2]:19 4.0
(word) mulu16_sel::v2#1 v2 zp[2]:19 4.0
(word) mulu16_sel::v2#3 v2 zp[2]:19 4.0
(word) mulu16_sel::v2#4 v2 zp[2]:19 4.0
(word) mulu16_sel::v2#5 v2 zp[2]:19 5.0
(const byte*) plots_per_frame[(number) $100]  = { fill( $100, 0) }
(word) rem16u
(word) rem16u#1 rem16u zp[2]:19 0.8
(signed word()) sin16s((dword) sin16s::x)
(dword~) sin16s::$4 zp[4]:28 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]:6 8.5
(dword) sin16s::x#1 x zp[4]:6 4.0
(dword) sin16s::x#2 x zp[4]:6 4.0
(dword) sin16s::x#4 x zp[4]:6 5.0
(dword) sin16s::x#6 x zp[4]:6 6.0
(word) sin16s::x1
(word) sin16s::x1#0 x1 zp[2]:34 0.6363636363636365
(word) sin16s::x2
(word) sin16s::x2#0 x2 zp[2]:10 4.0
(word) sin16s::x3
(word) sin16s::x3#0 x3 zp[2]:10 1.0
(word) sin16s::x3_6
(word) sin16s::x3_6#0 x3_6 zp[2]:32 4.0
(word) sin16s::x4
(word) sin16s::x4#0 x4 zp[2]:10 4.0
(word) sin16s::x5
(word) sin16s::x5#0 x5 zp[2]:32 4.0
(word) sin16s::x5_128
(word) sin16s::x5_128#0 x5_128 zp[2]:32 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]:6 22.0
(word~) sin16s_gen2::$9 zp[2]:26 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]:12 22.0
(word) sin16s_gen2::i#2 i zp[2]:12 2.5384615384615383
(signed word) sin16s_gen2::max
(const signed word) sin16s_gen2::max#0 max = (signed word) $1001
(signed word) sin16s_gen2::min
(const signed word) sin16s_gen2::min#0 min = (signed word) -$1001
(signed word) sin16s_gen2::offs
(signed word*) sin16s_gen2::sintab
(signed word*) sin16s_gen2::sintab#0 sintab zp[2]:15 7.333333333333333
(signed word*) sin16s_gen2::sintab#2 sintab zp[2]:15 3.0
(dword) sin16s_gen2::step
(dword) sin16s_gen2::step#0 step zp[4]:22 0.8666666666666666
(word) sin16s_gen2::wavelength
(const word) sin16s_gen2::wavelength#0 wavelength = (word) $200
(dword) sin16s_gen2::x
(dword) sin16s_gen2::x#1 x zp[4]:2 11.0
(dword) sin16s_gen2::x#2 x zp[4]:2 2.75

reg byte x [ memset::c#4 ]
reg byte a [ bitmap_init::bits#3 bitmap_init::bits#4 bitmap_init::bits#1 ]
reg byte x [ bitmap_init::x#2 bitmap_init::x#1 ]
reg byte x [ bitmap_init::y#2 bitmap_init::y#1 ]
zp[4]:2 [ sin16s_gen2::x#2 sin16s_gen2::x#1 ]
reg byte y [ sin16s::isUpper#2 ]
zp[4]:6 [ sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 mul16s::m#4 mul16s::m#5 mul16s::m#1 mul16s::m#0 mul16s::m#2 mul16u::return#2 mul16s::return#0 mul16u::res#2 mul16u::res#6 mul16u::res#1 mul16u::return#3 mul16s::return#3 main::xpos#0 mul16s::return#4 main::ypos#0 mul16s::return#2 sin16s_gen2::$6 main::$6 main::$11 mulu16_sel::$0 mulu16_sel::$1 ]
zp[2]:10 [ 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 mul16s::b#3 mul16s::b#2 mul16s::b#1 main::cos_x#0 main::sin_y#0 main::$22 main::$24 main::$23 main::$25 ]
reg byte x [ mulu16_sel::select#5 ]
zp[2]:12 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 divr16u::return#3 div32u16u::quotient_lo#0 sin16s_gen2::i#2 sin16s_gen2::i#1 memset::num#2 memset::end#0 main::idx_x#3 main::idx_x#10 main::idx_x#1 ]
reg byte x [ divr16u::i#2 divr16u::i#1 ]
zp[1]:14 [ frame_cnt ]
reg byte alu [ main::$7 ]
zp[2]:15 [ main::x#0 bitmap_plot::x#0 sin16s_gen2::sintab#2 sin16s_gen2::sintab#0 ]
reg byte alu [ main::$12 ]
reg byte x [ bitmap_plot::y#0 ]
zp[2]:17 [ bitmap_plot::plotter#0 bitmap_plot::plotter#1 main::y#0 bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 mul16s::a#3 mul16s::a#0 mul16s::$17 sin16s::return#0 sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 sin16s::usinx#0 ]
reg byte a [ bitmap_plot::$2 ]
zp[2]:19 [ mul16s::$9 mul16s::$16 bitmap_plot::$1 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 mul16u::b#2 mul16u::b#0 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[1]:21 [ bitmap_init::$7 ]
reg byte a [ bitmap_init::$4 ]
reg byte a [ bitmap_init::$5 ]
reg byte a [ bitmap_init::$6 ]
zp[4]:22 [ div32u16u::return#2 sin16s_gen2::step#0 div32u16u::return#0 ]
zp[2]:26 [ sin16s_gen2::$9 mul16s::$13 divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#0 mul16u::a#3 mul16u::a#6 mul16u::a#1 mul16u::a#2 mul16u::a#0 ]
zp[4]:28 [ sin16s::$4 mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ]
zp[2]:32 [ 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 memset::str#3 memset::dst#2 memset::dst#4 memset::dst#1 main::idx_y#3 main::idx_y#10 main::idx_y#1 ]
zp[2]:34 [ div32u16u::quotient_hi#0 sin16s::x1#0 ]
reg byte a [ divr16u::$1 ]
reg byte a [ divr16u::$2 ]
