(label) @1
(label) @begin
(label) @end
(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
(signed byte*) ap
(const signed byte*) ap#0 ap = (signed byte*) 253
(signed byte*) bp
(const signed byte*) bp#0 bp = (signed byte*) 254
(signed byte*) cp
(const signed byte*) cp#0 cp = (signed byte*) 255
(signed byte()) fmul8((signed byte) fmul8::a , (signed byte) fmul8::b)
(label) fmul8::@return
(signed byte) fmul8::a
(signed byte) fmul8::a#0 reg byte a 51.5
(signed byte) fmul8::b
(signed byte) fmul8::b#0 reg byte x 51.5
(signed byte) fmul8::return
(signed byte) fmul8::return#0 reg byte a 202.0
(signed byte) fmul8::return#1 reg byte a 34.33333333333333
(void()) init_screen()
(label) init_screen::@1
(label) init_screen::@2
(label) init_screen::@return
(byte*) init_screen::COLS
(byte*) init_screen::COLS#1 COLS zp ZP_WORD:14 7.333333333333333
(byte*) init_screen::COLS#3 COLS zp ZP_WORD:14 13.2
(byte) init_screen::WHITE
(const byte) init_screen::WHITE#0 WHITE = (byte) 1
(byte) init_screen::l
(byte) init_screen::l#1 reg byte x 16.5
(byte) init_screen::l#2 reg byte x 16.5
(byte) init_screen::m
(byte) init_screen::m#1 reg byte x 16.5
(byte) init_screen::m#2 reg byte x 3.6666666666666665
(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::@8
(label) main::@return
(byte*) main::at
(byte*) main::at#1 at zp ZP_WORD:2 7.333333333333333
(byte*~) main::at#12 at#12 zp ZP_WORD:7 22.0
(byte*) main::at#2 at#2 zp ZP_WORD:4 2.3157894736842106
(byte*) main::at#3 at#3 zp ZP_WORD:7 27.545454545454547
(byte*) main::at#4 at zp ZP_WORD:2 8.25
(byte*) main::at#6 at#6 zp ZP_WORD:7 213.0
(byte*) main::at_line
(byte*) main::at_line#2 at_line zp ZP_WORD:4 22.0
(byte) main::i
(byte) main::i#1 i zp ZP_BYTE:6 16.5
(byte) main::i#2 i zp ZP_BYTE:6 7.444444444444445
(byte) main::j
(byte) main::j#1 j zp ZP_BYTE:9 151.5
(byte) main::j#2 j zp ZP_BYTE:9 30.299999999999997
(byte) main::k
(byte) main::k#1 reg byte x 16.5
(byte) main::k#2 reg byte x 6.6000000000000005
(signed byte) main::r
(signed byte) main::r#0 reg byte a 202.0
(void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num)
(label) memset::@1
(label) memset::@return
(byte) memset::c
(const byte) memset::c#0 c = (byte) ' '
(byte*) memset::dst
(byte*) memset::dst#1 dst zp ZP_WORD:16 16.5
(byte*) memset::dst#2 dst zp ZP_WORD:16 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*)(const byte*) print_screen#0
(byte[$200]) mulf_sqr1
(const byte[$200]) mulf_sqr1#0 mulf_sqr1 = kickasm {{ .for(var i=0;i<$200;i++) {
    	.if(i<=159) { .byte round((i*i)/256) }
    	.if(i>159 && i<=351 ) { .byte round(((i-256)*(i-256))/256) }
    	.if(i>351) { .byte round(((512-i)*(512-i))/256) }
    }
 }}
(byte[$200]) mulf_sqr2
(const byte[$200]) mulf_sqr2#0 mulf_sqr2 = kickasm {{ .for(var i=0;i<$200;i++) {
    	.if(i<=159) { .byte round((-i-1)*(-i-1)/256) }
    	.if(i>159 && i<=351 ) { .byte round(((255-i)*(255-i))/256) }
    	.if(i>351) { .byte round(((i-511)*(i-511))/256) }  
    }
 }}
