(label) @1
(label) @begin
(label) @end
(byte*) BORDERCOL
(const byte*) BORDERCOL#0 BORDERCOL = (byte*) 53280
(byte[$140]) COS
(const byte[$140]) COS#0 COS = kickasm {{ {
    .var min = -$7fff
    .var max = $7fff
    .var ampl = max-min;
    .for(var i=0;i<$140;i++) {
        .var rad = i*2*PI/256;
        .byte >round(min+(ampl/2)+(ampl/2)*cos(rad))
    }
    }
 }}
(byte) GREEN
(const byte) GREEN#0 GREEN = (byte) 5
(byte) LIGHT_BLUE
(const byte) LIGHT_BLUE#0 LIGHT_BLUE = (byte) $e
(byte*) RASTER
(const byte*) RASTER#0 RASTER = (byte*) 53266
(byte*) SCREEN
(const byte*) SCREEN#0 SCREEN = (byte*) 1024
(byte*) SIN
(const byte*) SIN#0 SIN = (const byte[$140]) COS#0+(byte) $40
(byte*) SPRITE
(const byte*) SPRITE#0 SPRITE = (byte*) 12288
(byte*) SPRITES_COLS
(const byte*) SPRITES_COLS#0 SPRITES_COLS = (byte*) 53287
(byte*) SPRITES_ENABLE
(const byte*) SPRITES_ENABLE#0 SPRITES_ENABLE = (byte*) 53269
(byte*) SPRITES_XMSB
(const byte*) SPRITES_XMSB#0 SPRITES_XMSB = (byte*) 53264
(byte*) SPRITES_XPOS
(const byte*) SPRITES_XPOS#0 SPRITES_XPOS = (byte*) 53248
(byte*) SPRITES_YPOS
(const byte*) SPRITES_YPOS#0 SPRITES_YPOS = (byte*) 53249
(void()) anim()
(signed word~) anim::$10 $10 zp ZP_WORD:5 202.0
(signed word~) anim::$11 $11 zp ZP_WORD:5 202.0
(signed word~) anim::$12 $12 zp ZP_WORD:5 202.0
(byte~) anim::$15 reg byte a 101.0
(byte~) anim::$18 reg byte a 202.0
(byte~) anim::$22 reg byte a 202.0
(byte~) anim::$25 reg byte a 202.0
(signed word~) anim::$4 $4 zp ZP_WORD:5 202.0
(signed word~) anim::$6 $6 zp ZP_WORD:5 202.0
(signed word~) anim::$9 $9 zp ZP_WORD:5 202.0
(label) anim::@1
(label) anim::@10
(label) anim::@11
(label) anim::@12
(label) anim::@13
(label) anim::@2
(label) anim::@3
(label) anim::@4
(label) anim::@5
(label) anim::@6
(label) anim::@7
(label) anim::@8
(label) anim::@9
(byte) anim::angle
(byte) anim::angle#1 angle zp ZP_BYTE:2 11.0
(byte) anim::angle#6 angle zp ZP_BYTE:2 0.5
(signed byte) anim::cos_a
(byte) anim::i
(byte) anim::i#1 i zp ZP_BYTE:3 151.5
(byte) anim::i#10 i zp ZP_BYTE:3 13.289473684210527
(byte) anim::i2
(byte) anim::i2#0 reg byte x 101.0
(label) anim::mulf8s_prepare1
(byte~) anim::mulf8s_prepare1_$0
(signed byte) anim::mulf8s_prepare1_a
(label) anim::mulf8s_prepare2
(byte~) anim::mulf8s_prepare2_$0
(signed byte) anim::mulf8s_prepare2_a
(signed byte) anim::sin_a
(byte) anim::sprite_msb
(byte) anim::sprite_msb#1 sprite_msb zp ZP_BYTE:4 101.0
(byte) anim::sprite_msb#10 sprite_msb zp ZP_BYTE:4 7.481481481481482
(byte) anim::sprite_msb#2 sprite_msb zp ZP_BYTE:4 202.0
(byte) anim::sprite_msb#5 sprite_msb zp ZP_BYTE:4 34.888888888888886
(signed byte) anim::x
(signed byte) anim::x#0 x zp ZP_BYTE:19 15.947368421052632
(signed word) anim::xpos
(signed word) anim::xpos#0 xpos zp ZP_WORD:25 33.666666666666664
(signed word) anim::xr
(signed word) anim::xr#0 xr zp ZP_WORD:21 18.363636363636363
(signed word) anim::xr#1 xr zp ZP_WORD:21 33.666666666666664
(signed byte) anim::y
(signed byte) anim::y#0 y zp ZP_BYTE:20 23.307692307692307
(byte) anim::ypos
(byte) anim::ypos#0 reg byte y 50.5
(signed word) anim::yr
(signed word) anim::yr#0 yr zp ZP_WORD:23 16.833333333333332
(signed word) anim::yr#1 yr zp ZP_WORD:23 25.25
(void()) init()
(label) init::@1
(label) init::@2
(label) init::@return
(byte) init::i
(byte) init::i#1 reg byte x 16.5
(byte) init::i#2 reg byte x 14.666666666666666
(byte*) init::sprites_ptr
(const byte*) init::sprites_ptr#0 sprites_ptr = (const byte*) SCREEN#0+(word) $3f8
(void()) main()
(label) main::@1
(label) main::@return
(signed word()) mulf8s_prepared((signed byte) mulf8s_prepared::b)
(byte~) mulf8s_prepared::$12 reg byte a 4.0
(byte~) mulf8s_prepared::$15 reg byte a 4.0
(byte~) mulf8s_prepared::$16 reg byte a 4.0
(byte~) mulf8s_prepared::$8 reg byte a 4.0
(label) mulf8s_prepared::@1
(label) mulf8s_prepared::@2
(label) mulf8s_prepared::@3
(label) mulf8s_prepared::@4
(label) mulf8s_prepared::@5
(label) mulf8s_prepared::@return
(signed byte) mulf8s_prepared::b
(signed byte) mulf8s_prepared::b#0 reg byte y 202.0
(signed byte) mulf8s_prepared::b#1 reg byte y 202.0
(signed byte) mulf8s_prepared::b#2 reg byte y 202.0
(signed byte) mulf8s_prepared::b#3 reg byte y 202.0
(signed byte) mulf8s_prepared::b#4 reg byte y 40.6
(word) mulf8s_prepared::m
(word) mulf8s_prepared::m#0 m zp ZP_WORD:5 2.0
(word) mulf8s_prepared::m#1 m zp ZP_WORD:5 4.0
(word) mulf8s_prepared::m#2 m zp ZP_WORD:5 4.0
(word) mulf8s_prepared::m#4 m zp ZP_WORD:5 0.6666666666666666
(word) mulf8s_prepared::m#5 m zp ZP_WORD:5 2.5
(signed byte*) mulf8s_prepared::memA
(const signed byte*) mulf8s_prepared::memA#0 memA = (signed byte*) 253
(signed word) mulf8s_prepared::return
(void()) mulf8u_prepare((byte) mulf8u_prepare::a)
(label) mulf8u_prepare::@return
(byte) mulf8u_prepare::a
(byte) mulf8u_prepare::a#2 reg byte a 204.0
(byte~) mulf8u_prepare::a#3 reg byte a 202.0
(byte~) mulf8u_prepare::a#4 reg byte a 202.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 a 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:5 1.3333333333333333
(word) mulf8u_prepared::return#2 return zp ZP_WORD:5 4.0
(void()) mulf_init()
(byte~) mulf_init::$10 reg byte a 22.0
(byte~) mulf_init::$11 reg byte a 22.0
(byte~) mulf_init::$7 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::@return
(byte) mulf_init::c
(byte) mulf_init::c#1 reg byte x 2.357142857142857
(byte) mulf_init::c#2 reg byte x 22.0
(byte) mulf_init::dir
(byte) mulf_init::dir#2 dir zp ZP_BYTE:18 4.714285714285714
(byte) mulf_init::dir#3 dir zp ZP_BYTE:18 7.333333333333333
(word) mulf_init::sqr
(word) mulf_init::sqr#1 sqr zp ZP_WORD:12 7.333333333333333
(word) mulf_init::sqr#2 sqr zp ZP_WORD:12 22.0
(word) mulf_init::sqr#3 sqr zp ZP_WORD:12 9.166666666666666
(word) mulf_init::sqr#4 sqr zp ZP_WORD:12 6.6000000000000005
(byte*) mulf_init::sqr1_hi
(byte*) mulf_init::sqr1_hi#1 sqr1_hi zp ZP_WORD:9 5.5
(byte*) mulf_init::sqr1_hi#2 sqr1_hi zp ZP_WORD:9 3.0
(byte*) mulf_init::sqr1_lo
(byte*) mulf_init::sqr1_lo#1 sqr1_lo zp ZP_WORD:7 16.5
(byte*) mulf_init::sqr1_lo#2 sqr1_lo zp ZP_WORD:7 2.5384615384615383
(byte*) mulf_init::sqr2_hi
(byte*) mulf_init::sqr2_hi#1 sqr2_hi zp ZP_WORD:16 3.142857142857143
(byte*) mulf_init::sqr2_hi#2 sqr2_hi zp ZP_WORD:16 11.0
(byte*) mulf_init::sqr2_lo
(byte*) mulf_init::sqr2_lo#1 sqr2_lo zp ZP_WORD:14 16.5
(byte*) mulf_init::sqr2_lo#2 sqr2_lo zp ZP_WORD:14 4.125
(byte) mulf_init::x_2
(byte) mulf_init::x_2#1 x_2 zp ZP_BYTE:11 11.0
(byte) mulf_init::x_2#2 x_2 zp ZP_BYTE:11 4.888888888888889
(byte) mulf_init::x_2#3 x_2 zp ZP_BYTE:11 8.25
(byte) mulf_init::x_255
(byte) mulf_init::x_255#1 reg byte x 5.5
(byte) mulf_init::x_255#2 reg byte x 11.0
(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) }
(signed byte[8]) xs
(const signed byte[8]) xs#0 xs = { (signed byte) -$46, (signed byte) -$46, (signed byte) -$46, (signed byte) 0, (signed byte) 0, (signed byte) $46, (signed byte) $46, (signed byte) $46 }
(signed byte[8]) ys
(const signed byte[8]) ys#0 ys = { (signed byte) -$46, (signed byte) 0, (signed byte) $46, (signed byte) -$46, (signed byte) $46, (signed byte) -$46, (signed byte) 0, (signed byte) $46 }

