(label) @1
(label) @2
(label) @begin
(label) @end
(byte*) SCREEN
(const byte*) SCREEN#0 SCREEN = (byte*) 1024
(void()) do10((void()*) do10::fn)
(label) do10::@1
(label) do10::@return
(void()*) do10::fn
(byte) do10::i
(byte) do10::i#1 i zp ZP_BYTE:2 16.5
(byte) do10::i#2 i zp ZP_BYTE:2 11.0
(void()) hello()
(label) hello::@1
(label) hello::@return
(byte) hello::i
(byte) hello::i#1 reg byte y 151.5
(byte) hello::i#2 reg byte y 101.0
(byte) idx
(byte) idx#0 idx zp ZP_BYTE:5 0.2222222222222222
(byte) idx#1 idx zp ZP_BYTE:5 67.33333333333333
(byte) idx#3 idx zp ZP_BYTE:5 152.5
(byte~) idx#7 idx zp ZP_BYTE:5 4.0
(void()) main()
(label) main::@1
(label) main::@return
(void()*) main::f
(byte*) msg
(byte*) msg#0 msg zp ZP_WORD:3 20.0
(byte*) msg#1 msg zp ZP_WORD:3 20.0
(byte*) msg#10 msg zp ZP_WORD:3 10.736842105263158
(byte[]) msg1
(const byte[]) msg1#0 msg1 = (string) "hello "
(byte[]) msg2
(const byte[]) msg2#0 msg2 = (string) "world "

zp ZP_BYTE:2 [ do10::i#2 do10::i#1 ]
reg byte y [ hello::i#2 hello::i#1 ]
zp ZP_WORD:3 [ msg#0 msg#1 msg#10 ]
zp ZP_BYTE:5 [ idx#0 idx#3 idx#7 idx#1 ]