(void()) print_byte_at((byte) print_byte_at::b , (byte*) print_byte_at::at)
(byte~) print_byte_at::$0 reg byte a 4.0
(byte~) print_byte_at::$2 reg byte y 2.0
(label) print_byte_at::@1
(label) print_byte_at::@return
(byte*) print_byte_at::at
(byte*) print_byte_at::at#0 at zp ZP_WORD:10 1.0
(byte) print_byte_at::b
(byte) print_byte_at::b#0 b zp ZP_BYTE:12 1.0
(void()) print_char_at((byte) print_char_at::ch , (byte*) print_char_at::at)
(label) print_char_at::@return
(byte*) print_char_at::at
(byte*) print_char_at::at#0 at zp ZP_WORD:10 4.0
(byte*) print_char_at::at#1 at zp ZP_WORD:10 4.0
(byte*) print_char_at::at#2 at zp ZP_WORD:10 4.0
(byte*) print_char_at::at#3 at zp ZP_WORD:10 2.0
(byte*) print_char_at::at#4 at zp ZP_WORD:10 10.0
(byte) print_char_at::ch
(byte) print_char_at::ch#2 ch zp ZP_BYTE:13 2.0
(byte) print_char_at::ch#3 ch zp ZP_BYTE:13 4.0
(byte) print_char_at::ch#4 ch zp ZP_BYTE:13 6.0
(void()) print_cls()
(label) print_cls::@return
(byte[]) print_hextab
(const byte[]) print_hextab#0 print_hextab = (string) "0123456789abcdef"
(void()) print_sbyte_at((signed byte) print_sbyte_at::b , (byte*) print_sbyte_at::at)
(label) print_sbyte_at::@1
(label) print_sbyte_at::@2
(label) print_sbyte_at::@3
(label) print_sbyte_at::@4
(label) print_sbyte_at::@return
(byte*) print_sbyte_at::at
(byte*) print_sbyte_at::at#0 at zp ZP_WORD:10 22.0
(byte*) print_sbyte_at::at#1 at zp ZP_WORD:10 22.0
(byte*) print_sbyte_at::at#2 at zp ZP_WORD:10 202.0
(byte*) print_sbyte_at::at#3 at zp ZP_WORD:10 14.333333333333329
(signed byte) print_sbyte_at::b
(signed byte) print_sbyte_at::b#0 b zp ZP_BYTE:12 4.0
(signed byte) print_sbyte_at::b#1 b zp ZP_BYTE:12 11.0
(signed byte) print_sbyte_at::b#2 b zp ZP_BYTE:12 11.0
(signed byte) print_sbyte_at::b#3 b zp ZP_BYTE:12 101.0
(signed byte) print_sbyte_at::b#4 b zp ZP_BYTE:12 21.499999999999993
(signed byte) print_sbyte_at::b#6 b zp ZP_BYTE:12 4.0
(byte*) print_screen
(const byte*) print_screen#0 print_screen = (byte*) 1024
(signed byte[]) vals
(const signed byte[]) vals#0 vals = { (signed byte) -$5f, (signed byte) -$40, (signed byte) -$20, (signed byte) -$10, (signed byte) 0, (signed byte) $10, (signed byte) $20, (signed byte) $40, (signed byte) $5f }

reg byte x [ main::k#2 main::k#1 ]
zp ZP_WORD:2 [ main::at#4 main::at#1 ]
zp ZP_WORD:4 [ main::at_line#2 main::at#2 ]
zp ZP_BYTE:6 [ main::i#2 main::i#1 ]
zp ZP_WORD:7 [ main::at#6 main::at#3 main::at#12 ]
zp ZP_BYTE:9 [ main::j#2 main::j#1 ]
zp ZP_WORD:10 [ print_sbyte_at::at#3 print_sbyte_at::at#0 print_sbyte_at::at#2 print_sbyte_at::at#1 print_char_at::at#4 print_char_at::at#2 print_char_at::at#3 print_char_at::at#0 print_char_at::at#1 print_byte_at::at#0 ]
zp ZP_BYTE:12 [ print_sbyte_at::b#6 print_sbyte_at::b#0 print_sbyte_at::b#4 print_sbyte_at::b#1 print_sbyte_at::b#3 print_sbyte_at::b#2 print_byte_at::b#0 ]
zp ZP_BYTE:13 [ print_char_at::ch#4 print_char_at::ch#2 print_char_at::ch#3 ]
reg byte x [ init_screen::l#2 init_screen::l#1 ]
zp ZP_WORD:14 [ init_screen::COLS#3 init_screen::COLS#1 ]
reg byte x [ init_screen::m#2 init_screen::m#1 ]
zp ZP_WORD:16 [ memset::dst#2 memset::dst#1 ]
reg byte a [ fmul8::a#0 ]
reg byte x [ fmul8::b#0 ]
reg byte a [ fmul8::return#0 ]
reg byte a [ main::r#0 ]
reg byte a [ print_byte_at::$0 ]
reg byte y [ print_byte_at::$2 ]
reg byte a [ fmul8::return#1 ]