zp ZP_BYTE:2 [ anim::angle#6 anim::angle#1 ]
zp ZP_BYTE:3 [ anim::i#10 anim::i#1 ]
zp ZP_BYTE:4 [ anim::sprite_msb#10 anim::sprite_msb#5 anim::sprite_msb#2 anim::sprite_msb#1 ]
reg byte y [ mulf8s_prepared::b#4 mulf8s_prepared::b#0 mulf8s_prepared::b#2 mulf8s_prepared::b#1 mulf8s_prepared::b#3 ]
zp ZP_WORD:5 [ mulf8s_prepared::m#4 mulf8s_prepared::m#5 mulf8s_prepared::m#1 mulf8s_prepared::m#0 mulf8s_prepared::m#2 anim::$4 anim::$6 anim::$9 anim::$11 mulf8u_prepared::return#2 anim::$10 anim::$12 mulf8u_prepared::return#0 ]
reg byte a [ mulf8u_prepare::a#2 mulf8u_prepare::a#3 mulf8u_prepare::a#4 ]
reg byte x [ init::i#2 init::i#1 ]
reg byte x [ mulf_init::c#2 mulf_init::c#1 ]
zp ZP_WORD:7 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_lo#1 ]
zp ZP_WORD:9 [ mulf_init::sqr1_hi#2 mulf_init::sqr1_hi#1 ]
zp ZP_BYTE:11 [ mulf_init::x_2#3 mulf_init::x_2#2 mulf_init::x_2#1 ]
zp ZP_WORD:12 [ mulf_init::sqr#3 mulf_init::sqr#4 mulf_init::sqr#1 mulf_init::sqr#2 ]
reg byte x [ mulf_init::x_255#2 mulf_init::x_255#1 ]
zp ZP_WORD:14 [ mulf_init::sqr2_lo#2 mulf_init::sqr2_lo#1 ]
zp ZP_WORD:16 [ mulf_init::sqr2_hi#2 mulf_init::sqr2_hi#1 ]
zp ZP_BYTE:18 [ mulf_init::dir#2 mulf_init::dir#3 ]
zp ZP_BYTE:19 [ anim::x#0 ]
zp ZP_BYTE:20 [ anim::y#0 ]
zp ZP_WORD:21 [ anim::xr#0 anim::xr#1 ]
zp ZP_WORD:23 [ anim::yr#0 anim::yr#1 ]
reg byte a [ anim::$15 ]
zp ZP_WORD:25 [ anim::xpos#0 ]
reg byte a [ anim::$18 ]
reg byte a [ anim::$22 ]
reg byte y [ anim::ypos#0 ]
reg byte x [ anim::i2#0 ]
reg byte a [ anim::$25 ]
reg byte a [ mulf8u_prepared::b#0 ]
reg byte a [ mulf8s_prepared::$8 ]
reg byte a [ mulf8s_prepared::$15 ]
reg byte a [ mulf8s_prepared::$12 ]
reg byte a [ mulf8s_prepared::$16 ]
reg byte a [ mulf_init::$7 ]
reg byte a [ mulf_init::$10 ]
reg byte a [ mulf_init::$11 ]
