1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-09-08 17:54:40 +00:00

Fixed an error in with comparison rewriting

This commit is contained in:
jespergravgaard 2018-01-01 22:59:06 +01:00
parent 4d46820cf4
commit 53d8afbb1d
18 changed files with 2784 additions and 2305 deletions

View File

@ -246,6 +246,19 @@ public class AsmFragmentManager {
// Replace second (of 2) Z2 with XX
synths.add(new AsmFragmentSynthesis("(.*)z2(.*vb.)z2(.*)", "...z2=.*|.*xx.*", "ldx {z2}", "$1z2$2xx$3", null, null));
// Rewrite comparisons < to >
//synths.add(new AsmFragmentSynthesis("(.*)_gt_(.*)_then_(.*)", null, null, "$2_lt_$1_then_$3", null, null));
// Rewrite comparisons > to <
//synths.add(new AsmFragmentSynthesis("(.*)_lt_(.*)_then_(.*)", null, null, "$2_gt_$1_then_$3", null, null));
// Rewrite comparisons <= to >=
//synths.add(new AsmFragmentSynthesis("(.*)_le_(.*)_then_(.*)", null, null, "$2_ge_$1_then_$3", null, null));
// Rewrite comparisons >= to <=
//synths.add(new AsmFragmentSynthesis("(.*)_ge_(.*)_then_(.*)", null, null, "$2_le_$1_then_$3", null, null));
// Rewrite comparisons swap ==
//synths.add(new AsmFragmentSynthesis("(.*)_eq_(.*)_then_(.*)", null, null, "$2_eq_$1_then_$3", null, null));
// Rewrite comparisons swap !=
//synths.add(new AsmFragmentSynthesis("(.*)_neq_(.*)_then_(.*)", null, null, "$2_neq_$1_then_$3", null, null));
// OLD STYLE REWRITES - written when only one rule could be taken
@ -340,18 +353,18 @@ public class AsmFragmentManager {
synths.add(new AsmFragmentSynthesis("pb(.)c1_derefidx_vbuxx_(lt|gt|le|ge|eq|neq)_(.*)", ".*c1.*c1.*|.*aa.*", "lda {c1},x\n", "vb$1aa_$2_$3", null, mapC));
synths.add(new AsmFragmentSynthesis("pb(.)c1_derefidx_vbuxx_(lt|gt|le|ge|eq|neq)_(.*c1.*)", ".*aa.*", "lda {c1},x\n", "vb$1aa_$2_$3", null, null));
synths.add(new AsmFragmentSynthesis("(.*)_ge_(vb.aa)_then_(.*)", ".*vb.aa.*_ge.*", null, "$2_lt_$1_then_$3", null, null));
synths.add(new AsmFragmentSynthesis("(.*)_ge_(vb.xx)_then_(.*)", ".*vb.[ax][ax].*_ge.*", null, "$2_lt_$1_then_$3", null, null));
synths.add(new AsmFragmentSynthesis("(.*)_ge_(vb.yy)_then_(.*)", ".*vb.[axy][axy].*_ge.*", null, "$2_lt_$1_then_$3", null, null));
synths.add(new AsmFragmentSynthesis("(.*)_lt_(vb.aa)_then_(.*)", ".*vb.aa.*_lt.*", null, "$2_ge_$1_then_$3", null, null));
synths.add(new AsmFragmentSynthesis("(.*)_lt_(vb.xx)_then_(.*)", ".*vb.[ax][ax].*_lt.*", null, "$2_ge_$1_then_$3", null, null));
synths.add(new AsmFragmentSynthesis("(.*)_lt_(vb.yy)_then_(.*)", ".*vb.[axy][axy].*_lt.*", null, "$2_ge_$1_then_$3", null, null));
synths.add(new AsmFragmentSynthesis("(.*)_gt_(vb.aa)_then_(.*)", ".*vb.aa.*_gt.*", null, "$2_le_$1_then_$3", null, null));
synths.add(new AsmFragmentSynthesis("(.*)_gt_(vb.xx)_then_(.*)", ".*vb.[ax][ax].*_gt.*", null, "$2_le_$1_then_$3", null, null));
synths.add(new AsmFragmentSynthesis("(.*)_gt_(vb.yy)_then_(.*)", ".*vb.[axy][axy].*_gt.*", null, "$2_le_$1_then_$3", null, null));
synths.add(new AsmFragmentSynthesis("(.*)_le_(vb.aa)_then_(.*)", ".*vb.aa.*_le.*", null, "$2_gt_$1_then_$3", null, null));
synths.add(new AsmFragmentSynthesis("(.*)_le_(vb.xx)_then_(.*)", ".*vb.[ax][ax].*_le.*", null, "$2_gt_$1_then_$3", null, null));
synths.add(new AsmFragmentSynthesis("(.*)_le_(vb.yy)_then_(.*)", ".*vb.[axy][axy].*_le.*", null, "$2_gt_$1_then_$3", null, null));
synths.add(new AsmFragmentSynthesis("(.*)_ge_(vb.aa)_then_(.*)", ".*vb.aa.*_ge.*", null, "$2_le_$1_then_$3", null, null));
synths.add(new AsmFragmentSynthesis("(.*)_ge_(vb.xx)_then_(.*)", ".*vb.[ax][ax].*_ge.*", null, "$2_le_$1_then_$3", null, null));
synths.add(new AsmFragmentSynthesis("(.*)_ge_(vb.yy)_then_(.*)", ".*vb.[axy][axy].*_ge.*", null, "$2_le_$1_then_$3", null, null));
synths.add(new AsmFragmentSynthesis("(.*)_lt_(vb.aa)_then_(.*)", ".*vb.aa.*_lt.*", null, "$2_gt_$1_then_$3", null, null));
synths.add(new AsmFragmentSynthesis("(.*)_lt_(vb.xx)_then_(.*)", ".*vb.[ax][ax].*_lt.*", null, "$2_gt_$1_then_$3", null, null));
synths.add(new AsmFragmentSynthesis("(.*)_lt_(vb.yy)_then_(.*)", ".*vb.[axy][axy].*_lt.*", null, "$2_gt_$1_then_$3", null, null));
synths.add(new AsmFragmentSynthesis("(.*)_gt_(vb.aa)_then_(.*)", ".*vb.aa.*_gt.*", null, "$2_lt_$1_then_$3", null, null));
synths.add(new AsmFragmentSynthesis("(.*)_gt_(vb.xx)_then_(.*)", ".*vb.[ax][ax].*_gt.*", null, "$2_lt_$1_then_$3", null, null));
synths.add(new AsmFragmentSynthesis("(.*)_gt_(vb.yy)_then_(.*)", ".*vb.[axy][axy].*_gt.*", null, "$2_lt_$1_then_$3", null, null));
synths.add(new AsmFragmentSynthesis("(.*)_le_(vb.aa)_then_(.*)", ".*vb.aa.*_le.*", null, "$2_ge_$1_then_$3", null, null));
synths.add(new AsmFragmentSynthesis("(.*)_le_(vb.xx)_then_(.*)", ".*vb.[ax][ax].*_le.*", null, "$2_ge_$1_then_$3", null, null));
synths.add(new AsmFragmentSynthesis("(.*)_le_(vb.yy)_then_(.*)", ".*vb.[axy][axy].*_le.*", null, "$2_ge_$1_then_$3", null, null));
synths.add(new AsmFragmentSynthesis("(.*)_neq_(vb.aa)_then_(.*)", ".*vb.aa.*_neq.*", null, "$2_neq_$1_then_$3", null, null));
synths.add(new AsmFragmentSynthesis("(.*)_neq_(vb.xx)_then_(.*)", ".*vb.[ax][ax].*_neq.*", null, "$2_neq_$1_then_$3", null, null));
synths.add(new AsmFragmentSynthesis("(.*)_neq_(vb.yy)_then_(.*)", ".*vb.[axy][axy].*_neq.*", null, "$2_neq_$1_then_$3", null, null));

View File

@ -0,0 +1,4 @@
cmp {z1}
beq !+
bcs {la1}
!:

View File

@ -90,52 +90,52 @@ void line_xdyi(byte x, byte y, byte x1, byte xd, byte yd) {
byte e = yd>>1;
do {
plot(x,y);
x = x + 1;
x++;
e = e+yd;
if(xd<e) {
y = y+1;
y++;
e = e - xd;
}
} while (x<(x1+1));
} while (x!=(x1+1));
}
void line_xdyd(byte x, byte y, byte x1, byte xd, byte yd) {
byte e = yd>>1;
do {
plot(x,y);
x = x + 1;
x++;
e = e+yd;
if(xd<e) {
y = y-1;
y--;
e = e - xd;
}
} while (x<(x1+1));
} while (x!=(x1+1));
}
void line_ydxi(byte y, byte x, byte y1, byte yd, byte xd) {
byte e = xd>>1;
do {
plot(x,y);
y = y + 1;
y++;
e = e+xd;
if(yd<e) {
x = x+1;
x++;
e = e - yd;
}
} while (y<(y1+1));
} while (y!=(y1+1));
}
void line_ydxd(byte y, byte x, byte y1, byte yd, byte xd) {
byte e = xd>>1;
do {
plot(x,y);
y = y + 1;
y = y++;
e = e+xd;
if(yd<e) {
x = x-1;
x--;
e = e - yd;
}
} while (y<(y1+1));
} while (y!=(y1+1));
}
void plot(byte x, byte y) {

View File

@ -17,7 +17,7 @@ void main() {
x = x + 1;
cursor = cursor + 1;
e = e+yd;
if(xd<e) {
if(xd<=e) {
y = y+1;
cursor = cursor + 40;
e = e - xd;

View File

@ -33,9 +33,9 @@ lines: {
sta line.x0
lda lines_x+1,x
sta line.x1
lda lines_y,x
sta line.y0
ldy lines_y+1,x
ldy lines_y,x
lda lines_y+1,x
sta line.y1
jsr line
inx
cpx #lines_cnt
@ -45,7 +45,7 @@ lines: {
line: {
.label x0 = 2
.label x1 = 3
.label y0 = 4
.label y1 = 4
.label xd = 7
.label yd = $a
lda x0
@ -55,18 +55,18 @@ line: {
sec
sbc x0
sta xd
cpy y0
bcc b2
cpy y1
bcs b2
tya
eor #$ff
sec
sbc y0
adc y1
sta yd
cmp xd
bcs b3
lda x0
sta line_xdyi.x
lda y0
sta line_xdyi.y
sty line_xdyi.y
lda x1
sta line_xdyi.x1
lda xd
@ -77,11 +77,9 @@ line: {
breturn:
rts
b3:
lda y0
sta line_ydxi.y
sty line_ydxi.y
lda x0
sta line_ydxi.x
sty line_ydxi.y1
lda yd
sta line_ydxi.yd
lda xd
@ -90,16 +88,14 @@ line: {
jmp breturn
b2:
tya
eor #$ff
sec
adc y0
sbc y1
sta yd
cmp xd
bcs b6
lda x0
sta line_xdyd.x
lda y0
sta line_xdyd.y
sty line_xdyd.y
lda x1
sta line_xdyd.x1
lda xd
@ -109,9 +105,11 @@ line: {
jsr line_xdyd
jmp breturn
b6:
sty line_ydxd.y
lda y1
sta line_ydxd.y
lda x1
sta line_ydxd.x
sty line_ydxd.y1
lda yd
sta line_ydxd.yd
lda xd
@ -123,17 +121,19 @@ line: {
sec
sbc x1
sta xd
cpy y0
bcc b9
cpy y1
bcs b9
tya
eor #$ff
sec
sbc y0
adc y1
sta yd
cmp xd
bcs b10
lda x1
sta line_xdyd.x
sty line_xdyd.y
lda y1
sta line_xdyd.y
lda x0
sta line_xdyd.x1
lda xd
@ -143,11 +143,9 @@ line: {
jsr line_xdyd
jmp breturn
b10:
lda y0
sta line_ydxd.y
sty line_ydxd.y
lda x0
sta line_ydxd.x
sty line_ydxd.y1
lda yd
sta line_ydxd.yd
lda xd
@ -156,15 +154,15 @@ line: {
jmp breturn
b9:
tya
eor #$ff
sec
adc y0
sbc y1
sta yd
cmp xd
bcs b13
lda x1
sta line_xdyi.x
sty line_xdyi.y
lda y1
sta line_xdyi.y
lda x0
sta line_xdyi.x1
lda xd
@ -174,9 +172,11 @@ line: {
jsr line_xdyi
jmp breturn
b13:
sty line_ydxi.y
lda y1
sta line_ydxi.y
lda x1
sta line_ydxi.x
sty line_ydxi.y1
lda yd
sta line_ydxi.yd
lda xd
@ -214,7 +214,7 @@ line_ydxi: {
clc
adc #1
cmp y
bcs b1
bne b1
rts
}
plot: {
@ -278,7 +278,7 @@ line_xdyi: {
clc
adc #1
cmp x
bcs b1
bne b1
rts
}
line_ydxd: {
@ -311,7 +311,7 @@ line_ydxd: {
clc
adc #1
cmp y
bcs b1
bne b1
rts
}
line_xdyd: {
@ -344,7 +344,7 @@ line_xdyd: {
clc
adc #1
cmp x
bcs b1
bne b1
rts
}
init_plot_tables: {

View File

@ -157,35 +157,35 @@ line_ydxi::@1: scope:[line_ydxi] from line_ydxi line_ydxi::@2
[92] call plot param-assignment [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] )
to:line_ydxi::@5
line_ydxi::@5: scope:[line_ydxi] from line_ydxi::@1
[93] (byte) line_ydxi::y#2 ← (byte) line_ydxi::y#3 + (byte/signed byte/word/signed word) 1 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::e#3 line_ydxi::y#2 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::e#3 line_ydxi::y#2 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::e#3 line_ydxi::y#2 ] )
[93] (byte) line_ydxi::y#2 ← ++ (byte) line_ydxi::y#3 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::e#3 line_ydxi::y#2 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::e#3 line_ydxi::y#2 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::e#3 line_ydxi::y#2 ] )
[94] (byte) line_ydxi::e#1 ← (byte) line_ydxi::e#3 + (byte) line_ydxi::xd#2 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#2 line_ydxi::e#1 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#2 line_ydxi::e#1 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#2 line_ydxi::e#1 ] )
[95] if((byte) line_ydxi::yd#5>=(byte) line_ydxi::e#1) goto line_ydxi::@2 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#2 line_ydxi::e#1 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#2 line_ydxi::e#1 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#2 line_ydxi::e#1 ] )
to:line_ydxi::@3
line_ydxi::@3: scope:[line_ydxi] from line_ydxi::@5
[96] (byte) line_ydxi::x#2 ← (byte) line_ydxi::x#3 + (byte/signed byte/word/signed word) 1 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::y#2 line_ydxi::e#1 line_ydxi::x#2 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::y#2 line_ydxi::e#1 line_ydxi::x#2 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::y#2 line_ydxi::e#1 line_ydxi::x#2 ] )
[96] (byte) line_ydxi::x#2 ← ++ (byte) line_ydxi::x#3 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::y#2 line_ydxi::e#1 line_ydxi::x#2 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::y#2 line_ydxi::e#1 line_ydxi::x#2 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::y#2 line_ydxi::e#1 line_ydxi::x#2 ] )
[97] (byte) line_ydxi::e#2 ← (byte) line_ydxi::e#1 - (byte) line_ydxi::yd#5 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::y#2 line_ydxi::x#2 line_ydxi::e#2 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::y#2 line_ydxi::x#2 line_ydxi::e#2 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::y#2 line_ydxi::x#2 line_ydxi::e#2 ] )
to:line_ydxi::@2
line_ydxi::@2: scope:[line_ydxi] from line_ydxi::@3 line_ydxi::@5
[98] (byte) line_ydxi::e#6 ← phi( line_ydxi::@3/(byte) line_ydxi::e#2 line_ydxi::@5/(byte) line_ydxi::e#1 ) [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#6 line_ydxi::y#2 line_ydxi::e#6 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#6 line_ydxi::y#2 line_ydxi::e#6 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#6 line_ydxi::y#2 line_ydxi::e#6 ] )
[98] (byte) line_ydxi::x#6 ← phi( line_ydxi::@3/(byte) line_ydxi::x#2 line_ydxi::@5/(byte) line_ydxi::x#3 ) [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#6 line_ydxi::y#2 line_ydxi::e#6 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#6 line_ydxi::y#2 line_ydxi::e#6 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#6 line_ydxi::y#2 line_ydxi::e#6 ] )
[99] (byte/word~) line_ydxi::$8 ← (byte) line_ydxi::y1#6 + (byte/signed byte/word/signed word) 1 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#6 line_ydxi::y#2 line_ydxi::e#6 line_ydxi::$8 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#6 line_ydxi::y#2 line_ydxi::e#6 line_ydxi::$8 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#6 line_ydxi::y#2 line_ydxi::e#6 line_ydxi::$8 ] )
[100] if((byte) line_ydxi::y#2<(byte/word~) line_ydxi::$8) goto line_ydxi::@1 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#6 line_ydxi::y#2 line_ydxi::e#6 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#6 line_ydxi::y#2 line_ydxi::e#6 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#6 line_ydxi::y#2 line_ydxi::e#6 ] )
[99] (byte/word~) line_ydxi::$6 ← (byte) line_ydxi::y1#6 + (byte/signed byte/word/signed word) 1 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#6 line_ydxi::y#2 line_ydxi::e#6 line_ydxi::$6 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#6 line_ydxi::y#2 line_ydxi::e#6 line_ydxi::$6 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#6 line_ydxi::y#2 line_ydxi::e#6 line_ydxi::$6 ] )
[100] if((byte) line_ydxi::y#2!=(byte/word~) line_ydxi::$6) goto line_ydxi::@1 [ line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#6 line_ydxi::y#2 line_ydxi::e#6 ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#6 line_ydxi::y#2 line_ydxi::e#6 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#6 line_ydxi::y#2 line_ydxi::e#6 ] )
to:line_ydxi::@return
line_ydxi::@return: scope:[line_ydxi] from line_ydxi::@2
[101] return [ ] ( main:2::lines:12::line:21::line_ydxi:42 [ lines::l#2 ] main:2::lines:12::line:21::line_ydxi:86 [ lines::l#2 ] )
to:@return
plot: scope:[plot] from line_xdyd::@1 line_xdyi::@1 line_ydxd::@1 line_ydxi::@1
[102] (byte) plot::y#4 ← phi( line_xdyd::@1/(byte) plot::y#1 line_xdyi::@1/(byte) plot::y#0 line_ydxd::@1/(byte) plot::y#3 line_ydxi::@1/(byte) plot::y#2 ) [ plot::x#4 plot::y#4 ] ( main:2::lines:12::line:21::line_ydxi:42::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 ] main:2::lines:12::line:21::line_ydxi:86::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 ] main:2::lines:12::line:21::line_xdyi:35::plot:115 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 ] main:2::lines:12::line:21::line_xdyi:80::plot:115 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 ] main:2::lines:12::line:21::line_ydxd:56::plot:130 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::y#4 ] main:2::lines:12::line:21::line_ydxd:72::plot:130 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::y#4 ] main:2::lines:12::line:21::line_xdyd:50::plot:145 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 ] main:2::lines:12::line:21::line_xdyd:66::plot:145 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 ] )
[102] (byte) plot::x#4 ← phi( line_xdyd::@1/(byte) plot::x#1 line_xdyi::@1/(byte) plot::x#0 line_ydxd::@1/(byte) plot::x#3 line_ydxi::@1/(byte) plot::x#2 ) [ plot::x#4 plot::y#4 ] ( main:2::lines:12::line:21::line_ydxi:42::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 ] main:2::lines:12::line:21::line_ydxi:86::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 ] main:2::lines:12::line:21::line_xdyi:35::plot:115 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 ] main:2::lines:12::line:21::line_xdyi:80::plot:115 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 ] main:2::lines:12::line:21::line_ydxd:56::plot:130 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::y#4 ] main:2::lines:12::line:21::line_ydxd:72::plot:130 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::y#4 ] main:2::lines:12::line:21::line_xdyd:50::plot:145 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 ] main:2::lines:12::line:21::line_xdyd:66::plot:145 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 ] )
[103] (word) plot::plotter_x#0 ← *((const byte[256]) plot_xhi#0 + (byte) plot::x#4) w= *((const byte[256]) plot_xlo#0 + (byte) plot::x#4) [ plot::x#4 plot::y#4 plot::plotter_x#0 ] ( main:2::lines:12::line:21::line_ydxi:42::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] main:2::lines:12::line:21::line_ydxi:86::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] main:2::lines:12::line:21::line_xdyi:35::plot:115 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] main:2::lines:12::line:21::line_xdyi:80::plot:115 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] main:2::lines:12::line:21::line_ydxd:56::plot:130 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] main:2::lines:12::line:21::line_ydxd:72::plot:130 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] main:2::lines:12::line:21::line_xdyd:50::plot:145 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] main:2::lines:12::line:21::line_xdyd:66::plot:145 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] )
[104] (word) plot::plotter_y#0 ← *((const byte[256]) plot_yhi#0 + (byte) plot::y#4) w= *((const byte[256]) plot_ylo#0 + (byte) plot::y#4) [ plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] ( main:2::lines:12::line:21::line_ydxi:42::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] main:2::lines:12::line:21::line_ydxi:86::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] main:2::lines:12::line:21::line_xdyi:35::plot:115 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] main:2::lines:12::line:21::line_xdyi:80::plot:115 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] main:2::lines:12::line:21::line_ydxd:56::plot:130 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] main:2::lines:12::line:21::line_ydxd:72::plot:130 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] main:2::lines:12::line:21::line_xdyd:50::plot:145 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] main:2::lines:12::line:21::line_xdyd:66::plot:145 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] )
[105] (word~) plot::$0 ← (word) plot::plotter_x#0 + (word) plot::plotter_y#0 [ plot::x#4 plot::$0 ] ( main:2::lines:12::line:21::line_ydxi:42::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::$0 ] main:2::lines:12::line:21::line_ydxi:86::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::$0 ] main:2::lines:12::line:21::line_xdyi:35::plot:115 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::$0 ] main:2::lines:12::line:21::line_xdyi:80::plot:115 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::$0 ] main:2::lines:12::line:21::line_ydxd:56::plot:130 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::$0 ] main:2::lines:12::line:21::line_ydxd:72::plot:130 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::$0 ] main:2::lines:12::line:21::line_xdyd:50::plot:145 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::$0 ] main:2::lines:12::line:21::line_xdyd:66::plot:145 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::$0 ] )
[106] (byte*) plot::plotter#0 ← ((byte*)) (word~) plot::$0 [ plot::x#4 plot::plotter#0 ] ( main:2::lines:12::line:21::line_ydxi:42::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::plotter#0 ] main:2::lines:12::line:21::line_ydxi:86::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::plotter#0 ] main:2::lines:12::line:21::line_xdyi:35::plot:115 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::plotter#0 ] main:2::lines:12::line:21::line_xdyi:80::plot:115 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::plotter#0 ] main:2::lines:12::line:21::line_ydxd:56::plot:130 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::plotter#0 ] main:2::lines:12::line:21::line_ydxd:72::plot:130 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::x#4 plot::plotter#0 ] main:2::lines:12::line:21::line_xdyd:50::plot:145 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::plotter#0 ] main:2::lines:12::line:21::line_xdyd:66::plot:145 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::plotter#0 ] )
[107] (byte~) plot::$1 ← *((byte*) plot::plotter#0) | *((const byte[256]) plot_bit#0 + (byte) plot::x#4) [ plot::plotter#0 plot::$1 ] ( main:2::lines:12::line:21::line_ydxi:42::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::plotter#0 plot::$1 ] main:2::lines:12::line:21::line_ydxi:86::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::plotter#0 plot::$1 ] main:2::lines:12::line:21::line_xdyi:35::plot:115 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::plotter#0 plot::$1 ] main:2::lines:12::line:21::line_xdyi:80::plot:115 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::plotter#0 plot::$1 ] main:2::lines:12::line:21::line_ydxd:56::plot:130 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::plotter#0 plot::$1 ] main:2::lines:12::line:21::line_ydxd:72::plot:130 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 plot::plotter#0 plot::$1 ] main:2::lines:12::line:21::line_xdyd:50::plot:145 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::plotter#0 plot::$1 ] main:2::lines:12::line:21::line_xdyd:66::plot:145 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::plotter#0 plot::$1 ] )
[108] *((byte*) plot::plotter#0) ← (byte~) plot::$1 [ ] ( main:2::lines:12::line:21::line_ydxi:42::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] main:2::lines:12::line:21::line_ydxi:86::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] main:2::lines:12::line:21::line_xdyi:35::plot:115 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:2::lines:12::line:21::line_xdyi:80::plot:115 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:2::lines:12::line:21::line_ydxd:56::plot:130 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] main:2::lines:12::line:21::line_ydxd:72::plot:130 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] main:2::lines:12::line:21::line_xdyd:50::plot:145 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] main:2::lines:12::line:21::line_xdyd:66::plot:145 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] )
[102] (byte) plot::y#4 ← phi( line_xdyd::@1/(byte) plot::y#1 line_xdyi::@1/(byte) plot::y#0 line_ydxd::@1/(byte) plot::y#3 line_ydxi::@1/(byte) plot::y#2 ) [ plot::x#4 plot::y#4 ] ( main:2::lines:12::line:21::line_ydxi:42::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 ] main:2::lines:12::line:21::line_ydxi:86::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 ] main:2::lines:12::line:21::line_xdyi:35::plot:115 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 ] main:2::lines:12::line:21::line_xdyi:80::plot:115 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 ] main:2::lines:12::line:21::line_ydxd:56::plot:130 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::x#4 plot::y#4 ] main:2::lines:12::line:21::line_ydxd:72::plot:130 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::x#4 plot::y#4 ] main:2::lines:12::line:21::line_xdyd:50::plot:145 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 ] main:2::lines:12::line:21::line_xdyd:66::plot:145 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 ] )
[102] (byte) plot::x#4 ← phi( line_xdyd::@1/(byte) plot::x#1 line_xdyi::@1/(byte) plot::x#0 line_ydxd::@1/(byte) plot::x#3 line_ydxi::@1/(byte) plot::x#2 ) [ plot::x#4 plot::y#4 ] ( main:2::lines:12::line:21::line_ydxi:42::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 ] main:2::lines:12::line:21::line_ydxi:86::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 ] main:2::lines:12::line:21::line_xdyi:35::plot:115 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 ] main:2::lines:12::line:21::line_xdyi:80::plot:115 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 ] main:2::lines:12::line:21::line_ydxd:56::plot:130 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::x#4 plot::y#4 ] main:2::lines:12::line:21::line_ydxd:72::plot:130 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::x#4 plot::y#4 ] main:2::lines:12::line:21::line_xdyd:50::plot:145 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 ] main:2::lines:12::line:21::line_xdyd:66::plot:145 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 ] )
[103] (word) plot::plotter_x#0 ← *((const byte[256]) plot_xhi#0 + (byte) plot::x#4) w= *((const byte[256]) plot_xlo#0 + (byte) plot::x#4) [ plot::x#4 plot::y#4 plot::plotter_x#0 ] ( main:2::lines:12::line:21::line_ydxi:42::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] main:2::lines:12::line:21::line_ydxi:86::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] main:2::lines:12::line:21::line_xdyi:35::plot:115 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] main:2::lines:12::line:21::line_xdyi:80::plot:115 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] main:2::lines:12::line:21::line_ydxd:56::plot:130 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] main:2::lines:12::line:21::line_ydxd:72::plot:130 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] main:2::lines:12::line:21::line_xdyd:50::plot:145 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] main:2::lines:12::line:21::line_xdyd:66::plot:145 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::y#4 plot::plotter_x#0 ] )
[104] (word) plot::plotter_y#0 ← *((const byte[256]) plot_yhi#0 + (byte) plot::y#4) w= *((const byte[256]) plot_ylo#0 + (byte) plot::y#4) [ plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] ( main:2::lines:12::line:21::line_ydxi:42::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] main:2::lines:12::line:21::line_ydxi:86::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] main:2::lines:12::line:21::line_xdyi:35::plot:115 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] main:2::lines:12::line:21::line_xdyi:80::plot:115 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] main:2::lines:12::line:21::line_ydxd:56::plot:130 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] main:2::lines:12::line:21::line_ydxd:72::plot:130 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] main:2::lines:12::line:21::line_xdyd:50::plot:145 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] main:2::lines:12::line:21::line_xdyd:66::plot:145 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::plotter_x#0 plot::plotter_y#0 ] )
[105] (word~) plot::$0 ← (word) plot::plotter_x#0 + (word) plot::plotter_y#0 [ plot::x#4 plot::$0 ] ( main:2::lines:12::line:21::line_ydxi:42::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::$0 ] main:2::lines:12::line:21::line_ydxi:86::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::$0 ] main:2::lines:12::line:21::line_xdyi:35::plot:115 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::$0 ] main:2::lines:12::line:21::line_xdyi:80::plot:115 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::$0 ] main:2::lines:12::line:21::line_ydxd:56::plot:130 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::x#4 plot::$0 ] main:2::lines:12::line:21::line_ydxd:72::plot:130 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::x#4 plot::$0 ] main:2::lines:12::line:21::line_xdyd:50::plot:145 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::$0 ] main:2::lines:12::line:21::line_xdyd:66::plot:145 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::$0 ] )
[106] (byte*) plot::plotter#0 ← ((byte*)) (word~) plot::$0 [ plot::x#4 plot::plotter#0 ] ( main:2::lines:12::line:21::line_ydxi:42::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::plotter#0 ] main:2::lines:12::line:21::line_ydxi:86::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::x#4 plot::plotter#0 ] main:2::lines:12::line:21::line_xdyi:35::plot:115 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::plotter#0 ] main:2::lines:12::line:21::line_xdyi:80::plot:115 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::x#4 plot::plotter#0 ] main:2::lines:12::line:21::line_ydxd:56::plot:130 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::x#4 plot::plotter#0 ] main:2::lines:12::line:21::line_ydxd:72::plot:130 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::x#4 plot::plotter#0 ] main:2::lines:12::line:21::line_xdyd:50::plot:145 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::plotter#0 ] main:2::lines:12::line:21::line_xdyd:66::plot:145 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::x#4 plot::plotter#0 ] )
[107] (byte~) plot::$1 ← *((byte*) plot::plotter#0) | *((const byte[256]) plot_bit#0 + (byte) plot::x#4) [ plot::plotter#0 plot::$1 ] ( main:2::lines:12::line:21::line_ydxi:42::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::plotter#0 plot::$1 ] main:2::lines:12::line:21::line_ydxi:86::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 plot::plotter#0 plot::$1 ] main:2::lines:12::line:21::line_xdyi:35::plot:115 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::plotter#0 plot::$1 ] main:2::lines:12::line:21::line_xdyi:80::plot:115 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 plot::plotter#0 plot::$1 ] main:2::lines:12::line:21::line_ydxd:56::plot:130 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::plotter#0 plot::$1 ] main:2::lines:12::line:21::line_ydxd:72::plot:130 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 plot::plotter#0 plot::$1 ] main:2::lines:12::line:21::line_xdyd:50::plot:145 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::plotter#0 plot::$1 ] main:2::lines:12::line:21::line_xdyd:66::plot:145 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 plot::plotter#0 plot::$1 ] )
[108] *((byte*) plot::plotter#0) ← (byte~) plot::$1 [ ] ( main:2::lines:12::line:21::line_ydxi:42::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] main:2::lines:12::line:21::line_ydxi:86::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] main:2::lines:12::line:21::line_xdyi:35::plot:115 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:2::lines:12::line:21::line_xdyi:80::plot:115 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:2::lines:12::line:21::line_ydxd:56::plot:130 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] main:2::lines:12::line:21::line_ydxd:72::plot:130 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] main:2::lines:12::line:21::line_xdyd:50::plot:145 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] main:2::lines:12::line:21::line_xdyd:66::plot:145 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] )
to:plot::@return
plot::@return: scope:[plot] from plot
[109] return [ ] ( main:2::lines:12::line:21::line_ydxi:42::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] main:2::lines:12::line:21::line_ydxi:86::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] main:2::lines:12::line:21::line_xdyi:35::plot:115 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:2::lines:12::line:21::line_xdyi:80::plot:115 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:2::lines:12::line:21::line_ydxd:56::plot:130 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] main:2::lines:12::line:21::line_ydxd:72::plot:130 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] main:2::lines:12::line:21::line_xdyd:50::plot:145 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] main:2::lines:12::line:21::line_xdyd:66::plot:145 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] )
[109] return [ ] ( main:2::lines:12::line:21::line_ydxi:42::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] main:2::lines:12::line:21::line_ydxi:86::plot:92 [ lines::l#2 line_ydxi::xd#2 line_ydxi::yd#5 line_ydxi::y1#6 line_ydxi::x#3 line_ydxi::y#3 line_ydxi::e#3 ] main:2::lines:12::line:21::line_xdyi:35::plot:115 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:2::lines:12::line:21::line_xdyi:80::plot:115 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:2::lines:12::line:21::line_ydxd:56::plot:130 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] main:2::lines:12::line:21::line_ydxd:72::plot:130 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] main:2::lines:12::line:21::line_xdyd:50::plot:145 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] main:2::lines:12::line:21::line_xdyd:66::plot:145 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] )
to:@return
line_xdyi: scope:[line_xdyi] from line::@17 line::@27
[110] (byte) line_xdyi::x1#6 ← phi( line::@17/(byte) line_xdyi::x1#0 line::@27/(byte) line_xdyi::x1#1 ) [ line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::x#6 line_xdyi::y#5 line_xdyi::xd#5 line_xdyi::x1#6 ] )
@ -204,53 +204,53 @@ line_xdyi::@1: scope:[line_xdyi] from line_xdyi line_xdyi::@2
[115] call plot param-assignment [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#3 line_xdyi::y#3 line_xdyi::e#3 ] )
to:line_xdyi::@5
line_xdyi::@5: scope:[line_xdyi] from line_xdyi::@1
[116] (byte) line_xdyi::x#2 ← (byte) line_xdyi::x#3 + (byte/signed byte/word/signed word) 1 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::e#3 line_xdyi::x#2 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::e#3 line_xdyi::x#2 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::e#3 line_xdyi::x#2 ] )
[116] (byte) line_xdyi::x#2 ← ++ (byte) line_xdyi::x#3 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::e#3 line_xdyi::x#2 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::e#3 line_xdyi::x#2 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::e#3 line_xdyi::x#2 ] )
[117] (byte) line_xdyi::e#1 ← (byte) line_xdyi::e#3 + (byte) line_xdyi::yd#2 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::x#2 line_xdyi::e#1 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::x#2 line_xdyi::e#1 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::x#2 line_xdyi::e#1 ] )
[118] if((byte) line_xdyi::xd#5>=(byte) line_xdyi::e#1) goto line_xdyi::@2 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::x#2 line_xdyi::e#1 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::x#2 line_xdyi::e#1 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::y#3 line_xdyi::x#2 line_xdyi::e#1 ] )
to:line_xdyi::@3
line_xdyi::@3: scope:[line_xdyi] from line_xdyi::@5
[119] (byte) line_xdyi::y#2 ← (byte) line_xdyi::y#3 + (byte/signed byte/word/signed word) 1 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::e#1 line_xdyi::y#2 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::e#1 line_xdyi::y#2 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::e#1 line_xdyi::y#2 ] )
[119] (byte) line_xdyi::y#2 ← ++ (byte) line_xdyi::y#3 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::e#1 line_xdyi::y#2 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::e#1 line_xdyi::y#2 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::e#1 line_xdyi::y#2 ] )
[120] (byte) line_xdyi::e#2 ← (byte) line_xdyi::e#1 - (byte) line_xdyi::xd#5 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#2 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#2 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#2 line_xdyi::e#2 ] )
to:line_xdyi::@2
line_xdyi::@2: scope:[line_xdyi] from line_xdyi::@3 line_xdyi::@5
[121] (byte) line_xdyi::e#6 ← phi( line_xdyi::@3/(byte) line_xdyi::e#2 line_xdyi::@5/(byte) line_xdyi::e#1 ) [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 ] )
[121] (byte) line_xdyi::y#6 ← phi( line_xdyi::@3/(byte) line_xdyi::y#2 line_xdyi::@5/(byte) line_xdyi::y#3 ) [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 ] )
[122] (byte/word~) line_xdyi::$8 ← (byte) line_xdyi::x1#6 + (byte/signed byte/word/signed word) 1 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 line_xdyi::$8 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 line_xdyi::$8 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 line_xdyi::$8 ] )
[123] if((byte) line_xdyi::x#2<(byte/word~) line_xdyi::$8) goto line_xdyi::@1 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 ] )
[122] (byte/word~) line_xdyi::$6 ← (byte) line_xdyi::x1#6 + (byte/signed byte/word/signed word) 1 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 line_xdyi::$6 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 line_xdyi::$6 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 line_xdyi::$6 ] )
[123] if((byte) line_xdyi::x#2!=(byte/word~) line_xdyi::$6) goto line_xdyi::@1 [ line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 line_xdyi::yd#2 line_xdyi::xd#5 line_xdyi::x1#6 line_xdyi::x#2 line_xdyi::y#6 line_xdyi::e#6 ] )
to:line_xdyi::@return
line_xdyi::@return: scope:[line_xdyi] from line_xdyi::@2
[124] return [ ] ( main:2::lines:12::line:21::line_xdyi:35 [ lines::l#2 ] main:2::lines:12::line:21::line_xdyi:80 [ lines::l#2 ] )
to:@return
line_ydxd: scope:[line_ydxd] from line::@10 line::@6
[125] (byte) line_ydxd::y1#6 ← phi( line::@10/(byte) line_ydxd::y1#1 line::@6/(byte) line_ydxd::y1#0 ) [ line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 ] )
[125] (byte) line_ydxd::yd#5 ← phi( line::@10/(byte) line_ydxd::yd#1 line::@6/(byte) line_ydxd::yd#0 ) [ line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 ] )
[125] (byte) line_ydxd::y#6 ← phi( line::@10/(byte) line_ydxd::y#1 line::@6/(byte) line_ydxd::y#0 ) [ line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 ] )
[125] (byte) line_ydxd::x#5 ← phi( line::@10/(byte) line_ydxd::x#1 line::@6/(byte) line_ydxd::x#0 ) [ line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 ] )
[125] (byte) line_ydxd::xd#2 ← phi( line::@10/(byte) line_ydxd::xd#1 line::@6/(byte) line_ydxd::xd#0 ) [ line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 ] )
[126] (byte) line_ydxd::e#0 ← (byte) line_ydxd::xd#2 >> (byte/signed byte/word/signed word) 1 [ line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::e#0 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::e#0 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#6 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::e#0 ] )
[125] (byte) line_ydxd::y1#6 ← phi( line::@10/(byte) line_ydxd::y1#1 line::@6/(byte) line_ydxd::y1#0 ) [ line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#7 line_ydxd::yd#5 line_ydxd::y1#6 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#7 line_ydxd::yd#5 line_ydxd::y1#6 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#7 line_ydxd::yd#5 line_ydxd::y1#6 ] )
[125] (byte) line_ydxd::yd#5 ← phi( line::@10/(byte) line_ydxd::yd#1 line::@6/(byte) line_ydxd::yd#0 ) [ line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#7 line_ydxd::yd#5 line_ydxd::y1#6 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#7 line_ydxd::yd#5 line_ydxd::y1#6 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#7 line_ydxd::yd#5 line_ydxd::y1#6 ] )
[125] (byte) line_ydxd::y#7 ← phi( line::@10/(byte) line_ydxd::y#1 line::@6/(byte) line_ydxd::y#0 ) [ line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#7 line_ydxd::yd#5 line_ydxd::y1#6 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#7 line_ydxd::yd#5 line_ydxd::y1#6 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#7 line_ydxd::yd#5 line_ydxd::y1#6 ] )
[125] (byte) line_ydxd::x#5 ← phi( line::@10/(byte) line_ydxd::x#1 line::@6/(byte) line_ydxd::x#0 ) [ line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#7 line_ydxd::yd#5 line_ydxd::y1#6 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#7 line_ydxd::yd#5 line_ydxd::y1#6 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#7 line_ydxd::yd#5 line_ydxd::y1#6 ] )
[125] (byte) line_ydxd::xd#2 ← phi( line::@10/(byte) line_ydxd::xd#1 line::@6/(byte) line_ydxd::xd#0 ) [ line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#7 line_ydxd::yd#5 line_ydxd::y1#6 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#7 line_ydxd::yd#5 line_ydxd::y1#6 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#7 line_ydxd::yd#5 line_ydxd::y1#6 ] )
[126] (byte) line_ydxd::e#0 ← (byte) line_ydxd::xd#2 >> (byte/signed byte/word/signed word) 1 [ line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#7 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::e#0 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#7 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::e#0 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::x#5 line_ydxd::y#7 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::e#0 ] )
to:line_ydxd::@1
line_ydxd::@1: scope:[line_ydxd] from line_ydxd line_ydxd::@2
[127] (byte) line_ydxd::e#3 ← phi( line_ydxd/(byte) line_ydxd::e#0 line_ydxd::@2/(byte) line_ydxd::e#6 ) [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] )
[127] (byte) line_ydxd::y#3 ← phi( line_ydxd/(byte) line_ydxd::y#6 line_ydxd::@2/(byte) line_ydxd::y#2 ) [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] )
[127] (byte) line_ydxd::x#3 ← phi( line_ydxd/(byte) line_ydxd::x#5 line_ydxd::@2/(byte) line_ydxd::x#6 ) [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] )
[128] (byte) plot::x#3 ← (byte) line_ydxd::x#3 [ plot::x#3 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 plot::x#3 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 plot::x#3 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] )
[129] (byte) plot::y#3 ← (byte) line_ydxd::y#3 [ plot::x#3 plot::y#3 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 plot::x#3 plot::y#3 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 plot::x#3 plot::y#3 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] )
[130] call plot param-assignment [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#3 ] )
[127] (byte) line_ydxd::e#3 ← phi( line_ydxd/(byte) line_ydxd::e#0 line_ydxd::@2/(byte) line_ydxd::e#6 ) [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] )
[127] (byte) line_ydxd::y#2 ← phi( line_ydxd/(byte) line_ydxd::y#7 line_ydxd::@2/(byte) line_ydxd::y#3 ) [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] )
[127] (byte) line_ydxd::x#3 ← phi( line_ydxd/(byte) line_ydxd::x#5 line_ydxd::@2/(byte) line_ydxd::x#6 ) [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] )
[128] (byte) plot::x#3 ← (byte) line_ydxd::x#3 [ plot::x#3 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 plot::x#3 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 plot::x#3 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] )
[129] (byte) plot::y#3 ← (byte) line_ydxd::y#2 [ plot::x#3 plot::y#3 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 plot::x#3 plot::y#3 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 plot::x#3 plot::y#3 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] )
[130] call plot param-assignment [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#3 ] )
to:line_ydxd::@5
line_ydxd::@5: scope:[line_ydxd] from line_ydxd::@1
[131] (byte) line_ydxd::y#2 ← (byte) line_ydxd::y#3 + (byte/signed byte/word/signed word) 1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::e#3 line_ydxd::y#2 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::e#3 line_ydxd::y#2 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::e#3 line_ydxd::y#2 ] )
[132] (byte) line_ydxd::e#1 ← (byte) line_ydxd::e#3 + (byte) line_ydxd::xd#2 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#1 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#1 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#1 ] )
[133] if((byte) line_ydxd::yd#5>=(byte) line_ydxd::e#1) goto line_ydxd::@2 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#1 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#1 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#2 line_ydxd::e#1 ] )
[131] (byte) line_ydxd::y#3 ← ++ (byte) line_ydxd::y#2 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::e#3 line_ydxd::y#3 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::e#3 line_ydxd::y#3 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::e#3 line_ydxd::y#3 ] )
[132] (byte) line_ydxd::e#1 ← (byte) line_ydxd::e#3 + (byte) line_ydxd::xd#2 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#1 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#1 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#1 ] )
[133] if((byte) line_ydxd::yd#5>=(byte) line_ydxd::e#1) goto line_ydxd::@2 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#1 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#1 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#3 line_ydxd::y#3 line_ydxd::e#1 ] )
to:line_ydxd::@3
line_ydxd::@3: scope:[line_ydxd] from line_ydxd::@5
[134] (byte) line_ydxd::x#2 ← (byte) line_ydxd::x#3 - (byte/signed byte/word/signed word) 1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#2 line_ydxd::e#1 line_ydxd::x#2 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#2 line_ydxd::e#1 line_ydxd::x#2 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#2 line_ydxd::e#1 line_ydxd::x#2 ] )
[135] (byte) line_ydxd::e#2 ← (byte) line_ydxd::e#1 - (byte) line_ydxd::yd#5 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#2 line_ydxd::x#2 line_ydxd::e#2 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#2 line_ydxd::x#2 line_ydxd::e#2 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#2 line_ydxd::x#2 line_ydxd::e#2 ] )
[134] (byte) line_ydxd::x#2 ← -- (byte) line_ydxd::x#3 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#3 line_ydxd::e#1 line_ydxd::x#2 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#3 line_ydxd::e#1 line_ydxd::x#2 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#3 line_ydxd::e#1 line_ydxd::x#2 ] )
[135] (byte) line_ydxd::e#2 ← (byte) line_ydxd::e#1 - (byte) line_ydxd::yd#5 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#3 line_ydxd::x#2 line_ydxd::e#2 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#3 line_ydxd::x#2 line_ydxd::e#2 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::y#3 line_ydxd::x#2 line_ydxd::e#2 ] )
to:line_ydxd::@2
line_ydxd::@2: scope:[line_ydxd] from line_ydxd::@3 line_ydxd::@5
[136] (byte) line_ydxd::e#6 ← phi( line_ydxd::@3/(byte) line_ydxd::e#2 line_ydxd::@5/(byte) line_ydxd::e#1 ) [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#2 line_ydxd::e#6 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#2 line_ydxd::e#6 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#2 line_ydxd::e#6 ] )
[136] (byte) line_ydxd::x#6 ← phi( line_ydxd::@3/(byte) line_ydxd::x#2 line_ydxd::@5/(byte) line_ydxd::x#3 ) [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#2 line_ydxd::e#6 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#2 line_ydxd::e#6 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#2 line_ydxd::e#6 ] )
[137] (byte/word~) line_ydxd::$8 ← (byte) line_ydxd::y1#6 + (byte/signed byte/word/signed word) 1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#2 line_ydxd::e#6 line_ydxd::$8 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#2 line_ydxd::e#6 line_ydxd::$8 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#2 line_ydxd::e#6 line_ydxd::$8 ] )
[138] if((byte) line_ydxd::y#2<(byte/word~) line_ydxd::$8) goto line_ydxd::@1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#2 line_ydxd::e#6 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#2 line_ydxd::e#6 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#2 line_ydxd::e#6 ] )
[136] (byte) line_ydxd::e#6 ← phi( line_ydxd::@3/(byte) line_ydxd::e#2 line_ydxd::@5/(byte) line_ydxd::e#1 ) [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#3 line_ydxd::e#6 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#3 line_ydxd::e#6 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#3 line_ydxd::e#6 ] )
[136] (byte) line_ydxd::x#6 ← phi( line_ydxd::@3/(byte) line_ydxd::x#2 line_ydxd::@5/(byte) line_ydxd::x#3 ) [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#3 line_ydxd::e#6 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#3 line_ydxd::e#6 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#3 line_ydxd::e#6 ] )
[137] (byte/word~) line_ydxd::$6 ← (byte) line_ydxd::y1#6 + (byte/signed byte/word/signed word) 1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#3 line_ydxd::e#6 line_ydxd::$6 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#3 line_ydxd::e#6 line_ydxd::$6 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#3 line_ydxd::e#6 line_ydxd::$6 ] )
[138] if((byte) line_ydxd::y#3!=(byte/word~) line_ydxd::$6) goto line_ydxd::@1 [ line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#3 line_ydxd::e#6 ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#3 line_ydxd::e#6 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 line_ydxd::xd#2 line_ydxd::yd#5 line_ydxd::y1#6 line_ydxd::x#6 line_ydxd::y#3 line_ydxd::e#6 ] )
to:line_ydxd::@return
line_ydxd::@return: scope:[line_ydxd] from line_ydxd::@2
[139] return [ ] ( main:2::lines:12::line:21::line_ydxd:56 [ lines::l#2 ] main:2::lines:12::line:21::line_ydxd:72 [ lines::l#2 ] )
@ -272,19 +272,19 @@ line_xdyd::@1: scope:[line_xdyd] from line_xdyd line_xdyd::@2
[145] call plot param-assignment [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#3 line_xdyd::y#3 line_xdyd::e#3 ] )
to:line_xdyd::@5
line_xdyd::@5: scope:[line_xdyd] from line_xdyd::@1
[146] (byte) line_xdyd::x#2 ← (byte) line_xdyd::x#3 + (byte/signed byte/word/signed word) 1 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::e#3 line_xdyd::x#2 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::e#3 line_xdyd::x#2 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::e#3 line_xdyd::x#2 ] )
[146] (byte) line_xdyd::x#2 ← ++ (byte) line_xdyd::x#3 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::e#3 line_xdyd::x#2 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::e#3 line_xdyd::x#2 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::e#3 line_xdyd::x#2 ] )
[147] (byte) line_xdyd::e#1 ← (byte) line_xdyd::e#3 + (byte) line_xdyd::yd#2 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::x#2 line_xdyd::e#1 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::x#2 line_xdyd::e#1 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::x#2 line_xdyd::e#1 ] )
[148] if((byte) line_xdyd::xd#5>=(byte) line_xdyd::e#1) goto line_xdyd::@2 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::x#2 line_xdyd::e#1 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::x#2 line_xdyd::e#1 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::y#3 line_xdyd::x#2 line_xdyd::e#1 ] )
to:line_xdyd::@3
line_xdyd::@3: scope:[line_xdyd] from line_xdyd::@5
[149] (byte) line_xdyd::y#2 ← (byte) line_xdyd::y#3 - (byte/signed byte/word/signed word) 1 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::e#1 line_xdyd::y#2 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::e#1 line_xdyd::y#2 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::e#1 line_xdyd::y#2 ] )
[149] (byte) line_xdyd::y#2 ← -- (byte) line_xdyd::y#3 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::e#1 line_xdyd::y#2 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::e#1 line_xdyd::y#2 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::e#1 line_xdyd::y#2 ] )
[150] (byte) line_xdyd::e#2 ← (byte) line_xdyd::e#1 - (byte) line_xdyd::xd#5 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#2 line_xdyd::e#2 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#2 line_xdyd::e#2 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#2 line_xdyd::e#2 ] )
to:line_xdyd::@2
line_xdyd::@2: scope:[line_xdyd] from line_xdyd::@3 line_xdyd::@5
[151] (byte) line_xdyd::e#6 ← phi( line_xdyd::@3/(byte) line_xdyd::e#2 line_xdyd::@5/(byte) line_xdyd::e#1 ) [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 ] )
[151] (byte) line_xdyd::y#6 ← phi( line_xdyd::@3/(byte) line_xdyd::y#2 line_xdyd::@5/(byte) line_xdyd::y#3 ) [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 ] )
[152] (byte/word~) line_xdyd::$8 ← (byte) line_xdyd::x1#6 + (byte/signed byte/word/signed word) 1 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 line_xdyd::$8 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 line_xdyd::$8 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 line_xdyd::$8 ] )
[153] if((byte) line_xdyd::x#2<(byte/word~) line_xdyd::$8) goto line_xdyd::@1 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 ] )
[152] (byte/word~) line_xdyd::$6 ← (byte) line_xdyd::x1#6 + (byte/signed byte/word/signed word) 1 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 line_xdyd::$6 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 line_xdyd::$6 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 line_xdyd::$6 ] )
[153] if((byte) line_xdyd::x#2!=(byte/word~) line_xdyd::$6) goto line_xdyd::@1 [ line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 line_xdyd::yd#2 line_xdyd::xd#5 line_xdyd::x1#6 line_xdyd::x#2 line_xdyd::y#6 line_xdyd::e#6 ] )
to:line_xdyd::@return
line_xdyd::@return: scope:[line_xdyd] from line_xdyd::@2
[154] return [ ] ( main:2::lines:12::line:21::line_xdyd:50 [ lines::l#2 ] main:2::lines:12::line:21::line_xdyd:66 [ lines::l#2 ] )

File diff suppressed because it is too large Load Diff

View File

@ -81,16 +81,16 @@
(byte) line::xd#0 xd zp ZP_BYTE:7 0.7
(byte) line::xd#1 xd zp ZP_BYTE:7 0.7
(byte) line::y0
(byte) line::y0#0 y0 zp ZP_BYTE:4 5.952380952380948
(byte) line::y0#0 reg byte y 5.952380952380948
(byte) line::y1
(byte) line::y1#0 reg byte y 6.249999999999996
(byte) line::y1#0 y1 zp ZP_BYTE:4 6.249999999999996
(byte) line::yd
(byte) line::yd#0 yd zp ZP_BYTE:10 0.8888888888888888
(byte) line::yd#1 yd zp ZP_BYTE:10 0.8888888888888888
(byte) line::yd#10 yd zp ZP_BYTE:10 0.8888888888888888
(byte) line::yd#3 yd zp ZP_BYTE:10 0.8888888888888888
(void()) line_xdyd((byte) line_xdyd::x , (byte) line_xdyd::y , (byte) line_xdyd::x1 , (byte) line_xdyd::xd , (byte) line_xdyd::yd)
(byte/word~) line_xdyd::$8 reg byte a 22.0
(byte/word~) line_xdyd::$6 reg byte a 22.0
(label) line_xdyd::@1
(label) line_xdyd::@2
(label) line_xdyd::@3
@ -128,7 +128,7 @@
(byte) line_xdyd::yd#1 yd zp ZP_BYTE:2 4.0
(byte) line_xdyd::yd#2 yd zp ZP_BYTE:2 1.2142857142857142
(void()) line_xdyi((byte) line_xdyi::x , (byte) line_xdyi::y , (byte) line_xdyi::x1 , (byte) line_xdyi::xd , (byte) line_xdyi::yd)
(byte/word~) line_xdyi::$8 reg byte a 22.0
(byte/word~) line_xdyi::$6 reg byte a 22.0
(label) line_xdyi::@1
(label) line_xdyi::@2
(label) line_xdyi::@3
@ -166,7 +166,7 @@
(byte) line_xdyi::yd#1 yd zp ZP_BYTE:2 4.0
(byte) line_xdyi::yd#2 yd zp ZP_BYTE:2 1.2142857142857142
(void()) line_ydxd((byte) line_ydxd::y , (byte) line_ydxd::x , (byte) line_ydxd::y1 , (byte) line_ydxd::yd , (byte) line_ydxd::xd)
(byte/word~) line_ydxd::$8 reg byte a 22.0
(byte/word~) line_ydxd::$6 reg byte a 22.0
(label) line_ydxd::@1
(label) line_ydxd::@2
(label) line_ydxd::@3
@ -192,9 +192,9 @@
(byte) line_ydxd::y
(byte) line_ydxd::y#0 y zp ZP_BYTE:6 0.8
(byte) line_ydxd::y#1 y zp ZP_BYTE:6 0.8
(byte) line_ydxd::y#2 y zp ZP_BYTE:6 4.125
(byte) line_ydxd::y#3 y zp ZP_BYTE:6 8.75
(byte) line_ydxd::y#6 y zp ZP_BYTE:6 3.0
(byte) line_ydxd::y#2 y zp ZP_BYTE:6 8.75
(byte) line_ydxd::y#3 y zp ZP_BYTE:6 4.125
(byte) line_ydxd::y#7 y zp ZP_BYTE:6 3.0
(byte) line_ydxd::y1
(byte) line_ydxd::y1#0 y1 zp ZP_BYTE:4 1.3333333333333333
(byte) line_ydxd::y1#1 y1 zp ZP_BYTE:4 1.3333333333333333
@ -204,7 +204,7 @@
(byte) line_ydxd::yd#1 yd zp ZP_BYTE:3 2.0
(byte) line_ydxd::yd#5 yd zp ZP_BYTE:3 1.8571428571428572
(void()) line_ydxi((byte) line_ydxi::y , (byte) line_ydxi::x , (byte) line_ydxi::y1 , (byte) line_ydxi::yd , (byte) line_ydxi::xd)
(byte/word~) line_ydxi::$8 reg byte a 22.0
(byte/word~) line_ydxi::$6 reg byte a 22.0
(label) line_ydxi::@1
(label) line_ydxi::@2
(label) line_ydxi::@3
@ -295,22 +295,22 @@
reg byte x [ lines::l#2 lines::l#1 ]
zp ZP_BYTE:2 [ line_ydxi::xd#2 line_ydxi::xd#1 line_ydxi::xd#0 line_xdyi::yd#2 line_xdyi::yd#0 line_xdyi::yd#1 line_ydxd::xd#2 line_ydxd::xd#1 line_ydxd::xd#0 line_xdyd::yd#2 line_xdyd::yd#0 line_xdyd::yd#1 line::x0#0 init_plot_tables::$6 ]
zp ZP_BYTE:3 [ line_ydxi::yd#5 line_ydxi::yd#1 line_ydxi::yd#0 line_xdyi::xd#5 line_xdyi::xd#0 line_xdyi::xd#1 line_ydxd::yd#5 line_ydxd::yd#1 line_ydxd::yd#0 line_xdyd::xd#5 line_xdyd::xd#0 line_xdyd::xd#1 line::x1#0 ]
zp ZP_BYTE:4 [ line_ydxi::y1#6 line_ydxi::y1#1 line_ydxi::y1#0 line_xdyi::x1#6 line_xdyi::x1#0 line_xdyi::x1#1 line_ydxd::y1#6 line_ydxd::y1#1 line_ydxd::y1#0 line_xdyd::x1#6 line_xdyd::x1#0 line_xdyd::x1#1 line::y0#0 ]
zp ZP_BYTE:4 [ line_ydxi::y1#6 line_ydxi::y1#1 line_ydxi::y1#0 line_xdyi::x1#6 line_xdyi::x1#0 line_xdyi::x1#1 line_ydxd::y1#6 line_ydxd::y1#1 line_ydxd::y1#0 line_xdyd::x1#6 line_xdyd::x1#0 line_xdyd::x1#1 line::y1#0 ]
zp ZP_BYTE:5 [ line_ydxi::x#3 line_ydxi::x#5 line_ydxi::x#1 line_ydxi::x#0 line_ydxi::x#6 line_ydxi::x#2 plot::x#4 plot::x#1 plot::x#0 plot::x#3 plot::x#2 line_xdyi::x#3 line_xdyi::x#6 line_xdyi::x#0 line_xdyi::x#1 line_xdyi::x#2 line_ydxd::x#3 line_ydxd::x#5 line_ydxd::x#1 line_ydxd::x#0 line_ydxd::x#6 line_ydxd::x#2 line_xdyd::x#3 line_xdyd::x#6 line_xdyd::x#0 line_xdyd::x#1 line_xdyd::x#2 ]
zp ZP_BYTE:6 [ line_ydxi::y#3 line_ydxi::y#6 line_ydxi::y#1 line_ydxi::y#0 line_ydxi::y#2 plot::y#4 plot::y#1 plot::y#0 plot::y#3 plot::y#2 line_xdyi::y#3 line_xdyi::y#5 line_xdyi::y#0 line_xdyi::y#1 line_xdyi::y#6 line_xdyi::y#2 line_ydxd::y#3 line_ydxd::y#6 line_ydxd::y#1 line_ydxd::y#0 line_ydxd::y#2 line_xdyd::y#3 line_xdyd::y#5 line_xdyd::y#0 line_xdyd::y#1 line_xdyd::y#6 line_xdyd::y#2 ]
zp ZP_BYTE:6 [ line_ydxi::y#3 line_ydxi::y#6 line_ydxi::y#1 line_ydxi::y#0 line_ydxi::y#2 plot::y#4 plot::y#1 plot::y#0 plot::y#3 plot::y#2 line_xdyi::y#3 line_xdyi::y#5 line_xdyi::y#0 line_xdyi::y#1 line_xdyi::y#6 line_xdyi::y#2 line_ydxd::y#2 line_ydxd::y#7 line_ydxd::y#1 line_ydxd::y#0 line_ydxd::y#3 line_xdyd::y#3 line_xdyd::y#5 line_xdyd::y#0 line_xdyd::y#1 line_xdyd::y#6 line_xdyd::y#2 ]
zp ZP_BYTE:7 [ line_ydxi::e#3 line_ydxi::e#0 line_ydxi::e#6 line_ydxi::e#2 line_ydxi::e#1 line_xdyi::e#3 line_xdyi::e#0 line_xdyi::e#6 line_xdyi::e#2 line_xdyi::e#1 line_ydxd::e#3 line_ydxd::e#0 line_ydxd::e#6 line_ydxd::e#2 line_ydxd::e#1 line_xdyd::e#3 line_xdyd::e#0 line_xdyd::e#6 line_xdyd::e#2 line_xdyd::e#1 line::xd#1 line::xd#0 ]
reg byte x [ init_plot_tables::x#2 init_plot_tables::x#1 ]
reg byte y [ init_plot_tables::bits#3 init_plot_tables::bits#4 init_plot_tables::bits#1 ]
reg byte x [ init_plot_tables::y#2 init_plot_tables::y#1 ]
zp ZP_WORD:8 [ init_plot_tables::yoffs#2 init_plot_tables::yoffs#4 init_plot_tables::yoffs#1 init_screen::b#2 init_screen::b#1 init_screen::c#2 init_screen::c#1 plot::plotter_x#0 plot::$0 plot::plotter#0 ]
reg byte y [ line::y1#0 ]
reg byte y [ line::y0#0 ]
zp ZP_BYTE:10 [ line::yd#1 line::yd#0 line::yd#3 line::yd#10 ]
reg byte a [ line_ydxi::$8 ]
reg byte a [ line_ydxi::$6 ]
zp ZP_WORD:11 [ plot::plotter_y#0 ]
reg byte a [ plot::$1 ]
reg byte a [ line_xdyi::$8 ]
reg byte a [ line_ydxd::$8 ]
reg byte a [ line_xdyd::$8 ]
reg byte a [ line_xdyi::$6 ]
reg byte a [ line_ydxd::$6 ]
reg byte a [ line_xdyd::$6 ]
reg byte a [ init_plot_tables::$0 ]
reg byte a [ init_plot_tables::$7 ]
reg byte a [ init_plot_tables::$8 ]

View File

@ -19,7 +19,7 @@ main::@1: scope:[main] from main main::@2
[7] (byte) main::x#1 ← (byte) main::x#2 + (byte/signed byte/word/signed word) 1 [ main::cursor#3 main::e#3 main::y#2 main::x#1 ] ( main:2 [ main::cursor#3 main::e#3 main::y#2 main::x#1 ] )
[8] (byte*) main::cursor#1 ← (byte*) main::cursor#3 + (byte/signed byte/word/signed word) 1 [ main::e#3 main::y#2 main::x#1 main::cursor#1 ] ( main:2 [ main::e#3 main::y#2 main::x#1 main::cursor#1 ] )
[9] (byte) main::e#1 ← (byte) main::e#3 + (const byte) main::yd#0 [ main::y#2 main::x#1 main::cursor#1 main::e#1 ] ( main:2 [ main::y#2 main::x#1 main::cursor#1 main::e#1 ] )
[10] if((const byte) main::xd#0>=(byte) main::e#1) goto main::@2 [ main::y#2 main::x#1 main::cursor#1 main::e#1 ] ( main:2 [ main::y#2 main::x#1 main::cursor#1 main::e#1 ] )
[10] if((const byte) main::xd#0>(byte) main::e#1) goto main::@2 [ main::y#2 main::x#1 main::cursor#1 main::e#1 ] ( main:2 [ main::y#2 main::x#1 main::cursor#1 main::e#1 ] )
to:main::@3
main::@3: scope:[main] from main::@1
[11] (byte) main::y#1 ← (byte) main::y#2 + (byte/signed byte/word/signed word) 1 [ main::x#1 main::cursor#1 main::e#1 main::y#1 ] ( main:2 [ main::x#1 main::cursor#1 main::e#1 main::y#1 ] )

View File

@ -18,7 +18,7 @@ void main() {
x = x + 1;
cursor = cursor + 1;
e = e+yd;
if(xd<e) {
if(xd<=e) {
y = y+1;
cursor = cursor + 40;
e = e - xd;
@ -54,7 +54,7 @@ main::@1:
(byte*) main::cursor ← (byte*~) main::$7
(byte/word~) main::$8 ← (byte) main::e + (byte) main::yd
(byte) main::e ← (byte/word~) main::$8
(boolean~) main::$9 ← (byte) main::xd < (byte) main::e
(boolean~) main::$9 ← (byte) main::xd <= (byte) main::e
(boolean~) main::$10 ← ! (boolean~) main::$9
if((boolean~) main::$10) goto main::@2
(byte/word~) main::$11 ← (byte) main::y + (byte/signed byte/word/signed word) 1
@ -138,7 +138,7 @@ main::@1: scope:[main] from main main::@2
(byte*) main::cursor ← (byte*~) main::$7
(byte/word~) main::$8 ← (byte) main::e + (byte) main::yd
(byte) main::e ← (byte/word~) main::$8
(boolean~) main::$9 ← (byte) main::xd < (byte) main::e
(boolean~) main::$9 ← (byte) main::xd <= (byte) main::e
(boolean~) main::$10 ← ! (boolean~) main::$9
if((boolean~) main::$10) goto main::@2
to:main::@3
@ -212,7 +212,7 @@ main::@1: scope:[main] from main main::@2
(byte*) main::cursor#1 ← (byte*~) main::$7
(byte/word~) main::$8 ← (byte) main::e#3 + (byte) main::yd#1
(byte) main::e#1 ← (byte/word~) main::$8
(boolean~) main::$9 ← (byte) main::xd#1 < (byte) main::e#1
(boolean~) main::$9 ← (byte) main::xd#1 <= (byte) main::e#1
(boolean~) main::$10 ← ! (boolean~) main::$9
if((boolean~) main::$10) goto main::@2
to:main::@3
@ -342,7 +342,7 @@ SYMBOL TABLE SSA
OPTIMIZING CONTROL FLOW GRAPH
Culled Empty Block (label) @2
Succesful SSA optimization Pass2CullEmptyBlocks
Inversing boolean not (boolean~) main::$10 ← (byte) main::xd#1 >= (byte) main::e#1 from (boolean~) main::$9 ← (byte) main::xd#1 < (byte) main::e#1
Inversing boolean not (boolean~) main::$10 ← (byte) main::xd#1 > (byte) main::e#1 from (boolean~) main::$9 ← (byte) main::xd#1 <= (byte) main::e#1
Succesful SSA optimization Pass2UnaryNotSimplification
Not aliassing across scopes: STAR#2 STAR#4
Alias (byte) main::xd#0 = (byte/signed byte/word/signed word~) main::$0
@ -383,7 +383,7 @@ Redundant Phi (byte) main::yd#1 (byte) main::yd#0
Redundant Phi (byte) main::xd#1 (byte) main::xd#0
Redundant Phi (byte) main::x1#1 (byte) main::x1#0
Succesful SSA optimization Pass2RedundantPhiElimination
Simple Condition (boolean~) main::$10 if((byte) main::xd#0>=(byte) main::e#1) goto main::@2
Simple Condition (boolean~) main::$10 if((byte) main::xd#0>(byte) main::e#1) goto main::@2
Simple Condition (boolean~) main::$15 if((byte) main::x#1<(byte/word~) main::$14) goto main::@1
Succesful SSA optimization Pass2ConditionalJumpSimplification
Constant (const byte) STAR#0 = 81
@ -497,7 +497,7 @@ main::@1: scope:[main] from main main::@2
[7] (byte) main::x#1 ← (byte) main::x#2 + (byte/signed byte/word/signed word) 1 [ main::cursor#3 main::e#3 main::y#2 main::x#1 ] ( main:2 [ main::cursor#3 main::e#3 main::y#2 main::x#1 ] )
[8] (byte*) main::cursor#1 ← (byte*) main::cursor#3 + (byte/signed byte/word/signed word) 1 [ main::e#3 main::y#2 main::x#1 main::cursor#1 ] ( main:2 [ main::e#3 main::y#2 main::x#1 main::cursor#1 ] )
[9] (byte) main::e#1 ← (byte) main::e#3 + (const byte) main::yd#0 [ main::y#2 main::x#1 main::cursor#1 main::e#1 ] ( main:2 [ main::y#2 main::x#1 main::cursor#1 main::e#1 ] )
[10] if((const byte) main::xd#0>=(byte) main::e#1) goto main::@2 [ main::y#2 main::x#1 main::cursor#1 main::e#1 ] ( main:2 [ main::y#2 main::x#1 main::cursor#1 main::e#1 ] )
[10] if((const byte) main::xd#0>(byte) main::e#1) goto main::@2 [ main::y#2 main::x#1 main::cursor#1 main::e#1 ] ( main:2 [ main::y#2 main::x#1 main::cursor#1 main::e#1 ] )
to:main::@3
main::@3: scope:[main] from main::@1
[11] (byte) main::y#1 ← (byte) main::y#2 + (byte/signed byte/word/signed word) 1 [ main::x#1 main::cursor#1 main::e#1 main::y#1 ] ( main:2 [ main::x#1 main::cursor#1 main::e#1 main::y#1 ] )
@ -655,7 +655,7 @@ main: {
clc
adc #yd
sta e
//SEG25 [10] if((const byte) main::xd#0>=(byte) main::e#1) goto main::@2 [ main::y#2 main::x#1 main::cursor#1 main::e#1 ] ( main:2 [ main::y#2 main::x#1 main::cursor#1 main::e#1 ] ) -- vbuc1_ge_vbuz1_then_la1
//SEG25 [10] if((const byte) main::xd#0>(byte) main::e#1) goto main::@2 [ main::y#2 main::x#1 main::cursor#1 main::e#1 ] ( main:2 [ main::y#2 main::x#1 main::cursor#1 main::e#1 ] ) -- vbuc1_gt_vbuz1_then_la1
lda e
cmp #xd
bcc b2_from_b1
@ -803,7 +803,7 @@ main: {
clc
adc #yd
tax
//SEG25 [10] if((const byte) main::xd#0>=(byte) main::e#1) goto main::@2 [ main::y#2 main::x#1 main::cursor#1 main::e#1 ] ( main:2 [ main::y#2 main::x#1 main::cursor#1 main::e#1 ] ) -- vbuc1_ge_vbuxx_then_la1
//SEG25 [10] if((const byte) main::xd#0>(byte) main::e#1) goto main::@2 [ main::y#2 main::x#1 main::cursor#1 main::e#1 ] ( main:2 [ main::y#2 main::x#1 main::cursor#1 main::e#1 ] ) -- vbuc1_gt_vbuxx_then_la1
cpx #xd
bcc b2_from_b1
jmp b3
@ -983,7 +983,7 @@ main: {
clc
adc #yd
tax
//SEG25 [10] if((const byte) main::xd#0>=(byte) main::e#1) goto main::@2 [ main::y#2 main::x#1 main::cursor#1 main::e#1 ] ( main:2 [ main::y#2 main::x#1 main::cursor#1 main::e#1 ] ) -- vbuc1_ge_vbuxx_then_la1
//SEG25 [10] if((const byte) main::xd#0>(byte) main::e#1) goto main::@2 [ main::y#2 main::x#1 main::cursor#1 main::e#1 ] ( main:2 [ main::y#2 main::x#1 main::cursor#1 main::e#1 ] ) -- vbuc1_gt_vbuxx_then_la1
cpx #xd
bcc b2
//SEG26 main::@3

View File

@ -41,6 +41,7 @@ main: {
tay
cpy #xd
bcc b2
beq b2
inc y
lda idx
clc

View File

@ -646,9 +646,9 @@ main: {
adc #yd
sta e
//SEG25 [10] if((const byte) main::xd#0>=(byte) main::e#1) goto main::@2 [ main::y#2 main::x#1 main::idx#1 main::e#1 ] ( main:2 [ main::y#2 main::x#1 main::idx#1 main::e#1 ] ) -- vbuc1_ge_vbuz1_then_la1
lda e
cmp #xd
bcc b2_from_b1
lda #xd
cmp e
bcs b2_from_b1
jmp b3
//SEG26 main::@3
b3:
@ -708,10 +708,10 @@ REGISTER UPLIFT SCOPES
Uplift Scope [main] 55: zp ZP_BYTE:5 [ main::e#3 main::e#5 main::e#1 main::e#2 ] 46.75: zp ZP_WORD:2 [ main::idx#3 main::idx#5 main::idx#1 main::idx#2 ] 29.33: zp ZP_BYTE:6 [ main::y#2 main::y#4 main::y#1 ] 14.67: zp ZP_BYTE:4 [ main::x#2 main::x#1 ]
Uplift Scope []
Uplifting [main] best 1243 combination reg byte y [ main::e#3 main::e#5 main::e#1 main::e#2 ] zp ZP_WORD:2 [ main::idx#3 main::idx#5 main::idx#1 main::idx#2 ] zp ZP_BYTE:6 [ main::y#2 main::y#4 main::y#1 ] reg byte x [ main::x#2 main::x#1 ]
Uplifting [] best 1243 combination
Uplifting [main] best 1268 combination reg byte y [ main::e#3 main::e#5 main::e#1 main::e#2 ] zp ZP_WORD:2 [ main::idx#3 main::idx#5 main::idx#1 main::idx#2 ] zp ZP_BYTE:6 [ main::y#2 main::y#4 main::y#1 ] reg byte x [ main::x#2 main::x#1 ]
Uplifting [] best 1268 combination
Attempting to uplift remaining variables inzp ZP_BYTE:6 [ main::y#2 main::y#4 main::y#1 ]
Uplifting [main] best 1243 combination zp ZP_BYTE:6 [ main::y#2 main::y#4 main::y#1 ]
Uplifting [main] best 1268 combination zp ZP_BYTE:6 [ main::y#2 main::y#4 main::y#1 ]
Allocated (was zp ZP_BYTE:6) zp ZP_BYTE:4 [ main::y#2 main::y#4 main::y#1 ]
ASSEMBLER BEFORE OPTIMIZATION
@ -796,6 +796,7 @@ main: {
//SEG25 [10] if((const byte) main::xd#0>=(byte) main::e#1) goto main::@2 [ main::y#2 main::x#1 main::idx#1 main::e#1 ] ( main:2 [ main::y#2 main::x#1 main::idx#1 main::e#1 ] ) -- vbuc1_ge_vbuyy_then_la1
cpy #xd
bcc b2_from_b1
beq b2_from_b1
jmp b3
//SEG26 main::@3
b3:
@ -844,6 +845,7 @@ Succesful ASM optimization Pass5NextJumpElimination
Replacing instruction ldx #0 with TAX
Replacing instruction lda #0 with TXA
Replacing label b2_from_b1 with b2
Replacing label b2_from_b1 with b2
Replacing label b1_from_b2 with b1
Removing instruction bbegin:
Removing instruction b1_from_bbegin:
@ -910,7 +912,7 @@ zp ZP_BYTE:4 [ main::y#2 main::y#4 main::y#1 ]
FINAL ASSEMBLER
Score: 1087
Score: 1112
//SEG0 Basic Upstart
.pc = $801 "Basic"
@ -981,6 +983,7 @@ main: {
//SEG25 [10] if((const byte) main::xd#0>=(byte) main::e#1) goto main::@2 [ main::y#2 main::x#1 main::idx#1 main::e#1 ] ( main:2 [ main::y#2 main::x#1 main::idx#1 main::e#1 ] ) -- vbuc1_ge_vbuyy_then_la1
cpy #xd
bcc b2
beq b2
//SEG26 main::@3
//SEG27 [11] (byte) main::y#1 ← (byte) main::y#2 + (byte/signed byte/word/signed word) 1 [ main::x#1 main::idx#1 main::e#1 main::y#1 ] ( main:2 [ main::x#1 main::idx#1 main::e#1 main::y#1 ] ) -- vbuz1=vbuz1_plus_1
inc y

View File

@ -1,32 +1,37 @@
.pc = $801 "Basic"
:BasicUpstart(main)
.pc = $80d "Program"
.label line_cursor = 3
.label char_cursor = 7
.label line_cursor = 4
.label char_cursor = 8
jsr main
main: {
.label a = 2
.label i = 3
jsr print_cls
lda #<$400
sta line_cursor
lda #>$400
sta line_cursor+1
lda #0
sta i
lda #<$400
sta char_cursor
lda #>$400
sta char_cursor+1
lda #0
lda #7
sta a
b1:
lda #$a
lda #$ee
sec
sbc a
tay
cpy a
bcc b5
lda a
sty $ff
cmp $ff
bcs b6
ldx #'+'
jmp b2
b5:
b6:
ldx #'-'
b2:
sty printu.b
@ -34,46 +39,63 @@ main: {
sta printu.op
jsr printu
lda a
cmp #3
bcs b6
cmp #$87
bcs b7
ldx #'+'
jmp b3
b6:
b7:
ldx #'-'
b3:
lda #3
lda #$87
sta printu.b
lda #'<'
sta printu.op
jsr printu
lda a
tay
ldy i
cmp cs,y
bcs b7
bcs b8
ldx #'+'
jmp b4
b7:
b8:
ldx #'-'
b4:
ldy a
ldy i
lda cs,y
sta printu.b
lda #'<'
sta printu.op
jsr printu
jsr print_ln
inc a
lda a
cmp #$b
bne b14
cmp a
bcs b9
ldx #'+'
jmp b5
b9:
ldx #'-'
b5:
lda a
sta printu.b
lda #'<'
sta printu.op
jsr printu
jsr print_ln
lda a
clc
adc #$10
sta a
inc i
lda i
cmp #$10
bne b17
rts
b14:
b17:
lda line_cursor
sta char_cursor
lda line_cursor+1
sta char_cursor+1
jmp b1
cs: .byte 0, $14, 4, 9, $b, 4, $d, 8, 4, 6
cs: .byte 7, $f7, $17, $e7, $27, $d7, $37, $c7, $47, $b7, $57, $a7, $67, $97, $77, $87
}
print_ln: {
b1:
@ -96,8 +118,8 @@ print_ln: {
}
printu: {
.label a = 2
.label b = 6
.label op = 5
.label b = 7
.label op = 6
lda #' '
jsr print_char
lda a
@ -124,7 +146,7 @@ print_char: {
rts
}
print_byte: {
.label b = 9
.label b = $a
lda b
lsr
lsr
@ -142,7 +164,7 @@ print_byte: {
hextab: .text "0123456789abcdef"
}
print_cls: {
.label sc = 3
.label sc = 4
lda #<$400
sta sc
lda #>$400

View File

@ -11,136 +11,151 @@ main: scope:[main] from @10
[4] phi() [ ] ( main:2 [ ] )
[5] call print_cls param-assignment [ ] ( main:2 [ ] )
to:main::@1
main::@1: scope:[main] from main main::@14
[6] (byte*) line_cursor#13 ← phi( main::@14/(byte*) line_cursor#1 main/((byte*))(word/signed word) 1024 ) [ main::a#10 char_cursor#44 line_cursor#13 ] ( main:2 [ main::a#10 char_cursor#44 line_cursor#13 ] )
[6] (byte*) char_cursor#44 ← phi( main::@14/(byte*~) char_cursor#54 main/((byte*))(word/signed word) 1024 ) [ main::a#10 char_cursor#44 line_cursor#13 ] ( main:2 [ main::a#10 char_cursor#44 line_cursor#13 ] )
[6] (byte) main::a#10 ← phi( main::@14/(byte) main::a#1 main/(byte/signed byte/word/signed word) 0 ) [ main::a#10 char_cursor#44 line_cursor#13 ] ( main:2 [ main::a#10 char_cursor#44 line_cursor#13 ] )
[7] (byte) main::b#0 ← (byte/signed byte/word/signed word) 10 - (byte) main::a#10 [ main::a#10 char_cursor#44 line_cursor#13 main::b#0 ] ( main:2 [ main::a#10 char_cursor#44 line_cursor#13 main::b#0 ] )
[8] if((byte) main::a#10>=(byte) main::b#0) goto main::@2 [ main::a#10 char_cursor#44 line_cursor#13 main::b#0 ] ( main:2 [ main::a#10 char_cursor#44 line_cursor#13 main::b#0 ] )
to:main::@5
main::@5: scope:[main] from main::@1
[9] phi() [ main::a#10 char_cursor#44 line_cursor#13 main::b#0 ] ( main:2 [ main::a#10 char_cursor#44 line_cursor#13 main::b#0 ] )
to:main::@2
main::@2: scope:[main] from main::@1 main::@5
[10] (byte) main::r#6 ← phi( main::@1/(byte) '-' main::@5/(byte) '+' ) [ main::a#10 char_cursor#44 line_cursor#13 main::b#0 main::r#6 ] ( main:2 [ main::a#10 char_cursor#44 line_cursor#13 main::b#0 main::r#6 ] )
[11] (byte) printu::a#0 ← (byte) main::a#10 [ main::a#10 char_cursor#44 line_cursor#13 main::b#0 main::r#6 printu::a#0 ] ( main:2 [ main::a#10 char_cursor#44 line_cursor#13 main::b#0 main::r#6 printu::a#0 ] )
[12] (byte) printu::b#0 ← (byte) main::b#0 [ main::a#10 char_cursor#44 line_cursor#13 main::r#6 printu::a#0 printu::b#0 ] ( main:2 [ main::a#10 char_cursor#44 line_cursor#13 main::r#6 printu::a#0 printu::b#0 ] )
[13] (byte) printu::res#0 ← (byte) main::r#6 [ main::a#10 char_cursor#44 line_cursor#13 printu::a#0 printu::b#0 printu::res#0 ] ( main:2 [ main::a#10 char_cursor#44 line_cursor#13 printu::a#0 printu::b#0 printu::res#0 ] )
[14] call printu param-assignment [ main::a#10 line_cursor#13 char_cursor#27 ] ( main:2 [ main::a#10 line_cursor#13 char_cursor#27 ] )
to:main::@10
main::@10: scope:[main] from main::@2
[15] if((byte) main::a#10>=(byte/signed byte/word/signed word) 3) goto main::@3 [ main::a#10 line_cursor#13 char_cursor#27 ] ( main:2 [ main::a#10 line_cursor#13 char_cursor#27 ] )
main::@1: scope:[main] from main main::@17
[6] (byte*) line_cursor#13 ← phi( main/((byte*))(word/signed word) 1024 main::@17/(byte*) line_cursor#1 ) [ main::a#10 char_cursor#46 main::i#10 line_cursor#13 ] ( main:2 [ main::a#10 char_cursor#46 main::i#10 line_cursor#13 ] )
[6] (byte) main::i#10 ← phi( main/(byte/signed byte/word/signed word) 0 main::@17/(byte) main::i#1 ) [ main::a#10 char_cursor#46 main::i#10 line_cursor#13 ] ( main:2 [ main::a#10 char_cursor#46 main::i#10 line_cursor#13 ] )
[6] (byte*) char_cursor#46 ← phi( main/((byte*))(word/signed word) 1024 main::@17/(byte*~) char_cursor#58 ) [ main::a#10 char_cursor#46 main::i#10 line_cursor#13 ] ( main:2 [ main::a#10 char_cursor#46 main::i#10 line_cursor#13 ] )
[6] (byte) main::a#10 ← phi( main/(byte/signed byte/word/signed word) 7 main::@17/(byte) main::a#1 ) [ main::a#10 char_cursor#46 main::i#10 line_cursor#13 ] ( main:2 [ main::a#10 char_cursor#46 main::i#10 line_cursor#13 ] )
[7] (byte) main::b#0 ← (byte/word/signed word) 238 - (byte) main::a#10 [ main::a#10 char_cursor#46 main::i#10 line_cursor#13 main::b#0 ] ( main:2 [ main::a#10 char_cursor#46 main::i#10 line_cursor#13 main::b#0 ] )
[8] if((byte) main::a#10>=(byte) main::b#0) goto main::@2 [ main::a#10 char_cursor#46 main::i#10 line_cursor#13 main::b#0 ] ( main:2 [ main::a#10 char_cursor#46 main::i#10 line_cursor#13 main::b#0 ] )
to:main::@6
main::@6: scope:[main] from main::@10
[16] phi() [ main::a#10 line_cursor#13 char_cursor#27 ] ( main:2 [ main::a#10 line_cursor#13 char_cursor#27 ] )
to:main::@3
main::@3: scope:[main] from main::@10 main::@6
[17] (byte) main::r#7 ← phi( main::@10/(byte) '-' main::@6/(byte) '+' ) [ main::a#10 line_cursor#13 main::r#7 char_cursor#27 ] ( main:2 [ main::a#10 line_cursor#13 main::r#7 char_cursor#27 ] )
[18] (byte) printu::a#1 ← (byte) main::a#10 [ main::a#10 line_cursor#13 main::r#7 printu::a#1 char_cursor#27 ] ( main:2 [ main::a#10 line_cursor#13 main::r#7 printu::a#1 char_cursor#27 ] )
[19] (byte) printu::res#1 ← (byte) main::r#7 [ main::a#10 line_cursor#13 printu::a#1 printu::res#1 char_cursor#27 ] ( main:2 [ main::a#10 line_cursor#13 printu::a#1 printu::res#1 char_cursor#27 ] )
[20] call printu param-assignment [ main::a#10 line_cursor#13 char_cursor#27 ] ( main:2 [ main::a#10 line_cursor#13 char_cursor#27 ] )
to:main::@11
main::@11: scope:[main] from main::@3
[21] if((byte) main::a#10>=*((const byte[10]) main::cs#0 + (byte) main::a#10)) goto main::@4 [ main::a#10 line_cursor#13 char_cursor#27 ] ( main:2 [ main::a#10 line_cursor#13 char_cursor#27 ] )
to:main::@7
main::@7: scope:[main] from main::@11
[22] phi() [ main::a#10 line_cursor#13 char_cursor#27 ] ( main:2 [ main::a#10 line_cursor#13 char_cursor#27 ] )
to:main::@4
main::@4: scope:[main] from main::@11 main::@7
[23] (byte) main::r#8 ← phi( main::@11/(byte) '-' main::@7/(byte) '+' ) [ main::a#10 line_cursor#13 main::r#8 char_cursor#27 ] ( main:2 [ main::a#10 line_cursor#13 main::r#8 char_cursor#27 ] )
[24] (byte) printu::a#2 ← (byte) main::a#10 [ main::a#10 line_cursor#13 main::r#8 printu::a#2 char_cursor#27 ] ( main:2 [ main::a#10 line_cursor#13 main::r#8 printu::a#2 char_cursor#27 ] )
[25] (byte) printu::b#2 ← *((const byte[10]) main::cs#0 + (byte) main::a#10) [ main::a#10 line_cursor#13 main::r#8 printu::a#2 printu::b#2 char_cursor#27 ] ( main:2 [ main::a#10 line_cursor#13 main::r#8 printu::a#2 printu::b#2 char_cursor#27 ] )
[26] (byte) printu::res#2 ← (byte) main::r#8 [ main::a#10 line_cursor#13 printu::a#2 printu::b#2 printu::res#2 char_cursor#27 ] ( main:2 [ main::a#10 line_cursor#13 printu::a#2 printu::b#2 printu::res#2 char_cursor#27 ] )
[27] call printu param-assignment [ main::a#10 line_cursor#13 char_cursor#27 ] ( main:2 [ main::a#10 line_cursor#13 char_cursor#27 ] )
main::@6: scope:[main] from main::@1
[9] phi() [ main::a#10 char_cursor#46 main::i#10 line_cursor#13 main::b#0 ] ( main:2 [ main::a#10 char_cursor#46 main::i#10 line_cursor#13 main::b#0 ] )
to:main::@2
main::@2: scope:[main] from main::@1 main::@6
[10] (byte) main::r#8 ← phi( main::@1/(byte) '-' main::@6/(byte) '+' ) [ main::a#10 char_cursor#46 main::i#10 line_cursor#13 main::b#0 main::r#8 ] ( main:2 [ main::a#10 char_cursor#46 main::i#10 line_cursor#13 main::b#0 main::r#8 ] )
[11] (byte) printu::a#0 ← (byte) main::a#10 [ main::a#10 char_cursor#46 main::i#10 line_cursor#13 main::b#0 main::r#8 printu::a#0 ] ( main:2 [ main::a#10 char_cursor#46 main::i#10 line_cursor#13 main::b#0 main::r#8 printu::a#0 ] )
[12] (byte) printu::b#0 ← (byte) main::b#0 [ main::a#10 char_cursor#46 main::i#10 line_cursor#13 main::r#8 printu::a#0 printu::b#0 ] ( main:2 [ main::a#10 char_cursor#46 main::i#10 line_cursor#13 main::r#8 printu::a#0 printu::b#0 ] )
[13] (byte) printu::res#0 ← (byte) main::r#8 [ main::a#10 char_cursor#46 main::i#10 line_cursor#13 printu::a#0 printu::b#0 printu::res#0 ] ( main:2 [ main::a#10 char_cursor#46 main::i#10 line_cursor#13 printu::a#0 printu::b#0 printu::res#0 ] )
[14] call printu param-assignment [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 ] ( main:2 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 ] )
to:main::@12
main::@12: scope:[main] from main::@4
[28] phi() [ main::a#10 line_cursor#13 char_cursor#27 ] ( main:2 [ main::a#10 line_cursor#13 char_cursor#27 ] )
[29] call print_ln param-assignment [ main::a#10 line_cursor#1 ] ( main:2 [ main::a#10 line_cursor#1 ] )
main::@12: scope:[main] from main::@2
[15] if((byte) main::a#10>=(byte/word/signed word) 135) goto main::@3 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 ] ( main:2 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 ] )
to:main::@7
main::@7: scope:[main] from main::@12
[16] phi() [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 ] ( main:2 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 ] )
to:main::@3
main::@3: scope:[main] from main::@12 main::@7
[17] (byte) main::r#9 ← phi( main::@12/(byte) '-' main::@7/(byte) '+' ) [ main::a#10 main::i#10 line_cursor#13 main::r#9 char_cursor#28 ] ( main:2 [ main::a#10 main::i#10 line_cursor#13 main::r#9 char_cursor#28 ] )
[18] (byte) printu::a#1 ← (byte) main::a#10 [ main::a#10 main::i#10 line_cursor#13 main::r#9 printu::a#1 char_cursor#28 ] ( main:2 [ main::a#10 main::i#10 line_cursor#13 main::r#9 printu::a#1 char_cursor#28 ] )
[19] (byte) printu::res#1 ← (byte) main::r#9 [ main::a#10 main::i#10 line_cursor#13 printu::a#1 printu::res#1 char_cursor#28 ] ( main:2 [ main::a#10 main::i#10 line_cursor#13 printu::a#1 printu::res#1 char_cursor#28 ] )
[20] call printu param-assignment [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 ] ( main:2 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 ] )
to:main::@13
main::@13: scope:[main] from main::@12
[30] (byte) main::a#1 ← ++ (byte) main::a#10 [ main::a#1 line_cursor#1 ] ( main:2 [ main::a#1 line_cursor#1 ] )
[31] if((byte) main::a#1!=(byte/signed byte/word/signed word) 11) goto main::@14 [ main::a#1 line_cursor#1 ] ( main:2 [ main::a#1 line_cursor#1 ] )
main::@13: scope:[main] from main::@3
[21] if((byte) main::a#10>=*((const byte[16]) main::cs#0 + (byte) main::i#10)) goto main::@4 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 ] ( main:2 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 ] )
to:main::@8
main::@8: scope:[main] from main::@13
[22] phi() [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 ] ( main:2 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 ] )
to:main::@4
main::@4: scope:[main] from main::@13 main::@8
[23] (byte) main::r#10 ← phi( main::@13/(byte) '-' main::@8/(byte) '+' ) [ main::a#10 main::i#10 line_cursor#13 main::r#10 char_cursor#28 ] ( main:2 [ main::a#10 main::i#10 line_cursor#13 main::r#10 char_cursor#28 ] )
[24] (byte) printu::a#2 ← (byte) main::a#10 [ main::a#10 main::i#10 line_cursor#13 main::r#10 printu::a#2 char_cursor#28 ] ( main:2 [ main::a#10 main::i#10 line_cursor#13 main::r#10 printu::a#2 char_cursor#28 ] )
[25] (byte) printu::b#2 ← *((const byte[16]) main::cs#0 + (byte) main::i#10) [ main::a#10 main::i#10 line_cursor#13 main::r#10 printu::a#2 printu::b#2 char_cursor#28 ] ( main:2 [ main::a#10 main::i#10 line_cursor#13 main::r#10 printu::a#2 printu::b#2 char_cursor#28 ] )
[26] (byte) printu::res#2 ← (byte) main::r#10 [ main::a#10 main::i#10 line_cursor#13 printu::a#2 printu::b#2 printu::res#2 char_cursor#28 ] ( main:2 [ main::a#10 main::i#10 line_cursor#13 printu::a#2 printu::b#2 printu::res#2 char_cursor#28 ] )
[27] call printu param-assignment [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 ] ( main:2 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 ] )
to:main::@14
main::@14: scope:[main] from main::@4
[28] if((byte) main::a#10>=(byte) main::a#10) goto main::@5 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 ] ( main:2 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 ] )
to:main::@9
main::@9: scope:[main] from main::@14
[29] phi() [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 ] ( main:2 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 ] )
to:main::@5
main::@5: scope:[main] from main::@14 main::@9
[30] (byte) main::r#11 ← phi( main::@14/(byte) '-' main::@9/(byte) '+' ) [ main::a#10 main::i#10 line_cursor#13 main::r#11 char_cursor#28 ] ( main:2 [ main::a#10 main::i#10 line_cursor#13 main::r#11 char_cursor#28 ] )
[31] (byte) printu::a#3 ← (byte) main::a#10 [ main::a#10 main::i#10 line_cursor#13 main::r#11 printu::a#3 char_cursor#28 ] ( main:2 [ main::a#10 main::i#10 line_cursor#13 main::r#11 printu::a#3 char_cursor#28 ] )
[32] (byte) printu::b#3 ← (byte) main::a#10 [ main::a#10 main::i#10 line_cursor#13 main::r#11 printu::a#3 printu::b#3 char_cursor#28 ] ( main:2 [ main::a#10 main::i#10 line_cursor#13 main::r#11 printu::a#3 printu::b#3 char_cursor#28 ] )
[33] (byte) printu::res#3 ← (byte) main::r#11 [ main::a#10 main::i#10 line_cursor#13 printu::a#3 printu::b#3 printu::res#3 char_cursor#28 ] ( main:2 [ main::a#10 main::i#10 line_cursor#13 printu::a#3 printu::b#3 printu::res#3 char_cursor#28 ] )
[34] call printu param-assignment [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 ] ( main:2 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 ] )
to:main::@15
main::@15: scope:[main] from main::@5
[35] phi() [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 ] ( main:2 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 ] )
[36] call print_ln param-assignment [ main::a#10 main::i#10 line_cursor#1 ] ( main:2 [ main::a#10 main::i#10 line_cursor#1 ] )
to:main::@16
main::@16: scope:[main] from main::@15
[37] (byte) main::a#1 ← (byte) main::a#10 + (byte/signed byte/word/signed word) 16 [ main::i#10 main::a#1 line_cursor#1 ] ( main:2 [ main::i#10 main::a#1 line_cursor#1 ] )
[38] (byte) main::i#1 ← ++ (byte) main::i#10 [ main::a#1 main::i#1 line_cursor#1 ] ( main:2 [ main::a#1 main::i#1 line_cursor#1 ] )
[39] if((byte) main::i#1!=(byte/signed byte/word/signed word) 16) goto main::@17 [ main::a#1 main::i#1 line_cursor#1 ] ( main:2 [ main::a#1 main::i#1 line_cursor#1 ] )
to:main::@return
main::@return: scope:[main] from main::@13
[32] return [ ] ( main:2 [ ] )
main::@return: scope:[main] from main::@16
[40] return [ ] ( main:2 [ ] )
to:@return
main::@14: scope:[main] from main::@13
[33] (byte*~) char_cursor#54 ← (byte*) line_cursor#1 [ main::a#1 char_cursor#54 line_cursor#1 ] ( main:2 [ main::a#1 char_cursor#54 line_cursor#1 ] )
main::@17: scope:[main] from main::@16
[41] (byte*~) char_cursor#58 ← (byte*) line_cursor#1 [ main::a#1 char_cursor#58 main::i#1 line_cursor#1 ] ( main:2 [ main::a#1 char_cursor#58 main::i#1 line_cursor#1 ] )
to:main::@1
print_ln: scope:[print_ln] from main::@12
[34] phi() [ line_cursor#13 char_cursor#27 ] ( main:2::print_ln:29 [ main::a#10 line_cursor#13 char_cursor#27 ] )
print_ln: scope:[print_ln] from main::@15
[42] phi() [ line_cursor#13 char_cursor#28 ] ( main:2::print_ln:36 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 ] )
to:print_ln::@1
print_ln::@1: scope:[print_ln] from print_ln print_ln::@1
[35] (byte*) line_cursor#6 ← phi( print_ln/(byte*) line_cursor#13 print_ln::@1/(byte*) line_cursor#1 ) [ line_cursor#6 char_cursor#27 ] ( main:2::print_ln:29 [ main::a#10 line_cursor#6 char_cursor#27 ] )
[36] (byte*) line_cursor#1 ← (byte*) line_cursor#6 + (byte/signed byte/word/signed word) 40 [ line_cursor#1 char_cursor#27 ] ( main:2::print_ln:29 [ main::a#10 line_cursor#1 char_cursor#27 ] )
[37] if((byte*) line_cursor#1<(byte*) char_cursor#27) goto print_ln::@1 [ line_cursor#1 char_cursor#27 ] ( main:2::print_ln:29 [ main::a#10 line_cursor#1 char_cursor#27 ] )
[43] (byte*) line_cursor#6 ← phi( print_ln/(byte*) line_cursor#13 print_ln::@1/(byte*) line_cursor#1 ) [ line_cursor#6 char_cursor#28 ] ( main:2::print_ln:36 [ main::a#10 main::i#10 line_cursor#6 char_cursor#28 ] )
[44] (byte*) line_cursor#1 ← (byte*) line_cursor#6 + (byte/signed byte/word/signed word) 40 [ line_cursor#1 char_cursor#28 ] ( main:2::print_ln:36 [ main::a#10 main::i#10 line_cursor#1 char_cursor#28 ] )
[45] if((byte*) line_cursor#1<(byte*) char_cursor#28) goto print_ln::@1 [ line_cursor#1 char_cursor#28 ] ( main:2::print_ln:36 [ main::a#10 main::i#10 line_cursor#1 char_cursor#28 ] )
to:print_ln::@return
print_ln::@return: scope:[print_ln] from print_ln::@1
[38] return [ line_cursor#1 ] ( main:2::print_ln:29 [ main::a#10 line_cursor#1 ] )
[46] return [ line_cursor#1 ] ( main:2::print_ln:36 [ main::a#10 main::i#10 line_cursor#1 ] )
to:@return
printu: scope:[printu] from main::@2 main::@3 main::@4
[39] (byte) printu::res#3 ← phi( main::@2/(byte) printu::res#0 main::@3/(byte) printu::res#1 main::@4/(byte) printu::res#2 ) [ char_cursor#43 printu::a#3 printu::op#3 printu::b#3 printu::res#3 ] ( main:2::printu:14 [ main::a#10 line_cursor#13 char_cursor#43 printu::a#3 printu::op#3 printu::b#3 printu::res#3 ] main:2::printu:20 [ main::a#10 line_cursor#13 char_cursor#43 printu::a#3 printu::op#3 printu::b#3 printu::res#3 ] main:2::printu:27 [ main::a#10 line_cursor#13 char_cursor#43 printu::a#3 printu::op#3 printu::b#3 printu::res#3 ] )
[39] (byte) printu::b#3 ← phi( main::@2/(byte) printu::b#0 main::@3/(byte/signed byte/word/signed word) 3 main::@4/(byte) printu::b#2 ) [ char_cursor#43 printu::a#3 printu::op#3 printu::b#3 printu::res#3 ] ( main:2::printu:14 [ main::a#10 line_cursor#13 char_cursor#43 printu::a#3 printu::op#3 printu::b#3 printu::res#3 ] main:2::printu:20 [ main::a#10 line_cursor#13 char_cursor#43 printu::a#3 printu::op#3 printu::b#3 printu::res#3 ] main:2::printu:27 [ main::a#10 line_cursor#13 char_cursor#43 printu::a#3 printu::op#3 printu::b#3 printu::res#3 ] )
[39] (byte) printu::op#3 ← phi( main::@2/(byte) '<' main::@3/(byte) '<' main::@4/(byte) '<' ) [ char_cursor#43 printu::a#3 printu::op#3 printu::b#3 printu::res#3 ] ( main:2::printu:14 [ main::a#10 line_cursor#13 char_cursor#43 printu::a#3 printu::op#3 printu::b#3 printu::res#3 ] main:2::printu:20 [ main::a#10 line_cursor#13 char_cursor#43 printu::a#3 printu::op#3 printu::b#3 printu::res#3 ] main:2::printu:27 [ main::a#10 line_cursor#13 char_cursor#43 printu::a#3 printu::op#3 printu::b#3 printu::res#3 ] )
[39] (byte) printu::a#3 ← phi( main::@2/(byte) printu::a#0 main::@3/(byte) printu::a#1 main::@4/(byte) printu::a#2 ) [ char_cursor#43 printu::a#3 printu::op#3 printu::b#3 printu::res#3 ] ( main:2::printu:14 [ main::a#10 line_cursor#13 char_cursor#43 printu::a#3 printu::op#3 printu::b#3 printu::res#3 ] main:2::printu:20 [ main::a#10 line_cursor#13 char_cursor#43 printu::a#3 printu::op#3 printu::b#3 printu::res#3 ] main:2::printu:27 [ main::a#10 line_cursor#13 char_cursor#43 printu::a#3 printu::op#3 printu::b#3 printu::res#3 ] )
[39] (byte*) char_cursor#43 ← phi( main::@2/(byte*) char_cursor#44 main::@3/(byte*) char_cursor#27 main::@4/(byte*) char_cursor#27 ) [ char_cursor#43 printu::a#3 printu::op#3 printu::b#3 printu::res#3 ] ( main:2::printu:14 [ main::a#10 line_cursor#13 char_cursor#43 printu::a#3 printu::op#3 printu::b#3 printu::res#3 ] main:2::printu:20 [ main::a#10 line_cursor#13 char_cursor#43 printu::a#3 printu::op#3 printu::b#3 printu::res#3 ] main:2::printu:27 [ main::a#10 line_cursor#13 char_cursor#43 printu::a#3 printu::op#3 printu::b#3 printu::res#3 ] )
[40] call print_char param-assignment [ char_cursor#27 printu::a#3 printu::op#3 printu::b#3 printu::res#3 ] ( main:2::printu:14 [ main::a#10 line_cursor#13 char_cursor#27 printu::a#3 printu::op#3 printu::b#3 printu::res#3 ] main:2::printu:20 [ main::a#10 line_cursor#13 char_cursor#27 printu::a#3 printu::op#3 printu::b#3 printu::res#3 ] main:2::printu:27 [ main::a#10 line_cursor#13 char_cursor#27 printu::a#3 printu::op#3 printu::b#3 printu::res#3 ] )
printu: scope:[printu] from main::@2 main::@3 main::@4 main::@5
[47] (byte) printu::res#4 ← phi( main::@2/(byte) printu::res#0 main::@3/(byte) printu::res#1 main::@4/(byte) printu::res#2 main::@5/(byte) printu::res#3 ) [ char_cursor#45 printu::a#4 printu::op#4 printu::b#4 printu::res#4 ] ( main:2::printu:14 [ main::a#10 main::i#10 line_cursor#13 char_cursor#45 printu::a#4 printu::op#4 printu::b#4 printu::res#4 ] main:2::printu:20 [ main::a#10 main::i#10 line_cursor#13 char_cursor#45 printu::a#4 printu::op#4 printu::b#4 printu::res#4 ] main:2::printu:27 [ main::a#10 main::i#10 line_cursor#13 char_cursor#45 printu::a#4 printu::op#4 printu::b#4 printu::res#4 ] main:2::printu:34 [ main::a#10 main::i#10 line_cursor#13 char_cursor#45 printu::a#4 printu::op#4 printu::b#4 printu::res#4 ] )
[47] (byte) printu::b#4 ← phi( main::@2/(byte) printu::b#0 main::@3/(byte/word/signed word) 135 main::@4/(byte) printu::b#2 main::@5/(byte) printu::b#3 ) [ char_cursor#45 printu::a#4 printu::op#4 printu::b#4 printu::res#4 ] ( main:2::printu:14 [ main::a#10 main::i#10 line_cursor#13 char_cursor#45 printu::a#4 printu::op#4 printu::b#4 printu::res#4 ] main:2::printu:20 [ main::a#10 main::i#10 line_cursor#13 char_cursor#45 printu::a#4 printu::op#4 printu::b#4 printu::res#4 ] main:2::printu:27 [ main::a#10 main::i#10 line_cursor#13 char_cursor#45 printu::a#4 printu::op#4 printu::b#4 printu::res#4 ] main:2::printu:34 [ main::a#10 main::i#10 line_cursor#13 char_cursor#45 printu::a#4 printu::op#4 printu::b#4 printu::res#4 ] )
[47] (byte) printu::op#4 ← phi( main::@2/(byte) '<' main::@3/(byte) '<' main::@4/(byte) '<' main::@5/(byte) '<' ) [ char_cursor#45 printu::a#4 printu::op#4 printu::b#4 printu::res#4 ] ( main:2::printu:14 [ main::a#10 main::i#10 line_cursor#13 char_cursor#45 printu::a#4 printu::op#4 printu::b#4 printu::res#4 ] main:2::printu:20 [ main::a#10 main::i#10 line_cursor#13 char_cursor#45 printu::a#4 printu::op#4 printu::b#4 printu::res#4 ] main:2::printu:27 [ main::a#10 main::i#10 line_cursor#13 char_cursor#45 printu::a#4 printu::op#4 printu::b#4 printu::res#4 ] main:2::printu:34 [ main::a#10 main::i#10 line_cursor#13 char_cursor#45 printu::a#4 printu::op#4 printu::b#4 printu::res#4 ] )
[47] (byte) printu::a#4 ← phi( main::@2/(byte) printu::a#0 main::@3/(byte) printu::a#1 main::@4/(byte) printu::a#2 main::@5/(byte) printu::a#3 ) [ char_cursor#45 printu::a#4 printu::op#4 printu::b#4 printu::res#4 ] ( main:2::printu:14 [ main::a#10 main::i#10 line_cursor#13 char_cursor#45 printu::a#4 printu::op#4 printu::b#4 printu::res#4 ] main:2::printu:20 [ main::a#10 main::i#10 line_cursor#13 char_cursor#45 printu::a#4 printu::op#4 printu::b#4 printu::res#4 ] main:2::printu:27 [ main::a#10 main::i#10 line_cursor#13 char_cursor#45 printu::a#4 printu::op#4 printu::b#4 printu::res#4 ] main:2::printu:34 [ main::a#10 main::i#10 line_cursor#13 char_cursor#45 printu::a#4 printu::op#4 printu::b#4 printu::res#4 ] )
[47] (byte*) char_cursor#45 ← phi( main::@2/(byte*) char_cursor#46 main::@3/(byte*) char_cursor#28 main::@4/(byte*) char_cursor#28 main::@5/(byte*) char_cursor#28 ) [ char_cursor#45 printu::a#4 printu::op#4 printu::b#4 printu::res#4 ] ( main:2::printu:14 [ main::a#10 main::i#10 line_cursor#13 char_cursor#45 printu::a#4 printu::op#4 printu::b#4 printu::res#4 ] main:2::printu:20 [ main::a#10 main::i#10 line_cursor#13 char_cursor#45 printu::a#4 printu::op#4 printu::b#4 printu::res#4 ] main:2::printu:27 [ main::a#10 main::i#10 line_cursor#13 char_cursor#45 printu::a#4 printu::op#4 printu::b#4 printu::res#4 ] main:2::printu:34 [ main::a#10 main::i#10 line_cursor#13 char_cursor#45 printu::a#4 printu::op#4 printu::b#4 printu::res#4 ] )
[48] call print_char param-assignment [ char_cursor#28 printu::a#4 printu::op#4 printu::b#4 printu::res#4 ] ( main:2::printu:14 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 printu::a#4 printu::op#4 printu::b#4 printu::res#4 ] main:2::printu:20 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 printu::a#4 printu::op#4 printu::b#4 printu::res#4 ] main:2::printu:27 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 printu::a#4 printu::op#4 printu::b#4 printu::res#4 ] main:2::printu:34 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 printu::a#4 printu::op#4 printu::b#4 printu::res#4 ] )
to:printu::@1
printu::@1: scope:[printu] from printu
[41] (byte) print_byte::b#0 ← (byte) printu::a#3 [ char_cursor#27 printu::op#3 printu::b#3 printu::res#3 print_byte::b#0 ] ( main:2::printu:14 [ main::a#10 line_cursor#13 char_cursor#27 printu::op#3 printu::b#3 printu::res#3 print_byte::b#0 ] main:2::printu:20 [ main::a#10 line_cursor#13 char_cursor#27 printu::op#3 printu::b#3 printu::res#3 print_byte::b#0 ] main:2::printu:27 [ main::a#10 line_cursor#13 char_cursor#27 printu::op#3 printu::b#3 printu::res#3 print_byte::b#0 ] )
[42] call print_byte param-assignment [ char_cursor#27 printu::op#3 printu::b#3 printu::res#3 ] ( main:2::printu:14 [ main::a#10 line_cursor#13 char_cursor#27 printu::op#3 printu::b#3 printu::res#3 ] main:2::printu:20 [ main::a#10 line_cursor#13 char_cursor#27 printu::op#3 printu::b#3 printu::res#3 ] main:2::printu:27 [ main::a#10 line_cursor#13 char_cursor#27 printu::op#3 printu::b#3 printu::res#3 ] )
[49] (byte) print_byte::b#0 ← (byte) printu::a#4 [ char_cursor#28 printu::op#4 printu::b#4 printu::res#4 print_byte::b#0 ] ( main:2::printu:14 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 printu::op#4 printu::b#4 printu::res#4 print_byte::b#0 ] main:2::printu:20 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 printu::op#4 printu::b#4 printu::res#4 print_byte::b#0 ] main:2::printu:27 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 printu::op#4 printu::b#4 printu::res#4 print_byte::b#0 ] main:2::printu:34 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 printu::op#4 printu::b#4 printu::res#4 print_byte::b#0 ] )
[50] call print_byte param-assignment [ char_cursor#28 printu::op#4 printu::b#4 printu::res#4 ] ( main:2::printu:14 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 printu::op#4 printu::b#4 printu::res#4 ] main:2::printu:20 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 printu::op#4 printu::b#4 printu::res#4 ] main:2::printu:27 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 printu::op#4 printu::b#4 printu::res#4 ] main:2::printu:34 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 printu::op#4 printu::b#4 printu::res#4 ] )
to:printu::@2
printu::@2: scope:[printu] from printu::@1
[43] (byte) print_char::ch#3 ← (byte) printu::op#3 [ char_cursor#27 printu::b#3 printu::res#3 print_char::ch#3 ] ( main:2::printu:14 [ main::a#10 line_cursor#13 char_cursor#27 printu::b#3 printu::res#3 print_char::ch#3 ] main:2::printu:20 [ main::a#10 line_cursor#13 char_cursor#27 printu::b#3 printu::res#3 print_char::ch#3 ] main:2::printu:27 [ main::a#10 line_cursor#13 char_cursor#27 printu::b#3 printu::res#3 print_char::ch#3 ] )
[44] call print_char param-assignment [ char_cursor#27 printu::b#3 printu::res#3 ] ( main:2::printu:14 [ main::a#10 line_cursor#13 char_cursor#27 printu::b#3 printu::res#3 ] main:2::printu:20 [ main::a#10 line_cursor#13 char_cursor#27 printu::b#3 printu::res#3 ] main:2::printu:27 [ main::a#10 line_cursor#13 char_cursor#27 printu::b#3 printu::res#3 ] )
[51] (byte) print_char::ch#3 ← (byte) printu::op#4 [ char_cursor#28 printu::b#4 printu::res#4 print_char::ch#3 ] ( main:2::printu:14 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 printu::b#4 printu::res#4 print_char::ch#3 ] main:2::printu:20 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 printu::b#4 printu::res#4 print_char::ch#3 ] main:2::printu:27 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 printu::b#4 printu::res#4 print_char::ch#3 ] main:2::printu:34 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 printu::b#4 printu::res#4 print_char::ch#3 ] )
[52] call print_char param-assignment [ char_cursor#28 printu::b#4 printu::res#4 ] ( main:2::printu:14 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 printu::b#4 printu::res#4 ] main:2::printu:20 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 printu::b#4 printu::res#4 ] main:2::printu:27 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 printu::b#4 printu::res#4 ] main:2::printu:34 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 printu::b#4 printu::res#4 ] )
to:printu::@3
printu::@3: scope:[printu] from printu::@2
[45] (byte) print_byte::b#1 ← (byte) printu::b#3 [ char_cursor#27 printu::res#3 print_byte::b#1 ] ( main:2::printu:14 [ main::a#10 line_cursor#13 char_cursor#27 printu::res#3 print_byte::b#1 ] main:2::printu:20 [ main::a#10 line_cursor#13 char_cursor#27 printu::res#3 print_byte::b#1 ] main:2::printu:27 [ main::a#10 line_cursor#13 char_cursor#27 printu::res#3 print_byte::b#1 ] )
[46] call print_byte param-assignment [ char_cursor#27 printu::res#3 ] ( main:2::printu:14 [ main::a#10 line_cursor#13 char_cursor#27 printu::res#3 ] main:2::printu:20 [ main::a#10 line_cursor#13 char_cursor#27 printu::res#3 ] main:2::printu:27 [ main::a#10 line_cursor#13 char_cursor#27 printu::res#3 ] )
[53] (byte) print_byte::b#1 ← (byte) printu::b#4 [ char_cursor#28 printu::res#4 print_byte::b#1 ] ( main:2::printu:14 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 printu::res#4 print_byte::b#1 ] main:2::printu:20 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 printu::res#4 print_byte::b#1 ] main:2::printu:27 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 printu::res#4 print_byte::b#1 ] main:2::printu:34 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 printu::res#4 print_byte::b#1 ] )
[54] call print_byte param-assignment [ char_cursor#28 printu::res#4 ] ( main:2::printu:14 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 printu::res#4 ] main:2::printu:20 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 printu::res#4 ] main:2::printu:27 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 printu::res#4 ] main:2::printu:34 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 printu::res#4 ] )
to:printu::@4
printu::@4: scope:[printu] from printu::@3
[47] phi() [ char_cursor#27 printu::res#3 ] ( main:2::printu:14 [ main::a#10 line_cursor#13 char_cursor#27 printu::res#3 ] main:2::printu:20 [ main::a#10 line_cursor#13 char_cursor#27 printu::res#3 ] main:2::printu:27 [ main::a#10 line_cursor#13 char_cursor#27 printu::res#3 ] )
[48] call print_char param-assignment [ char_cursor#27 printu::res#3 ] ( main:2::printu:14 [ main::a#10 line_cursor#13 char_cursor#27 printu::res#3 ] main:2::printu:20 [ main::a#10 line_cursor#13 char_cursor#27 printu::res#3 ] main:2::printu:27 [ main::a#10 line_cursor#13 char_cursor#27 printu::res#3 ] )
[55] phi() [ char_cursor#28 printu::res#4 ] ( main:2::printu:14 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 printu::res#4 ] main:2::printu:20 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 printu::res#4 ] main:2::printu:27 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 printu::res#4 ] main:2::printu:34 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 printu::res#4 ] )
[56] call print_char param-assignment [ char_cursor#28 printu::res#4 ] ( main:2::printu:14 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 printu::res#4 ] main:2::printu:20 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 printu::res#4 ] main:2::printu:27 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 printu::res#4 ] main:2::printu:34 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 printu::res#4 ] )
to:printu::@5
printu::@5: scope:[printu] from printu::@4
[49] (byte) print_char::ch#5 ← (byte) printu::res#3 [ char_cursor#27 print_char::ch#5 ] ( main:2::printu:14 [ main::a#10 line_cursor#13 char_cursor#27 print_char::ch#5 ] main:2::printu:20 [ main::a#10 line_cursor#13 char_cursor#27 print_char::ch#5 ] main:2::printu:27 [ main::a#10 line_cursor#13 char_cursor#27 print_char::ch#5 ] )
[50] call print_char param-assignment [ char_cursor#27 ] ( main:2::printu:14 [ main::a#10 line_cursor#13 char_cursor#27 ] main:2::printu:20 [ main::a#10 line_cursor#13 char_cursor#27 ] main:2::printu:27 [ main::a#10 line_cursor#13 char_cursor#27 ] )
[57] (byte) print_char::ch#5 ← (byte) printu::res#4 [ char_cursor#28 print_char::ch#5 ] ( main:2::printu:14 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 print_char::ch#5 ] main:2::printu:20 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 print_char::ch#5 ] main:2::printu:27 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 print_char::ch#5 ] main:2::printu:34 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 print_char::ch#5 ] )
[58] call print_char param-assignment [ char_cursor#28 ] ( main:2::printu:14 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 ] main:2::printu:20 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 ] main:2::printu:27 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 ] main:2::printu:34 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 ] )
to:printu::@return
printu::@return: scope:[printu] from printu::@5
[51] return [ char_cursor#27 ] ( main:2::printu:14 [ main::a#10 line_cursor#13 char_cursor#27 ] main:2::printu:20 [ main::a#10 line_cursor#13 char_cursor#27 ] main:2::printu:27 [ main::a#10 line_cursor#13 char_cursor#27 ] )
[59] return [ char_cursor#28 ] ( main:2::printu:14 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 ] main:2::printu:20 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 ] main:2::printu:27 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 ] main:2::printu:34 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 ] )
to:@return
print_char: scope:[print_char] from print_byte print_byte::@1 printu printu::@2 printu::@4 printu::@5
[52] (byte*) char_cursor#26 ← phi( print_byte/(byte*) char_cursor#27 print_byte::@1/(byte*) char_cursor#27 printu/(byte*) char_cursor#43 printu::@2/(byte*) char_cursor#27 printu::@4/(byte*) char_cursor#27 printu::@5/(byte*) char_cursor#27 ) [ print_char::ch#6 char_cursor#26 ] ( main:2::printu:14::print_char:40 [ main::a#10 line_cursor#13 printu::a#3 printu::op#3 printu::b#3 printu::res#3 print_char::ch#6 char_cursor#26 ] main:2::printu:20::print_char:40 [ main::a#10 line_cursor#13 printu::a#3 printu::op#3 printu::b#3 printu::res#3 print_char::ch#6 char_cursor#26 ] main:2::printu:27::print_char:40 [ main::a#10 line_cursor#13 printu::a#3 printu::op#3 printu::b#3 printu::res#3 print_char::ch#6 char_cursor#26 ] main:2::printu:14::print_char:44 [ main::a#10 line_cursor#13 printu::b#3 printu::res#3 print_char::ch#6 char_cursor#26 ] main:2::printu:20::print_char:44 [ main::a#10 line_cursor#13 printu::b#3 printu::res#3 print_char::ch#6 char_cursor#26 ] main:2::printu:27::print_char:44 [ main::a#10 line_cursor#13 printu::b#3 printu::res#3 print_char::ch#6 char_cursor#26 ] main:2::printu:14::print_char:48 [ main::a#10 line_cursor#13 printu::res#3 print_char::ch#6 char_cursor#26 ] main:2::printu:20::print_char:48 [ main::a#10 line_cursor#13 printu::res#3 print_char::ch#6 char_cursor#26 ] main:2::printu:27::print_char:48 [ main::a#10 line_cursor#13 printu::res#3 print_char::ch#6 char_cursor#26 ] main:2::printu:14::print_char:50 [ main::a#10 line_cursor#13 print_char::ch#6 char_cursor#26 ] main:2::printu:20::print_char:50 [ main::a#10 line_cursor#13 print_char::ch#6 char_cursor#26 ] main:2::printu:27::print_char:50 [ main::a#10 line_cursor#13 print_char::ch#6 char_cursor#26 ] main:2::printu:14::print_byte:42::print_char:59 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 print_byte::b#2 print_char::ch#6 char_cursor#26 ] main:2::printu:20::print_byte:42::print_char:59 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 print_byte::b#2 print_char::ch#6 char_cursor#26 ] main:2::printu:27::print_byte:42::print_char:59 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 print_byte::b#2 print_char::ch#6 char_cursor#26 ] main:2::printu:14::print_byte:46::print_char:59 [ main::a#10 line_cursor#13 printu::res#3 print_byte::b#2 print_char::ch#6 char_cursor#26 ] main:2::printu:20::print_byte:46::print_char:59 [ main::a#10 line_cursor#13 printu::res#3 print_byte::b#2 print_char::ch#6 char_cursor#26 ] main:2::printu:27::print_byte:46::print_char:59 [ main::a#10 line_cursor#13 printu::res#3 print_byte::b#2 print_char::ch#6 char_cursor#26 ] main:2::printu:14::print_byte:42::print_char:62 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 print_char::ch#6 char_cursor#26 ] main:2::printu:20::print_byte:42::print_char:62 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 print_char::ch#6 char_cursor#26 ] main:2::printu:27::print_byte:42::print_char:62 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 print_char::ch#6 char_cursor#26 ] main:2::printu:14::print_byte:46::print_char:62 [ main::a#10 line_cursor#13 printu::res#3 print_char::ch#6 char_cursor#26 ] main:2::printu:20::print_byte:46::print_char:62 [ main::a#10 line_cursor#13 printu::res#3 print_char::ch#6 char_cursor#26 ] main:2::printu:27::print_byte:46::print_char:62 [ main::a#10 line_cursor#13 printu::res#3 print_char::ch#6 char_cursor#26 ] )
[52] (byte) print_char::ch#6 ← phi( print_byte/(byte) print_char::ch#0 print_byte::@1/(byte) print_char::ch#1 printu/(byte) ' ' printu::@2/(byte) print_char::ch#3 printu::@4/(byte) ' ' printu::@5/(byte) print_char::ch#5 ) [ print_char::ch#6 char_cursor#26 ] ( main:2::printu:14::print_char:40 [ main::a#10 line_cursor#13 printu::a#3 printu::op#3 printu::b#3 printu::res#3 print_char::ch#6 char_cursor#26 ] main:2::printu:20::print_char:40 [ main::a#10 line_cursor#13 printu::a#3 printu::op#3 printu::b#3 printu::res#3 print_char::ch#6 char_cursor#26 ] main:2::printu:27::print_char:40 [ main::a#10 line_cursor#13 printu::a#3 printu::op#3 printu::b#3 printu::res#3 print_char::ch#6 char_cursor#26 ] main:2::printu:14::print_char:44 [ main::a#10 line_cursor#13 printu::b#3 printu::res#3 print_char::ch#6 char_cursor#26 ] main:2::printu:20::print_char:44 [ main::a#10 line_cursor#13 printu::b#3 printu::res#3 print_char::ch#6 char_cursor#26 ] main:2::printu:27::print_char:44 [ main::a#10 line_cursor#13 printu::b#3 printu::res#3 print_char::ch#6 char_cursor#26 ] main:2::printu:14::print_char:48 [ main::a#10 line_cursor#13 printu::res#3 print_char::ch#6 char_cursor#26 ] main:2::printu:20::print_char:48 [ main::a#10 line_cursor#13 printu::res#3 print_char::ch#6 char_cursor#26 ] main:2::printu:27::print_char:48 [ main::a#10 line_cursor#13 printu::res#3 print_char::ch#6 char_cursor#26 ] main:2::printu:14::print_char:50 [ main::a#10 line_cursor#13 print_char::ch#6 char_cursor#26 ] main:2::printu:20::print_char:50 [ main::a#10 line_cursor#13 print_char::ch#6 char_cursor#26 ] main:2::printu:27::print_char:50 [ main::a#10 line_cursor#13 print_char::ch#6 char_cursor#26 ] main:2::printu:14::print_byte:42::print_char:59 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 print_byte::b#2 print_char::ch#6 char_cursor#26 ] main:2::printu:20::print_byte:42::print_char:59 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 print_byte::b#2 print_char::ch#6 char_cursor#26 ] main:2::printu:27::print_byte:42::print_char:59 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 print_byte::b#2 print_char::ch#6 char_cursor#26 ] main:2::printu:14::print_byte:46::print_char:59 [ main::a#10 line_cursor#13 printu::res#3 print_byte::b#2 print_char::ch#6 char_cursor#26 ] main:2::printu:20::print_byte:46::print_char:59 [ main::a#10 line_cursor#13 printu::res#3 print_byte::b#2 print_char::ch#6 char_cursor#26 ] main:2::printu:27::print_byte:46::print_char:59 [ main::a#10 line_cursor#13 printu::res#3 print_byte::b#2 print_char::ch#6 char_cursor#26 ] main:2::printu:14::print_byte:42::print_char:62 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 print_char::ch#6 char_cursor#26 ] main:2::printu:20::print_byte:42::print_char:62 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 print_char::ch#6 char_cursor#26 ] main:2::printu:27::print_byte:42::print_char:62 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 print_char::ch#6 char_cursor#26 ] main:2::printu:14::print_byte:46::print_char:62 [ main::a#10 line_cursor#13 printu::res#3 print_char::ch#6 char_cursor#26 ] main:2::printu:20::print_byte:46::print_char:62 [ main::a#10 line_cursor#13 printu::res#3 print_char::ch#6 char_cursor#26 ] main:2::printu:27::print_byte:46::print_char:62 [ main::a#10 line_cursor#13 printu::res#3 print_char::ch#6 char_cursor#26 ] )
[53] *((byte*) char_cursor#26) ← (byte) print_char::ch#6 [ char_cursor#26 ] ( main:2::printu:14::print_char:40 [ main::a#10 line_cursor#13 printu::a#3 printu::op#3 printu::b#3 printu::res#3 char_cursor#26 ] main:2::printu:20::print_char:40 [ main::a#10 line_cursor#13 printu::a#3 printu::op#3 printu::b#3 printu::res#3 char_cursor#26 ] main:2::printu:27::print_char:40 [ main::a#10 line_cursor#13 printu::a#3 printu::op#3 printu::b#3 printu::res#3 char_cursor#26 ] main:2::printu:14::print_char:44 [ main::a#10 line_cursor#13 printu::b#3 printu::res#3 char_cursor#26 ] main:2::printu:20::print_char:44 [ main::a#10 line_cursor#13 printu::b#3 printu::res#3 char_cursor#26 ] main:2::printu:27::print_char:44 [ main::a#10 line_cursor#13 printu::b#3 printu::res#3 char_cursor#26 ] main:2::printu:14::print_char:48 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#26 ] main:2::printu:20::print_char:48 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#26 ] main:2::printu:27::print_char:48 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#26 ] main:2::printu:14::print_char:50 [ main::a#10 line_cursor#13 char_cursor#26 ] main:2::printu:20::print_char:50 [ main::a#10 line_cursor#13 char_cursor#26 ] main:2::printu:27::print_char:50 [ main::a#10 line_cursor#13 char_cursor#26 ] main:2::printu:14::print_byte:42::print_char:59 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 print_byte::b#2 char_cursor#26 ] main:2::printu:20::print_byte:42::print_char:59 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 print_byte::b#2 char_cursor#26 ] main:2::printu:27::print_byte:42::print_char:59 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 print_byte::b#2 char_cursor#26 ] main:2::printu:14::print_byte:46::print_char:59 [ main::a#10 line_cursor#13 printu::res#3 print_byte::b#2 char_cursor#26 ] main:2::printu:20::print_byte:46::print_char:59 [ main::a#10 line_cursor#13 printu::res#3 print_byte::b#2 char_cursor#26 ] main:2::printu:27::print_byte:46::print_char:59 [ main::a#10 line_cursor#13 printu::res#3 print_byte::b#2 char_cursor#26 ] main:2::printu:14::print_byte:42::print_char:62 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#26 ] main:2::printu:20::print_byte:42::print_char:62 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#26 ] main:2::printu:27::print_byte:42::print_char:62 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#26 ] main:2::printu:14::print_byte:46::print_char:62 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#26 ] main:2::printu:20::print_byte:46::print_char:62 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#26 ] main:2::printu:27::print_byte:46::print_char:62 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#26 ] )
[54] (byte*) char_cursor#27 ← ++ (byte*) char_cursor#26 [ char_cursor#27 ] ( main:2::printu:14::print_char:40 [ main::a#10 line_cursor#13 printu::a#3 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 ] main:2::printu:20::print_char:40 [ main::a#10 line_cursor#13 printu::a#3 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 ] main:2::printu:27::print_char:40 [ main::a#10 line_cursor#13 printu::a#3 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 ] main:2::printu:14::print_char:44 [ main::a#10 line_cursor#13 printu::b#3 printu::res#3 char_cursor#27 ] main:2::printu:20::print_char:44 [ main::a#10 line_cursor#13 printu::b#3 printu::res#3 char_cursor#27 ] main:2::printu:27::print_char:44 [ main::a#10 line_cursor#13 printu::b#3 printu::res#3 char_cursor#27 ] main:2::printu:14::print_char:48 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 ] main:2::printu:20::print_char:48 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 ] main:2::printu:27::print_char:48 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 ] main:2::printu:14::print_char:50 [ main::a#10 line_cursor#13 char_cursor#27 ] main:2::printu:20::print_char:50 [ main::a#10 line_cursor#13 char_cursor#27 ] main:2::printu:27::print_char:50 [ main::a#10 line_cursor#13 char_cursor#27 ] main:2::printu:14::print_byte:42::print_char:59 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 print_byte::b#2 char_cursor#27 ] main:2::printu:20::print_byte:42::print_char:59 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 print_byte::b#2 char_cursor#27 ] main:2::printu:27::print_byte:42::print_char:59 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 print_byte::b#2 char_cursor#27 ] main:2::printu:14::print_byte:46::print_char:59 [ main::a#10 line_cursor#13 printu::res#3 print_byte::b#2 char_cursor#27 ] main:2::printu:20::print_byte:46::print_char:59 [ main::a#10 line_cursor#13 printu::res#3 print_byte::b#2 char_cursor#27 ] main:2::printu:27::print_byte:46::print_char:59 [ main::a#10 line_cursor#13 printu::res#3 print_byte::b#2 char_cursor#27 ] main:2::printu:14::print_byte:42::print_char:62 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 ] main:2::printu:20::print_byte:42::print_char:62 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 ] main:2::printu:27::print_byte:42::print_char:62 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 ] main:2::printu:14::print_byte:46::print_char:62 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 ] main:2::printu:20::print_byte:46::print_char:62 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 ] main:2::printu:27::print_byte:46::print_char:62 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 ] )
[60] (byte*) char_cursor#27 ← phi( print_byte/(byte*) char_cursor#28 print_byte::@1/(byte*) char_cursor#28 printu/(byte*) char_cursor#45 printu::@2/(byte*) char_cursor#28 printu::@4/(byte*) char_cursor#28 printu::@5/(byte*) char_cursor#28 ) [ print_char::ch#6 char_cursor#27 ] ( main:2::printu:14::print_char:48 [ main::a#10 main::i#10 line_cursor#13 printu::a#4 printu::op#4 printu::b#4 printu::res#4 print_char::ch#6 char_cursor#27 ] main:2::printu:20::print_char:48 [ main::a#10 main::i#10 line_cursor#13 printu::a#4 printu::op#4 printu::b#4 printu::res#4 print_char::ch#6 char_cursor#27 ] main:2::printu:27::print_char:48 [ main::a#10 main::i#10 line_cursor#13 printu::a#4 printu::op#4 printu::b#4 printu::res#4 print_char::ch#6 char_cursor#27 ] main:2::printu:34::print_char:48 [ main::a#10 main::i#10 line_cursor#13 printu::a#4 printu::op#4 printu::b#4 printu::res#4 print_char::ch#6 char_cursor#27 ] main:2::printu:14::print_char:52 [ main::a#10 main::i#10 line_cursor#13 printu::b#4 printu::res#4 print_char::ch#6 char_cursor#27 ] main:2::printu:20::print_char:52 [ main::a#10 main::i#10 line_cursor#13 printu::b#4 printu::res#4 print_char::ch#6 char_cursor#27 ] main:2::printu:27::print_char:52 [ main::a#10 main::i#10 line_cursor#13 printu::b#4 printu::res#4 print_char::ch#6 char_cursor#27 ] main:2::printu:34::print_char:52 [ main::a#10 main::i#10 line_cursor#13 printu::b#4 printu::res#4 print_char::ch#6 char_cursor#27 ] main:2::printu:14::print_char:56 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 print_char::ch#6 char_cursor#27 ] main:2::printu:20::print_char:56 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 print_char::ch#6 char_cursor#27 ] main:2::printu:27::print_char:56 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 print_char::ch#6 char_cursor#27 ] main:2::printu:34::print_char:56 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 print_char::ch#6 char_cursor#27 ] main:2::printu:14::print_char:58 [ main::a#10 main::i#10 line_cursor#13 print_char::ch#6 char_cursor#27 ] main:2::printu:20::print_char:58 [ main::a#10 main::i#10 line_cursor#13 print_char::ch#6 char_cursor#27 ] main:2::printu:27::print_char:58 [ main::a#10 main::i#10 line_cursor#13 print_char::ch#6 char_cursor#27 ] main:2::printu:34::print_char:58 [ main::a#10 main::i#10 line_cursor#13 print_char::ch#6 char_cursor#27 ] main:2::printu:14::print_byte:50::print_char:67 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 print_byte::b#2 print_char::ch#6 char_cursor#27 ] main:2::printu:20::print_byte:50::print_char:67 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 print_byte::b#2 print_char::ch#6 char_cursor#27 ] main:2::printu:27::print_byte:50::print_char:67 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 print_byte::b#2 print_char::ch#6 char_cursor#27 ] main:2::printu:34::print_byte:50::print_char:67 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 print_byte::b#2 print_char::ch#6 char_cursor#27 ] main:2::printu:14::print_byte:54::print_char:67 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 print_byte::b#2 print_char::ch#6 char_cursor#27 ] main:2::printu:20::print_byte:54::print_char:67 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 print_byte::b#2 print_char::ch#6 char_cursor#27 ] main:2::printu:27::print_byte:54::print_char:67 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 print_byte::b#2 print_char::ch#6 char_cursor#27 ] main:2::printu:34::print_byte:54::print_char:67 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 print_byte::b#2 print_char::ch#6 char_cursor#27 ] main:2::printu:14::print_byte:50::print_char:70 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 print_char::ch#6 char_cursor#27 ] main:2::printu:20::print_byte:50::print_char:70 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 print_char::ch#6 char_cursor#27 ] main:2::printu:27::print_byte:50::print_char:70 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 print_char::ch#6 char_cursor#27 ] main:2::printu:34::print_byte:50::print_char:70 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 print_char::ch#6 char_cursor#27 ] main:2::printu:14::print_byte:54::print_char:70 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 print_char::ch#6 char_cursor#27 ] main:2::printu:20::print_byte:54::print_char:70 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 print_char::ch#6 char_cursor#27 ] main:2::printu:27::print_byte:54::print_char:70 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 print_char::ch#6 char_cursor#27 ] main:2::printu:34::print_byte:54::print_char:70 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 print_char::ch#6 char_cursor#27 ] )
[60] (byte) print_char::ch#6 ← phi( print_byte/(byte) print_char::ch#0 print_byte::@1/(byte) print_char::ch#1 printu/(byte) ' ' printu::@2/(byte) print_char::ch#3 printu::@4/(byte) ' ' printu::@5/(byte) print_char::ch#5 ) [ print_char::ch#6 char_cursor#27 ] ( main:2::printu:14::print_char:48 [ main::a#10 main::i#10 line_cursor#13 printu::a#4 printu::op#4 printu::b#4 printu::res#4 print_char::ch#6 char_cursor#27 ] main:2::printu:20::print_char:48 [ main::a#10 main::i#10 line_cursor#13 printu::a#4 printu::op#4 printu::b#4 printu::res#4 print_char::ch#6 char_cursor#27 ] main:2::printu:27::print_char:48 [ main::a#10 main::i#10 line_cursor#13 printu::a#4 printu::op#4 printu::b#4 printu::res#4 print_char::ch#6 char_cursor#27 ] main:2::printu:34::print_char:48 [ main::a#10 main::i#10 line_cursor#13 printu::a#4 printu::op#4 printu::b#4 printu::res#4 print_char::ch#6 char_cursor#27 ] main:2::printu:14::print_char:52 [ main::a#10 main::i#10 line_cursor#13 printu::b#4 printu::res#4 print_char::ch#6 char_cursor#27 ] main:2::printu:20::print_char:52 [ main::a#10 main::i#10 line_cursor#13 printu::b#4 printu::res#4 print_char::ch#6 char_cursor#27 ] main:2::printu:27::print_char:52 [ main::a#10 main::i#10 line_cursor#13 printu::b#4 printu::res#4 print_char::ch#6 char_cursor#27 ] main:2::printu:34::print_char:52 [ main::a#10 main::i#10 line_cursor#13 printu::b#4 printu::res#4 print_char::ch#6 char_cursor#27 ] main:2::printu:14::print_char:56 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 print_char::ch#6 char_cursor#27 ] main:2::printu:20::print_char:56 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 print_char::ch#6 char_cursor#27 ] main:2::printu:27::print_char:56 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 print_char::ch#6 char_cursor#27 ] main:2::printu:34::print_char:56 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 print_char::ch#6 char_cursor#27 ] main:2::printu:14::print_char:58 [ main::a#10 main::i#10 line_cursor#13 print_char::ch#6 char_cursor#27 ] main:2::printu:20::print_char:58 [ main::a#10 main::i#10 line_cursor#13 print_char::ch#6 char_cursor#27 ] main:2::printu:27::print_char:58 [ main::a#10 main::i#10 line_cursor#13 print_char::ch#6 char_cursor#27 ] main:2::printu:34::print_char:58 [ main::a#10 main::i#10 line_cursor#13 print_char::ch#6 char_cursor#27 ] main:2::printu:14::print_byte:50::print_char:67 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 print_byte::b#2 print_char::ch#6 char_cursor#27 ] main:2::printu:20::print_byte:50::print_char:67 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 print_byte::b#2 print_char::ch#6 char_cursor#27 ] main:2::printu:27::print_byte:50::print_char:67 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 print_byte::b#2 print_char::ch#6 char_cursor#27 ] main:2::printu:34::print_byte:50::print_char:67 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 print_byte::b#2 print_char::ch#6 char_cursor#27 ] main:2::printu:14::print_byte:54::print_char:67 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 print_byte::b#2 print_char::ch#6 char_cursor#27 ] main:2::printu:20::print_byte:54::print_char:67 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 print_byte::b#2 print_char::ch#6 char_cursor#27 ] main:2::printu:27::print_byte:54::print_char:67 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 print_byte::b#2 print_char::ch#6 char_cursor#27 ] main:2::printu:34::print_byte:54::print_char:67 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 print_byte::b#2 print_char::ch#6 char_cursor#27 ] main:2::printu:14::print_byte:50::print_char:70 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 print_char::ch#6 char_cursor#27 ] main:2::printu:20::print_byte:50::print_char:70 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 print_char::ch#6 char_cursor#27 ] main:2::printu:27::print_byte:50::print_char:70 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 print_char::ch#6 char_cursor#27 ] main:2::printu:34::print_byte:50::print_char:70 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 print_char::ch#6 char_cursor#27 ] main:2::printu:14::print_byte:54::print_char:70 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 print_char::ch#6 char_cursor#27 ] main:2::printu:20::print_byte:54::print_char:70 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 print_char::ch#6 char_cursor#27 ] main:2::printu:27::print_byte:54::print_char:70 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 print_char::ch#6 char_cursor#27 ] main:2::printu:34::print_byte:54::print_char:70 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 print_char::ch#6 char_cursor#27 ] )
[61] *((byte*) char_cursor#27) ← (byte) print_char::ch#6 [ char_cursor#27 ] ( main:2::printu:14::print_char:48 [ main::a#10 main::i#10 line_cursor#13 printu::a#4 printu::op#4 printu::b#4 printu::res#4 char_cursor#27 ] main:2::printu:20::print_char:48 [ main::a#10 main::i#10 line_cursor#13 printu::a#4 printu::op#4 printu::b#4 printu::res#4 char_cursor#27 ] main:2::printu:27::print_char:48 [ main::a#10 main::i#10 line_cursor#13 printu::a#4 printu::op#4 printu::b#4 printu::res#4 char_cursor#27 ] main:2::printu:34::print_char:48 [ main::a#10 main::i#10 line_cursor#13 printu::a#4 printu::op#4 printu::b#4 printu::res#4 char_cursor#27 ] main:2::printu:14::print_char:52 [ main::a#10 main::i#10 line_cursor#13 printu::b#4 printu::res#4 char_cursor#27 ] main:2::printu:20::print_char:52 [ main::a#10 main::i#10 line_cursor#13 printu::b#4 printu::res#4 char_cursor#27 ] main:2::printu:27::print_char:52 [ main::a#10 main::i#10 line_cursor#13 printu::b#4 printu::res#4 char_cursor#27 ] main:2::printu:34::print_char:52 [ main::a#10 main::i#10 line_cursor#13 printu::b#4 printu::res#4 char_cursor#27 ] main:2::printu:14::print_char:56 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 char_cursor#27 ] main:2::printu:20::print_char:56 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 char_cursor#27 ] main:2::printu:27::print_char:56 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 char_cursor#27 ] main:2::printu:34::print_char:56 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 char_cursor#27 ] main:2::printu:14::print_char:58 [ main::a#10 main::i#10 line_cursor#13 char_cursor#27 ] main:2::printu:20::print_char:58 [ main::a#10 main::i#10 line_cursor#13 char_cursor#27 ] main:2::printu:27::print_char:58 [ main::a#10 main::i#10 line_cursor#13 char_cursor#27 ] main:2::printu:34::print_char:58 [ main::a#10 main::i#10 line_cursor#13 char_cursor#27 ] main:2::printu:14::print_byte:50::print_char:67 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 print_byte::b#2 char_cursor#27 ] main:2::printu:20::print_byte:50::print_char:67 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 print_byte::b#2 char_cursor#27 ] main:2::printu:27::print_byte:50::print_char:67 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 print_byte::b#2 char_cursor#27 ] main:2::printu:34::print_byte:50::print_char:67 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 print_byte::b#2 char_cursor#27 ] main:2::printu:14::print_byte:54::print_char:67 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 print_byte::b#2 char_cursor#27 ] main:2::printu:20::print_byte:54::print_char:67 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 print_byte::b#2 char_cursor#27 ] main:2::printu:27::print_byte:54::print_char:67 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 print_byte::b#2 char_cursor#27 ] main:2::printu:34::print_byte:54::print_char:67 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 print_byte::b#2 char_cursor#27 ] main:2::printu:14::print_byte:50::print_char:70 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 char_cursor#27 ] main:2::printu:20::print_byte:50::print_char:70 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 char_cursor#27 ] main:2::printu:27::print_byte:50::print_char:70 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 char_cursor#27 ] main:2::printu:34::print_byte:50::print_char:70 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 char_cursor#27 ] main:2::printu:14::print_byte:54::print_char:70 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 char_cursor#27 ] main:2::printu:20::print_byte:54::print_char:70 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 char_cursor#27 ] main:2::printu:27::print_byte:54::print_char:70 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 char_cursor#27 ] main:2::printu:34::print_byte:54::print_char:70 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 char_cursor#27 ] )
[62] (byte*) char_cursor#28 ← ++ (byte*) char_cursor#27 [ char_cursor#28 ] ( main:2::printu:14::print_char:48 [ main::a#10 main::i#10 line_cursor#13 printu::a#4 printu::op#4 printu::b#4 printu::res#4 char_cursor#28 ] main:2::printu:20::print_char:48 [ main::a#10 main::i#10 line_cursor#13 printu::a#4 printu::op#4 printu::b#4 printu::res#4 char_cursor#28 ] main:2::printu:27::print_char:48 [ main::a#10 main::i#10 line_cursor#13 printu::a#4 printu::op#4 printu::b#4 printu::res#4 char_cursor#28 ] main:2::printu:34::print_char:48 [ main::a#10 main::i#10 line_cursor#13 printu::a#4 printu::op#4 printu::b#4 printu::res#4 char_cursor#28 ] main:2::printu:14::print_char:52 [ main::a#10 main::i#10 line_cursor#13 printu::b#4 printu::res#4 char_cursor#28 ] main:2::printu:20::print_char:52 [ main::a#10 main::i#10 line_cursor#13 printu::b#4 printu::res#4 char_cursor#28 ] main:2::printu:27::print_char:52 [ main::a#10 main::i#10 line_cursor#13 printu::b#4 printu::res#4 char_cursor#28 ] main:2::printu:34::print_char:52 [ main::a#10 main::i#10 line_cursor#13 printu::b#4 printu::res#4 char_cursor#28 ] main:2::printu:14::print_char:56 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 char_cursor#28 ] main:2::printu:20::print_char:56 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 char_cursor#28 ] main:2::printu:27::print_char:56 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 char_cursor#28 ] main:2::printu:34::print_char:56 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 char_cursor#28 ] main:2::printu:14::print_char:58 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 ] main:2::printu:20::print_char:58 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 ] main:2::printu:27::print_char:58 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 ] main:2::printu:34::print_char:58 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 ] main:2::printu:14::print_byte:50::print_char:67 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 print_byte::b#2 char_cursor#28 ] main:2::printu:20::print_byte:50::print_char:67 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 print_byte::b#2 char_cursor#28 ] main:2::printu:27::print_byte:50::print_char:67 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 print_byte::b#2 char_cursor#28 ] main:2::printu:34::print_byte:50::print_char:67 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 print_byte::b#2 char_cursor#28 ] main:2::printu:14::print_byte:54::print_char:67 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 print_byte::b#2 char_cursor#28 ] main:2::printu:20::print_byte:54::print_char:67 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 print_byte::b#2 char_cursor#28 ] main:2::printu:27::print_byte:54::print_char:67 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 print_byte::b#2 char_cursor#28 ] main:2::printu:34::print_byte:54::print_char:67 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 print_byte::b#2 char_cursor#28 ] main:2::printu:14::print_byte:50::print_char:70 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 char_cursor#28 ] main:2::printu:20::print_byte:50::print_char:70 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 char_cursor#28 ] main:2::printu:27::print_byte:50::print_char:70 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 char_cursor#28 ] main:2::printu:34::print_byte:50::print_char:70 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 char_cursor#28 ] main:2::printu:14::print_byte:54::print_char:70 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 char_cursor#28 ] main:2::printu:20::print_byte:54::print_char:70 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 char_cursor#28 ] main:2::printu:27::print_byte:54::print_char:70 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 char_cursor#28 ] main:2::printu:34::print_byte:54::print_char:70 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 char_cursor#28 ] )
to:print_char::@return
print_char::@return: scope:[print_char] from print_char
[55] return [ char_cursor#27 ] ( main:2::printu:14::print_char:40 [ main::a#10 line_cursor#13 printu::a#3 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 ] main:2::printu:20::print_char:40 [ main::a#10 line_cursor#13 printu::a#3 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 ] main:2::printu:27::print_char:40 [ main::a#10 line_cursor#13 printu::a#3 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 ] main:2::printu:14::print_char:44 [ main::a#10 line_cursor#13 printu::b#3 printu::res#3 char_cursor#27 ] main:2::printu:20::print_char:44 [ main::a#10 line_cursor#13 printu::b#3 printu::res#3 char_cursor#27 ] main:2::printu:27::print_char:44 [ main::a#10 line_cursor#13 printu::b#3 printu::res#3 char_cursor#27 ] main:2::printu:14::print_char:48 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 ] main:2::printu:20::print_char:48 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 ] main:2::printu:27::print_char:48 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 ] main:2::printu:14::print_char:50 [ main::a#10 line_cursor#13 char_cursor#27 ] main:2::printu:20::print_char:50 [ main::a#10 line_cursor#13 char_cursor#27 ] main:2::printu:27::print_char:50 [ main::a#10 line_cursor#13 char_cursor#27 ] main:2::printu:14::print_byte:42::print_char:59 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 print_byte::b#2 char_cursor#27 ] main:2::printu:20::print_byte:42::print_char:59 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 print_byte::b#2 char_cursor#27 ] main:2::printu:27::print_byte:42::print_char:59 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 print_byte::b#2 char_cursor#27 ] main:2::printu:14::print_byte:46::print_char:59 [ main::a#10 line_cursor#13 printu::res#3 print_byte::b#2 char_cursor#27 ] main:2::printu:20::print_byte:46::print_char:59 [ main::a#10 line_cursor#13 printu::res#3 print_byte::b#2 char_cursor#27 ] main:2::printu:27::print_byte:46::print_char:59 [ main::a#10 line_cursor#13 printu::res#3 print_byte::b#2 char_cursor#27 ] main:2::printu:14::print_byte:42::print_char:62 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 ] main:2::printu:20::print_byte:42::print_char:62 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 ] main:2::printu:27::print_byte:42::print_char:62 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 ] main:2::printu:14::print_byte:46::print_char:62 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 ] main:2::printu:20::print_byte:46::print_char:62 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 ] main:2::printu:27::print_byte:46::print_char:62 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 ] )
[63] return [ char_cursor#28 ] ( main:2::printu:14::print_char:48 [ main::a#10 main::i#10 line_cursor#13 printu::a#4 printu::op#4 printu::b#4 printu::res#4 char_cursor#28 ] main:2::printu:20::print_char:48 [ main::a#10 main::i#10 line_cursor#13 printu::a#4 printu::op#4 printu::b#4 printu::res#4 char_cursor#28 ] main:2::printu:27::print_char:48 [ main::a#10 main::i#10 line_cursor#13 printu::a#4 printu::op#4 printu::b#4 printu::res#4 char_cursor#28 ] main:2::printu:34::print_char:48 [ main::a#10 main::i#10 line_cursor#13 printu::a#4 printu::op#4 printu::b#4 printu::res#4 char_cursor#28 ] main:2::printu:14::print_char:52 [ main::a#10 main::i#10 line_cursor#13 printu::b#4 printu::res#4 char_cursor#28 ] main:2::printu:20::print_char:52 [ main::a#10 main::i#10 line_cursor#13 printu::b#4 printu::res#4 char_cursor#28 ] main:2::printu:27::print_char:52 [ main::a#10 main::i#10 line_cursor#13 printu::b#4 printu::res#4 char_cursor#28 ] main:2::printu:34::print_char:52 [ main::a#10 main::i#10 line_cursor#13 printu::b#4 printu::res#4 char_cursor#28 ] main:2::printu:14::print_char:56 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 char_cursor#28 ] main:2::printu:20::print_char:56 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 char_cursor#28 ] main:2::printu:27::print_char:56 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 char_cursor#28 ] main:2::printu:34::print_char:56 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 char_cursor#28 ] main:2::printu:14::print_char:58 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 ] main:2::printu:20::print_char:58 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 ] main:2::printu:27::print_char:58 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 ] main:2::printu:34::print_char:58 [ main::a#10 main::i#10 line_cursor#13 char_cursor#28 ] main:2::printu:14::print_byte:50::print_char:67 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 print_byte::b#2 char_cursor#28 ] main:2::printu:20::print_byte:50::print_char:67 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 print_byte::b#2 char_cursor#28 ] main:2::printu:27::print_byte:50::print_char:67 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 print_byte::b#2 char_cursor#28 ] main:2::printu:34::print_byte:50::print_char:67 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 print_byte::b#2 char_cursor#28 ] main:2::printu:14::print_byte:54::print_char:67 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 print_byte::b#2 char_cursor#28 ] main:2::printu:20::print_byte:54::print_char:67 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 print_byte::b#2 char_cursor#28 ] main:2::printu:27::print_byte:54::print_char:67 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 print_byte::b#2 char_cursor#28 ] main:2::printu:34::print_byte:54::print_char:67 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 print_byte::b#2 char_cursor#28 ] main:2::printu:14::print_byte:50::print_char:70 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 char_cursor#28 ] main:2::printu:20::print_byte:50::print_char:70 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 char_cursor#28 ] main:2::printu:27::print_byte:50::print_char:70 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 char_cursor#28 ] main:2::printu:34::print_byte:50::print_char:70 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 char_cursor#28 ] main:2::printu:14::print_byte:54::print_char:70 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 char_cursor#28 ] main:2::printu:20::print_byte:54::print_char:70 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 char_cursor#28 ] main:2::printu:27::print_byte:54::print_char:70 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 char_cursor#28 ] main:2::printu:34::print_byte:54::print_char:70 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 char_cursor#28 ] )
to:@return
print_byte: scope:[print_byte] from printu::@1 printu::@3
[56] (byte) print_byte::b#2 ← phi( printu::@1/(byte) print_byte::b#0 printu::@3/(byte) print_byte::b#1 ) [ char_cursor#27 print_byte::b#2 ] ( main:2::printu:14::print_byte:42 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 print_byte::b#2 ] main:2::printu:20::print_byte:42 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 print_byte::b#2 ] main:2::printu:27::print_byte:42 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 print_byte::b#2 ] main:2::printu:14::print_byte:46 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 print_byte::b#2 ] main:2::printu:20::print_byte:46 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 print_byte::b#2 ] main:2::printu:27::print_byte:46 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 print_byte::b#2 ] )
[57] (byte~) print_byte::$0 ← (byte) print_byte::b#2 >> (byte/signed byte/word/signed word) 4 [ char_cursor#27 print_byte::b#2 print_byte::$0 ] ( main:2::printu:14::print_byte:42 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 print_byte::b#2 print_byte::$0 ] main:2::printu:20::print_byte:42 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 print_byte::b#2 print_byte::$0 ] main:2::printu:27::print_byte:42 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 print_byte::b#2 print_byte::$0 ] main:2::printu:14::print_byte:46 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 print_byte::b#2 print_byte::$0 ] main:2::printu:20::print_byte:46 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 print_byte::b#2 print_byte::$0 ] main:2::printu:27::print_byte:46 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 print_byte::b#2 print_byte::$0 ] )
[58] (byte) print_char::ch#0 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$0) [ char_cursor#27 print_char::ch#0 print_byte::b#2 ] ( main:2::printu:14::print_byte:42 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 print_char::ch#0 print_byte::b#2 ] main:2::printu:20::print_byte:42 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 print_char::ch#0 print_byte::b#2 ] main:2::printu:27::print_byte:42 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 print_char::ch#0 print_byte::b#2 ] main:2::printu:14::print_byte:46 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 print_char::ch#0 print_byte::b#2 ] main:2::printu:20::print_byte:46 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 print_char::ch#0 print_byte::b#2 ] main:2::printu:27::print_byte:46 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 print_char::ch#0 print_byte::b#2 ] )
[59] call print_char param-assignment [ char_cursor#27 print_byte::b#2 ] ( main:2::printu:14::print_byte:42 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 print_byte::b#2 ] main:2::printu:20::print_byte:42 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 print_byte::b#2 ] main:2::printu:27::print_byte:42 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 print_byte::b#2 ] main:2::printu:14::print_byte:46 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 print_byte::b#2 ] main:2::printu:20::print_byte:46 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 print_byte::b#2 ] main:2::printu:27::print_byte:46 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 print_byte::b#2 ] )
[64] (byte) print_byte::b#2 ← phi( printu::@1/(byte) print_byte::b#0 printu::@3/(byte) print_byte::b#1 ) [ char_cursor#28 print_byte::b#2 ] ( main:2::printu:14::print_byte:50 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 char_cursor#28 print_byte::b#2 ] main:2::printu:20::print_byte:50 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 char_cursor#28 print_byte::b#2 ] main:2::printu:27::print_byte:50 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 char_cursor#28 print_byte::b#2 ] main:2::printu:34::print_byte:50 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 char_cursor#28 print_byte::b#2 ] main:2::printu:14::print_byte:54 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 char_cursor#28 print_byte::b#2 ] main:2::printu:20::print_byte:54 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 char_cursor#28 print_byte::b#2 ] main:2::printu:27::print_byte:54 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 char_cursor#28 print_byte::b#2 ] main:2::printu:34::print_byte:54 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 char_cursor#28 print_byte::b#2 ] )
[65] (byte~) print_byte::$0 ← (byte) print_byte::b#2 >> (byte/signed byte/word/signed word) 4 [ char_cursor#28 print_byte::b#2 print_byte::$0 ] ( main:2::printu:14::print_byte:50 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 char_cursor#28 print_byte::b#2 print_byte::$0 ] main:2::printu:20::print_byte:50 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 char_cursor#28 print_byte::b#2 print_byte::$0 ] main:2::printu:27::print_byte:50 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 char_cursor#28 print_byte::b#2 print_byte::$0 ] main:2::printu:34::print_byte:50 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 char_cursor#28 print_byte::b#2 print_byte::$0 ] main:2::printu:14::print_byte:54 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 char_cursor#28 print_byte::b#2 print_byte::$0 ] main:2::printu:20::print_byte:54 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 char_cursor#28 print_byte::b#2 print_byte::$0 ] main:2::printu:27::print_byte:54 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 char_cursor#28 print_byte::b#2 print_byte::$0 ] main:2::printu:34::print_byte:54 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 char_cursor#28 print_byte::b#2 print_byte::$0 ] )
[66] (byte) print_char::ch#0 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$0) [ char_cursor#28 print_char::ch#0 print_byte::b#2 ] ( main:2::printu:14::print_byte:50 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 char_cursor#28 print_char::ch#0 print_byte::b#2 ] main:2::printu:20::print_byte:50 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 char_cursor#28 print_char::ch#0 print_byte::b#2 ] main:2::printu:27::print_byte:50 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 char_cursor#28 print_char::ch#0 print_byte::b#2 ] main:2::printu:34::print_byte:50 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 char_cursor#28 print_char::ch#0 print_byte::b#2 ] main:2::printu:14::print_byte:54 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 char_cursor#28 print_char::ch#0 print_byte::b#2 ] main:2::printu:20::print_byte:54 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 char_cursor#28 print_char::ch#0 print_byte::b#2 ] main:2::printu:27::print_byte:54 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 char_cursor#28 print_char::ch#0 print_byte::b#2 ] main:2::printu:34::print_byte:54 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 char_cursor#28 print_char::ch#0 print_byte::b#2 ] )
[67] call print_char param-assignment [ char_cursor#28 print_byte::b#2 ] ( main:2::printu:14::print_byte:50 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 char_cursor#28 print_byte::b#2 ] main:2::printu:20::print_byte:50 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 char_cursor#28 print_byte::b#2 ] main:2::printu:27::print_byte:50 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 char_cursor#28 print_byte::b#2 ] main:2::printu:34::print_byte:50 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 char_cursor#28 print_byte::b#2 ] main:2::printu:14::print_byte:54 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 char_cursor#28 print_byte::b#2 ] main:2::printu:20::print_byte:54 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 char_cursor#28 print_byte::b#2 ] main:2::printu:27::print_byte:54 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 char_cursor#28 print_byte::b#2 ] main:2::printu:34::print_byte:54 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 char_cursor#28 print_byte::b#2 ] )
to:print_byte::@1
print_byte::@1: scope:[print_byte] from print_byte
[60] (byte~) print_byte::$2 ← (byte) print_byte::b#2 & (byte/signed byte/word/signed word) 15 [ char_cursor#27 print_byte::$2 ] ( main:2::printu:14::print_byte:42 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 print_byte::$2 ] main:2::printu:20::print_byte:42 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 print_byte::$2 ] main:2::printu:27::print_byte:42 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 print_byte::$2 ] main:2::printu:14::print_byte:46 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 print_byte::$2 ] main:2::printu:20::print_byte:46 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 print_byte::$2 ] main:2::printu:27::print_byte:46 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 print_byte::$2 ] )
[61] (byte) print_char::ch#1 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$2) [ char_cursor#27 print_char::ch#1 ] ( main:2::printu:14::print_byte:42 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 print_char::ch#1 ] main:2::printu:20::print_byte:42 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 print_char::ch#1 ] main:2::printu:27::print_byte:42 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 print_char::ch#1 ] main:2::printu:14::print_byte:46 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 print_char::ch#1 ] main:2::printu:20::print_byte:46 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 print_char::ch#1 ] main:2::printu:27::print_byte:46 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 print_char::ch#1 ] )
[62] call print_char param-assignment [ char_cursor#27 ] ( main:2::printu:14::print_byte:42 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 ] main:2::printu:20::print_byte:42 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 ] main:2::printu:27::print_byte:42 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 ] main:2::printu:14::print_byte:46 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 ] main:2::printu:20::print_byte:46 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 ] main:2::printu:27::print_byte:46 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 ] )
[68] (byte~) print_byte::$2 ← (byte) print_byte::b#2 & (byte/signed byte/word/signed word) 15 [ char_cursor#28 print_byte::$2 ] ( main:2::printu:14::print_byte:50 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 char_cursor#28 print_byte::$2 ] main:2::printu:20::print_byte:50 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 char_cursor#28 print_byte::$2 ] main:2::printu:27::print_byte:50 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 char_cursor#28 print_byte::$2 ] main:2::printu:34::print_byte:50 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 char_cursor#28 print_byte::$2 ] main:2::printu:14::print_byte:54 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 char_cursor#28 print_byte::$2 ] main:2::printu:20::print_byte:54 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 char_cursor#28 print_byte::$2 ] main:2::printu:27::print_byte:54 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 char_cursor#28 print_byte::$2 ] main:2::printu:34::print_byte:54 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 char_cursor#28 print_byte::$2 ] )
[69] (byte) print_char::ch#1 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$2) [ char_cursor#28 print_char::ch#1 ] ( main:2::printu:14::print_byte:50 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 char_cursor#28 print_char::ch#1 ] main:2::printu:20::print_byte:50 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 char_cursor#28 print_char::ch#1 ] main:2::printu:27::print_byte:50 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 char_cursor#28 print_char::ch#1 ] main:2::printu:34::print_byte:50 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 char_cursor#28 print_char::ch#1 ] main:2::printu:14::print_byte:54 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 char_cursor#28 print_char::ch#1 ] main:2::printu:20::print_byte:54 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 char_cursor#28 print_char::ch#1 ] main:2::printu:27::print_byte:54 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 char_cursor#28 print_char::ch#1 ] main:2::printu:34::print_byte:54 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 char_cursor#28 print_char::ch#1 ] )
[70] call print_char param-assignment [ char_cursor#28 ] ( main:2::printu:14::print_byte:50 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 char_cursor#28 ] main:2::printu:20::print_byte:50 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 char_cursor#28 ] main:2::printu:27::print_byte:50 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 char_cursor#28 ] main:2::printu:34::print_byte:50 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 char_cursor#28 ] main:2::printu:14::print_byte:54 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 char_cursor#28 ] main:2::printu:20::print_byte:54 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 char_cursor#28 ] main:2::printu:27::print_byte:54 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 char_cursor#28 ] main:2::printu:34::print_byte:54 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 char_cursor#28 ] )
to:print_byte::@return
print_byte::@return: scope:[print_byte] from print_byte::@1
[63] return [ char_cursor#27 ] ( main:2::printu:14::print_byte:42 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 ] main:2::printu:20::print_byte:42 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 ] main:2::printu:27::print_byte:42 [ main::a#10 line_cursor#13 printu::op#3 printu::b#3 printu::res#3 char_cursor#27 ] main:2::printu:14::print_byte:46 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 ] main:2::printu:20::print_byte:46 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 ] main:2::printu:27::print_byte:46 [ main::a#10 line_cursor#13 printu::res#3 char_cursor#27 ] )
[71] return [ char_cursor#28 ] ( main:2::printu:14::print_byte:50 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 char_cursor#28 ] main:2::printu:20::print_byte:50 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 char_cursor#28 ] main:2::printu:27::print_byte:50 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 char_cursor#28 ] main:2::printu:34::print_byte:50 [ main::a#10 main::i#10 line_cursor#13 printu::op#4 printu::b#4 printu::res#4 char_cursor#28 ] main:2::printu:14::print_byte:54 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 char_cursor#28 ] main:2::printu:20::print_byte:54 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 char_cursor#28 ] main:2::printu:27::print_byte:54 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 char_cursor#28 ] main:2::printu:34::print_byte:54 [ main::a#10 main::i#10 line_cursor#13 printu::res#4 char_cursor#28 ] )
to:@return
print_cls: scope:[print_cls] from main
[64] phi() [ ] ( main:2::print_cls:5 [ ] )
[72] phi() [ ] ( main:2::print_cls:5 [ ] )
to:print_cls::@1
print_cls::@1: scope:[print_cls] from print_cls print_cls::@1
[65] (byte*) print_cls::sc#2 ← phi( print_cls/((byte*))(word/signed word) 1024 print_cls::@1/(byte*) print_cls::sc#1 ) [ print_cls::sc#2 ] ( main:2::print_cls:5 [ print_cls::sc#2 ] )
[66] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:5 [ print_cls::sc#2 ] )
[67] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::print_cls:5 [ print_cls::sc#1 ] )
[68] if((byte*) print_cls::sc#1!=(word/signed word) 1024+(word/signed word) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::print_cls:5 [ print_cls::sc#1 ] )
[73] (byte*) print_cls::sc#2 ← phi( print_cls/((byte*))(word/signed word) 1024 print_cls::@1/(byte*) print_cls::sc#1 ) [ print_cls::sc#2 ] ( main:2::print_cls:5 [ print_cls::sc#2 ] )
[74] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:5 [ print_cls::sc#2 ] )
[75] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::print_cls:5 [ print_cls::sc#1 ] )
[76] if((byte*) print_cls::sc#1!=(word/signed word) 1024+(word/signed word) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::print_cls:5 [ print_cls::sc#1 ] )
to:print_cls::@return
print_cls::@return: scope:[print_cls] from print_cls::@1
[69] return [ ] ( main:2::print_cls:5 [ ] )
[77] return [ ] ( main:2::print_cls:5 [ ] )
to:@return

File diff suppressed because it is too large Load Diff

View File

@ -2,49 +2,56 @@
(label) @begin
(label) @end
(byte*) char_cursor
(byte*) char_cursor#26 char_cursor zp ZP_WORD:7 8.0
(byte*) char_cursor#27 char_cursor zp ZP_WORD:7 3.2926829268292686
(byte*) char_cursor#43 char_cursor zp ZP_WORD:7 35.0
(byte*) char_cursor#44 char_cursor zp ZP_WORD:7 2.75
(byte*~) char_cursor#54 char_cursor zp ZP_WORD:7 22.0
(byte*) char_cursor#27 char_cursor zp ZP_WORD:8 8.0
(byte*) char_cursor#28 char_cursor zp ZP_WORD:8 3.041666666666665
(byte*) char_cursor#45 char_cursor zp ZP_WORD:8 46.0
(byte*) char_cursor#46 char_cursor zp ZP_WORD:8 2.75
(byte*~) char_cursor#58 char_cursor zp ZP_WORD:8 22.0
(byte*) line_cursor
(byte*) line_cursor#1 line_cursor zp ZP_WORD:3 46.42857142857143
(byte*) line_cursor#13 line_cursor zp ZP_WORD:3 0.5416666666666666
(byte*) line_cursor#6 line_cursor zp ZP_WORD:3 204.0
(byte*) line_cursor#1 line_cursor zp ZP_WORD:4 40.625
(byte*) line_cursor#13 line_cursor zp ZP_WORD:4 0.41935483870967744
(byte*) line_cursor#6 line_cursor zp ZP_WORD:4 204.0
(void()) main()
(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::@2
(label) main::@3
(label) main::@4
(label) main::@5
(label) main::@6
(label) main::@7
(label) main::@8
(label) main::@9
(label) main::@return
(byte) main::a
(byte) main::a#1 a zp ZP_BYTE:2 11.0
(byte) main::a#10 a zp ZP_BYTE:2 5.041666666666666
(byte) main::a#1 a zp ZP_BYTE:2 5.5
(byte) main::a#10 a zp ZP_BYTE:2 4.612903225806452
(byte) main::b
(byte) main::b#0 reg byte y 6.6000000000000005
(byte[10]) main::cs
(const byte[10]) main::cs#0 cs = { (byte/signed byte/word/signed word) 0, (byte/signed byte/word/signed word) 20, (byte/signed byte/word/signed word) 4, (byte/signed byte/word/signed word) 9, (byte/signed byte/word/signed word) 11, (byte/signed byte/word/signed word) 4, (byte/signed byte/word/signed word) 13, (byte/signed byte/word/signed word) 8, (byte/signed byte/word/signed word) 4, (byte/signed byte/word/signed word) 6 }
(byte[16]) main::cs
(const byte[16]) main::cs#0 cs = { (byte/signed byte/word/signed word) 7, (byte/word/signed word) 247, (byte/signed byte/word/signed word) 23, (byte/word/signed word) 231, (byte/signed byte/word/signed word) 39, (byte/word/signed word) 215, (byte/signed byte/word/signed word) 55, (byte/word/signed word) 199, (byte/signed byte/word/signed word) 71, (byte/word/signed word) 183, (byte/signed byte/word/signed word) 87, (byte/word/signed word) 167, (byte/signed byte/word/signed word) 103, (byte/word/signed word) 151, (byte/signed byte/word/signed word) 119, (byte/word/signed word) 135 }
(byte) main::i
(byte) main::i#1 i zp ZP_BYTE:3 11.0
(byte) main::i#10 i zp ZP_BYTE:3 1.375
(byte) main::r
(byte) main::r#6 reg byte x 3.6666666666666665
(byte) main::r#7 reg byte x 5.5
(byte) main::r#10 reg byte x 3.6666666666666665
(byte) main::r#11 reg byte x 3.6666666666666665
(byte) main::r#8 reg byte x 3.6666666666666665
(byte) main::r#9 reg byte x 5.5
(void()) print_byte((byte) print_byte::b)
(byte~) print_byte::$0 reg byte y 4.0
(byte~) print_byte::$2 reg byte y 4.0
(label) print_byte::@1
(label) print_byte::@return
(byte) print_byte::b
(byte) print_byte::b#0 b zp ZP_BYTE:9 4.0
(byte) print_byte::b#1 b zp ZP_BYTE:9 4.0
(byte) print_byte::b#2 b zp ZP_BYTE:9 2.0
(byte) print_byte::b#0 b zp ZP_BYTE:10 4.0
(byte) print_byte::b#1 b zp ZP_BYTE:10 4.0
(byte) print_byte::b#2 b zp ZP_BYTE:10 2.0
(byte[]) print_byte::hextab
(const string) print_byte::hextab#0 hextab = (string) "0123456789abcdef"
(void()) print_char((byte) print_char::ch)
@ -59,8 +66,8 @@
(label) print_cls::@1
(label) print_cls::@return
(byte*) print_cls::sc
(byte*) print_cls::sc#1 sc zp ZP_WORD:3 16.5
(byte*) print_cls::sc#2 sc zp ZP_WORD:3 16.5
(byte*) print_cls::sc#1 sc zp ZP_WORD:4 16.5
(byte*) print_cls::sc#2 sc zp ZP_WORD:4 16.5
(void()) print_ln()
(label) print_ln::@1
(label) print_ln::@return
@ -75,30 +82,35 @@
(byte) printu::a#0 a zp ZP_BYTE:2 7.333333333333333
(byte) printu::a#1 a zp ZP_BYTE:2 11.0
(byte) printu::a#2 a zp ZP_BYTE:2 7.333333333333333
(byte) printu::a#3 a zp ZP_BYTE:2 17.5
(byte) printu::a#3 a zp ZP_BYTE:2 7.333333333333333
(byte) printu::a#4 a zp ZP_BYTE:2 23.0
(byte) printu::b
(byte) printu::b#0 b zp ZP_BYTE:6 11.0
(byte) printu::b#2 b zp ZP_BYTE:6 11.0
(byte) printu::b#3 b zp ZP_BYTE:6 4.0
(byte) printu::b#0 b zp ZP_BYTE:7 11.0
(byte) printu::b#2 b zp ZP_BYTE:7 11.0
(byte) printu::b#3 b zp ZP_BYTE:7 11.0
(byte) printu::b#4 b zp ZP_BYTE:7 5.833333333333333
(byte) printu::op
(byte) printu::op#3 op zp ZP_BYTE:5 0.5
(byte) printu::op#4 op zp ZP_BYTE:6 0.5
(byte) printu::res
(byte) printu::res#0 reg byte x 22.0
(byte) printu::res#1 reg byte x 22.0
(byte) printu::res#2 reg byte x 22.0
(byte) printu::res#3 reg byte x 3.5000000000000004
(byte) printu::res#3 reg byte x 22.0
(byte) printu::res#4 reg byte x 4.6000000000000005
zp ZP_BYTE:2 [ main::a#10 main::a#1 printu::a#3 printu::a#0 printu::a#1 printu::a#2 ]
reg byte x [ main::r#6 ]
reg byte x [ main::r#7 ]
zp ZP_BYTE:2 [ main::a#10 main::a#1 printu::a#4 printu::a#0 printu::a#1 printu::a#2 printu::a#3 ]
zp ZP_BYTE:3 [ main::i#10 main::i#1 ]
reg byte x [ main::r#8 ]
zp ZP_WORD:3 [ line_cursor#6 line_cursor#13 line_cursor#1 print_cls::sc#2 print_cls::sc#1 ]
zp ZP_BYTE:5 [ printu::op#3 ]
zp ZP_BYTE:6 [ printu::b#3 printu::b#0 printu::b#2 ]
reg byte x [ printu::res#3 printu::res#0 printu::res#1 printu::res#2 ]
reg byte x [ main::r#9 ]
reg byte x [ main::r#10 ]
reg byte x [ main::r#11 ]
zp ZP_WORD:4 [ line_cursor#6 line_cursor#13 line_cursor#1 print_cls::sc#2 print_cls::sc#1 ]
zp ZP_BYTE:6 [ printu::op#4 ]
zp ZP_BYTE:7 [ printu::b#4 printu::b#0 printu::b#2 printu::b#3 ]
reg byte x [ printu::res#4 printu::res#0 printu::res#1 printu::res#2 printu::res#3 ]
reg byte a [ print_char::ch#6 print_char::ch#0 print_char::ch#1 print_char::ch#3 print_char::ch#5 ]
zp ZP_WORD:7 [ char_cursor#26 char_cursor#43 char_cursor#44 char_cursor#54 char_cursor#27 ]
zp ZP_BYTE:9 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ]
zp ZP_WORD:8 [ char_cursor#27 char_cursor#45 char_cursor#46 char_cursor#58 char_cursor#28 ]
zp ZP_BYTE:10 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ]
reg byte y [ main::b#0 ]
reg byte y [ print_byte::$0 ]
reg byte y [ print_byte::$2 ]

View File

@ -3,13 +3,16 @@ import "print.kc"
void main() {
print_cls();
byte r;
byte[10] cs = { 0, 20, 4, 9, 11, 4 , 13, 8, 4, 6 };
for( byte a: 0..10 ) {
byte b = 10-a;
byte[$10] cs = { $07, $f7, $17, $e7, $27, $d7 , $37, $c7, $47, $b7, $57, $a7, $67, $97, $77, $87 };
byte a = 7;
for( byte i : 0..$f ) {
byte b = $ee-a;
r = '-'; if(a<b) r='+'; printu(a, '<', b, r);
r = '-'; if(a<3) r='+'; printu(a, '<', 3, r);
r = '-'; if(a<cs[a]) r='+'; printu(a, '<', cs[a], r);
r = '-'; if(a<$87) r='+'; printu(a, '<', $87, r);
r = '-'; if(a<cs[i]) r='+'; printu(a, '<', cs[i], r);
r = '-'; if(a<a) r='+'; printu(a, '<', a, r);
print_ln();
a=a+$10;
}
}