(label) @1
(label) @2
(label) @3
(label) @4
(label) @5
(label) @6
(label) @7
(label) @8
(label) @begin
(label) @end
(byte*) BORDERCOL
(const byte*) BORDERCOL#0 BORDERCOL = (byte*) 53280
(word*[]) BUCKETS
(void*) BUCKETS#0 BUCKETS zp ZP_WORD:20 0.02531645569620253
(byte[]) BUCKET_IDX
(void*) BUCKET_IDX#0 BUCKET_IDX zp ZP_WORD:22 0.0425531914893617
(byte[]) BUCKET_SIZES
(void*) BUCKET_SIZES#0 BUCKET_SIZES zp ZP_WORD:18 0.024691358024691357
(byte*) COLS
(const byte*) COLS#0 COLS = (byte*) 55296
(word[CORDIC_ITERATIONS_16#0]) CORDIC_ATAN2_ANGLES_16
(const word[CORDIC_ITERATIONS_16#0]) CORDIC_ATAN2_ANGLES_16#0 CORDIC_ATAN2_ANGLES_16 = kickasm {{ .for (var i=0; i<CORDIC_ITERATIONS_16; i++)
        .word 256*2*256*atan(1/pow(2,i))/PI/2
 }}
(byte) CORDIC_ITERATIONS_16
(const byte) CORDIC_ITERATIONS_16#0 CORDIC_ITERATIONS_16 = (byte) $f
(byte) FILL_CHAR
(const byte) FILL_CHAR#0 FILL_CHAR = (byte) '*'
(byte*) HEAP_TOP
(const byte*) HEAP_TOP#0 HEAP_TOP = (byte*) 40960
(byte) NUM_BUCKETS
(const byte) NUM_BUCKETS#0 NUM_BUCKETS = (byte) $30
(byte) NUM_SQUARES
(const byte) NUM_SQUARES#3 NUM_SQUARES = (byte) $30
(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
(byte*) RASTER
(const byte*) RASTER#0 RASTER = (byte*) 53266
(byte[]) SCREEN_ANGLE
(void*) SCREEN_ANGLE#0 SCREEN_ANGLE zp ZP_WORD:16 0.045454545454545456
(byte[]) SCREEN_DIST
(void*) SCREEN_DIST#0 SCREEN_DIST zp ZP_WORD:28 0.125
(byte*) SCREEN_FILL
(const byte*) SCREEN_FILL#0 SCREEN_FILL = (byte*) 1024
(const byte) SIZEOF_BYTE SIZEOF_BYTE = (byte) 1
(const byte) SIZEOF_POINTER SIZEOF_POINTER = (byte) 2
(const byte) SIZEOF_WORD SIZEOF_WORD = (byte) 2
(word*) SQUARES
(void*) SQUARES#1 SQUARES zp ZP_WORD:5 0.03225806451612903
(word()) atan2_16((signed word) atan2_16::x , (signed word) atan2_16::y)
(signed word~) atan2_16::$2 $2 zp ZP_WORD:5 4.0
(byte~) atan2_16::$23 reg byte a 2002.0
(byte~) atan2_16::$24 reg byte a 2002.0
(signed word~) atan2_16::$7 $7 zp ZP_WORD:8 4.0
(label) atan2_16::@1
(label) atan2_16::@10
(label) atan2_16::@11
(label) atan2_16::@12
(label) atan2_16::@13
(label) atan2_16::@14
(label) atan2_16::@15
(label) atan2_16::@16
(label) atan2_16::@17
(label) atan2_16::@18
(label) atan2_16::@19
(label) atan2_16::@2
(label) atan2_16::@20
(label) atan2_16::@21
(label) atan2_16::@3
(label) atan2_16::@4
(label) atan2_16::@5
(label) atan2_16::@6
(label) atan2_16::@7
(label) atan2_16::@8
(label) atan2_16::@9
(label) atan2_16::@return
(word) atan2_16::angle
(word) atan2_16::angle#1 angle zp ZP_WORD:10 3.0
(word) atan2_16::angle#11 angle zp ZP_WORD:10 4.0
(word) atan2_16::angle#12 angle zp ZP_WORD:10 190.66666666666666
(word) atan2_16::angle#13 angle zp ZP_WORD:10 1334.6666666666667
(word) atan2_16::angle#2 angle zp ZP_WORD:10 2002.0
(word) atan2_16::angle#3 angle zp ZP_WORD:10 2002.0
(word) atan2_16::angle#4 angle zp ZP_WORD:10 4.0
(word) atan2_16::angle#5 angle zp ZP_WORD:10 4.0
(word) atan2_16::angle#6 angle zp ZP_WORD:10 2004.0
(byte) atan2_16::i
(byte) atan2_16::i#1 reg byte x 1501.5
(byte) atan2_16::i#2 reg byte x 208.54166666666669
(word) atan2_16::return
(word) atan2_16::return#0 return zp ZP_WORD:10 34.99999999999999
(word) atan2_16::return#2 return zp ZP_WORD:10 202.0
(byte) atan2_16::shift
(byte) atan2_16::shift#1 reg byte y 20002.0
(byte) atan2_16::shift#2 reg byte y 8001.25
(byte~) atan2_16::shift#5 reg byte y 667.3333333333334
(signed word) atan2_16::x
(signed word) atan2_16::x#0 x zp ZP_WORD:34 2.8684210526315796
(signed word) atan2_16::xd
(signed word) atan2_16::xd#1 xd zp ZP_WORD:14 6667.333333333333
(signed word~) atan2_16::xd#10 xd zp ZP_WORD:14 1001.0
(signed word) atan2_16::xd#2 xd zp ZP_WORD:14 1001.0
(signed word) atan2_16::xd#3 xd zp ZP_WORD:14 7668.333333333332
(signed word) atan2_16::xd#5 xd zp ZP_WORD:14 1001.0
(signed word) atan2_16::xi
(signed word) atan2_16::xi#0 xi zp ZP_WORD:8 6.0
(signed word) atan2_16::xi#1 xi zp ZP_WORD:8 500.5
(signed word~) atan2_16::xi#13 xi zp ZP_WORD:8 4.0
(signed word) atan2_16::xi#2 xi zp ZP_WORD:8 500.5
(signed word) atan2_16::xi#3 xi zp ZP_WORD:8 267.0666666666667
(signed word) atan2_16::xi#8 xi zp ZP_WORD:8 1001.0
(signed word) atan2_16::y
(signed word) atan2_16::y#0 y zp ZP_WORD:36 2.724999999999999
(signed word) atan2_16::yd
(signed word) atan2_16::yd#1 yd zp ZP_WORD:12 10001.0
(signed word~) atan2_16::yd#10 yd zp ZP_WORD:12 2002.0
(signed word) atan2_16::yd#2 yd zp ZP_WORD:12 2002.0
(signed word) atan2_16::yd#3 yd zp ZP_WORD:12 4601.0
(signed word) atan2_16::yd#5 yd zp ZP_WORD:12 2002.0
(signed word) atan2_16::yi
(signed word) atan2_16::yi#0 yi zp ZP_WORD:5 1.2000000000000002
(signed word) atan2_16::yi#1 yi zp ZP_WORD:5 667.3333333333334
(signed word~) atan2_16::yi#16 yi zp ZP_WORD:5 4.0
(signed word) atan2_16::yi#2 yi zp ZP_WORD:5 667.3333333333334
(signed word) atan2_16::yi#3 yi zp ZP_WORD:5 353.4117647058823
(signed word) atan2_16::yi#8 yi zp ZP_WORD:5 1001.0
(word*()) bsearch16u((word) bsearch16u::key , (word*) bsearch16u::items , (byte) bsearch16u::num)
(byte~) bsearch16u::$16 reg byte a 2002.0
(word*~) bsearch16u::$2 $2 zp ZP_WORD:14 4.0
(byte~) bsearch16u::$6 reg byte a 2002.0
(label) bsearch16u::@1
(label) bsearch16u::@10
(label) bsearch16u::@2
(label) bsearch16u::@3
(label) bsearch16u::@4
(label) bsearch16u::@5
(label) bsearch16u::@6
(label) bsearch16u::@7
(label) bsearch16u::@8
(label) bsearch16u::@9
(label) bsearch16u::@return
(word*) bsearch16u::items
(word*) bsearch16u::items#0 items zp ZP_WORD:14 1001.0
(word*) bsearch16u::items#1 items#1 zp ZP_WORD:12 2.0
(word*) bsearch16u::items#10 items#10 zp ZP_WORD:12 429.2857142857143
(word*) bsearch16u::items#11 items zp ZP_WORD:14 752.25
(word*~) bsearch16u::items#16 items#16 zp ZP_WORD:12 2002.0
(word*~) bsearch16u::items#19 items zp ZP_WORD:14 2002.0
(word) bsearch16u::key
(word) bsearch16u::key#0 key zp ZP_WORD:34 0.23529411764705882
(byte) bsearch16u::num
(byte) bsearch16u::num#0 reg byte x 1001.0
(byte) bsearch16u::num#1 reg byte x 2002.0
(byte) bsearch16u::num#10 reg byte x 444.8888888888889
(byte) bsearch16u::num#5 reg byte x 3003.0
(word*) bsearch16u::pivot
(word*) bsearch16u::pivot#0 pivot zp ZP_WORD:14 750.75
(signed word) bsearch16u::result
(signed word) bsearch16u::result#0 result zp ZP_WORD:36 1501.5
(word*) bsearch16u::return
(word*) bsearch16u::return#1 return zp ZP_WORD:14 335.00000000000006
(word*) bsearch16u::return#2 return zp ZP_WORD:14 6.0
(word*) bsearch16u::return#3 return zp ZP_WORD:14 4.0
(byte*) heap_head
(byte*) heap_head#1 heap_head zp ZP_WORD:2 0.2446808510638298
(byte*) heap_head#18 heap_head zp ZP_WORD:2 23.0
(void()) init_angle_screen((byte*) init_angle_screen::screen)
(word~) init_angle_screen::$11 $11 zp ZP_WORD:10 202.0
(byte~) init_angle_screen::$13 reg byte a 202.0
(byte~) init_angle_screen::$14 reg byte a 202.0
(byte~) init_angle_screen::$15 reg byte a 202.0
(byte~) init_angle_screen::$3 reg byte a 202.0
(byte~) init_angle_screen::$4 reg byte a 202.0
(byte~) init_angle_screen::$7 reg byte a 202.0
(label) init_angle_screen::@1
(label) init_angle_screen::@2
(label) init_angle_screen::@3
(label) init_angle_screen::@4
(label) init_angle_screen::@5
(label) init_angle_screen::@return
(byte) init_angle_screen::ang_w
(byte) init_angle_screen::ang_w#0 ang_w zp ZP_BYTE:31 84.16666666666666
(word) init_angle_screen::angle_w
(word) init_angle_screen::angle_w#0 angle_w zp ZP_WORD:10 202.0
(byte*) init_angle_screen::screen
(byte*) init_angle_screen::screen#0 screen zp ZP_WORD:26 3.0
(byte*) init_angle_screen::screen_bottomline
(byte*) init_angle_screen::screen_bottomline#0 screen_bottomline zp ZP_WORD:26 4.0
(byte*) init_angle_screen::screen_bottomline#1 screen_bottomline zp ZP_WORD:26 7.333333333333333
(byte*) init_angle_screen::screen_bottomline#6 screen_bottomline zp ZP_WORD:26 9.040000000000001
(byte*) init_angle_screen::screen_topline
(byte*) init_angle_screen::screen_topline#0 screen_topline zp ZP_WORD:24 2.0
(byte*) init_angle_screen::screen_topline#1 screen_topline zp ZP_WORD:24 5.5
(byte*) init_angle_screen::screen_topline#6 screen_topline zp ZP_WORD:24 9.416666666666666
(byte) init_angle_screen::x
(byte) init_angle_screen::x#1 x zp ZP_BYTE:4 101.0
(byte) init_angle_screen::x#5 x zp ZP_BYTE:4 25.25
(byte) init_angle_screen::xb
(byte) init_angle_screen::xb#1 xb zp ZP_BYTE:7 101.0
(byte) init_angle_screen::xb#5 xb zp ZP_BYTE:7 19.238095238095237
(signed word) init_angle_screen::xw
(word) init_angle_screen::xw#0 xw zp ZP_WORD:34 33.666666666666664
(byte) init_angle_screen::y
(byte) init_angle_screen::y#1 y zp ZP_BYTE:30 16.5
(byte) init_angle_screen::y#5 y zp ZP_BYTE:30 4.730769230769231
(signed word) init_angle_screen::yw
(word) init_angle_screen::yw#0 yw zp ZP_WORD:36 50.5
(void()) init_buckets((byte*) init_buckets::screen)
(word~) init_buckets::$10 $10 zp ZP_WORD:32 11.0
(word~) init_buckets::$12 $12 zp ZP_WORD:34 22.0
(word~) init_buckets::$13 $13 zp ZP_WORD:36 22.0
(byte~) init_buckets::$14 reg byte a 22.0
(byte*~) init_buckets::$15 $15 zp ZP_WORD:5 22.0
(word**~) init_buckets::$16 $16 zp ZP_WORD:34 22.0
(word**~) init_buckets::$17 $17 zp ZP_WORD:36 22.0
(void*~) init_buckets::$5 $5 zp ZP_WORD:5 3.6666666666666665
(word~) init_buckets::$9 $9 zp ZP_WORD:36 22.0
(label) init_buckets::@1
(label) init_buckets::@2
(label) init_buckets::@3
(label) init_buckets::@4
(label) init_buckets::@5
(label) init_buckets::@6
(label) init_buckets::@7
(label) init_buckets::@8
(label) init_buckets::@return
(word*) init_buckets::bucket
(word*) init_buckets::bucket#0 bucket zp ZP_WORD:36 7.333333333333333
(byte*) init_buckets::dist
(byte*) init_buckets::dist#1 dist zp ZP_WORD:8 7.333333333333333
(byte*) init_buckets::dist#3 dist#3 zp ZP_WORD:2 7.333333333333333
(byte*) init_buckets::dist#4 dist zp ZP_WORD:8 23.0
(byte*) init_buckets::dist#5 dist#5 zp ZP_WORD:2 4.6000000000000005
(byte*~) init_buckets::dist#6 dist zp ZP_WORD:8 4.0
(byte*~) init_buckets::dist#8 dist#8 zp ZP_WORD:2 4.0
(byte) init_buckets::distance
(byte) init_buckets::distance#0 distance zp ZP_BYTE:30 5.5
(byte) init_buckets::i
(byte) init_buckets::i#1 reg byte y 16.5
(byte) init_buckets::i#2 reg byte y 16.5
(word) init_buckets::i1
(word) init_buckets::i1#1 i1 zp ZP_WORD:10 16.5
(word) init_buckets::i1#2 i1 zp ZP_WORD:10 7.333333333333333
(word) init_buckets::i2
(word) init_buckets::i2#1 i2 zp ZP_WORD:24 16.5
(word) init_buckets::i2#2 i2 zp ZP_WORD:24 5.5
(byte) init_buckets::i3
(byte) init_buckets::i3#1 reg byte y 16.5
(byte) init_buckets::i3#2 reg byte y 16.5
(word) init_buckets::i4
(word) init_buckets::i4#1 i4 zp ZP_WORD:26 16.5
(word) init_buckets::i4#2 i4 zp ZP_WORD:26 2.0
(byte*) init_buckets::screen
(byte*) init_buckets::screen#0 screen zp ZP_WORD:28 0.42500000000000004
(void()) init_dist_screen((byte*) init_dist_screen::screen)
(byte~) init_dist_screen::$14 reg byte a 202.0
(byte~) init_dist_screen::$16 reg byte a 202.0
(byte~) init_dist_screen::$5 reg byte a 22.0
(byte~) init_dist_screen::$7 reg byte a 22.0
(label) init_dist_screen::@1
(label) init_dist_screen::@10
(label) init_dist_screen::@11
(label) init_dist_screen::@12
(label) init_dist_screen::@13
(label) init_dist_screen::@14
(label) init_dist_screen::@2
(label) init_dist_screen::@3
(label) init_dist_screen::@4
(label) init_dist_screen::@5
(label) init_dist_screen::@6
(label) init_dist_screen::@7
(label) init_dist_screen::@8
(label) init_dist_screen::@9
(label) init_dist_screen::@return
(byte) init_dist_screen::d
(byte) init_dist_screen::d#0 reg byte a 126.25
(word) init_dist_screen::ds
(word) init_dist_screen::ds#0 ds zp ZP_WORD:34 202.0
(byte*) init_dist_screen::screen
(byte*) init_dist_screen::screen#0 screen zp ZP_WORD:8 1.5
(byte*) init_dist_screen::screen_bottomline
(byte*) init_dist_screen::screen_bottomline#0 screen_bottomline zp ZP_WORD:10 4.0
(byte*) init_dist_screen::screen_bottomline#1 screen_bottomline zp ZP_WORD:10 7.333333333333333
(byte*) init_dist_screen::screen_bottomline#11 screen_bottomline zp ZP_WORD:10 6.848484848484849
(byte*) init_dist_screen::screen_topline
(byte*) init_dist_screen::screen_topline#1 screen_topline zp ZP_WORD:8 5.5
(byte*) init_dist_screen::screen_topline#11 screen_topline zp ZP_WORD:8 7.0625
(byte) init_dist_screen::x
(byte) init_dist_screen::x#1 x zp ZP_BYTE:31 101.0
(byte) init_dist_screen::x#10 x zp ZP_BYTE:31 26.578947368421055
(byte) init_dist_screen::x2
(byte) init_dist_screen::x2#0 reg byte a 202.0
(byte) init_dist_screen::xb
(byte) init_dist_screen::xb#1 xb zp ZP_BYTE:30 101.0
(byte) init_dist_screen::xb#10 xb zp ZP_BYTE:30 20.2
(byte) init_dist_screen::xd
(byte) init_dist_screen::xd#0 reg byte a 303.0
(word) init_dist_screen::xds
(word) init_dist_screen::xds#0 xds zp ZP_WORD:34 202.0
(byte) init_dist_screen::y
(byte) init_dist_screen::y#1 y zp ZP_BYTE:7 16.5
(byte) init_dist_screen::y#10 y zp ZP_BYTE:7 0.9705882352941178
(byte) init_dist_screen::y2
(byte) init_dist_screen::y2#0 reg byte a 22.0
(byte) init_dist_screen::yd
(byte) init_dist_screen::yd#0 reg byte a 33.0
(word) init_dist_screen::yds
(word) init_dist_screen::yds#0 yds zp ZP_WORD:32 4.869565217391305
(void()) init_squares()
(byte~) init_squares::$3 reg byte a 22.0
(byte~) init_squares::$4 reg byte a 22.0
(label) init_squares::@1
(label) init_squares::@2
(label) init_squares::@return
(byte) init_squares::i
(byte) init_squares::i#1 reg byte x 16.5
(byte) init_squares::i#2 reg byte x 5.5
(word) init_squares::sqr
(word) init_squares::sqr#1 sqr zp ZP_WORD:24 7.333333333333333
(word) init_squares::sqr#2 sqr zp ZP_WORD:24 6.6000000000000005
(word*) init_squares::squares
(word*) init_squares::squares#0 squares zp ZP_WORD:26 4.0
(word*) init_squares::squares#1 squares zp ZP_WORD:26 3.6666666666666665
(word*) init_squares::squares#2 squares zp ZP_WORD:26 17.5
(void()) main()
(byte~) main::$21 reg byte a 22.0
(byte~) main::$22 reg byte a 202.0
(label) main::@1
(label) main::@10
(label) main::@11
(label) main::@12
(label) main::@13
(label) main::@14
(label) main::@15
(label) main::@16
(label) main::@17
(label) main::@18
(label) main::@2
(label) main::@3
(label) main::@4
(label) main::@5
(label) main::@6
(label) main::@7
(label) main::@8
(label) main::@9
(byte*) main::angle
(byte*) main::angle#0 angle zp ZP_WORD:28 151.5
(word[]) main::bucket
(word[]) main::bucket#0 bucket zp ZP_WORD:24 6.588235294117648
(byte) main::bucket_idx
(byte) main::bucket_idx#1 bucket_idx zp ZP_BYTE:30 11.0
(byte) main::bucket_idx#6 bucket_idx zp ZP_BYTE:30 2.64
(byte) main::bucket_size
(byte) main::bucket_size#0 bucket_size zp ZP_BYTE:31 7.6875
(byte*) main::fill
(byte*) main::fill#0 fill zp ZP_WORD:26 202.0
(byte*) main::fill1
(byte*) main::fill1#0 fill1 zp ZP_WORD:8 22.0
(byte) main::i
(byte) main::i#1 reg byte x 101.0
(byte) main::i#2 reg byte x 33.666666666666664
(byte) main::min_angle
(byte) main::min_angle#1 min_angle zp ZP_BYTE:4 202.0
(byte) main::min_angle#2 min_angle zp ZP_BYTE:4 40.4
(byte) main::min_angle#5 min_angle zp ZP_BYTE:4 134.66666666666666
(word) main::min_offset
(word~) main::min_offset#11 min_offset#11 zp ZP_WORD:10 202.0
(word) main::min_offset#2 min_offset zp ZP_WORD:8 36.11111111111111
(word) main::min_offset#5 min_offset#5 zp ZP_WORD:10 202.0
(word~) main::min_offset#8 min_offset zp ZP_WORD:8 202.0
(word~) main::min_offset#9 min_offset#9 zp ZP_WORD:10 202.0
(word) main::offset
(word) main::offset#0 offset zp ZP_WORD:10 67.33333333333333
(void*()) malloc((word) malloc::size)
(label) malloc::@return
(byte*) malloc::mem
(byte*) malloc::mem#0 mem zp ZP_WORD:5 0.4
(void*) malloc::return
(word) malloc::size
(word) malloc::size#6 size zp ZP_WORD:5 22.0
(word) malloc::size#7 size zp ZP_WORD:5 13.0
(word()) sqr((byte) sqr::val)
(byte~) sqr::$0 reg byte a 4.0
(label) sqr::@return
(word) sqr::return
(word) sqr::return#0 return zp ZP_WORD:34 28.5
(word) sqr::return#2 return#2 zp ZP_WORD:32 22.0
(word) sqr::return#3 return zp ZP_WORD:34 202.0
(byte) sqr::val
(byte) sqr::val#0 reg byte a 22.0
(byte) sqr::val#1 reg byte a 202.0
(byte) sqr::val#2 reg byte a 114.0
(byte()) sqrt((word) sqrt::val)
(word~) sqrt::$1 $1 zp ZP_WORD:14 2.0
(word~) sqrt::$3 $3 zp ZP_WORD:14 4.0
(label) sqrt::@1
(label) sqrt::@return
(word*) sqrt::found
(word*) sqrt::found#0 found zp ZP_WORD:14 4.0
(byte) sqrt::return
(byte) sqrt::return#0 reg byte a 34.33333333333333
(byte) sqrt::return#2 reg byte a 202.0
(byte) sqrt::sq
(word) sqrt::val
(word) sqrt::val#0 val zp ZP_WORD:34 103.0

reg byte x [ main::i#2 main::i#1 ]
reg byte y [ init_buckets::i#2 init_buckets::i#1 ]
reg byte y [ init_buckets::i3#2 init_buckets::i3#1 ]
zp ZP_WORD:2 [ heap_head#18 heap_head#1 init_buckets::dist#5 init_buckets::dist#8 init_buckets::dist#3 ]
zp ZP_BYTE:4 [ init_angle_screen::x#5 init_angle_screen::x#1 main::min_angle#2 main::min_angle#5 main::min_angle#1 ]
zp ZP_WORD:5 [ atan2_16::yi#3 atan2_16::yi#8 atan2_16::yi#0 atan2_16::yi#16 atan2_16::$2 atan2_16::yi#1 atan2_16::yi#2 malloc::size#7 malloc::size#6 init_buckets::$15 malloc::mem#0 init_buckets::$5 SQUARES#1 ]
reg byte x [ atan2_16::i#2 atan2_16::i#1 ]
reg byte y [ atan2_16::shift#2 atan2_16::shift#5 atan2_16::shift#1 ]
zp ZP_BYTE:7 [ init_dist_screen::y#10 init_dist_screen::y#1 init_angle_screen::xb#5 init_angle_screen::xb#1 ]
zp ZP_WORD:8 [ init_dist_screen::screen_topline#11 init_dist_screen::screen#0 init_dist_screen::screen_topline#1 atan2_16::xi#3 atan2_16::xi#8 atan2_16::xi#0 atan2_16::xi#13 atan2_16::$7 atan2_16::xi#1 atan2_16::xi#2 init_buckets::dist#4 init_buckets::dist#6 init_buckets::dist#1 main::min_offset#2 main::min_offset#8 main::fill1#0 ]
zp ZP_WORD:10 [ init_dist_screen::screen_bottomline#11 init_dist_screen::screen_bottomline#0 init_dist_screen::screen_bottomline#1 atan2_16::angle#6 atan2_16::angle#12 atan2_16::angle#13 atan2_16::angle#2 atan2_16::angle#3 atan2_16::return#0 atan2_16::angle#5 atan2_16::angle#11 atan2_16::angle#1 atan2_16::angle#4 atan2_16::return#2 init_angle_screen::angle_w#0 init_angle_screen::$11 init_buckets::i1#2 init_buckets::i1#1 main::min_offset#5 main::min_offset#9 main::offset#0 main::min_offset#11 ]
reg byte a [ init_dist_screen::yd#0 init_dist_screen::$7 init_dist_screen::$5 ]
reg byte a [ init_dist_screen::xd#0 init_dist_screen::$16 init_dist_screen::$14 ]
zp ZP_WORD:12 [ bsearch16u::items#10 bsearch16u::items#16 bsearch16u::items#1 atan2_16::yd#5 atan2_16::yd#3 atan2_16::yd#10 atan2_16::yd#1 atan2_16::yd#2 ]
zp ZP_WORD:14 [ bsearch16u::return#1 bsearch16u::pivot#0 bsearch16u::return#2 bsearch16u::items#11 bsearch16u::items#0 bsearch16u::items#19 bsearch16u::$2 bsearch16u::return#3 sqrt::found#0 sqrt::$3 sqrt::$1 atan2_16::xd#5 atan2_16::xd#3 atan2_16::xd#10 atan2_16::xd#1 atan2_16::xd#2 ]
reg byte x [ bsearch16u::num#5 bsearch16u::num#1 bsearch16u::num#10 bsearch16u::num#0 ]
reg byte a [ sqr::val#2 sqr::val#1 sqr::val#0 ]
reg byte x [ init_squares::i#2 init_squares::i#1 ]
zp ZP_WORD:16 [ SCREEN_ANGLE#0 ]
zp ZP_WORD:18 [ BUCKET_SIZES#0 ]
zp ZP_WORD:20 [ BUCKETS#0 ]
zp ZP_WORD:22 [ BUCKET_IDX#0 ]
reg byte a [ main::$21 ]
zp ZP_WORD:24 [ main::bucket#0 init_squares::sqr#2 init_squares::sqr#1 init_angle_screen::screen_topline#6 init_angle_screen::screen_topline#0 init_angle_screen::screen_topline#1 init_buckets::i2#2 init_buckets::i2#1 ]
reg byte a [ main::$22 ]
zp ZP_WORD:26 [ main::fill#0 init_squares::squares#2 init_squares::squares#1 init_squares::squares#0 init_angle_screen::screen_bottomline#6 init_angle_screen::screen_bottomline#0 init_angle_screen::screen_bottomline#1 init_angle_screen::screen#0 init_buckets::i4#2 init_buckets::i4#1 ]
zp ZP_WORD:28 [ main::angle#0 SCREEN_DIST#0 init_buckets::screen#0 ]
zp ZP_BYTE:30 [ init_buckets::distance#0 init_dist_screen::xb#10 init_dist_screen::xb#1 init_angle_screen::y#5 init_angle_screen::y#1 main::bucket_idx#6 main::bucket_idx#1 ]
reg byte a [ init_buckets::$14 ]
reg byte a [ init_angle_screen::$3 ]
reg byte a [ init_angle_screen::$4 ]
reg byte a [ init_angle_screen::$7 ]
zp ZP_BYTE:31 [ init_angle_screen::ang_w#0 main::bucket_size#0 init_dist_screen::x#10 init_dist_screen::x#1 ]
reg byte a [ init_angle_screen::$13 ]
reg byte a [ init_angle_screen::$14 ]
reg byte a [ init_angle_screen::$15 ]
reg byte a [ atan2_16::$24 ]
reg byte a [ atan2_16::$23 ]
reg byte a [ init_dist_screen::y2#0 ]
zp ZP_WORD:32 [ sqr::return#2 init_dist_screen::yds#0 init_buckets::$10 ]
reg byte a [ init_dist_screen::x2#0 ]
zp ZP_WORD:34 [ sqr::return#3 init_dist_screen::xds#0 sqr::return#0 init_dist_screen::ds#0 sqrt::val#0 bsearch16u::key#0 init_angle_screen::xw#0 atan2_16::x#0 init_buckets::$12 init_buckets::$16 ]
reg byte a [ sqrt::return#2 ]
reg byte a [ init_dist_screen::d#0 ]
reg byte a [ sqrt::return#0 ]
reg byte a [ bsearch16u::$6 ]
reg byte a [ bsearch16u::$16 ]
zp ZP_WORD:36 [ bsearch16u::result#0 init_angle_screen::yw#0 atan2_16::y#0 init_buckets::$9 init_buckets::$13 init_buckets::$17 init_buckets::bucket#0 ]
reg byte a [ sqr::$0 ]
reg byte a [ init_squares::$3 ]
reg byte a [ init_squares::$4 ]
