1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2025-04-09 21:37:31 +00:00

Implemented first sinus generator using sinx=x-x^/3!+x^/5!.

This commit is contained in:
jespergravgaard 2018-02-19 08:29:47 +01:00
parent a695a94422
commit d3070fec14
23 changed files with 14994 additions and 2174 deletions

View File

@ -0,0 +1,6 @@
ldy #0
lda {z2}
sta ({z1}),y
iny
lda {z2}+1
sta ({z1}),y

View File

@ -0,0 +1,4 @@
lda #<{c1}
sta {z1}
lda #>{c1}
sta {z1}+1

View File

@ -0,0 +1,13 @@
lda #<{c1}
sec
sbc {z1}
sta {z1}
lda #>{c1}
sbc {z1}+1
sta {z1}+1
lda #<{c1}>>$10
sbc {z1}+2
sta {z1}+2
lda #>{c1}>>$10
sbc {z1}+3
sta {z1}+3

View File

@ -0,0 +1,13 @@
lda {z1}
sec
sbc #<{c1}
sta {z1}
lda {z1}+1
sbc #>{c1}
sta {z1}+1
lda {z1}+2
sbc #<{c1}>>$10
sta {z1}+2
lda {z1}+3
sbc #>{c1}>>$10
sta {z1}+3

View File

@ -0,0 +1,16 @@
asl {z1}
rol {z1}+1
rol {z1}+2
rol {z1}+3
asl {z1}
rol {z1}+1
rol {z1}+2
rol {z1}+3
asl {z1}
rol {z1}+1
rol {z1}+2
rol {z1}+3
asl {z1}
rol {z1}+1
rol {z1}+2
rol {z1}+3

View File

@ -0,0 +1,13 @@
lda {z2}
sec
sbc #<{c1}
sta {z1}
lda {z2}+1
sbc #>{c1}
sta {z1}+1
lda {z2}+2
sbc #<{c1}>>$10
sta {z1}+2
lda {z2}+3
sbc #>{c1}>>$10
sta {z1}+3

View File

@ -0,0 +1,24 @@
lda {z2}
sta {z1}
lda {z2}+1
sta {z1}+1
lda {z2}+2
sta {z1}+2
lda {z2}+3
sta {z1}+3
asl {z1}
rol {z1}+1
rol {z1}+2
rol {z1}+3
asl {z1}
rol {z1}+1
rol {z1}+2
rol {z1}+3
asl {z1}
rol {z1}+1
rol {z1}+2
rol {z1}+3
asl {z1}
rol {z1}+1
rol {z1}+2
rol {z1}+3

View File

@ -0,0 +1,16 @@
lda {z1}+3
cmp #>{c1}>>$10
bcc {la1}
bne !+
lda {z1}+2
cmp #<{c1}>>$10
bcc {la1}
bne !+
lda {z1}+1
cmp #>{c1}
bcc {la1}
bne !+
lda {z1}
cmp #<{c1}
bcc {la1}
!:

View File

@ -0,0 +1,7 @@
sec
lda #<{c1}
sbc {z1}
sta {z1}
lda #>{c1}
sbc {z1}+1
sta {z1}+1

View File

@ -0,0 +1,7 @@
lda {z2}
sec
sbc {z1}
sta {z1}
lda {z2}+1
sbc {z1}+1
sta {z1}+1

View File

@ -0,0 +1,8 @@
lda {z1}+1
cmp #>{c1}
bne !+
lda {z1}
cmp #<{c1}
!:
bcc {la1}
beq {la1}

View File

@ -241,9 +241,15 @@ public class Pass4CodeGeneration {
if(SymbolType.isByte(constantArrayFilled.getElementType())) {
asm.addDataFilled(asmName.replace("#", "_").replace("$", "_"), AsmDataNumeric.Type.BYTE, constantArrayFilled.getSize(), "0");
added.add(asmName);
} else if(SymbolType.isSByte(constantArrayFilled.getElementType())) {
asm.addDataFilled(asmName.replace("#", "_").replace("$", "_"), AsmDataNumeric.Type.BYTE, constantArrayFilled.getSize(), "0");
added.add(asmName);
} else if(SymbolType.isWord(constantArrayFilled.getElementType())) {
asm.addDataFilled(asmName.replace("#", "_").replace("$", "_"), AsmDataNumeric.Type.WORD, constantArrayFilled.getSize(), "0");
added.add(asmName);
} else if(SymbolType.isSWord(constantArrayFilled.getElementType())) {
asm.addDataFilled(asmName.replace("#", "_").replace("$", "_"), AsmDataNumeric.Type.WORD, constantArrayFilled.getSize(), "0");
added.add(asmName);
} else {
throw new RuntimeException("Unhandled constant array element type " + constantArrayFilled.toString(program));
}

View File

@ -45,6 +45,11 @@ public class TestPrograms {
AsmFragmentTemplateUsages.logUsages(log, false, false, false, false, false, false);
}
@Test
public void testSinusGen() throws IOException, URISyntaxException {
compileAndCompare("sinusgen");
}
@Test
public void testLineGen() throws IOException, URISyntaxException {
compileAndCompare("linegen");

View File

@ -8,11 +8,15 @@ void main() {
lin16u_gen(557, 29793, lintab1, 20);
word[20] lintab2;
lin16u_gen(31179, 63361, lintab2, 20);
word[20] lintab3;
lin16u_gen(0, $6488, lintab3, 20);
print_cls();
print_str(" @");
print_word(557);
print_str(" @");
print_word(31179);
print_str(" @");
print_word(0);
print_ln();
for(byte i=0; i<20*2; i=i+2) {
print_byte(i);
@ -20,12 +24,16 @@ void main() {
print_word(lintab1[i]);
print_str(" @");
print_word(lintab2[i]);
print_str(" @");
print_word(lintab3[i]);
print_ln();
}
print_str(" @");
print_word(29793);
print_str(" @");
print_word(63361);
print_str(" @");
print_word($6488);
print_ln();
}

View File

@ -1,49 +1,113 @@
// Sinus Generator functions using only multiplication, addition and bit shifting
// USes a single division for converting the wavelength to a reciprocal.
// Uses a single division for converting the wavelength to a reciprocal.
// Generates sinus using the series sin(x) = x - x^/3! + x^-5! - x^7/7! ...
// Uses the approximation sin(x) = x - x^/6 + x^/128
// Uses reciprocal
// Generates the sinus value over the interval 0-PI/2 and uses mirroring to get the remaining values
// Optimization possibility: Generate sinus value over the interval 0-PI/2 and uses mirroring to get the remaining values
import "division.kc"
import "multiply.kc"
import "print.kc"
void main() {
word[20] lintab;
lin16u_gen(1000, 30000, lintab, 20);
print_cls();
for(byte i=0; i<20*2; i=i+2) {
print_byte(i);
print_str(" @");
print_word(lintab[i]);
}
signed word[20] sintab;
sin16s_gen(sintab, 20);
//for(byte i=0; i<20*2; i=i+2) {
// print_byte(i);
// print_str(" @");
// print_sword(sintab[i]);
// print_ln();
//}
}
// Generate signed word sinus table
// sintab - the table to generate into
// wavelength - the number of sinus points in a total sinus wavelength (the size of the table)
void sin16s_gen(word* sintab, word wavelength) {
void sin16s_gen(signed word* sintab, word wavelength) {
// PI/4 in 0.16 in [0.16] format
//const word PI_QUARTER = $c910;
// 2*PI in [16.16] format
//const dword PI2 = $6487f;
// 2*PI in [4.12] format
const word PI2 = $6488;
// PI*2 in [4.28] format
const dword PI2_u4f28 = $6487ed51;
// PI in [4.28] format
const dword PI_u4f28 = $3243f6a9;
// PI/2 in [4.28] format
const dword PI_HALF_u4f28 = $1921FB54;
// PI*2 in [4.12] format
const word PI2_u4f12 = $6488;
// PI in [4.12] format
const word PI_u4f12 = $3244;
// PI/2 in [4.12] format
const word PI_HALF_u4f12 = $1922;
// Another possible approximation - PI = 355/113
//word pi2_i = divr16u(2*355, 113, 0);
//word pi2_f = divr16u(0, 113, rem16u);
//dword pi2 = { pi2_i, pi2_f };
// Calculate step in [4.24]
word stepi = divr16u(PI2, wavelength, 0);
word stepf = divr16u(0, wavelength, rem16u);
dword step = { stepi, stepf };
print_str("2*pi @");
print_word(PI2);
print_ln();
print_str("step @");
print_dword(step);
print_ln();
}
dword x = 0; // u[4.28]
for( word i=0; i<wavelength; i++) {
word x1 = >x;
byte isUpper = 0;
if(x1>= PI_u4f12 ) {
x1 = x1-PI_u4f12;
isUpper = 1;
}
if(x1>= PI_HALF_u4f12 ) {
x1 = PI_u4f12 - x1;
}
// Generate word linear table
// lintab - the table to generate into
// length - the number of points in a total sinus wavelength (the size of the table)
void lin16u_gen(word min, word max, word* lintab, word length) {
word ampl = max-min;
word dstep = div16u(ampl, length);
// sinx = x - x3/6 + x5/128;
word x2 = mul_u4f12(x1, x1); // u[4.12]
word x3 = mul_u4f12(x2, x1); // u[4.12]
word x4 = mul_u4f12(x3, x1); // u[4.12]
word x5 = mul_u4f12(x4, x1); // u[4.12]
word x3_6i = divr16u(x3, 6, 0); // u[4.12]
word x5_128i = divr16u(x5, 128, 0); // u[4.12]
word usinx = x1 - x3_6i + x5_128i; // u[4.12]
dword val = min<<16;
for(word i=0; i<length; i++) {
*lintab = >val;
val = val + step;
signed word sinx = (signed word)usinx;
if(isUpper!=0) {
sinx = -sinx;
}
*sintab = sinx;
sintab = sintab +2;
print_word(i);
print_str(" @");
print_dword(x);
print_str(" @");
print_word(x1);
print_str(" @");
print_word(x3);
print_str(" @");
print_word(x5);
print_str(" @");
print_sword(sinx);
print_ln();
x = x + step;
}
}
// Calculate val*val for val u[4.12] to val*val u[4.28]
word mul_u4f12(word v1, word v2) {
return >mul16u(v1, v2)<<4;
}

View File

@ -45,6 +45,22 @@ main: {
lda #>$f781
sta lin16u_gen.max+1
jsr lin16u_gen
lda #<lintab3
sta lin16u_gen.lintab
lda #>lintab3
sta lin16u_gen.lintab+1
lda #<$14
sta lin16u_gen.length
lda #>$14
sta lin16u_gen.length+1
lda #<0
sta lin16u_gen.min
sta lin16u_gen.min+1
lda #<$6488
sta lin16u_gen.max
lda #>$6488
sta lin16u_gen.max+1
jsr lin16u_gen
jsr print_cls
lda #<SCREEN
sta char_cursor
@ -70,6 +86,15 @@ main: {
lda #>$79cb
sta print_word.w+1
jsr print_word
lda #<str2
sta print_str.str
lda #>str2
sta print_str.str+1
jsr print_str
lda #<0
sta print_word.w
sta print_word.w+1
jsr print_word
lda #<SCREEN
sta line_cursor
lda #>SCREEN
@ -84,9 +109,9 @@ main: {
lda line_cursor+1
sta char_cursor+1
jsr print_byte
lda #<str2
lda #<str3
sta print_str.str
lda #>str2
lda #>str3
sta print_str.str+1
jsr print_str
ldy i
@ -95,9 +120,9 @@ main: {
lda lintab1+1,y
sta print_word.w+1
jsr print_word
lda #<str3
lda #<str4
sta print_str.str
lda #>str3
lda #>str4
sta print_str.str+1
jsr print_str
ldy i
@ -106,6 +131,17 @@ main: {
lda lintab2+1,y
sta print_word.w+1
jsr print_word
lda #<str5
sta print_str.str
lda #>str5
sta print_str.str+1
jsr print_str
ldy i
lda lintab3,y
sta print_word.w
lda lintab3+1,y
sta print_word.w+1
jsr print_word
jsr print_ln
lda #2
clc
@ -117,9 +153,9 @@ main: {
sta char_cursor
lda line_cursor+1
sta char_cursor+1
lda #<str4
lda #<str6
sta print_str.str
lda #>str4
lda #>str6
sta print_str.str+1
jsr print_str
lda #<$7461
@ -127,9 +163,9 @@ main: {
lda #>$7461
sta print_word.w+1
jsr print_word
lda #<str5
lda #<str7
sta print_str.str
lda #>str5
lda #>str7
sta print_str.str+1
jsr print_str
lda #<$f781
@ -137,16 +173,30 @@ main: {
lda #>$f781
sta print_word.w+1
jsr print_word
lda #<str8
sta print_str.str
lda #>str8
sta print_str.str+1
jsr print_str
lda #<$6488
sta print_word.w
lda #>$6488
sta print_word.w+1
jsr print_word
jsr print_ln
rts
str: .text " @"
str1: .text " @"
str2: .text " @"
str3: .text " @"
str4: .text " @"
str4: .text " @"
str5: .text " @"
str6: .text " @"
str7: .text " @"
str8: .text " @"
lintab1: .fill $28, 0
lintab2: .fill $28, 0
lintab3: .fill $28, 0
}
print_ln: {
b1:

View File

@ -13,233 +13,261 @@ main: scope:[main] from @18
to:main::@3
main::@3: scope:[main] from main
[6] phi() [ divr16u::rem#11 ] ( main:2 [ divr16u::rem#11 ] )
[7] call lin16u_gen param-assignment [ ] ( main:2 [ ] )
[7] call lin16u_gen param-assignment [ divr16u::rem#11 ] ( main:2 [ divr16u::rem#11 ] )
to:main::@4
main::@4: scope:[main] from main::@3
[8] phi() [ ] ( main:2 [ ] )
[9] call print_cls param-assignment [ ] ( main:2 [ ] )
[8] phi() [ divr16u::rem#11 ] ( main:2 [ divr16u::rem#11 ] )
[9] call lin16u_gen param-assignment [ ] ( main:2 [ ] )
to:main::@5
main::@5: scope:[main] from main::@4
[10] phi() [ ] ( main:2 [ ] )
[11] call print_str param-assignment [ char_cursor#2 ] ( main:2 [ char_cursor#2 ] )
[11] call print_cls param-assignment [ ] ( main:2 [ ] )
to:main::@6
main::@6: scope:[main] from main::@5
[12] phi() [ char_cursor#2 ] ( main:2 [ char_cursor#2 ] )
[13] call print_word param-assignment [ char_cursor#11 ] ( main:2 [ char_cursor#11 ] )
[12] phi() [ ] ( main:2 [ ] )
[13] call print_str param-assignment [ char_cursor#2 ] ( main:2 [ char_cursor#2 ] )
to:main::@7
main::@7: scope:[main] from main::@6
[14] phi() [ char_cursor#11 ] ( main:2 [ char_cursor#11 ] )
[15] call print_str param-assignment [ char_cursor#2 ] ( main:2 [ char_cursor#2 ] )
[14] phi() [ char_cursor#2 ] ( main:2 [ char_cursor#2 ] )
[15] call print_word param-assignment [ char_cursor#11 ] ( main:2 [ char_cursor#11 ] )
to:main::@8
main::@8: scope:[main] from main::@7
[16] phi() [ char_cursor#2 ] ( main:2 [ char_cursor#2 ] )
[17] call print_word param-assignment [ char_cursor#11 ] ( main:2 [ char_cursor#11 ] )
[16] phi() [ char_cursor#11 ] ( main:2 [ char_cursor#11 ] )
[17] call print_str param-assignment [ char_cursor#2 ] ( main:2 [ char_cursor#2 ] )
to:main::@9
main::@9: scope:[main] from main::@8
[18] phi() [ char_cursor#11 ] ( main:2 [ char_cursor#11 ] )
[19] call print_ln param-assignment [ line_cursor#1 ] ( main:2 [ line_cursor#1 ] )
to:main::@1
main::@1: scope:[main] from main::@16 main::@9
[20] (byte) main::i#2 ← phi( main::@9/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@16/(byte) main::i#1 ) [ main::i#2 line_cursor#1 ] ( main:2 [ main::i#2 line_cursor#1 ] )
[21] (byte) print_byte::b#2 ← (byte) main::i#2 [ main::i#2 print_byte::b#2 line_cursor#1 ] ( main:2 [ main::i#2 print_byte::b#2 line_cursor#1 ] )
[22] (byte*~) char_cursor#77 ← (byte*) line_cursor#1 [ main::i#2 print_byte::b#2 char_cursor#77 line_cursor#1 ] ( main:2 [ main::i#2 print_byte::b#2 char_cursor#77 line_cursor#1 ] )
[23] call print_byte param-assignment [ main::i#2 line_cursor#1 char_cursor#11 ] ( main:2 [ main::i#2 line_cursor#1 char_cursor#11 ] )
[18] phi() [ char_cursor#2 ] ( main:2 [ char_cursor#2 ] )
[19] call print_word param-assignment [ char_cursor#11 ] ( main:2 [ char_cursor#11 ] )
to:main::@10
main::@10: scope:[main] from main::@9
[20] phi() [ char_cursor#11 ] ( main:2 [ char_cursor#11 ] )
[21] call print_str param-assignment [ char_cursor#2 ] ( main:2 [ char_cursor#2 ] )
to:main::@11
main::@11: scope:[main] from main::@1
[24] phi() [ main::i#2 line_cursor#1 char_cursor#11 ] ( main:2 [ main::i#2 line_cursor#1 char_cursor#11 ] )
[25] call print_str param-assignment [ main::i#2 line_cursor#1 char_cursor#2 ] ( main:2 [ main::i#2 line_cursor#1 char_cursor#2 ] )
main::@11: scope:[main] from main::@10
[22] phi() [ char_cursor#2 ] ( main:2 [ char_cursor#2 ] )
[23] call print_word param-assignment [ char_cursor#11 ] ( main:2 [ char_cursor#11 ] )
to:main::@12
main::@12: scope:[main] from main::@11
[26] (word) print_word::w#2 ← *((const word[20]) main::lintab1#0 + (byte) main::i#2) [ main::i#2 line_cursor#1 print_word::w#2 char_cursor#2 ] ( main:2 [ main::i#2 line_cursor#1 print_word::w#2 char_cursor#2 ] )
[27] call print_word param-assignment [ main::i#2 line_cursor#1 char_cursor#11 ] ( main:2 [ main::i#2 line_cursor#1 char_cursor#11 ] )
to:main::@13
main::@13: scope:[main] from main::@12
[28] phi() [ main::i#2 line_cursor#1 char_cursor#11 ] ( main:2 [ main::i#2 line_cursor#1 char_cursor#11 ] )
[29] call print_str param-assignment [ main::i#2 line_cursor#1 char_cursor#2 ] ( main:2 [ main::i#2 line_cursor#1 char_cursor#2 ] )
[24] phi() [ char_cursor#11 ] ( main:2 [ char_cursor#11 ] )
[25] call print_ln param-assignment [ line_cursor#1 ] ( main:2 [ line_cursor#1 ] )
to:main::@1
main::@1: scope:[main] from main::@12 main::@21
[26] (byte) main::i#10 ← phi( main::@12/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@21/(byte) main::i#1 ) [ main::i#10 line_cursor#1 ] ( main:2 [ main::i#10 line_cursor#1 ] )
[27] (byte) print_byte::b#2 ← (byte) main::i#10 [ main::i#10 print_byte::b#2 line_cursor#1 ] ( main:2 [ main::i#10 print_byte::b#2 line_cursor#1 ] )
[28] (byte*~) char_cursor#90 ← (byte*) line_cursor#1 [ main::i#10 print_byte::b#2 char_cursor#90 line_cursor#1 ] ( main:2 [ main::i#10 print_byte::b#2 char_cursor#90 line_cursor#1 ] )
[29] call print_byte param-assignment [ main::i#10 line_cursor#1 char_cursor#11 ] ( main:2 [ main::i#10 line_cursor#1 char_cursor#11 ] )
to:main::@14
main::@14: scope:[main] from main::@13
[30] (word) print_word::w#3 ← *((const word[20]) main::lintab2#0 + (byte) main::i#2) [ main::i#2 line_cursor#1 print_word::w#3 char_cursor#2 ] ( main:2 [ main::i#2 line_cursor#1 print_word::w#3 char_cursor#2 ] )
[31] call print_word param-assignment [ main::i#2 line_cursor#1 char_cursor#11 ] ( main:2 [ main::i#2 line_cursor#1 char_cursor#11 ] )
main::@14: scope:[main] from main::@1
[30] phi() [ main::i#10 line_cursor#1 char_cursor#11 ] ( main:2 [ main::i#10 line_cursor#1 char_cursor#11 ] )
[31] call print_str param-assignment [ main::i#10 line_cursor#1 char_cursor#2 ] ( main:2 [ main::i#10 line_cursor#1 char_cursor#2 ] )
to:main::@15
main::@15: scope:[main] from main::@14
[32] phi() [ main::i#2 line_cursor#1 char_cursor#11 ] ( main:2 [ main::i#2 line_cursor#1 char_cursor#11 ] )
[33] call print_ln param-assignment [ main::i#2 line_cursor#1 ] ( main:2 [ main::i#2 line_cursor#1 ] )
[32] (word) print_word::w#3 ← *((const word[20]) main::lintab1#0 + (byte) main::i#10) [ main::i#10 line_cursor#1 print_word::w#3 char_cursor#2 ] ( main:2 [ main::i#10 line_cursor#1 print_word::w#3 char_cursor#2 ] )
[33] call print_word param-assignment [ main::i#10 line_cursor#1 char_cursor#11 ] ( main:2 [ main::i#10 line_cursor#1 char_cursor#11 ] )
to:main::@16
main::@16: scope:[main] from main::@15
[34] (byte) main::i#1 ← (byte) main::i#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ main::i#1 line_cursor#1 ] ( main:2 [ main::i#1 line_cursor#1 ] )
[35] if((byte) main::i#1<(byte/signed byte/word/signed word/dword/signed dword) 20*(byte/signed byte/word/signed word/dword/signed dword) 2) goto main::@1 [ main::i#1 line_cursor#1 ] ( main:2 [ main::i#1 line_cursor#1 ] )
to:main::@2
main::@2: scope:[main] from main::@16
[36] (byte*~) char_cursor#85 ← (byte*) line_cursor#1 [ line_cursor#1 char_cursor#85 ] ( main:2 [ line_cursor#1 char_cursor#85 ] )
[37] call print_str param-assignment [ line_cursor#1 char_cursor#2 ] ( main:2 [ line_cursor#1 char_cursor#2 ] )
[34] phi() [ main::i#10 line_cursor#1 char_cursor#11 ] ( main:2 [ main::i#10 line_cursor#1 char_cursor#11 ] )
[35] call print_str param-assignment [ main::i#10 line_cursor#1 char_cursor#2 ] ( main:2 [ main::i#10 line_cursor#1 char_cursor#2 ] )
to:main::@17
main::@17: scope:[main] from main::@2
[38] phi() [ line_cursor#1 char_cursor#2 ] ( main:2 [ line_cursor#1 char_cursor#2 ] )
[39] call print_word param-assignment [ line_cursor#1 char_cursor#11 ] ( main:2 [ line_cursor#1 char_cursor#11 ] )
main::@17: scope:[main] from main::@16
[36] (word) print_word::w#4 ← *((const word[20]) main::lintab2#0 + (byte) main::i#10) [ main::i#10 line_cursor#1 print_word::w#4 char_cursor#2 ] ( main:2 [ main::i#10 line_cursor#1 print_word::w#4 char_cursor#2 ] )
[37] call print_word param-assignment [ main::i#10 line_cursor#1 char_cursor#11 ] ( main:2 [ main::i#10 line_cursor#1 char_cursor#11 ] )
to:main::@18
main::@18: scope:[main] from main::@17
[40] phi() [ line_cursor#1 char_cursor#11 ] ( main:2 [ line_cursor#1 char_cursor#11 ] )
[41] call print_str param-assignment [ line_cursor#1 char_cursor#2 ] ( main:2 [ line_cursor#1 char_cursor#2 ] )
[38] phi() [ main::i#10 line_cursor#1 char_cursor#11 ] ( main:2 [ main::i#10 line_cursor#1 char_cursor#11 ] )
[39] call print_str param-assignment [ main::i#10 line_cursor#1 char_cursor#2 ] ( main:2 [ main::i#10 line_cursor#1 char_cursor#2 ] )
to:main::@19
main::@19: scope:[main] from main::@18
[42] phi() [ line_cursor#1 char_cursor#2 ] ( main:2 [ line_cursor#1 char_cursor#2 ] )
[43] call print_word param-assignment [ line_cursor#1 char_cursor#11 ] ( main:2 [ line_cursor#1 char_cursor#11 ] )
[40] (word) print_word::w#5 ← *((const word[20]) main::lintab3#0 + (byte) main::i#10) [ main::i#10 line_cursor#1 print_word::w#5 char_cursor#2 ] ( main:2 [ main::i#10 line_cursor#1 print_word::w#5 char_cursor#2 ] )
[41] call print_word param-assignment [ main::i#10 line_cursor#1 char_cursor#11 ] ( main:2 [ main::i#10 line_cursor#1 char_cursor#11 ] )
to:main::@20
main::@20: scope:[main] from main::@19
[44] phi() [ line_cursor#1 char_cursor#11 ] ( main:2 [ line_cursor#1 char_cursor#11 ] )
[45] call print_ln param-assignment [ ] ( main:2 [ ] )
[42] phi() [ main::i#10 line_cursor#1 char_cursor#11 ] ( main:2 [ main::i#10 line_cursor#1 char_cursor#11 ] )
[43] call print_ln param-assignment [ main::i#10 line_cursor#1 ] ( main:2 [ main::i#10 line_cursor#1 ] )
to:main::@21
main::@21: scope:[main] from main::@20
[44] (byte) main::i#1 ← (byte) main::i#10 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ main::i#1 line_cursor#1 ] ( main:2 [ main::i#1 line_cursor#1 ] )
[45] if((byte) main::i#1<(byte/signed byte/word/signed word/dword/signed dword) 20*(byte/signed byte/word/signed word/dword/signed dword) 2) goto main::@1 [ main::i#1 line_cursor#1 ] ( main:2 [ main::i#1 line_cursor#1 ] )
to:main::@2
main::@2: scope:[main] from main::@21
[46] (byte*~) char_cursor#99 ← (byte*) line_cursor#1 [ line_cursor#1 char_cursor#99 ] ( main:2 [ line_cursor#1 char_cursor#99 ] )
[47] call print_str param-assignment [ line_cursor#1 char_cursor#2 ] ( main:2 [ line_cursor#1 char_cursor#2 ] )
to:main::@22
main::@22: scope:[main] from main::@2
[48] phi() [ line_cursor#1 char_cursor#2 ] ( main:2 [ line_cursor#1 char_cursor#2 ] )
[49] call print_word param-assignment [ line_cursor#1 char_cursor#11 ] ( main:2 [ line_cursor#1 char_cursor#11 ] )
to:main::@23
main::@23: scope:[main] from main::@22
[50] phi() [ line_cursor#1 char_cursor#11 ] ( main:2 [ line_cursor#1 char_cursor#11 ] )
[51] call print_str param-assignment [ line_cursor#1 char_cursor#2 ] ( main:2 [ line_cursor#1 char_cursor#2 ] )
to:main::@24
main::@24: scope:[main] from main::@23
[52] phi() [ line_cursor#1 char_cursor#2 ] ( main:2 [ line_cursor#1 char_cursor#2 ] )
[53] call print_word param-assignment [ line_cursor#1 char_cursor#11 ] ( main:2 [ line_cursor#1 char_cursor#11 ] )
to:main::@25
main::@25: scope:[main] from main::@24
[54] phi() [ line_cursor#1 char_cursor#11 ] ( main:2 [ line_cursor#1 char_cursor#11 ] )
[55] call print_str param-assignment [ line_cursor#1 char_cursor#2 ] ( main:2 [ line_cursor#1 char_cursor#2 ] )
to:main::@26
main::@26: scope:[main] from main::@25
[56] phi() [ line_cursor#1 char_cursor#2 ] ( main:2 [ line_cursor#1 char_cursor#2 ] )
[57] call print_word param-assignment [ line_cursor#1 char_cursor#11 ] ( main:2 [ line_cursor#1 char_cursor#11 ] )
to:main::@27
main::@27: scope:[main] from main::@26
[58] phi() [ line_cursor#1 char_cursor#11 ] ( main:2 [ line_cursor#1 char_cursor#11 ] )
[59] call print_ln param-assignment [ ] ( main:2 [ ] )
to:main::@return
main::@return: scope:[main] from main::@20
[46] return [ ] ( main:2 [ ] )
main::@return: scope:[main] from main::@27
[60] return [ ] ( main:2 [ ] )
to:@return
print_ln: scope:[print_ln] from main::@15 main::@20 main::@9
[47] (byte*) line_cursor#21 ← phi( main::@15/(byte*) line_cursor#1 main::@20/(byte*) line_cursor#1 main::@9/(const byte*) SCREEN#0 ) [ line_cursor#21 char_cursor#11 ] ( main:2::print_ln:19 [ line_cursor#21 char_cursor#11 ] main:2::print_ln:33 [ main::i#2 line_cursor#21 char_cursor#11 ] main:2::print_ln:45 [ line_cursor#21 char_cursor#11 ] )
print_ln: scope:[print_ln] from main::@12 main::@20 main::@27
[61] (byte*) line_cursor#21 ← phi( main::@12/(const byte*) SCREEN#0 main::@20/(byte*) line_cursor#1 main::@27/(byte*) line_cursor#1 ) [ line_cursor#21 char_cursor#11 ] ( main:2::print_ln:25 [ line_cursor#21 char_cursor#11 ] main:2::print_ln:43 [ main::i#10 line_cursor#21 char_cursor#11 ] main:2::print_ln:59 [ line_cursor#21 char_cursor#11 ] )
to:print_ln::@1
print_ln::@1: scope:[print_ln] from print_ln print_ln::@1
[48] (byte*) line_cursor#11 ← phi( print_ln/(byte*) line_cursor#21 print_ln::@1/(byte*) line_cursor#1 ) [ line_cursor#11 char_cursor#11 ] ( main:2::print_ln:19 [ line_cursor#11 char_cursor#11 ] main:2::print_ln:33 [ main::i#2 line_cursor#11 char_cursor#11 ] main:2::print_ln:45 [ line_cursor#11 char_cursor#11 ] )
[49] (byte*) line_cursor#1 ← (byte*) line_cursor#11 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ line_cursor#1 char_cursor#11 ] ( main:2::print_ln:19 [ line_cursor#1 char_cursor#11 ] main:2::print_ln:33 [ main::i#2 line_cursor#1 char_cursor#11 ] main:2::print_ln:45 [ line_cursor#1 char_cursor#11 ] )
[50] if((byte*) line_cursor#1<(byte*) char_cursor#11) goto print_ln::@1 [ line_cursor#1 char_cursor#11 ] ( main:2::print_ln:19 [ line_cursor#1 char_cursor#11 ] main:2::print_ln:33 [ main::i#2 line_cursor#1 char_cursor#11 ] main:2::print_ln:45 [ line_cursor#1 char_cursor#11 ] )
[62] (byte*) line_cursor#11 ← phi( print_ln/(byte*) line_cursor#21 print_ln::@1/(byte*) line_cursor#1 ) [ line_cursor#11 char_cursor#11 ] ( main:2::print_ln:25 [ line_cursor#11 char_cursor#11 ] main:2::print_ln:43 [ main::i#10 line_cursor#11 char_cursor#11 ] main:2::print_ln:59 [ line_cursor#11 char_cursor#11 ] )
[63] (byte*) line_cursor#1 ← (byte*) line_cursor#11 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ line_cursor#1 char_cursor#11 ] ( main:2::print_ln:25 [ line_cursor#1 char_cursor#11 ] main:2::print_ln:43 [ main::i#10 line_cursor#1 char_cursor#11 ] main:2::print_ln:59 [ line_cursor#1 char_cursor#11 ] )
[64] if((byte*) line_cursor#1<(byte*) char_cursor#11) goto print_ln::@1 [ line_cursor#1 char_cursor#11 ] ( main:2::print_ln:25 [ line_cursor#1 char_cursor#11 ] main:2::print_ln:43 [ main::i#10 line_cursor#1 char_cursor#11 ] main:2::print_ln:59 [ line_cursor#1 char_cursor#11 ] )
to:print_ln::@return
print_ln::@return: scope:[print_ln] from print_ln::@1
[51] return [ line_cursor#1 ] ( main:2::print_ln:19 [ line_cursor#1 ] main:2::print_ln:33 [ main::i#2 line_cursor#1 ] main:2::print_ln:45 [ line_cursor#1 ] )
[65] return [ line_cursor#1 ] ( main:2::print_ln:25 [ line_cursor#1 ] main:2::print_ln:43 [ main::i#10 line_cursor#1 ] main:2::print_ln:59 [ line_cursor#1 ] )
to:@return
print_word: scope:[print_word] from main::@12 main::@14 main::@17 main::@19 main::@6 main::@8
[52] (word) print_word::w#6 ← phi( main::@12/(word) print_word::w#2 main::@14/(word) print_word::w#3 main::@17/(word/signed word/dword/signed dword) 29793 main::@19/(word/dword/signed dword) 63361 main::@6/(word/signed word/dword/signed dword) 557 main::@8/(word/signed word/dword/signed dword) 31179 ) [ print_word::w#6 char_cursor#2 ] ( main:2::print_word:13 [ print_word::w#6 char_cursor#2 ] main:2::print_word:17 [ print_word::w#6 char_cursor#2 ] main:2::print_word:27 [ main::i#2 line_cursor#1 print_word::w#6 char_cursor#2 ] main:2::print_word:31 [ main::i#2 line_cursor#1 print_word::w#6 char_cursor#2 ] main:2::print_word:39 [ line_cursor#1 print_word::w#6 char_cursor#2 ] main:2::print_word:43 [ line_cursor#1 print_word::w#6 char_cursor#2 ] )
[53] (byte) print_byte::b#0 ← > (word) print_word::w#6 [ print_word::w#6 print_byte::b#0 char_cursor#2 ] ( main:2::print_word:13 [ print_word::w#6 print_byte::b#0 char_cursor#2 ] main:2::print_word:17 [ print_word::w#6 print_byte::b#0 char_cursor#2 ] main:2::print_word:27 [ main::i#2 line_cursor#1 print_word::w#6 print_byte::b#0 char_cursor#2 ] main:2::print_word:31 [ main::i#2 line_cursor#1 print_word::w#6 print_byte::b#0 char_cursor#2 ] main:2::print_word:39 [ line_cursor#1 print_word::w#6 print_byte::b#0 char_cursor#2 ] main:2::print_word:43 [ line_cursor#1 print_word::w#6 print_byte::b#0 char_cursor#2 ] )
[54] call print_byte param-assignment [ char_cursor#11 print_word::w#6 ] ( main:2::print_word:13 [ char_cursor#11 print_word::w#6 ] main:2::print_word:17 [ char_cursor#11 print_word::w#6 ] main:2::print_word:27 [ main::i#2 line_cursor#1 char_cursor#11 print_word::w#6 ] main:2::print_word:31 [ main::i#2 line_cursor#1 char_cursor#11 print_word::w#6 ] main:2::print_word:39 [ line_cursor#1 char_cursor#11 print_word::w#6 ] main:2::print_word:43 [ line_cursor#1 char_cursor#11 print_word::w#6 ] )
print_word: scope:[print_word] from main::@11 main::@15 main::@17 main::@19 main::@22 main::@24 main::@26 main::@7 main::@9
[66] (word) print_word::w#10 ← phi( main::@11/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@15/(word) print_word::w#3 main::@17/(word) print_word::w#4 main::@19/(word) print_word::w#5 main::@22/(word/signed word/dword/signed dword) 29793 main::@24/(word/dword/signed dword) 63361 main::@26/(word/signed word/dword/signed dword) 25736 main::@7/(word/signed word/dword/signed dword) 557 main::@9/(word/signed word/dword/signed dword) 31179 ) [ print_word::w#10 char_cursor#2 ] ( main:2::print_word:15 [ print_word::w#10 char_cursor#2 ] main:2::print_word:19 [ print_word::w#10 char_cursor#2 ] main:2::print_word:23 [ print_word::w#10 char_cursor#2 ] main:2::print_word:33 [ main::i#10 line_cursor#1 print_word::w#10 char_cursor#2 ] main:2::print_word:37 [ main::i#10 line_cursor#1 print_word::w#10 char_cursor#2 ] main:2::print_word:41 [ main::i#10 line_cursor#1 print_word::w#10 char_cursor#2 ] main:2::print_word:49 [ line_cursor#1 print_word::w#10 char_cursor#2 ] main:2::print_word:53 [ line_cursor#1 print_word::w#10 char_cursor#2 ] main:2::print_word:57 [ line_cursor#1 print_word::w#10 char_cursor#2 ] )
[67] (byte) print_byte::b#0 ← > (word) print_word::w#10 [ print_word::w#10 print_byte::b#0 char_cursor#2 ] ( main:2::print_word:15 [ print_word::w#10 print_byte::b#0 char_cursor#2 ] main:2::print_word:19 [ print_word::w#10 print_byte::b#0 char_cursor#2 ] main:2::print_word:23 [ print_word::w#10 print_byte::b#0 char_cursor#2 ] main:2::print_word:33 [ main::i#10 line_cursor#1 print_word::w#10 print_byte::b#0 char_cursor#2 ] main:2::print_word:37 [ main::i#10 line_cursor#1 print_word::w#10 print_byte::b#0 char_cursor#2 ] main:2::print_word:41 [ main::i#10 line_cursor#1 print_word::w#10 print_byte::b#0 char_cursor#2 ] main:2::print_word:49 [ line_cursor#1 print_word::w#10 print_byte::b#0 char_cursor#2 ] main:2::print_word:53 [ line_cursor#1 print_word::w#10 print_byte::b#0 char_cursor#2 ] main:2::print_word:57 [ line_cursor#1 print_word::w#10 print_byte::b#0 char_cursor#2 ] )
[68] call print_byte param-assignment [ char_cursor#11 print_word::w#10 ] ( main:2::print_word:15 [ char_cursor#11 print_word::w#10 ] main:2::print_word:19 [ char_cursor#11 print_word::w#10 ] main:2::print_word:23 [ char_cursor#11 print_word::w#10 ] main:2::print_word:33 [ main::i#10 line_cursor#1 char_cursor#11 print_word::w#10 ] main:2::print_word:37 [ main::i#10 line_cursor#1 char_cursor#11 print_word::w#10 ] main:2::print_word:41 [ main::i#10 line_cursor#1 char_cursor#11 print_word::w#10 ] main:2::print_word:49 [ line_cursor#1 char_cursor#11 print_word::w#10 ] main:2::print_word:53 [ line_cursor#1 char_cursor#11 print_word::w#10 ] main:2::print_word:57 [ line_cursor#1 char_cursor#11 print_word::w#10 ] )
to:print_word::@1
print_word::@1: scope:[print_word] from print_word
[55] (byte) print_byte::b#1 ← < (word) print_word::w#6 [ char_cursor#11 print_byte::b#1 ] ( main:2::print_word:13 [ char_cursor#11 print_byte::b#1 ] main:2::print_word:17 [ char_cursor#11 print_byte::b#1 ] main:2::print_word:27 [ main::i#2 line_cursor#1 char_cursor#11 print_byte::b#1 ] main:2::print_word:31 [ main::i#2 line_cursor#1 char_cursor#11 print_byte::b#1 ] main:2::print_word:39 [ line_cursor#1 char_cursor#11 print_byte::b#1 ] main:2::print_word:43 [ line_cursor#1 char_cursor#11 print_byte::b#1 ] )
[56] call print_byte param-assignment [ char_cursor#11 ] ( main:2::print_word:13 [ char_cursor#11 ] main:2::print_word:17 [ char_cursor#11 ] main:2::print_word:27 [ main::i#2 line_cursor#1 char_cursor#11 ] main:2::print_word:31 [ main::i#2 line_cursor#1 char_cursor#11 ] main:2::print_word:39 [ line_cursor#1 char_cursor#11 ] main:2::print_word:43 [ line_cursor#1 char_cursor#11 ] )
[69] (byte) print_byte::b#1 ← < (word) print_word::w#10 [ char_cursor#11 print_byte::b#1 ] ( main:2::print_word:15 [ char_cursor#11 print_byte::b#1 ] main:2::print_word:19 [ char_cursor#11 print_byte::b#1 ] main:2::print_word:23 [ char_cursor#11 print_byte::b#1 ] main:2::print_word:33 [ main::i#10 line_cursor#1 char_cursor#11 print_byte::b#1 ] main:2::print_word:37 [ main::i#10 line_cursor#1 char_cursor#11 print_byte::b#1 ] main:2::print_word:41 [ main::i#10 line_cursor#1 char_cursor#11 print_byte::b#1 ] main:2::print_word:49 [ line_cursor#1 char_cursor#11 print_byte::b#1 ] main:2::print_word:53 [ line_cursor#1 char_cursor#11 print_byte::b#1 ] main:2::print_word:57 [ line_cursor#1 char_cursor#11 print_byte::b#1 ] )
[70] call print_byte param-assignment [ char_cursor#11 ] ( main:2::print_word:15 [ char_cursor#11 ] main:2::print_word:19 [ char_cursor#11 ] main:2::print_word:23 [ char_cursor#11 ] main:2::print_word:33 [ main::i#10 line_cursor#1 char_cursor#11 ] main:2::print_word:37 [ main::i#10 line_cursor#1 char_cursor#11 ] main:2::print_word:41 [ main::i#10 line_cursor#1 char_cursor#11 ] main:2::print_word:49 [ line_cursor#1 char_cursor#11 ] main:2::print_word:53 [ line_cursor#1 char_cursor#11 ] main:2::print_word:57 [ line_cursor#1 char_cursor#11 ] )
to:print_word::@return
print_word::@return: scope:[print_word] from print_word::@1
[57] return [ char_cursor#11 ] ( main:2::print_word:13 [ char_cursor#11 ] main:2::print_word:17 [ char_cursor#11 ] main:2::print_word:27 [ main::i#2 line_cursor#1 char_cursor#11 ] main:2::print_word:31 [ main::i#2 line_cursor#1 char_cursor#11 ] main:2::print_word:39 [ line_cursor#1 char_cursor#11 ] main:2::print_word:43 [ line_cursor#1 char_cursor#11 ] )
[71] return [ char_cursor#11 ] ( main:2::print_word:15 [ char_cursor#11 ] main:2::print_word:19 [ char_cursor#11 ] main:2::print_word:23 [ char_cursor#11 ] main:2::print_word:33 [ main::i#10 line_cursor#1 char_cursor#11 ] main:2::print_word:37 [ main::i#10 line_cursor#1 char_cursor#11 ] main:2::print_word:41 [ main::i#10 line_cursor#1 char_cursor#11 ] main:2::print_word:49 [ line_cursor#1 char_cursor#11 ] main:2::print_word:53 [ line_cursor#1 char_cursor#11 ] main:2::print_word:57 [ line_cursor#1 char_cursor#11 ] )
to:@return
print_byte: scope:[print_byte] from main::@1 print_word print_word::@1
[58] (byte*) char_cursor#69 ← phi( main::@1/(byte*~) char_cursor#77 print_word/(byte*) char_cursor#2 print_word::@1/(byte*) char_cursor#11 ) [ print_byte::b#3 char_cursor#69 ] ( main:2::print_byte:23 [ main::i#2 line_cursor#1 print_byte::b#3 char_cursor#69 ] main:2::print_word:13::print_byte:54 [ print_word::w#6 print_byte::b#3 char_cursor#69 ] main:2::print_word:17::print_byte:54 [ print_word::w#6 print_byte::b#3 char_cursor#69 ] main:2::print_word:27::print_byte:54 [ main::i#2 line_cursor#1 print_word::w#6 print_byte::b#3 char_cursor#69 ] main:2::print_word:31::print_byte:54 [ main::i#2 line_cursor#1 print_word::w#6 print_byte::b#3 char_cursor#69 ] main:2::print_word:39::print_byte:54 [ line_cursor#1 print_word::w#6 print_byte::b#3 char_cursor#69 ] main:2::print_word:43::print_byte:54 [ line_cursor#1 print_word::w#6 print_byte::b#3 char_cursor#69 ] main:2::print_word:13::print_byte:56 [ print_byte::b#3 char_cursor#69 ] main:2::print_word:17::print_byte:56 [ print_byte::b#3 char_cursor#69 ] main:2::print_word:27::print_byte:56 [ main::i#2 line_cursor#1 print_byte::b#3 char_cursor#69 ] main:2::print_word:31::print_byte:56 [ main::i#2 line_cursor#1 print_byte::b#3 char_cursor#69 ] main:2::print_word:39::print_byte:56 [ line_cursor#1 print_byte::b#3 char_cursor#69 ] main:2::print_word:43::print_byte:56 [ line_cursor#1 print_byte::b#3 char_cursor#69 ] )
[58] (byte) print_byte::b#3 ← phi( main::@1/(byte) print_byte::b#2 print_word/(byte) print_byte::b#0 print_word::@1/(byte) print_byte::b#1 ) [ print_byte::b#3 char_cursor#69 ] ( main:2::print_byte:23 [ main::i#2 line_cursor#1 print_byte::b#3 char_cursor#69 ] main:2::print_word:13::print_byte:54 [ print_word::w#6 print_byte::b#3 char_cursor#69 ] main:2::print_word:17::print_byte:54 [ print_word::w#6 print_byte::b#3 char_cursor#69 ] main:2::print_word:27::print_byte:54 [ main::i#2 line_cursor#1 print_word::w#6 print_byte::b#3 char_cursor#69 ] main:2::print_word:31::print_byte:54 [ main::i#2 line_cursor#1 print_word::w#6 print_byte::b#3 char_cursor#69 ] main:2::print_word:39::print_byte:54 [ line_cursor#1 print_word::w#6 print_byte::b#3 char_cursor#69 ] main:2::print_word:43::print_byte:54 [ line_cursor#1 print_word::w#6 print_byte::b#3 char_cursor#69 ] main:2::print_word:13::print_byte:56 [ print_byte::b#3 char_cursor#69 ] main:2::print_word:17::print_byte:56 [ print_byte::b#3 char_cursor#69 ] main:2::print_word:27::print_byte:56 [ main::i#2 line_cursor#1 print_byte::b#3 char_cursor#69 ] main:2::print_word:31::print_byte:56 [ main::i#2 line_cursor#1 print_byte::b#3 char_cursor#69 ] main:2::print_word:39::print_byte:56 [ line_cursor#1 print_byte::b#3 char_cursor#69 ] main:2::print_word:43::print_byte:56 [ line_cursor#1 print_byte::b#3 char_cursor#69 ] )
[59] (byte~) print_byte::$0 ← (byte) print_byte::b#3 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ print_byte::b#3 char_cursor#69 print_byte::$0 ] ( main:2::print_byte:23 [ main::i#2 line_cursor#1 print_byte::b#3 char_cursor#69 print_byte::$0 ] main:2::print_word:13::print_byte:54 [ print_word::w#6 print_byte::b#3 char_cursor#69 print_byte::$0 ] main:2::print_word:17::print_byte:54 [ print_word::w#6 print_byte::b#3 char_cursor#69 print_byte::$0 ] main:2::print_word:27::print_byte:54 [ main::i#2 line_cursor#1 print_word::w#6 print_byte::b#3 char_cursor#69 print_byte::$0 ] main:2::print_word:31::print_byte:54 [ main::i#2 line_cursor#1 print_word::w#6 print_byte::b#3 char_cursor#69 print_byte::$0 ] main:2::print_word:39::print_byte:54 [ line_cursor#1 print_word::w#6 print_byte::b#3 char_cursor#69 print_byte::$0 ] main:2::print_word:43::print_byte:54 [ line_cursor#1 print_word::w#6 print_byte::b#3 char_cursor#69 print_byte::$0 ] main:2::print_word:13::print_byte:56 [ print_byte::b#3 char_cursor#69 print_byte::$0 ] main:2::print_word:17::print_byte:56 [ print_byte::b#3 char_cursor#69 print_byte::$0 ] main:2::print_word:27::print_byte:56 [ main::i#2 line_cursor#1 print_byte::b#3 char_cursor#69 print_byte::$0 ] main:2::print_word:31::print_byte:56 [ main::i#2 line_cursor#1 print_byte::b#3 char_cursor#69 print_byte::$0 ] main:2::print_word:39::print_byte:56 [ line_cursor#1 print_byte::b#3 char_cursor#69 print_byte::$0 ] main:2::print_word:43::print_byte:56 [ line_cursor#1 print_byte::b#3 char_cursor#69 print_byte::$0 ] )
[60] (byte) print_char::ch#0 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$0) [ print_byte::b#3 char_cursor#69 print_char::ch#0 ] ( main:2::print_byte:23 [ main::i#2 line_cursor#1 print_byte::b#3 char_cursor#69 print_char::ch#0 ] main:2::print_word:13::print_byte:54 [ print_word::w#6 print_byte::b#3 char_cursor#69 print_char::ch#0 ] main:2::print_word:17::print_byte:54 [ print_word::w#6 print_byte::b#3 char_cursor#69 print_char::ch#0 ] main:2::print_word:27::print_byte:54 [ main::i#2 line_cursor#1 print_word::w#6 print_byte::b#3 char_cursor#69 print_char::ch#0 ] main:2::print_word:31::print_byte:54 [ main::i#2 line_cursor#1 print_word::w#6 print_byte::b#3 char_cursor#69 print_char::ch#0 ] main:2::print_word:39::print_byte:54 [ line_cursor#1 print_word::w#6 print_byte::b#3 char_cursor#69 print_char::ch#0 ] main:2::print_word:43::print_byte:54 [ line_cursor#1 print_word::w#6 print_byte::b#3 char_cursor#69 print_char::ch#0 ] main:2::print_word:13::print_byte:56 [ print_byte::b#3 char_cursor#69 print_char::ch#0 ] main:2::print_word:17::print_byte:56 [ print_byte::b#3 char_cursor#69 print_char::ch#0 ] main:2::print_word:27::print_byte:56 [ main::i#2 line_cursor#1 print_byte::b#3 char_cursor#69 print_char::ch#0 ] main:2::print_word:31::print_byte:56 [ main::i#2 line_cursor#1 print_byte::b#3 char_cursor#69 print_char::ch#0 ] main:2::print_word:39::print_byte:56 [ line_cursor#1 print_byte::b#3 char_cursor#69 print_char::ch#0 ] main:2::print_word:43::print_byte:56 [ line_cursor#1 print_byte::b#3 char_cursor#69 print_char::ch#0 ] )
[61] call print_char param-assignment [ char_cursor#11 print_byte::b#3 ] ( main:2::print_byte:23 [ main::i#2 line_cursor#1 char_cursor#11 print_byte::b#3 ] main:2::print_word:13::print_byte:54 [ print_word::w#6 char_cursor#11 print_byte::b#3 ] main:2::print_word:17::print_byte:54 [ print_word::w#6 char_cursor#11 print_byte::b#3 ] main:2::print_word:27::print_byte:54 [ main::i#2 line_cursor#1 print_word::w#6 char_cursor#11 print_byte::b#3 ] main:2::print_word:31::print_byte:54 [ main::i#2 line_cursor#1 print_word::w#6 char_cursor#11 print_byte::b#3 ] main:2::print_word:39::print_byte:54 [ line_cursor#1 print_word::w#6 char_cursor#11 print_byte::b#3 ] main:2::print_word:43::print_byte:54 [ line_cursor#1 print_word::w#6 char_cursor#11 print_byte::b#3 ] main:2::print_word:13::print_byte:56 [ char_cursor#11 print_byte::b#3 ] main:2::print_word:17::print_byte:56 [ char_cursor#11 print_byte::b#3 ] main:2::print_word:27::print_byte:56 [ main::i#2 line_cursor#1 char_cursor#11 print_byte::b#3 ] main:2::print_word:31::print_byte:56 [ main::i#2 line_cursor#1 char_cursor#11 print_byte::b#3 ] main:2::print_word:39::print_byte:56 [ line_cursor#1 char_cursor#11 print_byte::b#3 ] main:2::print_word:43::print_byte:56 [ line_cursor#1 char_cursor#11 print_byte::b#3 ] )
[72] (byte*) char_cursor#81 ← phi( main::@1/(byte*~) char_cursor#90 print_word/(byte*) char_cursor#2 print_word::@1/(byte*) char_cursor#11 ) [ print_byte::b#3 char_cursor#81 ] ( main:2::print_byte:29 [ main::i#10 line_cursor#1 print_byte::b#3 char_cursor#81 ] main:2::print_word:15::print_byte:68 [ print_word::w#10 print_byte::b#3 char_cursor#81 ] main:2::print_word:19::print_byte:68 [ print_word::w#10 print_byte::b#3 char_cursor#81 ] main:2::print_word:23::print_byte:68 [ print_word::w#10 print_byte::b#3 char_cursor#81 ] main:2::print_word:33::print_byte:68 [ main::i#10 line_cursor#1 print_word::w#10 print_byte::b#3 char_cursor#81 ] main:2::print_word:37::print_byte:68 [ main::i#10 line_cursor#1 print_word::w#10 print_byte::b#3 char_cursor#81 ] main:2::print_word:41::print_byte:68 [ main::i#10 line_cursor#1 print_word::w#10 print_byte::b#3 char_cursor#81 ] main:2::print_word:49::print_byte:68 [ line_cursor#1 print_word::w#10 print_byte::b#3 char_cursor#81 ] main:2::print_word:53::print_byte:68 [ line_cursor#1 print_word::w#10 print_byte::b#3 char_cursor#81 ] main:2::print_word:57::print_byte:68 [ line_cursor#1 print_word::w#10 print_byte::b#3 char_cursor#81 ] main:2::print_word:15::print_byte:70 [ print_byte::b#3 char_cursor#81 ] main:2::print_word:19::print_byte:70 [ print_byte::b#3 char_cursor#81 ] main:2::print_word:23::print_byte:70 [ print_byte::b#3 char_cursor#81 ] main:2::print_word:33::print_byte:70 [ main::i#10 line_cursor#1 print_byte::b#3 char_cursor#81 ] main:2::print_word:37::print_byte:70 [ main::i#10 line_cursor#1 print_byte::b#3 char_cursor#81 ] main:2::print_word:41::print_byte:70 [ main::i#10 line_cursor#1 print_byte::b#3 char_cursor#81 ] main:2::print_word:49::print_byte:70 [ line_cursor#1 print_byte::b#3 char_cursor#81 ] main:2::print_word:53::print_byte:70 [ line_cursor#1 print_byte::b#3 char_cursor#81 ] main:2::print_word:57::print_byte:70 [ line_cursor#1 print_byte::b#3 char_cursor#81 ] )
[72] (byte) print_byte::b#3 ← phi( main::@1/(byte) print_byte::b#2 print_word/(byte) print_byte::b#0 print_word::@1/(byte) print_byte::b#1 ) [ print_byte::b#3 char_cursor#81 ] ( main:2::print_byte:29 [ main::i#10 line_cursor#1 print_byte::b#3 char_cursor#81 ] main:2::print_word:15::print_byte:68 [ print_word::w#10 print_byte::b#3 char_cursor#81 ] main:2::print_word:19::print_byte:68 [ print_word::w#10 print_byte::b#3 char_cursor#81 ] main:2::print_word:23::print_byte:68 [ print_word::w#10 print_byte::b#3 char_cursor#81 ] main:2::print_word:33::print_byte:68 [ main::i#10 line_cursor#1 print_word::w#10 print_byte::b#3 char_cursor#81 ] main:2::print_word:37::print_byte:68 [ main::i#10 line_cursor#1 print_word::w#10 print_byte::b#3 char_cursor#81 ] main:2::print_word:41::print_byte:68 [ main::i#10 line_cursor#1 print_word::w#10 print_byte::b#3 char_cursor#81 ] main:2::print_word:49::print_byte:68 [ line_cursor#1 print_word::w#10 print_byte::b#3 char_cursor#81 ] main:2::print_word:53::print_byte:68 [ line_cursor#1 print_word::w#10 print_byte::b#3 char_cursor#81 ] main:2::print_word:57::print_byte:68 [ line_cursor#1 print_word::w#10 print_byte::b#3 char_cursor#81 ] main:2::print_word:15::print_byte:70 [ print_byte::b#3 char_cursor#81 ] main:2::print_word:19::print_byte:70 [ print_byte::b#3 char_cursor#81 ] main:2::print_word:23::print_byte:70 [ print_byte::b#3 char_cursor#81 ] main:2::print_word:33::print_byte:70 [ main::i#10 line_cursor#1 print_byte::b#3 char_cursor#81 ] main:2::print_word:37::print_byte:70 [ main::i#10 line_cursor#1 print_byte::b#3 char_cursor#81 ] main:2::print_word:41::print_byte:70 [ main::i#10 line_cursor#1 print_byte::b#3 char_cursor#81 ] main:2::print_word:49::print_byte:70 [ line_cursor#1 print_byte::b#3 char_cursor#81 ] main:2::print_word:53::print_byte:70 [ line_cursor#1 print_byte::b#3 char_cursor#81 ] main:2::print_word:57::print_byte:70 [ line_cursor#1 print_byte::b#3 char_cursor#81 ] )
[73] (byte~) print_byte::$0 ← (byte) print_byte::b#3 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ print_byte::b#3 char_cursor#81 print_byte::$0 ] ( main:2::print_byte:29 [ main::i#10 line_cursor#1 print_byte::b#3 char_cursor#81 print_byte::$0 ] main:2::print_word:15::print_byte:68 [ print_word::w#10 print_byte::b#3 char_cursor#81 print_byte::$0 ] main:2::print_word:19::print_byte:68 [ print_word::w#10 print_byte::b#3 char_cursor#81 print_byte::$0 ] main:2::print_word:23::print_byte:68 [ print_word::w#10 print_byte::b#3 char_cursor#81 print_byte::$0 ] main:2::print_word:33::print_byte:68 [ main::i#10 line_cursor#1 print_word::w#10 print_byte::b#3 char_cursor#81 print_byte::$0 ] main:2::print_word:37::print_byte:68 [ main::i#10 line_cursor#1 print_word::w#10 print_byte::b#3 char_cursor#81 print_byte::$0 ] main:2::print_word:41::print_byte:68 [ main::i#10 line_cursor#1 print_word::w#10 print_byte::b#3 char_cursor#81 print_byte::$0 ] main:2::print_word:49::print_byte:68 [ line_cursor#1 print_word::w#10 print_byte::b#3 char_cursor#81 print_byte::$0 ] main:2::print_word:53::print_byte:68 [ line_cursor#1 print_word::w#10 print_byte::b#3 char_cursor#81 print_byte::$0 ] main:2::print_word:57::print_byte:68 [ line_cursor#1 print_word::w#10 print_byte::b#3 char_cursor#81 print_byte::$0 ] main:2::print_word:15::print_byte:70 [ print_byte::b#3 char_cursor#81 print_byte::$0 ] main:2::print_word:19::print_byte:70 [ print_byte::b#3 char_cursor#81 print_byte::$0 ] main:2::print_word:23::print_byte:70 [ print_byte::b#3 char_cursor#81 print_byte::$0 ] main:2::print_word:33::print_byte:70 [ main::i#10 line_cursor#1 print_byte::b#3 char_cursor#81 print_byte::$0 ] main:2::print_word:37::print_byte:70 [ main::i#10 line_cursor#1 print_byte::b#3 char_cursor#81 print_byte::$0 ] main:2::print_word:41::print_byte:70 [ main::i#10 line_cursor#1 print_byte::b#3 char_cursor#81 print_byte::$0 ] main:2::print_word:49::print_byte:70 [ line_cursor#1 print_byte::b#3 char_cursor#81 print_byte::$0 ] main:2::print_word:53::print_byte:70 [ line_cursor#1 print_byte::b#3 char_cursor#81 print_byte::$0 ] main:2::print_word:57::print_byte:70 [ line_cursor#1 print_byte::b#3 char_cursor#81 print_byte::$0 ] )
[74] (byte) print_char::ch#0 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$0) [ print_byte::b#3 char_cursor#81 print_char::ch#0 ] ( main:2::print_byte:29 [ main::i#10 line_cursor#1 print_byte::b#3 char_cursor#81 print_char::ch#0 ] main:2::print_word:15::print_byte:68 [ print_word::w#10 print_byte::b#3 char_cursor#81 print_char::ch#0 ] main:2::print_word:19::print_byte:68 [ print_word::w#10 print_byte::b#3 char_cursor#81 print_char::ch#0 ] main:2::print_word:23::print_byte:68 [ print_word::w#10 print_byte::b#3 char_cursor#81 print_char::ch#0 ] main:2::print_word:33::print_byte:68 [ main::i#10 line_cursor#1 print_word::w#10 print_byte::b#3 char_cursor#81 print_char::ch#0 ] main:2::print_word:37::print_byte:68 [ main::i#10 line_cursor#1 print_word::w#10 print_byte::b#3 char_cursor#81 print_char::ch#0 ] main:2::print_word:41::print_byte:68 [ main::i#10 line_cursor#1 print_word::w#10 print_byte::b#3 char_cursor#81 print_char::ch#0 ] main:2::print_word:49::print_byte:68 [ line_cursor#1 print_word::w#10 print_byte::b#3 char_cursor#81 print_char::ch#0 ] main:2::print_word:53::print_byte:68 [ line_cursor#1 print_word::w#10 print_byte::b#3 char_cursor#81 print_char::ch#0 ] main:2::print_word:57::print_byte:68 [ line_cursor#1 print_word::w#10 print_byte::b#3 char_cursor#81 print_char::ch#0 ] main:2::print_word:15::print_byte:70 [ print_byte::b#3 char_cursor#81 print_char::ch#0 ] main:2::print_word:19::print_byte:70 [ print_byte::b#3 char_cursor#81 print_char::ch#0 ] main:2::print_word:23::print_byte:70 [ print_byte::b#3 char_cursor#81 print_char::ch#0 ] main:2::print_word:33::print_byte:70 [ main::i#10 line_cursor#1 print_byte::b#3 char_cursor#81 print_char::ch#0 ] main:2::print_word:37::print_byte:70 [ main::i#10 line_cursor#1 print_byte::b#3 char_cursor#81 print_char::ch#0 ] main:2::print_word:41::print_byte:70 [ main::i#10 line_cursor#1 print_byte::b#3 char_cursor#81 print_char::ch#0 ] main:2::print_word:49::print_byte:70 [ line_cursor#1 print_byte::b#3 char_cursor#81 print_char::ch#0 ] main:2::print_word:53::print_byte:70 [ line_cursor#1 print_byte::b#3 char_cursor#81 print_char::ch#0 ] main:2::print_word:57::print_byte:70 [ line_cursor#1 print_byte::b#3 char_cursor#81 print_char::ch#0 ] )
[75] call print_char param-assignment [ char_cursor#11 print_byte::b#3 ] ( main:2::print_byte:29 [ main::i#10 line_cursor#1 char_cursor#11 print_byte::b#3 ] main:2::print_word:15::print_byte:68 [ print_word::w#10 char_cursor#11 print_byte::b#3 ] main:2::print_word:19::print_byte:68 [ print_word::w#10 char_cursor#11 print_byte::b#3 ] main:2::print_word:23::print_byte:68 [ print_word::w#10 char_cursor#11 print_byte::b#3 ] main:2::print_word:33::print_byte:68 [ main::i#10 line_cursor#1 print_word::w#10 char_cursor#11 print_byte::b#3 ] main:2::print_word:37::print_byte:68 [ main::i#10 line_cursor#1 print_word::w#10 char_cursor#11 print_byte::b#3 ] main:2::print_word:41::print_byte:68 [ main::i#10 line_cursor#1 print_word::w#10 char_cursor#11 print_byte::b#3 ] main:2::print_word:49::print_byte:68 [ line_cursor#1 print_word::w#10 char_cursor#11 print_byte::b#3 ] main:2::print_word:53::print_byte:68 [ line_cursor#1 print_word::w#10 char_cursor#11 print_byte::b#3 ] main:2::print_word:57::print_byte:68 [ line_cursor#1 print_word::w#10 char_cursor#11 print_byte::b#3 ] main:2::print_word:15::print_byte:70 [ char_cursor#11 print_byte::b#3 ] main:2::print_word:19::print_byte:70 [ char_cursor#11 print_byte::b#3 ] main:2::print_word:23::print_byte:70 [ char_cursor#11 print_byte::b#3 ] main:2::print_word:33::print_byte:70 [ main::i#10 line_cursor#1 char_cursor#11 print_byte::b#3 ] main:2::print_word:37::print_byte:70 [ main::i#10 line_cursor#1 char_cursor#11 print_byte::b#3 ] main:2::print_word:41::print_byte:70 [ main::i#10 line_cursor#1 char_cursor#11 print_byte::b#3 ] main:2::print_word:49::print_byte:70 [ line_cursor#1 char_cursor#11 print_byte::b#3 ] main:2::print_word:53::print_byte:70 [ line_cursor#1 char_cursor#11 print_byte::b#3 ] main:2::print_word:57::print_byte:70 [ line_cursor#1 char_cursor#11 print_byte::b#3 ] )
to:print_byte::@1
print_byte::@1: scope:[print_byte] from print_byte
[62] (byte~) print_byte::$2 ← (byte) print_byte::b#3 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ char_cursor#11 print_byte::$2 ] ( main:2::print_byte:23 [ main::i#2 line_cursor#1 char_cursor#11 print_byte::$2 ] main:2::print_word:13::print_byte:54 [ print_word::w#6 char_cursor#11 print_byte::$2 ] main:2::print_word:17::print_byte:54 [ print_word::w#6 char_cursor#11 print_byte::$2 ] main:2::print_word:27::print_byte:54 [ main::i#2 line_cursor#1 print_word::w#6 char_cursor#11 print_byte::$2 ] main:2::print_word:31::print_byte:54 [ main::i#2 line_cursor#1 print_word::w#6 char_cursor#11 print_byte::$2 ] main:2::print_word:39::print_byte:54 [ line_cursor#1 print_word::w#6 char_cursor#11 print_byte::$2 ] main:2::print_word:43::print_byte:54 [ line_cursor#1 print_word::w#6 char_cursor#11 print_byte::$2 ] main:2::print_word:13::print_byte:56 [ char_cursor#11 print_byte::$2 ] main:2::print_word:17::print_byte:56 [ char_cursor#11 print_byte::$2 ] main:2::print_word:27::print_byte:56 [ main::i#2 line_cursor#1 char_cursor#11 print_byte::$2 ] main:2::print_word:31::print_byte:56 [ main::i#2 line_cursor#1 char_cursor#11 print_byte::$2 ] main:2::print_word:39::print_byte:56 [ line_cursor#1 char_cursor#11 print_byte::$2 ] main:2::print_word:43::print_byte:56 [ line_cursor#1 char_cursor#11 print_byte::$2 ] )
[63] (byte) print_char::ch#1 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$2) [ char_cursor#11 print_char::ch#1 ] ( main:2::print_byte:23 [ main::i#2 line_cursor#1 char_cursor#11 print_char::ch#1 ] main:2::print_word:13::print_byte:54 [ print_word::w#6 char_cursor#11 print_char::ch#1 ] main:2::print_word:17::print_byte:54 [ print_word::w#6 char_cursor#11 print_char::ch#1 ] main:2::print_word:27::print_byte:54 [ main::i#2 line_cursor#1 print_word::w#6 char_cursor#11 print_char::ch#1 ] main:2::print_word:31::print_byte:54 [ main::i#2 line_cursor#1 print_word::w#6 char_cursor#11 print_char::ch#1 ] main:2::print_word:39::print_byte:54 [ line_cursor#1 print_word::w#6 char_cursor#11 print_char::ch#1 ] main:2::print_word:43::print_byte:54 [ line_cursor#1 print_word::w#6 char_cursor#11 print_char::ch#1 ] main:2::print_word:13::print_byte:56 [ char_cursor#11 print_char::ch#1 ] main:2::print_word:17::print_byte:56 [ char_cursor#11 print_char::ch#1 ] main:2::print_word:27::print_byte:56 [ main::i#2 line_cursor#1 char_cursor#11 print_char::ch#1 ] main:2::print_word:31::print_byte:56 [ main::i#2 line_cursor#1 char_cursor#11 print_char::ch#1 ] main:2::print_word:39::print_byte:56 [ line_cursor#1 char_cursor#11 print_char::ch#1 ] main:2::print_word:43::print_byte:56 [ line_cursor#1 char_cursor#11 print_char::ch#1 ] )
[64] call print_char param-assignment [ char_cursor#11 ] ( main:2::print_byte:23 [ main::i#2 line_cursor#1 char_cursor#11 ] main:2::print_word:13::print_byte:54 [ print_word::w#6 char_cursor#11 ] main:2::print_word:17::print_byte:54 [ print_word::w#6 char_cursor#11 ] main:2::print_word:27::print_byte:54 [ main::i#2 line_cursor#1 print_word::w#6 char_cursor#11 ] main:2::print_word:31::print_byte:54 [ main::i#2 line_cursor#1 print_word::w#6 char_cursor#11 ] main:2::print_word:39::print_byte:54 [ line_cursor#1 print_word::w#6 char_cursor#11 ] main:2::print_word:43::print_byte:54 [ line_cursor#1 print_word::w#6 char_cursor#11 ] main:2::print_word:13::print_byte:56 [ char_cursor#11 ] main:2::print_word:17::print_byte:56 [ char_cursor#11 ] main:2::print_word:27::print_byte:56 [ main::i#2 line_cursor#1 char_cursor#11 ] main:2::print_word:31::print_byte:56 [ main::i#2 line_cursor#1 char_cursor#11 ] main:2::print_word:39::print_byte:56 [ line_cursor#1 char_cursor#11 ] main:2::print_word:43::print_byte:56 [ line_cursor#1 char_cursor#11 ] )
[76] (byte~) print_byte::$2 ← (byte) print_byte::b#3 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ char_cursor#11 print_byte::$2 ] ( main:2::print_byte:29 [ main::i#10 line_cursor#1 char_cursor#11 print_byte::$2 ] main:2::print_word:15::print_byte:68 [ print_word::w#10 char_cursor#11 print_byte::$2 ] main:2::print_word:19::print_byte:68 [ print_word::w#10 char_cursor#11 print_byte::$2 ] main:2::print_word:23::print_byte:68 [ print_word::w#10 char_cursor#11 print_byte::$2 ] main:2::print_word:33::print_byte:68 [ main::i#10 line_cursor#1 print_word::w#10 char_cursor#11 print_byte::$2 ] main:2::print_word:37::print_byte:68 [ main::i#10 line_cursor#1 print_word::w#10 char_cursor#11 print_byte::$2 ] main:2::print_word:41::print_byte:68 [ main::i#10 line_cursor#1 print_word::w#10 char_cursor#11 print_byte::$2 ] main:2::print_word:49::print_byte:68 [ line_cursor#1 print_word::w#10 char_cursor#11 print_byte::$2 ] main:2::print_word:53::print_byte:68 [ line_cursor#1 print_word::w#10 char_cursor#11 print_byte::$2 ] main:2::print_word:57::print_byte:68 [ line_cursor#1 print_word::w#10 char_cursor#11 print_byte::$2 ] main:2::print_word:15::print_byte:70 [ char_cursor#11 print_byte::$2 ] main:2::print_word:19::print_byte:70 [ char_cursor#11 print_byte::$2 ] main:2::print_word:23::print_byte:70 [ char_cursor#11 print_byte::$2 ] main:2::print_word:33::print_byte:70 [ main::i#10 line_cursor#1 char_cursor#11 print_byte::$2 ] main:2::print_word:37::print_byte:70 [ main::i#10 line_cursor#1 char_cursor#11 print_byte::$2 ] main:2::print_word:41::print_byte:70 [ main::i#10 line_cursor#1 char_cursor#11 print_byte::$2 ] main:2::print_word:49::print_byte:70 [ line_cursor#1 char_cursor#11 print_byte::$2 ] main:2::print_word:53::print_byte:70 [ line_cursor#1 char_cursor#11 print_byte::$2 ] main:2::print_word:57::print_byte:70 [ line_cursor#1 char_cursor#11 print_byte::$2 ] )
[77] (byte) print_char::ch#1 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$2) [ char_cursor#11 print_char::ch#1 ] ( main:2::print_byte:29 [ main::i#10 line_cursor#1 char_cursor#11 print_char::ch#1 ] main:2::print_word:15::print_byte:68 [ print_word::w#10 char_cursor#11 print_char::ch#1 ] main:2::print_word:19::print_byte:68 [ print_word::w#10 char_cursor#11 print_char::ch#1 ] main:2::print_word:23::print_byte:68 [ print_word::w#10 char_cursor#11 print_char::ch#1 ] main:2::print_word:33::print_byte:68 [ main::i#10 line_cursor#1 print_word::w#10 char_cursor#11 print_char::ch#1 ] main:2::print_word:37::print_byte:68 [ main::i#10 line_cursor#1 print_word::w#10 char_cursor#11 print_char::ch#1 ] main:2::print_word:41::print_byte:68 [ main::i#10 line_cursor#1 print_word::w#10 char_cursor#11 print_char::ch#1 ] main:2::print_word:49::print_byte:68 [ line_cursor#1 print_word::w#10 char_cursor#11 print_char::ch#1 ] main:2::print_word:53::print_byte:68 [ line_cursor#1 print_word::w#10 char_cursor#11 print_char::ch#1 ] main:2::print_word:57::print_byte:68 [ line_cursor#1 print_word::w#10 char_cursor#11 print_char::ch#1 ] main:2::print_word:15::print_byte:70 [ char_cursor#11 print_char::ch#1 ] main:2::print_word:19::print_byte:70 [ char_cursor#11 print_char::ch#1 ] main:2::print_word:23::print_byte:70 [ char_cursor#11 print_char::ch#1 ] main:2::print_word:33::print_byte:70 [ main::i#10 line_cursor#1 char_cursor#11 print_char::ch#1 ] main:2::print_word:37::print_byte:70 [ main::i#10 line_cursor#1 char_cursor#11 print_char::ch#1 ] main:2::print_word:41::print_byte:70 [ main::i#10 line_cursor#1 char_cursor#11 print_char::ch#1 ] main:2::print_word:49::print_byte:70 [ line_cursor#1 char_cursor#11 print_char::ch#1 ] main:2::print_word:53::print_byte:70 [ line_cursor#1 char_cursor#11 print_char::ch#1 ] main:2::print_word:57::print_byte:70 [ line_cursor#1 char_cursor#11 print_char::ch#1 ] )
[78] call print_char param-assignment [ char_cursor#11 ] ( main:2::print_byte:29 [ main::i#10 line_cursor#1 char_cursor#11 ] main:2::print_word:15::print_byte:68 [ print_word::w#10 char_cursor#11 ] main:2::print_word:19::print_byte:68 [ print_word::w#10 char_cursor#11 ] main:2::print_word:23::print_byte:68 [ print_word::w#10 char_cursor#11 ] main:2::print_word:33::print_byte:68 [ main::i#10 line_cursor#1 print_word::w#10 char_cursor#11 ] main:2::print_word:37::print_byte:68 [ main::i#10 line_cursor#1 print_word::w#10 char_cursor#11 ] main:2::print_word:41::print_byte:68 [ main::i#10 line_cursor#1 print_word::w#10 char_cursor#11 ] main:2::print_word:49::print_byte:68 [ line_cursor#1 print_word::w#10 char_cursor#11 ] main:2::print_word:53::print_byte:68 [ line_cursor#1 print_word::w#10 char_cursor#11 ] main:2::print_word:57::print_byte:68 [ line_cursor#1 print_word::w#10 char_cursor#11 ] main:2::print_word:15::print_byte:70 [ char_cursor#11 ] main:2::print_word:19::print_byte:70 [ char_cursor#11 ] main:2::print_word:23::print_byte:70 [ char_cursor#11 ] main:2::print_word:33::print_byte:70 [ main::i#10 line_cursor#1 char_cursor#11 ] main:2::print_word:37::print_byte:70 [ main::i#10 line_cursor#1 char_cursor#11 ] main:2::print_word:41::print_byte:70 [ main::i#10 line_cursor#1 char_cursor#11 ] main:2::print_word:49::print_byte:70 [ line_cursor#1 char_cursor#11 ] main:2::print_word:53::print_byte:70 [ line_cursor#1 char_cursor#11 ] main:2::print_word:57::print_byte:70 [ line_cursor#1 char_cursor#11 ] )
to:print_byte::@return
print_byte::@return: scope:[print_byte] from print_byte::@1
[65] return [ char_cursor#11 ] ( main:2::print_byte:23 [ main::i#2 line_cursor#1 char_cursor#11 ] main:2::print_word:13::print_byte:54 [ print_word::w#6 char_cursor#11 ] main:2::print_word:17::print_byte:54 [ print_word::w#6 char_cursor#11 ] main:2::print_word:27::print_byte:54 [ main::i#2 line_cursor#1 print_word::w#6 char_cursor#11 ] main:2::print_word:31::print_byte:54 [ main::i#2 line_cursor#1 print_word::w#6 char_cursor#11 ] main:2::print_word:39::print_byte:54 [ line_cursor#1 print_word::w#6 char_cursor#11 ] main:2::print_word:43::print_byte:54 [ line_cursor#1 print_word::w#6 char_cursor#11 ] main:2::print_word:13::print_byte:56 [ char_cursor#11 ] main:2::print_word:17::print_byte:56 [ char_cursor#11 ] main:2::print_word:27::print_byte:56 [ main::i#2 line_cursor#1 char_cursor#11 ] main:2::print_word:31::print_byte:56 [ main::i#2 line_cursor#1 char_cursor#11 ] main:2::print_word:39::print_byte:56 [ line_cursor#1 char_cursor#11 ] main:2::print_word:43::print_byte:56 [ line_cursor#1 char_cursor#11 ] )
[79] return [ char_cursor#11 ] ( main:2::print_byte:29 [ main::i#10 line_cursor#1 char_cursor#11 ] main:2::print_word:15::print_byte:68 [ print_word::w#10 char_cursor#11 ] main:2::print_word:19::print_byte:68 [ print_word::w#10 char_cursor#11 ] main:2::print_word:23::print_byte:68 [ print_word::w#10 char_cursor#11 ] main:2::print_word:33::print_byte:68 [ main::i#10 line_cursor#1 print_word::w#10 char_cursor#11 ] main:2::print_word:37::print_byte:68 [ main::i#10 line_cursor#1 print_word::w#10 char_cursor#11 ] main:2::print_word:41::print_byte:68 [ main::i#10 line_cursor#1 print_word::w#10 char_cursor#11 ] main:2::print_word:49::print_byte:68 [ line_cursor#1 print_word::w#10 char_cursor#11 ] main:2::print_word:53::print_byte:68 [ line_cursor#1 print_word::w#10 char_cursor#11 ] main:2::print_word:57::print_byte:68 [ line_cursor#1 print_word::w#10 char_cursor#11 ] main:2::print_word:15::print_byte:70 [ char_cursor#11 ] main:2::print_word:19::print_byte:70 [ char_cursor#11 ] main:2::print_word:23::print_byte:70 [ char_cursor#11 ] main:2::print_word:33::print_byte:70 [ main::i#10 line_cursor#1 char_cursor#11 ] main:2::print_word:37::print_byte:70 [ main::i#10 line_cursor#1 char_cursor#11 ] main:2::print_word:41::print_byte:70 [ main::i#10 line_cursor#1 char_cursor#11 ] main:2::print_word:49::print_byte:70 [ line_cursor#1 char_cursor#11 ] main:2::print_word:53::print_byte:70 [ line_cursor#1 char_cursor#11 ] main:2::print_word:57::print_byte:70 [ line_cursor#1 char_cursor#11 ] )
to:@return
print_char: scope:[print_char] from print_byte print_byte::@1
[66] (byte*) char_cursor#44 ← phi( print_byte/(byte*) char_cursor#69 print_byte::@1/(byte*) char_cursor#11 ) [ print_char::ch#2 char_cursor#44 ] ( main:2::print_byte:23::print_char:61 [ main::i#2 line_cursor#1 print_byte::b#3 print_char::ch#2 char_cursor#44 ] main:2::print_word:13::print_byte:54::print_char:61 [ print_word::w#6 print_byte::b#3 print_char::ch#2 char_cursor#44 ] main:2::print_word:17::print_byte:54::print_char:61 [ print_word::w#6 print_byte::b#3 print_char::ch#2 char_cursor#44 ] main:2::print_word:27::print_byte:54::print_char:61 [ main::i#2 line_cursor#1 print_word::w#6 print_byte::b#3 print_char::ch#2 char_cursor#44 ] main:2::print_word:31::print_byte:54::print_char:61 [ main::i#2 line_cursor#1 print_word::w#6 print_byte::b#3 print_char::ch#2 char_cursor#44 ] main:2::print_word:39::print_byte:54::print_char:61 [ line_cursor#1 print_word::w#6 print_byte::b#3 print_char::ch#2 char_cursor#44 ] main:2::print_word:43::print_byte:54::print_char:61 [ line_cursor#1 print_word::w#6 print_byte::b#3 print_char::ch#2 char_cursor#44 ] main:2::print_word:13::print_byte:56::print_char:61 [ print_byte::b#3 print_char::ch#2 char_cursor#44 ] main:2::print_word:17::print_byte:56::print_char:61 [ print_byte::b#3 print_char::ch#2 char_cursor#44 ] main:2::print_word:27::print_byte:56::print_char:61 [ main::i#2 line_cursor#1 print_byte::b#3 print_char::ch#2 char_cursor#44 ] main:2::print_word:31::print_byte:56::print_char:61 [ main::i#2 line_cursor#1 print_byte::b#3 print_char::ch#2 char_cursor#44 ] main:2::print_word:39::print_byte:56::print_char:61 [ line_cursor#1 print_byte::b#3 print_char::ch#2 char_cursor#44 ] main:2::print_word:43::print_byte:56::print_char:61 [ line_cursor#1 print_byte::b#3 print_char::ch#2 char_cursor#44 ] main:2::print_byte:23::print_char:64 [ main::i#2 line_cursor#1 print_char::ch#2 char_cursor#44 ] main:2::print_word:13::print_byte:54::print_char:64 [ print_word::w#6 print_char::ch#2 char_cursor#44 ] main:2::print_word:17::print_byte:54::print_char:64 [ print_word::w#6 print_char::ch#2 char_cursor#44 ] main:2::print_word:27::print_byte:54::print_char:64 [ main::i#2 line_cursor#1 print_word::w#6 print_char::ch#2 char_cursor#44 ] main:2::print_word:31::print_byte:54::print_char:64 [ main::i#2 line_cursor#1 print_word::w#6 print_char::ch#2 char_cursor#44 ] main:2::print_word:39::print_byte:54::print_char:64 [ line_cursor#1 print_word::w#6 print_char::ch#2 char_cursor#44 ] main:2::print_word:43::print_byte:54::print_char:64 [ line_cursor#1 print_word::w#6 print_char::ch#2 char_cursor#44 ] main:2::print_word:13::print_byte:56::print_char:64 [ print_char::ch#2 char_cursor#44 ] main:2::print_word:17::print_byte:56::print_char:64 [ print_char::ch#2 char_cursor#44 ] main:2::print_word:27::print_byte:56::print_char:64 [ main::i#2 line_cursor#1 print_char::ch#2 char_cursor#44 ] main:2::print_word:31::print_byte:56::print_char:64 [ main::i#2 line_cursor#1 print_char::ch#2 char_cursor#44 ] main:2::print_word:39::print_byte:56::print_char:64 [ line_cursor#1 print_char::ch#2 char_cursor#44 ] main:2::print_word:43::print_byte:56::print_char:64 [ line_cursor#1 print_char::ch#2 char_cursor#44 ] )
[66] (byte) print_char::ch#2 ← phi( print_byte/(byte) print_char::ch#0 print_byte::@1/(byte) print_char::ch#1 ) [ print_char::ch#2 char_cursor#44 ] ( main:2::print_byte:23::print_char:61 [ main::i#2 line_cursor#1 print_byte::b#3 print_char::ch#2 char_cursor#44 ] main:2::print_word:13::print_byte:54::print_char:61 [ print_word::w#6 print_byte::b#3 print_char::ch#2 char_cursor#44 ] main:2::print_word:17::print_byte:54::print_char:61 [ print_word::w#6 print_byte::b#3 print_char::ch#2 char_cursor#44 ] main:2::print_word:27::print_byte:54::print_char:61 [ main::i#2 line_cursor#1 print_word::w#6 print_byte::b#3 print_char::ch#2 char_cursor#44 ] main:2::print_word:31::print_byte:54::print_char:61 [ main::i#2 line_cursor#1 print_word::w#6 print_byte::b#3 print_char::ch#2 char_cursor#44 ] main:2::print_word:39::print_byte:54::print_char:61 [ line_cursor#1 print_word::w#6 print_byte::b#3 print_char::ch#2 char_cursor#44 ] main:2::print_word:43::print_byte:54::print_char:61 [ line_cursor#1 print_word::w#6 print_byte::b#3 print_char::ch#2 char_cursor#44 ] main:2::print_word:13::print_byte:56::print_char:61 [ print_byte::b#3 print_char::ch#2 char_cursor#44 ] main:2::print_word:17::print_byte:56::print_char:61 [ print_byte::b#3 print_char::ch#2 char_cursor#44 ] main:2::print_word:27::print_byte:56::print_char:61 [ main::i#2 line_cursor#1 print_byte::b#3 print_char::ch#2 char_cursor#44 ] main:2::print_word:31::print_byte:56::print_char:61 [ main::i#2 line_cursor#1 print_byte::b#3 print_char::ch#2 char_cursor#44 ] main:2::print_word:39::print_byte:56::print_char:61 [ line_cursor#1 print_byte::b#3 print_char::ch#2 char_cursor#44 ] main:2::print_word:43::print_byte:56::print_char:61 [ line_cursor#1 print_byte::b#3 print_char::ch#2 char_cursor#44 ] main:2::print_byte:23::print_char:64 [ main::i#2 line_cursor#1 print_char::ch#2 char_cursor#44 ] main:2::print_word:13::print_byte:54::print_char:64 [ print_word::w#6 print_char::ch#2 char_cursor#44 ] main:2::print_word:17::print_byte:54::print_char:64 [ print_word::w#6 print_char::ch#2 char_cursor#44 ] main:2::print_word:27::print_byte:54::print_char:64 [ main::i#2 line_cursor#1 print_word::w#6 print_char::ch#2 char_cursor#44 ] main:2::print_word:31::print_byte:54::print_char:64 [ main::i#2 line_cursor#1 print_word::w#6 print_char::ch#2 char_cursor#44 ] main:2::print_word:39::print_byte:54::print_char:64 [ line_cursor#1 print_word::w#6 print_char::ch#2 char_cursor#44 ] main:2::print_word:43::print_byte:54::print_char:64 [ line_cursor#1 print_word::w#6 print_char::ch#2 char_cursor#44 ] main:2::print_word:13::print_byte:56::print_char:64 [ print_char::ch#2 char_cursor#44 ] main:2::print_word:17::print_byte:56::print_char:64 [ print_char::ch#2 char_cursor#44 ] main:2::print_word:27::print_byte:56::print_char:64 [ main::i#2 line_cursor#1 print_char::ch#2 char_cursor#44 ] main:2::print_word:31::print_byte:56::print_char:64 [ main::i#2 line_cursor#1 print_char::ch#2 char_cursor#44 ] main:2::print_word:39::print_byte:56::print_char:64 [ line_cursor#1 print_char::ch#2 char_cursor#44 ] main:2::print_word:43::print_byte:56::print_char:64 [ line_cursor#1 print_char::ch#2 char_cursor#44 ] )
[67] *((byte*) char_cursor#44) ← (byte) print_char::ch#2 [ char_cursor#44 ] ( main:2::print_byte:23::print_char:61 [ main::i#2 line_cursor#1 print_byte::b#3 char_cursor#44 ] main:2::print_word:13::print_byte:54::print_char:61 [ print_word::w#6 print_byte::b#3 char_cursor#44 ] main:2::print_word:17::print_byte:54::print_char:61 [ print_word::w#6 print_byte::b#3 char_cursor#44 ] main:2::print_word:27::print_byte:54::print_char:61 [ main::i#2 line_cursor#1 print_word::w#6 print_byte::b#3 char_cursor#44 ] main:2::print_word:31::print_byte:54::print_char:61 [ main::i#2 line_cursor#1 print_word::w#6 print_byte::b#3 char_cursor#44 ] main:2::print_word:39::print_byte:54::print_char:61 [ line_cursor#1 print_word::w#6 print_byte::b#3 char_cursor#44 ] main:2::print_word:43::print_byte:54::print_char:61 [ line_cursor#1 print_word::w#6 print_byte::b#3 char_cursor#44 ] main:2::print_word:13::print_byte:56::print_char:61 [ print_byte::b#3 char_cursor#44 ] main:2::print_word:17::print_byte:56::print_char:61 [ print_byte::b#3 char_cursor#44 ] main:2::print_word:27::print_byte:56::print_char:61 [ main::i#2 line_cursor#1 print_byte::b#3 char_cursor#44 ] main:2::print_word:31::print_byte:56::print_char:61 [ main::i#2 line_cursor#1 print_byte::b#3 char_cursor#44 ] main:2::print_word:39::print_byte:56::print_char:61 [ line_cursor#1 print_byte::b#3 char_cursor#44 ] main:2::print_word:43::print_byte:56::print_char:61 [ line_cursor#1 print_byte::b#3 char_cursor#44 ] main:2::print_byte:23::print_char:64 [ main::i#2 line_cursor#1 char_cursor#44 ] main:2::print_word:13::print_byte:54::print_char:64 [ print_word::w#6 char_cursor#44 ] main:2::print_word:17::print_byte:54::print_char:64 [ print_word::w#6 char_cursor#44 ] main:2::print_word:27::print_byte:54::print_char:64 [ main::i#2 line_cursor#1 print_word::w#6 char_cursor#44 ] main:2::print_word:31::print_byte:54::print_char:64 [ main::i#2 line_cursor#1 print_word::w#6 char_cursor#44 ] main:2::print_word:39::print_byte:54::print_char:64 [ line_cursor#1 print_word::w#6 char_cursor#44 ] main:2::print_word:43::print_byte:54::print_char:64 [ line_cursor#1 print_word::w#6 char_cursor#44 ] main:2::print_word:13::print_byte:56::print_char:64 [ char_cursor#44 ] main:2::print_word:17::print_byte:56::print_char:64 [ char_cursor#44 ] main:2::print_word:27::print_byte:56::print_char:64 [ main::i#2 line_cursor#1 char_cursor#44 ] main:2::print_word:31::print_byte:56::print_char:64 [ main::i#2 line_cursor#1 char_cursor#44 ] main:2::print_word:39::print_byte:56::print_char:64 [ line_cursor#1 char_cursor#44 ] main:2::print_word:43::print_byte:56::print_char:64 [ line_cursor#1 char_cursor#44 ] )
[68] (byte*) char_cursor#11 ← ++ (byte*) char_cursor#44 [ char_cursor#11 ] ( main:2::print_byte:23::print_char:61 [ main::i#2 line_cursor#1 print_byte::b#3 char_cursor#11 ] main:2::print_word:13::print_byte:54::print_char:61 [ print_word::w#6 print_byte::b#3 char_cursor#11 ] main:2::print_word:17::print_byte:54::print_char:61 [ print_word::w#6 print_byte::b#3 char_cursor#11 ] main:2::print_word:27::print_byte:54::print_char:61 [ main::i#2 line_cursor#1 print_word::w#6 print_byte::b#3 char_cursor#11 ] main:2::print_word:31::print_byte:54::print_char:61 [ main::i#2 line_cursor#1 print_word::w#6 print_byte::b#3 char_cursor#11 ] main:2::print_word:39::print_byte:54::print_char:61 [ line_cursor#1 print_word::w#6 print_byte::b#3 char_cursor#11 ] main:2::print_word:43::print_byte:54::print_char:61 [ line_cursor#1 print_word::w#6 print_byte::b#3 char_cursor#11 ] main:2::print_word:13::print_byte:56::print_char:61 [ print_byte::b#3 char_cursor#11 ] main:2::print_word:17::print_byte:56::print_char:61 [ print_byte::b#3 char_cursor#11 ] main:2::print_word:27::print_byte:56::print_char:61 [ main::i#2 line_cursor#1 print_byte::b#3 char_cursor#11 ] main:2::print_word:31::print_byte:56::print_char:61 [ main::i#2 line_cursor#1 print_byte::b#3 char_cursor#11 ] main:2::print_word:39::print_byte:56::print_char:61 [ line_cursor#1 print_byte::b#3 char_cursor#11 ] main:2::print_word:43::print_byte:56::print_char:61 [ line_cursor#1 print_byte::b#3 char_cursor#11 ] main:2::print_byte:23::print_char:64 [ main::i#2 line_cursor#1 char_cursor#11 ] main:2::print_word:13::print_byte:54::print_char:64 [ print_word::w#6 char_cursor#11 ] main:2::print_word:17::print_byte:54::print_char:64 [ print_word::w#6 char_cursor#11 ] main:2::print_word:27::print_byte:54::print_char:64 [ main::i#2 line_cursor#1 print_word::w#6 char_cursor#11 ] main:2::print_word:31::print_byte:54::print_char:64 [ main::i#2 line_cursor#1 print_word::w#6 char_cursor#11 ] main:2::print_word:39::print_byte:54::print_char:64 [ line_cursor#1 print_word::w#6 char_cursor#11 ] main:2::print_word:43::print_byte:54::print_char:64 [ line_cursor#1 print_word::w#6 char_cursor#11 ] main:2::print_word:13::print_byte:56::print_char:64 [ char_cursor#11 ] main:2::print_word:17::print_byte:56::print_char:64 [ char_cursor#11 ] main:2::print_word:27::print_byte:56::print_char:64 [ main::i#2 line_cursor#1 char_cursor#11 ] main:2::print_word:31::print_byte:56::print_char:64 [ main::i#2 line_cursor#1 char_cursor#11 ] main:2::print_word:39::print_byte:56::print_char:64 [ line_cursor#1 char_cursor#11 ] main:2::print_word:43::print_byte:56::print_char:64 [ line_cursor#1 char_cursor#11 ] )
[80] (byte*) char_cursor#50 ← phi( print_byte/(byte*) char_cursor#81 print_byte::@1/(byte*) char_cursor#11 ) [ print_char::ch#2 char_cursor#50 ] ( main:2::print_byte:29::print_char:75 [ main::i#10 line_cursor#1 print_byte::b#3 print_char::ch#2 char_cursor#50 ] main:2::print_word:15::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char::ch#2 char_cursor#50 ] main:2::print_word:19::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char::ch#2 char_cursor#50 ] main:2::print_word:23::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char::ch#2 char_cursor#50 ] main:2::print_word:33::print_byte:68::print_char:75 [ main::i#10 line_cursor#1 print_word::w#10 print_byte::b#3 print_char::ch#2 char_cursor#50 ] main:2::print_word:37::print_byte:68::print_char:75 [ main::i#10 line_cursor#1 print_word::w#10 print_byte::b#3 print_char::ch#2 char_cursor#50 ] main:2::print_word:41::print_byte:68::print_char:75 [ main::i#10 line_cursor#1 print_word::w#10 print_byte::b#3 print_char::ch#2 char_cursor#50 ] main:2::print_word:49::print_byte:68::print_char:75 [ line_cursor#1 print_word::w#10 print_byte::b#3 print_char::ch#2 char_cursor#50 ] main:2::print_word:53::print_byte:68::print_char:75 [ line_cursor#1 print_word::w#10 print_byte::b#3 print_char::ch#2 char_cursor#50 ] main:2::print_word:57::print_byte:68::print_char:75 [ line_cursor#1 print_word::w#10 print_byte::b#3 print_char::ch#2 char_cursor#50 ] main:2::print_word:15::print_byte:70::print_char:75 [ print_byte::b#3 print_char::ch#2 char_cursor#50 ] main:2::print_word:19::print_byte:70::print_char:75 [ print_byte::b#3 print_char::ch#2 char_cursor#50 ] main:2::print_word:23::print_byte:70::print_char:75 [ print_byte::b#3 print_char::ch#2 char_cursor#50 ] main:2::print_word:33::print_byte:70::print_char:75 [ main::i#10 line_cursor#1 print_byte::b#3 print_char::ch#2 char_cursor#50 ] main:2::print_word:37::print_byte:70::print_char:75 [ main::i#10 line_cursor#1 print_byte::b#3 print_char::ch#2 char_cursor#50 ] main:2::print_word:41::print_byte:70::print_char:75 [ main::i#10 line_cursor#1 print_byte::b#3 print_char::ch#2 char_cursor#50 ] main:2::print_word:49::print_byte:70::print_char:75 [ line_cursor#1 print_byte::b#3 print_char::ch#2 char_cursor#50 ] main:2::print_word:53::print_byte:70::print_char:75 [ line_cursor#1 print_byte::b#3 print_char::ch#2 char_cursor#50 ] main:2::print_word:57::print_byte:70::print_char:75 [ line_cursor#1 print_byte::b#3 print_char::ch#2 char_cursor#50 ] main:2::print_byte:29::print_char:78 [ main::i#10 line_cursor#1 print_char::ch#2 char_cursor#50 ] main:2::print_word:15::print_byte:68::print_char:78 [ print_word::w#10 print_char::ch#2 char_cursor#50 ] main:2::print_word:19::print_byte:68::print_char:78 [ print_word::w#10 print_char::ch#2 char_cursor#50 ] main:2::print_word:23::print_byte:68::print_char:78 [ print_word::w#10 print_char::ch#2 char_cursor#50 ] main:2::print_word:33::print_byte:68::print_char:78 [ main::i#10 line_cursor#1 print_word::w#10 print_char::ch#2 char_cursor#50 ] main:2::print_word:37::print_byte:68::print_char:78 [ main::i#10 line_cursor#1 print_word::w#10 print_char::ch#2 char_cursor#50 ] main:2::print_word:41::print_byte:68::print_char:78 [ main::i#10 line_cursor#1 print_word::w#10 print_char::ch#2 char_cursor#50 ] main:2::print_word:49::print_byte:68::print_char:78 [ line_cursor#1 print_word::w#10 print_char::ch#2 char_cursor#50 ] main:2::print_word:53::print_byte:68::print_char:78 [ line_cursor#1 print_word::w#10 print_char::ch#2 char_cursor#50 ] main:2::print_word:57::print_byte:68::print_char:78 [ line_cursor#1 print_word::w#10 print_char::ch#2 char_cursor#50 ] main:2::print_word:15::print_byte:70::print_char:78 [ print_char::ch#2 char_cursor#50 ] main:2::print_word:19::print_byte:70::print_char:78 [ print_char::ch#2 char_cursor#50 ] main:2::print_word:23::print_byte:70::print_char:78 [ print_char::ch#2 char_cursor#50 ] main:2::print_word:33::print_byte:70::print_char:78 [ main::i#10 line_cursor#1 print_char::ch#2 char_cursor#50 ] main:2::print_word:37::print_byte:70::print_char:78 [ main::i#10 line_cursor#1 print_char::ch#2 char_cursor#50 ] main:2::print_word:41::print_byte:70::print_char:78 [ main::i#10 line_cursor#1 print_char::ch#2 char_cursor#50 ] main:2::print_word:49::print_byte:70::print_char:78 [ line_cursor#1 print_char::ch#2 char_cursor#50 ] main:2::print_word:53::print_byte:70::print_char:78 [ line_cursor#1 print_char::ch#2 char_cursor#50 ] main:2::print_word:57::print_byte:70::print_char:78 [ line_cursor#1 print_char::ch#2 char_cursor#50 ] )
[80] (byte) print_char::ch#2 ← phi( print_byte/(byte) print_char::ch#0 print_byte::@1/(byte) print_char::ch#1 ) [ print_char::ch#2 char_cursor#50 ] ( main:2::print_byte:29::print_char:75 [ main::i#10 line_cursor#1 print_byte::b#3 print_char::ch#2 char_cursor#50 ] main:2::print_word:15::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char::ch#2 char_cursor#50 ] main:2::print_word:19::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char::ch#2 char_cursor#50 ] main:2::print_word:23::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 print_char::ch#2 char_cursor#50 ] main:2::print_word:33::print_byte:68::print_char:75 [ main::i#10 line_cursor#1 print_word::w#10 print_byte::b#3 print_char::ch#2 char_cursor#50 ] main:2::print_word:37::print_byte:68::print_char:75 [ main::i#10 line_cursor#1 print_word::w#10 print_byte::b#3 print_char::ch#2 char_cursor#50 ] main:2::print_word:41::print_byte:68::print_char:75 [ main::i#10 line_cursor#1 print_word::w#10 print_byte::b#3 print_char::ch#2 char_cursor#50 ] main:2::print_word:49::print_byte:68::print_char:75 [ line_cursor#1 print_word::w#10 print_byte::b#3 print_char::ch#2 char_cursor#50 ] main:2::print_word:53::print_byte:68::print_char:75 [ line_cursor#1 print_word::w#10 print_byte::b#3 print_char::ch#2 char_cursor#50 ] main:2::print_word:57::print_byte:68::print_char:75 [ line_cursor#1 print_word::w#10 print_byte::b#3 print_char::ch#2 char_cursor#50 ] main:2::print_word:15::print_byte:70::print_char:75 [ print_byte::b#3 print_char::ch#2 char_cursor#50 ] main:2::print_word:19::print_byte:70::print_char:75 [ print_byte::b#3 print_char::ch#2 char_cursor#50 ] main:2::print_word:23::print_byte:70::print_char:75 [ print_byte::b#3 print_char::ch#2 char_cursor#50 ] main:2::print_word:33::print_byte:70::print_char:75 [ main::i#10 line_cursor#1 print_byte::b#3 print_char::ch#2 char_cursor#50 ] main:2::print_word:37::print_byte:70::print_char:75 [ main::i#10 line_cursor#1 print_byte::b#3 print_char::ch#2 char_cursor#50 ] main:2::print_word:41::print_byte:70::print_char:75 [ main::i#10 line_cursor#1 print_byte::b#3 print_char::ch#2 char_cursor#50 ] main:2::print_word:49::print_byte:70::print_char:75 [ line_cursor#1 print_byte::b#3 print_char::ch#2 char_cursor#50 ] main:2::print_word:53::print_byte:70::print_char:75 [ line_cursor#1 print_byte::b#3 print_char::ch#2 char_cursor#50 ] main:2::print_word:57::print_byte:70::print_char:75 [ line_cursor#1 print_byte::b#3 print_char::ch#2 char_cursor#50 ] main:2::print_byte:29::print_char:78 [ main::i#10 line_cursor#1 print_char::ch#2 char_cursor#50 ] main:2::print_word:15::print_byte:68::print_char:78 [ print_word::w#10 print_char::ch#2 char_cursor#50 ] main:2::print_word:19::print_byte:68::print_char:78 [ print_word::w#10 print_char::ch#2 char_cursor#50 ] main:2::print_word:23::print_byte:68::print_char:78 [ print_word::w#10 print_char::ch#2 char_cursor#50 ] main:2::print_word:33::print_byte:68::print_char:78 [ main::i#10 line_cursor#1 print_word::w#10 print_char::ch#2 char_cursor#50 ] main:2::print_word:37::print_byte:68::print_char:78 [ main::i#10 line_cursor#1 print_word::w#10 print_char::ch#2 char_cursor#50 ] main:2::print_word:41::print_byte:68::print_char:78 [ main::i#10 line_cursor#1 print_word::w#10 print_char::ch#2 char_cursor#50 ] main:2::print_word:49::print_byte:68::print_char:78 [ line_cursor#1 print_word::w#10 print_char::ch#2 char_cursor#50 ] main:2::print_word:53::print_byte:68::print_char:78 [ line_cursor#1 print_word::w#10 print_char::ch#2 char_cursor#50 ] main:2::print_word:57::print_byte:68::print_char:78 [ line_cursor#1 print_word::w#10 print_char::ch#2 char_cursor#50 ] main:2::print_word:15::print_byte:70::print_char:78 [ print_char::ch#2 char_cursor#50 ] main:2::print_word:19::print_byte:70::print_char:78 [ print_char::ch#2 char_cursor#50 ] main:2::print_word:23::print_byte:70::print_char:78 [ print_char::ch#2 char_cursor#50 ] main:2::print_word:33::print_byte:70::print_char:78 [ main::i#10 line_cursor#1 print_char::ch#2 char_cursor#50 ] main:2::print_word:37::print_byte:70::print_char:78 [ main::i#10 line_cursor#1 print_char::ch#2 char_cursor#50 ] main:2::print_word:41::print_byte:70::print_char:78 [ main::i#10 line_cursor#1 print_char::ch#2 char_cursor#50 ] main:2::print_word:49::print_byte:70::print_char:78 [ line_cursor#1 print_char::ch#2 char_cursor#50 ] main:2::print_word:53::print_byte:70::print_char:78 [ line_cursor#1 print_char::ch#2 char_cursor#50 ] main:2::print_word:57::print_byte:70::print_char:78 [ line_cursor#1 print_char::ch#2 char_cursor#50 ] )
[81] *((byte*) char_cursor#50) ← (byte) print_char::ch#2 [ char_cursor#50 ] ( main:2::print_byte:29::print_char:75 [ main::i#10 line_cursor#1 print_byte::b#3 char_cursor#50 ] main:2::print_word:15::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 char_cursor#50 ] main:2::print_word:19::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 char_cursor#50 ] main:2::print_word:23::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 char_cursor#50 ] main:2::print_word:33::print_byte:68::print_char:75 [ main::i#10 line_cursor#1 print_word::w#10 print_byte::b#3 char_cursor#50 ] main:2::print_word:37::print_byte:68::print_char:75 [ main::i#10 line_cursor#1 print_word::w#10 print_byte::b#3 char_cursor#50 ] main:2::print_word:41::print_byte:68::print_char:75 [ main::i#10 line_cursor#1 print_word::w#10 print_byte::b#3 char_cursor#50 ] main:2::print_word:49::print_byte:68::print_char:75 [ line_cursor#1 print_word::w#10 print_byte::b#3 char_cursor#50 ] main:2::print_word:53::print_byte:68::print_char:75 [ line_cursor#1 print_word::w#10 print_byte::b#3 char_cursor#50 ] main:2::print_word:57::print_byte:68::print_char:75 [ line_cursor#1 print_word::w#10 print_byte::b#3 char_cursor#50 ] main:2::print_word:15::print_byte:70::print_char:75 [ print_byte::b#3 char_cursor#50 ] main:2::print_word:19::print_byte:70::print_char:75 [ print_byte::b#3 char_cursor#50 ] main:2::print_word:23::print_byte:70::print_char:75 [ print_byte::b#3 char_cursor#50 ] main:2::print_word:33::print_byte:70::print_char:75 [ main::i#10 line_cursor#1 print_byte::b#3 char_cursor#50 ] main:2::print_word:37::print_byte:70::print_char:75 [ main::i#10 line_cursor#1 print_byte::b#3 char_cursor#50 ] main:2::print_word:41::print_byte:70::print_char:75 [ main::i#10 line_cursor#1 print_byte::b#3 char_cursor#50 ] main:2::print_word:49::print_byte:70::print_char:75 [ line_cursor#1 print_byte::b#3 char_cursor#50 ] main:2::print_word:53::print_byte:70::print_char:75 [ line_cursor#1 print_byte::b#3 char_cursor#50 ] main:2::print_word:57::print_byte:70::print_char:75 [ line_cursor#1 print_byte::b#3 char_cursor#50 ] main:2::print_byte:29::print_char:78 [ main::i#10 line_cursor#1 char_cursor#50 ] main:2::print_word:15::print_byte:68::print_char:78 [ print_word::w#10 char_cursor#50 ] main:2::print_word:19::print_byte:68::print_char:78 [ print_word::w#10 char_cursor#50 ] main:2::print_word:23::print_byte:68::print_char:78 [ print_word::w#10 char_cursor#50 ] main:2::print_word:33::print_byte:68::print_char:78 [ main::i#10 line_cursor#1 print_word::w#10 char_cursor#50 ] main:2::print_word:37::print_byte:68::print_char:78 [ main::i#10 line_cursor#1 print_word::w#10 char_cursor#50 ] main:2::print_word:41::print_byte:68::print_char:78 [ main::i#10 line_cursor#1 print_word::w#10 char_cursor#50 ] main:2::print_word:49::print_byte:68::print_char:78 [ line_cursor#1 print_word::w#10 char_cursor#50 ] main:2::print_word:53::print_byte:68::print_char:78 [ line_cursor#1 print_word::w#10 char_cursor#50 ] main:2::print_word:57::print_byte:68::print_char:78 [ line_cursor#1 print_word::w#10 char_cursor#50 ] main:2::print_word:15::print_byte:70::print_char:78 [ char_cursor#50 ] main:2::print_word:19::print_byte:70::print_char:78 [ char_cursor#50 ] main:2::print_word:23::print_byte:70::print_char:78 [ char_cursor#50 ] main:2::print_word:33::print_byte:70::print_char:78 [ main::i#10 line_cursor#1 char_cursor#50 ] main:2::print_word:37::print_byte:70::print_char:78 [ main::i#10 line_cursor#1 char_cursor#50 ] main:2::print_word:41::print_byte:70::print_char:78 [ main::i#10 line_cursor#1 char_cursor#50 ] main:2::print_word:49::print_byte:70::print_char:78 [ line_cursor#1 char_cursor#50 ] main:2::print_word:53::print_byte:70::print_char:78 [ line_cursor#1 char_cursor#50 ] main:2::print_word:57::print_byte:70::print_char:78 [ line_cursor#1 char_cursor#50 ] )
[82] (byte*) char_cursor#11 ← ++ (byte*) char_cursor#50 [ char_cursor#11 ] ( main:2::print_byte:29::print_char:75 [ main::i#10 line_cursor#1 print_byte::b#3 char_cursor#11 ] main:2::print_word:15::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 char_cursor#11 ] main:2::print_word:19::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 char_cursor#11 ] main:2::print_word:23::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 char_cursor#11 ] main:2::print_word:33::print_byte:68::print_char:75 [ main::i#10 line_cursor#1 print_word::w#10 print_byte::b#3 char_cursor#11 ] main:2::print_word:37::print_byte:68::print_char:75 [ main::i#10 line_cursor#1 print_word::w#10 print_byte::b#3 char_cursor#11 ] main:2::print_word:41::print_byte:68::print_char:75 [ main::i#10 line_cursor#1 print_word::w#10 print_byte::b#3 char_cursor#11 ] main:2::print_word:49::print_byte:68::print_char:75 [ line_cursor#1 print_word::w#10 print_byte::b#3 char_cursor#11 ] main:2::print_word:53::print_byte:68::print_char:75 [ line_cursor#1 print_word::w#10 print_byte::b#3 char_cursor#11 ] main:2::print_word:57::print_byte:68::print_char:75 [ line_cursor#1 print_word::w#10 print_byte::b#3 char_cursor#11 ] main:2::print_word:15::print_byte:70::print_char:75 [ print_byte::b#3 char_cursor#11 ] main:2::print_word:19::print_byte:70::print_char:75 [ print_byte::b#3 char_cursor#11 ] main:2::print_word:23::print_byte:70::print_char:75 [ print_byte::b#3 char_cursor#11 ] main:2::print_word:33::print_byte:70::print_char:75 [ main::i#10 line_cursor#1 print_byte::b#3 char_cursor#11 ] main:2::print_word:37::print_byte:70::print_char:75 [ main::i#10 line_cursor#1 print_byte::b#3 char_cursor#11 ] main:2::print_word:41::print_byte:70::print_char:75 [ main::i#10 line_cursor#1 print_byte::b#3 char_cursor#11 ] main:2::print_word:49::print_byte:70::print_char:75 [ line_cursor#1 print_byte::b#3 char_cursor#11 ] main:2::print_word:53::print_byte:70::print_char:75 [ line_cursor#1 print_byte::b#3 char_cursor#11 ] main:2::print_word:57::print_byte:70::print_char:75 [ line_cursor#1 print_byte::b#3 char_cursor#11 ] main:2::print_byte:29::print_char:78 [ main::i#10 line_cursor#1 char_cursor#11 ] main:2::print_word:15::print_byte:68::print_char:78 [ print_word::w#10 char_cursor#11 ] main:2::print_word:19::print_byte:68::print_char:78 [ print_word::w#10 char_cursor#11 ] main:2::print_word:23::print_byte:68::print_char:78 [ print_word::w#10 char_cursor#11 ] main:2::print_word:33::print_byte:68::print_char:78 [ main::i#10 line_cursor#1 print_word::w#10 char_cursor#11 ] main:2::print_word:37::print_byte:68::print_char:78 [ main::i#10 line_cursor#1 print_word::w#10 char_cursor#11 ] main:2::print_word:41::print_byte:68::print_char:78 [ main::i#10 line_cursor#1 print_word::w#10 char_cursor#11 ] main:2::print_word:49::print_byte:68::print_char:78 [ line_cursor#1 print_word::w#10 char_cursor#11 ] main:2::print_word:53::print_byte:68::print_char:78 [ line_cursor#1 print_word::w#10 char_cursor#11 ] main:2::print_word:57::print_byte:68::print_char:78 [ line_cursor#1 print_word::w#10 char_cursor#11 ] main:2::print_word:15::print_byte:70::print_char:78 [ char_cursor#11 ] main:2::print_word:19::print_byte:70::print_char:78 [ char_cursor#11 ] main:2::print_word:23::print_byte:70::print_char:78 [ char_cursor#11 ] main:2::print_word:33::print_byte:70::print_char:78 [ main::i#10 line_cursor#1 char_cursor#11 ] main:2::print_word:37::print_byte:70::print_char:78 [ main::i#10 line_cursor#1 char_cursor#11 ] main:2::print_word:41::print_byte:70::print_char:78 [ main::i#10 line_cursor#1 char_cursor#11 ] main:2::print_word:49::print_byte:70::print_char:78 [ line_cursor#1 char_cursor#11 ] main:2::print_word:53::print_byte:70::print_char:78 [ line_cursor#1 char_cursor#11 ] main:2::print_word:57::print_byte:70::print_char:78 [ line_cursor#1 char_cursor#11 ] )
to:print_char::@return
print_char::@return: scope:[print_char] from print_char
[69] return [ char_cursor#11 ] ( main:2::print_byte:23::print_char:61 [ main::i#2 line_cursor#1 print_byte::b#3 char_cursor#11 ] main:2::print_word:13::print_byte:54::print_char:61 [ print_word::w#6 print_byte::b#3 char_cursor#11 ] main:2::print_word:17::print_byte:54::print_char:61 [ print_word::w#6 print_byte::b#3 char_cursor#11 ] main:2::print_word:27::print_byte:54::print_char:61 [ main::i#2 line_cursor#1 print_word::w#6 print_byte::b#3 char_cursor#11 ] main:2::print_word:31::print_byte:54::print_char:61 [ main::i#2 line_cursor#1 print_word::w#6 print_byte::b#3 char_cursor#11 ] main:2::print_word:39::print_byte:54::print_char:61 [ line_cursor#1 print_word::w#6 print_byte::b#3 char_cursor#11 ] main:2::print_word:43::print_byte:54::print_char:61 [ line_cursor#1 print_word::w#6 print_byte::b#3 char_cursor#11 ] main:2::print_word:13::print_byte:56::print_char:61 [ print_byte::b#3 char_cursor#11 ] main:2::print_word:17::print_byte:56::print_char:61 [ print_byte::b#3 char_cursor#11 ] main:2::print_word:27::print_byte:56::print_char:61 [ main::i#2 line_cursor#1 print_byte::b#3 char_cursor#11 ] main:2::print_word:31::print_byte:56::print_char:61 [ main::i#2 line_cursor#1 print_byte::b#3 char_cursor#11 ] main:2::print_word:39::print_byte:56::print_char:61 [ line_cursor#1 print_byte::b#3 char_cursor#11 ] main:2::print_word:43::print_byte:56::print_char:61 [ line_cursor#1 print_byte::b#3 char_cursor#11 ] main:2::print_byte:23::print_char:64 [ main::i#2 line_cursor#1 char_cursor#11 ] main:2::print_word:13::print_byte:54::print_char:64 [ print_word::w#6 char_cursor#11 ] main:2::print_word:17::print_byte:54::print_char:64 [ print_word::w#6 char_cursor#11 ] main:2::print_word:27::print_byte:54::print_char:64 [ main::i#2 line_cursor#1 print_word::w#6 char_cursor#11 ] main:2::print_word:31::print_byte:54::print_char:64 [ main::i#2 line_cursor#1 print_word::w#6 char_cursor#11 ] main:2::print_word:39::print_byte:54::print_char:64 [ line_cursor#1 print_word::w#6 char_cursor#11 ] main:2::print_word:43::print_byte:54::print_char:64 [ line_cursor#1 print_word::w#6 char_cursor#11 ] main:2::print_word:13::print_byte:56::print_char:64 [ char_cursor#11 ] main:2::print_word:17::print_byte:56::print_char:64 [ char_cursor#11 ] main:2::print_word:27::print_byte:56::print_char:64 [ main::i#2 line_cursor#1 char_cursor#11 ] main:2::print_word:31::print_byte:56::print_char:64 [ main::i#2 line_cursor#1 char_cursor#11 ] main:2::print_word:39::print_byte:56::print_char:64 [ line_cursor#1 char_cursor#11 ] main:2::print_word:43::print_byte:56::print_char:64 [ line_cursor#1 char_cursor#11 ] )
[83] return [ char_cursor#11 ] ( main:2::print_byte:29::print_char:75 [ main::i#10 line_cursor#1 print_byte::b#3 char_cursor#11 ] main:2::print_word:15::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 char_cursor#11 ] main:2::print_word:19::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 char_cursor#11 ] main:2::print_word:23::print_byte:68::print_char:75 [ print_word::w#10 print_byte::b#3 char_cursor#11 ] main:2::print_word:33::print_byte:68::print_char:75 [ main::i#10 line_cursor#1 print_word::w#10 print_byte::b#3 char_cursor#11 ] main:2::print_word:37::print_byte:68::print_char:75 [ main::i#10 line_cursor#1 print_word::w#10 print_byte::b#3 char_cursor#11 ] main:2::print_word:41::print_byte:68::print_char:75 [ main::i#10 line_cursor#1 print_word::w#10 print_byte::b#3 char_cursor#11 ] main:2::print_word:49::print_byte:68::print_char:75 [ line_cursor#1 print_word::w#10 print_byte::b#3 char_cursor#11 ] main:2::print_word:53::print_byte:68::print_char:75 [ line_cursor#1 print_word::w#10 print_byte::b#3 char_cursor#11 ] main:2::print_word:57::print_byte:68::print_char:75 [ line_cursor#1 print_word::w#10 print_byte::b#3 char_cursor#11 ] main:2::print_word:15::print_byte:70::print_char:75 [ print_byte::b#3 char_cursor#11 ] main:2::print_word:19::print_byte:70::print_char:75 [ print_byte::b#3 char_cursor#11 ] main:2::print_word:23::print_byte:70::print_char:75 [ print_byte::b#3 char_cursor#11 ] main:2::print_word:33::print_byte:70::print_char:75 [ main::i#10 line_cursor#1 print_byte::b#3 char_cursor#11 ] main:2::print_word:37::print_byte:70::print_char:75 [ main::i#10 line_cursor#1 print_byte::b#3 char_cursor#11 ] main:2::print_word:41::print_byte:70::print_char:75 [ main::i#10 line_cursor#1 print_byte::b#3 char_cursor#11 ] main:2::print_word:49::print_byte:70::print_char:75 [ line_cursor#1 print_byte::b#3 char_cursor#11 ] main:2::print_word:53::print_byte:70::print_char:75 [ line_cursor#1 print_byte::b#3 char_cursor#11 ] main:2::print_word:57::print_byte:70::print_char:75 [ line_cursor#1 print_byte::b#3 char_cursor#11 ] main:2::print_byte:29::print_char:78 [ main::i#10 line_cursor#1 char_cursor#11 ] main:2::print_word:15::print_byte:68::print_char:78 [ print_word::w#10 char_cursor#11 ] main:2::print_word:19::print_byte:68::print_char:78 [ print_word::w#10 char_cursor#11 ] main:2::print_word:23::print_byte:68::print_char:78 [ print_word::w#10 char_cursor#11 ] main:2::print_word:33::print_byte:68::print_char:78 [ main::i#10 line_cursor#1 print_word::w#10 char_cursor#11 ] main:2::print_word:37::print_byte:68::print_char:78 [ main::i#10 line_cursor#1 print_word::w#10 char_cursor#11 ] main:2::print_word:41::print_byte:68::print_char:78 [ main::i#10 line_cursor#1 print_word::w#10 char_cursor#11 ] main:2::print_word:49::print_byte:68::print_char:78 [ line_cursor#1 print_word::w#10 char_cursor#11 ] main:2::print_word:53::print_byte:68::print_char:78 [ line_cursor#1 print_word::w#10 char_cursor#11 ] main:2::print_word:57::print_byte:68::print_char:78 [ line_cursor#1 print_word::w#10 char_cursor#11 ] main:2::print_word:15::print_byte:70::print_char:78 [ char_cursor#11 ] main:2::print_word:19::print_byte:70::print_char:78 [ char_cursor#11 ] main:2::print_word:23::print_byte:70::print_char:78 [ char_cursor#11 ] main:2::print_word:33::print_byte:70::print_char:78 [ main::i#10 line_cursor#1 char_cursor#11 ] main:2::print_word:37::print_byte:70::print_char:78 [ main::i#10 line_cursor#1 char_cursor#11 ] main:2::print_word:41::print_byte:70::print_char:78 [ main::i#10 line_cursor#1 char_cursor#11 ] main:2::print_word:49::print_byte:70::print_char:78 [ line_cursor#1 char_cursor#11 ] main:2::print_word:53::print_byte:70::print_char:78 [ line_cursor#1 char_cursor#11 ] main:2::print_word:57::print_byte:70::print_char:78 [ line_cursor#1 char_cursor#11 ] )
to:@return
print_str: scope:[print_str] from main::@11 main::@13 main::@18 main::@2 main::@5 main::@7
[70] (byte*) char_cursor#74 ← phi( main::@11/(byte*) char_cursor#11 main::@13/(byte*) char_cursor#11 main::@18/(byte*) char_cursor#11 main::@2/(byte*~) char_cursor#85 main::@5/(const byte*) SCREEN#0 main::@7/(byte*) char_cursor#11 ) [ print_str::str#9 char_cursor#74 ] ( main:2::print_str:11 [ print_str::str#9 char_cursor#74 ] main:2::print_str:15 [ print_str::str#9 char_cursor#74 ] main:2::print_str:25 [ main::i#2 line_cursor#1 print_str::str#9 char_cursor#74 ] main:2::print_str:29 [ main::i#2 line_cursor#1 print_str::str#9 char_cursor#74 ] main:2::print_str:37 [ line_cursor#1 print_str::str#9 char_cursor#74 ] main:2::print_str:41 [ line_cursor#1 print_str::str#9 char_cursor#74 ] )
[70] (byte*) print_str::str#9 ← phi( main::@11/(const string) main::str2 main::@13/(const string) main::str3 main::@18/(const string) main::str5 main::@2/(const string) main::str4 main::@5/(const string) main::str main::@7/(const string) main::str1 ) [ print_str::str#9 char_cursor#74 ] ( main:2::print_str:11 [ print_str::str#9 char_cursor#74 ] main:2::print_str:15 [ print_str::str#9 char_cursor#74 ] main:2::print_str:25 [ main::i#2 line_cursor#1 print_str::str#9 char_cursor#74 ] main:2::print_str:29 [ main::i#2 line_cursor#1 print_str::str#9 char_cursor#74 ] main:2::print_str:37 [ line_cursor#1 print_str::str#9 char_cursor#74 ] main:2::print_str:41 [ line_cursor#1 print_str::str#9 char_cursor#74 ] )
print_str: scope:[print_str] from main::@10 main::@14 main::@16 main::@18 main::@2 main::@23 main::@25 main::@6 main::@8
[84] (byte*) char_cursor#86 ← phi( main::@10/(byte*) char_cursor#11 main::@14/(byte*) char_cursor#11 main::@16/(byte*) char_cursor#11 main::@18/(byte*) char_cursor#11 main::@2/(byte*~) char_cursor#99 main::@23/(byte*) char_cursor#11 main::@25/(byte*) char_cursor#11 main::@6/(const byte*) SCREEN#0 main::@8/(byte*) char_cursor#11 ) [ print_str::str#12 char_cursor#86 ] ( main:2::print_str:13 [ print_str::str#12 char_cursor#86 ] main:2::print_str:17 [ print_str::str#12 char_cursor#86 ] main:2::print_str:21 [ print_str::str#12 char_cursor#86 ] main:2::print_str:31 [ main::i#10 line_cursor#1 print_str::str#12 char_cursor#86 ] main:2::print_str:35 [ main::i#10 line_cursor#1 print_str::str#12 char_cursor#86 ] main:2::print_str:39 [ main::i#10 line_cursor#1 print_str::str#12 char_cursor#86 ] main:2::print_str:47 [ line_cursor#1 print_str::str#12 char_cursor#86 ] main:2::print_str:51 [ line_cursor#1 print_str::str#12 char_cursor#86 ] main:2::print_str:55 [ line_cursor#1 print_str::str#12 char_cursor#86 ] )
[84] (byte*) print_str::str#12 ← phi( main::@10/(const string) main::str2 main::@14/(const string) main::str3 main::@16/(const string) main::str4 main::@18/(const string) main::str5 main::@2/(const string) main::str6 main::@23/(const string) main::str7 main::@25/(const string) main::str8 main::@6/(const string) main::str main::@8/(const string) main::str1 ) [ print_str::str#12 char_cursor#86 ] ( main:2::print_str:13 [ print_str::str#12 char_cursor#86 ] main:2::print_str:17 [ print_str::str#12 char_cursor#86 ] main:2::print_str:21 [ print_str::str#12 char_cursor#86 ] main:2::print_str:31 [ main::i#10 line_cursor#1 print_str::str#12 char_cursor#86 ] main:2::print_str:35 [ main::i#10 line_cursor#1 print_str::str#12 char_cursor#86 ] main:2::print_str:39 [ main::i#10 line_cursor#1 print_str::str#12 char_cursor#86 ] main:2::print_str:47 [ line_cursor#1 print_str::str#12 char_cursor#86 ] main:2::print_str:51 [ line_cursor#1 print_str::str#12 char_cursor#86 ] main:2::print_str:55 [ line_cursor#1 print_str::str#12 char_cursor#86 ] )
to:print_str::@1
print_str::@1: scope:[print_str] from print_str print_str::@2
[71] (byte*) char_cursor#2 ← phi( print_str/(byte*) char_cursor#74 print_str::@2/(byte*) char_cursor#1 ) [ char_cursor#2 print_str::str#7 ] ( main:2::print_str:11 [ char_cursor#2 print_str::str#7 ] main:2::print_str:15 [ char_cursor#2 print_str::str#7 ] main:2::print_str:25 [ main::i#2 line_cursor#1 char_cursor#2 print_str::str#7 ] main:2::print_str:29 [ main::i#2 line_cursor#1 char_cursor#2 print_str::str#7 ] main:2::print_str:37 [ line_cursor#1 char_cursor#2 print_str::str#7 ] main:2::print_str:41 [ line_cursor#1 char_cursor#2 print_str::str#7 ] )
[71] (byte*) print_str::str#7 ← phi( print_str/(byte*) print_str::str#9 print_str::@2/(byte*) print_str::str#0 ) [ char_cursor#2 print_str::str#7 ] ( main:2::print_str:11 [ char_cursor#2 print_str::str#7 ] main:2::print_str:15 [ char_cursor#2 print_str::str#7 ] main:2::print_str:25 [ main::i#2 line_cursor#1 char_cursor#2 print_str::str#7 ] main:2::print_str:29 [ main::i#2 line_cursor#1 char_cursor#2 print_str::str#7 ] main:2::print_str:37 [ line_cursor#1 char_cursor#2 print_str::str#7 ] main:2::print_str:41 [ line_cursor#1 char_cursor#2 print_str::str#7 ] )
[72] if(*((byte*) print_str::str#7)!=(byte) '@') goto print_str::@2 [ char_cursor#2 print_str::str#7 ] ( main:2::print_str:11 [ char_cursor#2 print_str::str#7 ] main:2::print_str:15 [ char_cursor#2 print_str::str#7 ] main:2::print_str:25 [ main::i#2 line_cursor#1 char_cursor#2 print_str::str#7 ] main:2::print_str:29 [ main::i#2 line_cursor#1 char_cursor#2 print_str::str#7 ] main:2::print_str:37 [ line_cursor#1 char_cursor#2 print_str::str#7 ] main:2::print_str:41 [ line_cursor#1 char_cursor#2 print_str::str#7 ] )
[85] (byte*) char_cursor#2 ← phi( print_str/(byte*) char_cursor#86 print_str::@2/(byte*) char_cursor#1 ) [ char_cursor#2 print_str::str#10 ] ( main:2::print_str:13 [ char_cursor#2 print_str::str#10 ] main:2::print_str:17 [ char_cursor#2 print_str::str#10 ] main:2::print_str:21 [ char_cursor#2 print_str::str#10 ] main:2::print_str:31 [ main::i#10 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::print_str:35 [ main::i#10 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::print_str:39 [ main::i#10 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::print_str:47 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::print_str:51 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::print_str:55 [ line_cursor#1 char_cursor#2 print_str::str#10 ] )
[85] (byte*) print_str::str#10 ← phi( print_str/(byte*) print_str::str#12 print_str::@2/(byte*) print_str::str#0 ) [ char_cursor#2 print_str::str#10 ] ( main:2::print_str:13 [ char_cursor#2 print_str::str#10 ] main:2::print_str:17 [ char_cursor#2 print_str::str#10 ] main:2::print_str:21 [ char_cursor#2 print_str::str#10 ] main:2::print_str:31 [ main::i#10 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::print_str:35 [ main::i#10 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::print_str:39 [ main::i#10 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::print_str:47 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::print_str:51 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::print_str:55 [ line_cursor#1 char_cursor#2 print_str::str#10 ] )
[86] if(*((byte*) print_str::str#10)!=(byte) '@') goto print_str::@2 [ char_cursor#2 print_str::str#10 ] ( main:2::print_str:13 [ char_cursor#2 print_str::str#10 ] main:2::print_str:17 [ char_cursor#2 print_str::str#10 ] main:2::print_str:21 [ char_cursor#2 print_str::str#10 ] main:2::print_str:31 [ main::i#10 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::print_str:35 [ main::i#10 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::print_str:39 [ main::i#10 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::print_str:47 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::print_str:51 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::print_str:55 [ line_cursor#1 char_cursor#2 print_str::str#10 ] )
to:print_str::@return
print_str::@return: scope:[print_str] from print_str::@1
[73] return [ char_cursor#2 ] ( main:2::print_str:11 [ char_cursor#2 ] main:2::print_str:15 [ char_cursor#2 ] main:2::print_str:25 [ main::i#2 line_cursor#1 char_cursor#2 ] main:2::print_str:29 [ main::i#2 line_cursor#1 char_cursor#2 ] main:2::print_str:37 [ line_cursor#1 char_cursor#2 ] main:2::print_str:41 [ line_cursor#1 char_cursor#2 ] )
[87] return [ char_cursor#2 ] ( main:2::print_str:13 [ char_cursor#2 ] main:2::print_str:17 [ char_cursor#2 ] main:2::print_str:21 [ char_cursor#2 ] main:2::print_str:31 [ main::i#10 line_cursor#1 char_cursor#2 ] main:2::print_str:35 [ main::i#10 line_cursor#1 char_cursor#2 ] main:2::print_str:39 [ main::i#10 line_cursor#1 char_cursor#2 ] main:2::print_str:47 [ line_cursor#1 char_cursor#2 ] main:2::print_str:51 [ line_cursor#1 char_cursor#2 ] main:2::print_str:55 [ line_cursor#1 char_cursor#2 ] )
to:@return
print_str::@2: scope:[print_str] from print_str::@1
[74] *((byte*) char_cursor#2) ← *((byte*) print_str::str#7) [ char_cursor#2 print_str::str#7 ] ( main:2::print_str:11 [ char_cursor#2 print_str::str#7 ] main:2::print_str:15 [ char_cursor#2 print_str::str#7 ] main:2::print_str:25 [ main::i#2 line_cursor#1 char_cursor#2 print_str::str#7 ] main:2::print_str:29 [ main::i#2 line_cursor#1 char_cursor#2 print_str::str#7 ] main:2::print_str:37 [ line_cursor#1 char_cursor#2 print_str::str#7 ] main:2::print_str:41 [ line_cursor#1 char_cursor#2 print_str::str#7 ] )
[75] (byte*) char_cursor#1 ← ++ (byte*) char_cursor#2 [ print_str::str#7 char_cursor#1 ] ( main:2::print_str:11 [ print_str::str#7 char_cursor#1 ] main:2::print_str:15 [ print_str::str#7 char_cursor#1 ] main:2::print_str:25 [ main::i#2 line_cursor#1 print_str::str#7 char_cursor#1 ] main:2::print_str:29 [ main::i#2 line_cursor#1 print_str::str#7 char_cursor#1 ] main:2::print_str:37 [ line_cursor#1 print_str::str#7 char_cursor#1 ] main:2::print_str:41 [ line_cursor#1 print_str::str#7 char_cursor#1 ] )
[76] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#7 [ print_str::str#0 char_cursor#1 ] ( main:2::print_str:11 [ print_str::str#0 char_cursor#1 ] main:2::print_str:15 [ print_str::str#0 char_cursor#1 ] main:2::print_str:25 [ main::i#2 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::print_str:29 [ main::i#2 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::print_str:37 [ line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::print_str:41 [ line_cursor#1 print_str::str#0 char_cursor#1 ] )
[88] *((byte*) char_cursor#2) ← *((byte*) print_str::str#10) [ char_cursor#2 print_str::str#10 ] ( main:2::print_str:13 [ char_cursor#2 print_str::str#10 ] main:2::print_str:17 [ char_cursor#2 print_str::str#10 ] main:2::print_str:21 [ char_cursor#2 print_str::str#10 ] main:2::print_str:31 [ main::i#10 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::print_str:35 [ main::i#10 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::print_str:39 [ main::i#10 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::print_str:47 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::print_str:51 [ line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::print_str:55 [ line_cursor#1 char_cursor#2 print_str::str#10 ] )
[89] (byte*) char_cursor#1 ← ++ (byte*) char_cursor#2 [ print_str::str#10 char_cursor#1 ] ( main:2::print_str:13 [ print_str::str#10 char_cursor#1 ] main:2::print_str:17 [ print_str::str#10 char_cursor#1 ] main:2::print_str:21 [ print_str::str#10 char_cursor#1 ] main:2::print_str:31 [ main::i#10 line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::print_str:35 [ main::i#10 line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::print_str:39 [ main::i#10 line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::print_str:47 [ line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::print_str:51 [ line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::print_str:55 [ line_cursor#1 print_str::str#10 char_cursor#1 ] )
[90] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#10 [ print_str::str#0 char_cursor#1 ] ( main:2::print_str:13 [ print_str::str#0 char_cursor#1 ] main:2::print_str:17 [ print_str::str#0 char_cursor#1 ] main:2::print_str:21 [ print_str::str#0 char_cursor#1 ] main:2::print_str:31 [ main::i#10 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::print_str:35 [ main::i#10 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::print_str:39 [ main::i#10 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::print_str:47 [ line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::print_str:51 [ line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::print_str:55 [ line_cursor#1 print_str::str#0 char_cursor#1 ] )
to:print_str::@1
print_cls: scope:[print_cls] from main::@4
[77] phi() [ ] ( main:2::print_cls:9 [ ] )
print_cls: scope:[print_cls] from main::@5
[91] phi() [ ] ( main:2::print_cls:11 [ ] )
to:print_cls::@1
print_cls::@1: scope:[print_cls] from print_cls print_cls::@1
[78] (byte*) print_cls::sc#2 ← phi( print_cls/(const byte*) SCREEN#0 print_cls::@1/(byte*) print_cls::sc#1 ) [ print_cls::sc#2 ] ( main:2::print_cls:9 [ print_cls::sc#2 ] )
[79] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:9 [ print_cls::sc#2 ] )
[80] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::print_cls:9 [ print_cls::sc#1 ] )
[81] if((byte*) print_cls::sc#1!=(const byte*) SCREEN#0+(word/signed word/dword/signed dword) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::print_cls:9 [ print_cls::sc#1 ] )
[92] (byte*) print_cls::sc#2 ← phi( print_cls/(const byte*) SCREEN#0 print_cls::@1/(byte*) print_cls::sc#1 ) [ print_cls::sc#2 ] ( main:2::print_cls:11 [ print_cls::sc#2 ] )
[93] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:11 [ print_cls::sc#2 ] )
[94] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::print_cls:11 [ print_cls::sc#1 ] )
[95] if((byte*) print_cls::sc#1!=(const byte*) SCREEN#0+(word/signed word/dword/signed dword) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::print_cls:11 [ print_cls::sc#1 ] )
to:print_cls::@return
print_cls::@return: scope:[print_cls] from print_cls::@1
[82] return [ ] ( main:2::print_cls:9 [ ] )
[96] return [ ] ( main:2::print_cls:11 [ ] )
to:@return
lin16u_gen: scope:[lin16u_gen] from main main::@3
[83] (word*) lin16u_gen::lintab#4 ← phi( main/(const word[20]) main::lintab1#0 main::@3/(const word[20]) main::lintab2#0 ) [ lin16u_gen::max#2 lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 ] ( main:2::lin16u_gen:5 [ lin16u_gen::max#2 lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 ] main:2::lin16u_gen:7 [ lin16u_gen::max#2 lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 ] )
[83] (word) rem16u#20 ← phi( main/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@3/(word) divr16u::rem#11 ) [ lin16u_gen::max#2 lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 ] ( main:2::lin16u_gen:5 [ lin16u_gen::max#2 lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 ] main:2::lin16u_gen:7 [ lin16u_gen::max#2 lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 ] )
[83] (word) lin16u_gen::length#2 ← phi( main/(byte/signed byte/word/signed word/dword/signed dword) 20 main::@3/(byte/signed byte/word/signed word/dword/signed dword) 20 ) [ lin16u_gen::max#2 lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 ] ( main:2::lin16u_gen:5 [ lin16u_gen::max#2 lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 ] main:2::lin16u_gen:7 [ lin16u_gen::max#2 lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 ] )
[83] (word) lin16u_gen::min#2 ← phi( main/(word/signed word/dword/signed dword) 557 main::@3/(word/signed word/dword/signed dword) 31179 ) [ lin16u_gen::max#2 lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 ] ( main:2::lin16u_gen:5 [ lin16u_gen::max#2 lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 ] main:2::lin16u_gen:7 [ lin16u_gen::max#2 lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 ] )
[83] (word) lin16u_gen::max#2 ← phi( main/(word/signed word/dword/signed dword) 29793 main::@3/(word/dword/signed dword) 63361 ) [ lin16u_gen::max#2 lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 ] ( main:2::lin16u_gen:5 [ lin16u_gen::max#2 lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 ] main:2::lin16u_gen:7 [ lin16u_gen::max#2 lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 ] )
[84] (word) lin16u_gen::ampl#0 ← (word) lin16u_gen::max#2 - (word) lin16u_gen::min#2 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 lin16u_gen::ampl#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 lin16u_gen::ampl#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 lin16u_gen::ampl#0 ] )
[85] (word) divr16u::divisor#0 ← (word) lin16u_gen::length#2 - (byte/signed byte/word/signed word/dword/signed dword) 1 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 lin16u_gen::ampl#0 divr16u::divisor#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 lin16u_gen::ampl#0 divr16u::divisor#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 lin16u_gen::ampl#0 divr16u::divisor#0 ] )
[86] (word) divr16u::dividend#1 ← (word) lin16u_gen::ampl#0 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::divisor#0 divr16u::dividend#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::divisor#0 divr16u::dividend#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::divisor#0 divr16u::dividend#1 ] )
[87] call divr16u param-assignment [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::rem#11 divr16u::return#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::rem#11 divr16u::return#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::rem#11 divr16u::return#0 ] )
[88] (word) divr16u::return#2 ← (word) divr16u::return#0 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::rem#11 divr16u::return#2 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::rem#11 divr16u::return#2 ] main:2::lin16u_gen:7 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::rem#11 divr16u::return#2 ] )
lin16u_gen: scope:[lin16u_gen] from main main::@3 main::@4
[97] (word*) lin16u_gen::lintab#5 ← phi( main/(const word[20]) main::lintab1#0 main::@3/(const word[20]) main::lintab2#0 main::@4/(const word[20]) main::lintab3#0 ) [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 ] ( main:2::lin16u_gen:5 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 ] main:2::lin16u_gen:7 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 ] main:2::lin16u_gen:9 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 ] )
[97] (word) rem16u#22 ← phi( main/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@3/(word) divr16u::rem#11 main::@4/(word) divr16u::rem#11 ) [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 ] ( main:2::lin16u_gen:5 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 ] main:2::lin16u_gen:7 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 ] main:2::lin16u_gen:9 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 ] )
[97] (word) lin16u_gen::length#3 ← phi( main/(byte/signed byte/word/signed word/dword/signed dword) 20 main::@3/(byte/signed byte/word/signed word/dword/signed dword) 20 main::@4/(byte/signed byte/word/signed word/dword/signed dword) 20 ) [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 ] ( main:2::lin16u_gen:5 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 ] main:2::lin16u_gen:7 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 ] main:2::lin16u_gen:9 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 ] )
[97] (word) lin16u_gen::min#3 ← phi( main/(word/signed word/dword/signed dword) 557 main::@3/(word/signed word/dword/signed dword) 31179 main::@4/(byte/signed byte/word/signed word/dword/signed dword) 0 ) [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 ] ( main:2::lin16u_gen:5 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 ] main:2::lin16u_gen:7 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 ] main:2::lin16u_gen:9 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 ] )
[97] (word) lin16u_gen::max#3 ← phi( main/(word/signed word/dword/signed dword) 29793 main::@3/(word/dword/signed dword) 63361 main::@4/(word/signed word/dword/signed dword) 25736 ) [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 ] ( main:2::lin16u_gen:5 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 ] main:2::lin16u_gen:7 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 ] main:2::lin16u_gen:9 [ lin16u_gen::max#3 lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 ] )
[98] (word) lin16u_gen::ampl#0 ← (word) lin16u_gen::max#3 - (word) lin16u_gen::min#3 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 ] )
[99] (word) divr16u::divisor#0 ← (word) lin16u_gen::length#3 - (byte/signed byte/word/signed word/dword/signed dword) 1 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 divr16u::divisor#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 divr16u::divisor#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 divr16u::divisor#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::ampl#0 divr16u::divisor#0 ] )
[100] (word) divr16u::dividend#1 ← (word) lin16u_gen::ampl#0 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#0 divr16u::dividend#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#0 divr16u::dividend#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#0 divr16u::dividend#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#0 divr16u::dividend#1 ] )
[101] call divr16u param-assignment [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#11 divr16u::return#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#11 divr16u::return#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#11 divr16u::return#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#11 divr16u::return#0 ] )
[102] (word) divr16u::return#2 ← (word) divr16u::return#0 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#11 divr16u::return#2 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#11 divr16u::return#2 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#11 divr16u::return#2 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#11 divr16u::return#2 ] )
to:lin16u_gen::@3
lin16u_gen::@3: scope:[lin16u_gen] from lin16u_gen
[89] (word) lin16u_gen::stepi#0 ← (word) divr16u::return#2 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::rem#11 lin16u_gen::stepi#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::rem#11 lin16u_gen::stepi#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::rem#11 lin16u_gen::stepi#0 ] )
[90] (word) divr16u::divisor#1 ← (word) lin16u_gen::length#2 - (byte/signed byte/word/signed word/dword/signed dword) 1 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::rem#11 lin16u_gen::stepi#0 divr16u::divisor#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::rem#11 lin16u_gen::stepi#0 divr16u::divisor#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::rem#11 lin16u_gen::stepi#0 divr16u::divisor#1 ] )
[91] (word) divr16u::rem#4 ← (word) divr16u::rem#11 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 lin16u_gen::stepi#0 divr16u::divisor#1 divr16u::rem#4 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 lin16u_gen::stepi#0 divr16u::divisor#1 divr16u::rem#4 ] main:2::lin16u_gen:7 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 lin16u_gen::stepi#0 divr16u::divisor#1 divr16u::rem#4 ] )
[92] call divr16u param-assignment [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::rem#11 divr16u::return#0 lin16u_gen::stepi#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::rem#11 divr16u::return#0 lin16u_gen::stepi#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::rem#11 divr16u::return#0 lin16u_gen::stepi#0 ] )
[93] (word) divr16u::return#3 ← (word) divr16u::return#0 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::rem#11 lin16u_gen::stepi#0 divr16u::return#3 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::rem#11 lin16u_gen::stepi#0 divr16u::return#3 ] main:2::lin16u_gen:7 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::rem#11 lin16u_gen::stepi#0 divr16u::return#3 ] )
[103] (word) lin16u_gen::stepi#0 ← (word) divr16u::return#2 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#11 lin16u_gen::stepi#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#11 lin16u_gen::stepi#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#11 lin16u_gen::stepi#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#11 lin16u_gen::stepi#0 ] )
[104] (word) divr16u::divisor#1 ← (word) lin16u_gen::length#3 - (byte/signed byte/word/signed word/dword/signed dword) 1 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#11 lin16u_gen::stepi#0 divr16u::divisor#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#11 lin16u_gen::stepi#0 divr16u::divisor#1 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#11 lin16u_gen::stepi#0 divr16u::divisor#1 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#11 lin16u_gen::stepi#0 divr16u::divisor#1 ] )
[105] (word) divr16u::rem#4 ← (word) divr16u::rem#11 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 divr16u::rem#4 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 divr16u::rem#4 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 divr16u::rem#4 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#1 divr16u::rem#4 ] )
[106] call divr16u param-assignment [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#11 divr16u::return#0 lin16u_gen::stepi#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#11 divr16u::return#0 lin16u_gen::stepi#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#11 divr16u::return#0 lin16u_gen::stepi#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#11 divr16u::return#0 lin16u_gen::stepi#0 ] )
[107] (word) divr16u::return#3 ← (word) divr16u::return#0 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#11 lin16u_gen::stepi#0 divr16u::return#3 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#11 lin16u_gen::stepi#0 divr16u::return#3 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#11 lin16u_gen::stepi#0 divr16u::return#3 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#11 lin16u_gen::stepi#0 divr16u::return#3 ] )
to:lin16u_gen::@4
lin16u_gen::@4: scope:[lin16u_gen] from lin16u_gen::@3
[94] (word) lin16u_gen::stepf#0 ← (word) divr16u::return#3 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::rem#11 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::rem#11 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::rem#11 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] )
[95] (dword) lin16u_gen::step#0 ← (word) lin16u_gen::stepi#0 dw= (word) lin16u_gen::stepf#0 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::rem#11 lin16u_gen::step#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::rem#11 lin16u_gen::step#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::rem#11 lin16u_gen::step#0 ] )
[96] (dword) lin16u_gen::val#0 ← (word) lin16u_gen::min#2 dw= (byte/signed byte/word/signed word/dword/signed dword) 0 [ lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::val#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::val#0 ] main:2::lin16u_gen:7 [ lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::val#0 ] )
[108] (word) lin16u_gen::stepf#0 ← (word) divr16u::return#3 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#11 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#11 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#11 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#11 lin16u_gen::stepi#0 lin16u_gen::stepf#0 ] )
[109] (dword) lin16u_gen::step#0 ← (word) lin16u_gen::stepi#0 dw= (word) lin16u_gen::stepf#0 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#11 lin16u_gen::step#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#11 lin16u_gen::step#0 ] main:2::lin16u_gen:7 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#11 lin16u_gen::step#0 ] main:2::lin16u_gen:9 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#11 lin16u_gen::step#0 ] )
[110] (dword) lin16u_gen::val#0 ← (word) lin16u_gen::min#3 dw= (byte/signed byte/word/signed word/dword/signed dword) 0 [ lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::val#0 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::val#0 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::val#0 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::val#0 ] )
to:lin16u_gen::@1
lin16u_gen::@1: scope:[lin16u_gen] from lin16u_gen::@1 lin16u_gen::@4
[97] (word) lin16u_gen::i#2 ← phi( lin16u_gen::@1/(word) lin16u_gen::i#1 lin16u_gen::@4/(byte/signed byte/word/signed word/dword/signed dword) 0 ) [ lin16u_gen::length#2 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#3 lin16u_gen::i#2 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#2 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#3 lin16u_gen::i#2 ] main:2::lin16u_gen:7 [ lin16u_gen::length#2 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#3 lin16u_gen::i#2 ] )
[97] (word*) lin16u_gen::lintab#3 ← phi( lin16u_gen::@1/(word*) lin16u_gen::lintab#2 lin16u_gen::@4/(word*) lin16u_gen::lintab#4 ) [ lin16u_gen::length#2 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#3 lin16u_gen::i#2 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#2 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#3 lin16u_gen::i#2 ] main:2::lin16u_gen:7 [ lin16u_gen::length#2 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#3 lin16u_gen::i#2 ] )
[97] (dword) lin16u_gen::val#2 ← phi( lin16u_gen::@1/(dword) lin16u_gen::val#1 lin16u_gen::@4/(dword) lin16u_gen::val#0 ) [ lin16u_gen::length#2 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#3 lin16u_gen::i#2 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#2 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#3 lin16u_gen::i#2 ] main:2::lin16u_gen:7 [ lin16u_gen::length#2 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#3 lin16u_gen::i#2 ] )
[98] (word~) lin16u_gen::$5 ← > (dword) lin16u_gen::val#2 [ lin16u_gen::length#2 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#3 lin16u_gen::i#2 lin16u_gen::$5 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#2 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#3 lin16u_gen::i#2 lin16u_gen::$5 ] main:2::lin16u_gen:7 [ lin16u_gen::length#2 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#3 lin16u_gen::i#2 lin16u_gen::$5 ] )
[99] *((word*) lin16u_gen::lintab#3) ← (word~) lin16u_gen::$5 [ lin16u_gen::length#2 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#3 lin16u_gen::i#2 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#2 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#3 lin16u_gen::i#2 ] main:2::lin16u_gen:7 [ lin16u_gen::length#2 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#3 lin16u_gen::i#2 ] )
[100] (dword) lin16u_gen::val#1 ← (dword) lin16u_gen::val#2 + (dword) lin16u_gen::step#0 [ lin16u_gen::length#2 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::lintab#3 lin16u_gen::i#2 lin16u_gen::val#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#2 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::lintab#3 lin16u_gen::i#2 lin16u_gen::val#1 ] main:2::lin16u_gen:7 [ lin16u_gen::length#2 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::lintab#3 lin16u_gen::i#2 lin16u_gen::val#1 ] )
[101] (word*) lin16u_gen::lintab#2 ← (word*) lin16u_gen::lintab#3 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ lin16u_gen::length#2 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#2 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#2 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#2 ] main:2::lin16u_gen:7 [ lin16u_gen::length#2 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#2 ] )
[102] (word) lin16u_gen::i#1 ← ++ (word) lin16u_gen::i#2 [ lin16u_gen::length#2 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#2 lin16u_gen::i#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#2 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#2 lin16u_gen::i#1 ] main:2::lin16u_gen:7 [ lin16u_gen::length#2 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#2 lin16u_gen::i#1 ] )
[103] if((word) lin16u_gen::i#1<(word) lin16u_gen::length#2) goto lin16u_gen::@1 [ lin16u_gen::length#2 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#2 lin16u_gen::i#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#2 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#2 lin16u_gen::i#1 ] main:2::lin16u_gen:7 [ lin16u_gen::length#2 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#2 lin16u_gen::i#1 ] )
[111] (word) lin16u_gen::i#2 ← phi( lin16u_gen::@1/(word) lin16u_gen::i#1 lin16u_gen::@4/(byte/signed byte/word/signed word/dword/signed dword) 0 ) [ lin16u_gen::length#3 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] )
[111] (word*) lin16u_gen::lintab#4 ← phi( lin16u_gen::@1/(word*) lin16u_gen::lintab#3 lin16u_gen::@4/(word*) lin16u_gen::lintab#5 ) [ lin16u_gen::length#3 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] )
[111] (dword) lin16u_gen::val#2 ← phi( lin16u_gen::@1/(dword) lin16u_gen::val#1 lin16u_gen::@4/(dword) lin16u_gen::val#0 ) [ lin16u_gen::length#3 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] )
[112] (word~) lin16u_gen::$5 ← > (dword) lin16u_gen::val#2 [ lin16u_gen::length#3 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::$5 ] )
[113] *((word*) lin16u_gen::lintab#4) ← (word~) lin16u_gen::$5 [ lin16u_gen::length#3 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::val#2 lin16u_gen::lintab#4 lin16u_gen::i#2 ] )
[114] (dword) lin16u_gen::val#1 ← (dword) lin16u_gen::val#2 + (dword) lin16u_gen::step#0 [ lin16u_gen::length#3 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::lintab#4 lin16u_gen::i#2 lin16u_gen::val#1 ] )
[115] (word*) lin16u_gen::lintab#3 ← (word*) lin16u_gen::lintab#4 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ lin16u_gen::length#3 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::i#2 lin16u_gen::val#1 lin16u_gen::lintab#3 ] )
[116] (word) lin16u_gen::i#1 ← ++ (word) lin16u_gen::i#2 [ lin16u_gen::length#3 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] )
[117] if((word) lin16u_gen::i#1<(word) lin16u_gen::length#3) goto lin16u_gen::@1 [ lin16u_gen::length#3 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] ( main:2::lin16u_gen:5 [ lin16u_gen::length#3 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] main:2::lin16u_gen:7 [ lin16u_gen::length#3 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] main:2::lin16u_gen:9 [ lin16u_gen::length#3 divr16u::rem#11 lin16u_gen::step#0 lin16u_gen::val#1 lin16u_gen::lintab#3 lin16u_gen::i#1 ] )
to:lin16u_gen::@return
lin16u_gen::@return: scope:[lin16u_gen] from lin16u_gen::@1
[104] return [ divr16u::rem#11 ] ( main:2::lin16u_gen:5 [ divr16u::rem#11 ] main:2::lin16u_gen:7 [ divr16u::rem#11 ] )
[118] return [ divr16u::rem#11 ] ( main:2::lin16u_gen:5 [ divr16u::rem#11 ] main:2::lin16u_gen:7 [ divr16u::rem#11 ] main:2::lin16u_gen:9 [ divr16u::rem#11 ] )
to:@return
divr16u: scope:[divr16u] from lin16u_gen lin16u_gen::@3
[105] (word) divr16u::divisor#6 ← phi( lin16u_gen/(word) divr16u::divisor#0 lin16u_gen::@3/(word) divr16u::divisor#1 ) [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ( main:2::lin16u_gen:5::divr16u:87 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:7::divr16u:87 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:5::divr16u:92 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 lin16u_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:7::divr16u:92 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 lin16u_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] )
[105] (word) divr16u::dividend#5 ← phi( lin16u_gen/(word) divr16u::dividend#1 lin16u_gen::@3/(byte/signed byte/word/signed word/dword/signed dword) 0 ) [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ( main:2::lin16u_gen:5::divr16u:87 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:7::divr16u:87 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:5::divr16u:92 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 lin16u_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:7::divr16u:92 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 lin16u_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] )
[105] (word) divr16u::rem#10 ← phi( lin16u_gen/(byte/signed byte/word/signed word/dword/signed dword) 0 lin16u_gen::@3/(word) divr16u::rem#4 ) [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ( main:2::lin16u_gen:5::divr16u:87 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:7::divr16u:87 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:5::divr16u:92 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 lin16u_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:7::divr16u:92 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 lin16u_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] )
[119] (word) divr16u::divisor#6 ← phi( lin16u_gen/(word) divr16u::divisor#0 lin16u_gen::@3/(word) divr16u::divisor#1 ) [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] )
[119] (word) divr16u::dividend#5 ← phi( lin16u_gen/(word) divr16u::dividend#1 lin16u_gen::@3/(byte/signed byte/word/signed word/dword/signed dword) 0 ) [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] )
[119] (word) divr16u::rem#10 ← phi( lin16u_gen/(byte/signed byte/word/signed word/dword/signed dword) 0 lin16u_gen::@3/(word) divr16u::rem#4 ) [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] )
to:divr16u::@1
divr16u::@1: scope:[divr16u] from divr16u divr16u::@3
[106] (byte) divr16u::i#2 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(byte) divr16u::i#1 ) [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::lin16u_gen:5::divr16u:87 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:7::divr16u:87 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:5::divr16u:92 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:7::divr16u:92 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] )
[106] (word) divr16u::quotient#3 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(word) divr16u::return#0 ) [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::lin16u_gen:5::divr16u:87 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:7::divr16u:87 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:5::divr16u:92 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:7::divr16u:92 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] )
[106] (word) divr16u::dividend#3 ← phi( divr16u/(word) divr16u::dividend#5 divr16u::@3/(word) divr16u::dividend#0 ) [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::lin16u_gen:5::divr16u:87 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:7::divr16u:87 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:5::divr16u:92 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:7::divr16u:92 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] )
[106] (word) divr16u::rem#5 ← phi( divr16u/(word) divr16u::rem#10 divr16u::@3/(word) divr16u::rem#11 ) [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::lin16u_gen:5::divr16u:87 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:7::divr16u:87 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:5::divr16u:92 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:7::divr16u:92 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] )
[107] (word) divr16u::rem#0 ← (word) divr16u::rem#5 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::lin16u_gen:5::divr16u:87 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:7::divr16u:87 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:5::divr16u:92 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:7::divr16u:92 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] )
[108] (byte~) divr16u::$1 ← > (word) divr16u::dividend#3 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::lin16u_gen:5::divr16u:87 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:7::divr16u:87 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:5::divr16u:92 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:7::divr16u:92 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] )
[109] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::lin16u_gen:5::divr16u:87 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:7::divr16u:87 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:5::divr16u:92 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:7::divr16u:92 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] )
[110] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::lin16u_gen:5::divr16u:87 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:7::divr16u:87 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:5::divr16u:92 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:7::divr16u:92 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] )
[120] (byte) divr16u::i#2 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(byte) divr16u::i#1 ) [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] )
[120] (word) divr16u::quotient#3 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(word) divr16u::return#0 ) [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] )
[120] (word) divr16u::dividend#3 ← phi( divr16u/(word) divr16u::dividend#5 divr16u::@3/(word) divr16u::dividend#0 ) [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] )
[120] (word) divr16u::rem#5 ← phi( divr16u/(word) divr16u::rem#10 divr16u::@3/(word) divr16u::rem#11 ) [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] )
[121] (word) divr16u::rem#0 ← (word) divr16u::rem#5 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] )
[122] (byte~) divr16u::$1 ← > (word) divr16u::dividend#3 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] )
[123] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] )
[124] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] )
to:divr16u::@4
divr16u::@4: scope:[divr16u] from divr16u::@1
[111] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::lin16u_gen:5::divr16u:87 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:7::divr16u:87 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:5::divr16u:92 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:7::divr16u:92 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] )
[125] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] )
to:divr16u::@2
divr16u::@2: scope:[divr16u] from divr16u::@1 divr16u::@4
[112] (word) divr16u::rem#6 ← phi( divr16u::@1/(word) divr16u::rem#0 divr16u::@4/(word) divr16u::rem#1 ) [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] ( main:2::lin16u_gen:5::divr16u:87 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] main:2::lin16u_gen:7::divr16u:87 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] main:2::lin16u_gen:5::divr16u:92 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] main:2::lin16u_gen:7::divr16u:92 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] )
[113] (word) divr16u::dividend#0 ← (word) divr16u::dividend#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ( main:2::lin16u_gen:5::divr16u:87 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:7::divr16u:87 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:5::divr16u:92 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:7::divr16u:92 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] )
[114] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::lin16u_gen:5::divr16u:87 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:7::divr16u:87 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:5::divr16u:92 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:7::divr16u:92 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] )
[115] if((word) divr16u::rem#6<(word) divr16u::divisor#6) goto divr16u::@3 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::lin16u_gen:5::divr16u:87 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:7::divr16u:87 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:5::divr16u:92 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:7::divr16u:92 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] )
[126] (word) divr16u::rem#6 ← phi( divr16u::@1/(word) divr16u::rem#0 divr16u::@4/(word) divr16u::rem#1 ) [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] )
[127] (word) divr16u::dividend#0 ← (word) divr16u::dividend#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] )
[128] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] )
[129] if((word) divr16u::rem#6<(word) divr16u::divisor#6) goto divr16u::@3 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] )
to:divr16u::@5
divr16u::@5: scope:[divr16u] from divr16u::@2
[116] (word) divr16u::quotient#2 ← ++ (word) divr16u::quotient#1 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] ( main:2::lin16u_gen:5::divr16u:87 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:7::divr16u:87 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:5::divr16u:92 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:7::divr16u:92 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] )
[117] (word) divr16u::rem#2 ← (word) divr16u::rem#6 - (word) divr16u::divisor#6 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::lin16u_gen:5::divr16u:87 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:7::divr16u:87 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:5::divr16u:92 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:7::divr16u:92 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] )
[130] (word) divr16u::quotient#2 ← ++ (word) divr16u::quotient#1 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] )
[131] (word) divr16u::rem#2 ← (word) divr16u::rem#6 - (word) divr16u::divisor#6 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] )
to:divr16u::@3
divr16u::@3: scope:[divr16u] from divr16u::@2 divr16u::@5
[118] (word) divr16u::return#0 ← phi( divr16u::@2/(word) divr16u::quotient#1 divr16u::@5/(word) divr16u::quotient#2 ) [ divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 ] ( main:2::lin16u_gen:5::divr16u:87 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 ] main:2::lin16u_gen:7::divr16u:87 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 ] main:2::lin16u_gen:5::divr16u:92 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 lin16u_gen::stepi#0 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 ] main:2::lin16u_gen:7::divr16u:92 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 lin16u_gen::stepi#0 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 ] )
[118] (word) divr16u::rem#11 ← phi( divr16u::@2/(word) divr16u::rem#6 divr16u::@5/(word) divr16u::rem#2 ) [ divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 ] ( main:2::lin16u_gen:5::divr16u:87 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 ] main:2::lin16u_gen:7::divr16u:87 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 ] main:2::lin16u_gen:5::divr16u:92 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 lin16u_gen::stepi#0 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 ] main:2::lin16u_gen:7::divr16u:92 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 lin16u_gen::stepi#0 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 ] )
[119] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] ( main:2::lin16u_gen:5::divr16u:87 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:7::divr16u:87 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:5::divr16u:92 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 lin16u_gen::stepi#0 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:7::divr16u:92 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 lin16u_gen::stepi#0 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] )
[120] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] ( main:2::lin16u_gen:5::divr16u:87 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:7::divr16u:87 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:5::divr16u:92 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 lin16u_gen::stepi#0 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:7::divr16u:92 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 lin16u_gen::stepi#0 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] )
[132] (word) divr16u::return#0 ← phi( divr16u::@2/(word) divr16u::quotient#1 divr16u::@5/(word) divr16u::quotient#2 ) [ divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 ] )
[132] (word) divr16u::rem#11 ← phi( divr16u::@2/(word) divr16u::rem#6 divr16u::@5/(word) divr16u::rem#2 ) [ divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 ] )
[133] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] )
[134] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] )
to:divr16u::@return
divr16u::@return: scope:[divr16u] from divr16u::@3
[121] return [ divr16u::rem#11 divr16u::return#0 ] ( main:2::lin16u_gen:5::divr16u:87 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::rem#11 divr16u::return#0 ] main:2::lin16u_gen:7::divr16u:87 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 divr16u::rem#11 divr16u::return#0 ] main:2::lin16u_gen:5::divr16u:92 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 lin16u_gen::stepi#0 divr16u::rem#11 divr16u::return#0 ] main:2::lin16u_gen:7::divr16u:92 [ lin16u_gen::min#2 lin16u_gen::length#2 lin16u_gen::lintab#4 lin16u_gen::stepi#0 divr16u::rem#11 divr16u::return#0 ] )
[135] return [ divr16u::rem#11 divr16u::return#0 ] ( main:2::lin16u_gen:5::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#11 divr16u::return#0 ] main:2::lin16u_gen:7::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#11 divr16u::return#0 ] main:2::lin16u_gen:9::divr16u:101 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 divr16u::rem#11 divr16u::return#0 ] main:2::lin16u_gen:5::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#11 divr16u::return#0 ] main:2::lin16u_gen:7::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#11 divr16u::return#0 ] main:2::lin16u_gen:9::divr16u:106 [ lin16u_gen::min#3 lin16u_gen::length#3 lin16u_gen::lintab#5 lin16u_gen::stepi#0 divr16u::rem#11 divr16u::return#0 ] )
to:@return

File diff suppressed because it is too large Load Diff

View File

@ -5,13 +5,13 @@
(const byte*) SCREEN#0 SCREEN = ((byte*))(word/signed word/dword/signed dword) 1024
(byte*) char_cursor
(byte*) char_cursor#1 char_cursor zp ZP_WORD:7 101.0
(byte*) char_cursor#11 char_cursor zp ZP_WORD:7 4.586206896551724
(byte*) char_cursor#2 char_cursor zp ZP_WORD:7 17.055555555555554
(byte*) char_cursor#44 char_cursor zp ZP_WORD:7 4.0
(byte*) char_cursor#69 char_cursor zp ZP_WORD:7 5.666666666666667
(byte*) char_cursor#74 char_cursor zp ZP_WORD:7 30.0
(byte*~) char_cursor#77 char_cursor zp ZP_WORD:7 22.0
(byte*~) char_cursor#85 char_cursor zp ZP_WORD:7 4.0
(byte*) char_cursor#11 char_cursor zp ZP_WORD:7 4.228571428571427
(byte*) char_cursor#2 char_cursor zp ZP_WORD:7 12.791666666666664
(byte*) char_cursor#50 char_cursor zp ZP_WORD:7 4.0
(byte*) char_cursor#81 char_cursor zp ZP_WORD:7 5.666666666666667
(byte*) char_cursor#86 char_cursor zp ZP_WORD:7 45.0
(byte*~) char_cursor#90 char_cursor zp ZP_WORD:7 22.0
(byte*~) char_cursor#99 char_cursor zp ZP_WORD:7 4.0
(word()) divr16u((word) divr16u::dividend , (word) divr16u::divisor , (word) divr16u::rem)
(byte~) divr16u::$1 reg byte a 22.0
(byte~) divr16u::$2 reg byte a 22.0
@ -41,7 +41,7 @@
(word) divr16u::rem#0 rem zp ZP_WORD:3 8.25
(word) divr16u::rem#1 rem zp ZP_WORD:3 22.0
(word) divr16u::rem#10 rem zp ZP_WORD:3 4.0
(word) divr16u::rem#11 rem zp ZP_WORD:3 1.608695652173913
(word) divr16u::rem#11 rem zp ZP_WORD:3 1.5599999999999998
(word) divr16u::rem#2 rem zp ZP_WORD:3 22.0
(word) divr16u::rem#4 rem zp ZP_WORD:3 4.0
(word) divr16u::rem#5 rem zp ZP_WORD:3 24.0
@ -62,15 +62,15 @@
(word) lin16u_gen::i#1 i zp ZP_WORD:5 16.5
(word) lin16u_gen::i#2 i zp ZP_WORD:5 4.4
(word) lin16u_gen::length
(word) lin16u_gen::length#2 length zp ZP_WORD:7 0.7142857142857143
(word) lin16u_gen::length#3 length zp ZP_WORD:7 0.7142857142857143
(word*) lin16u_gen::lintab
(word*) lin16u_gen::lintab#2 lintab zp ZP_WORD:13 7.333333333333333
(word*) lin16u_gen::lintab#3 lintab zp ZP_WORD:13 8.75
(word*) lin16u_gen::lintab#4 lintab zp ZP_WORD:13 0.14285714285714285
(word*) lin16u_gen::lintab#3 lintab zp ZP_WORD:13 7.333333333333333
(word*) lin16u_gen::lintab#4 lintab zp ZP_WORD:13 8.75
(word*) lin16u_gen::lintab#5 lintab zp ZP_WORD:13 0.14285714285714285
(word) lin16u_gen::max
(word) lin16u_gen::max#2 max zp ZP_WORD:3 2.0
(word) lin16u_gen::max#3 max zp ZP_WORD:3 2.0
(word) lin16u_gen::min
(word) lin16u_gen::min#2 min zp ZP_WORD:5 0.3076923076923077
(word) lin16u_gen::min#3 min zp ZP_WORD:5 0.3076923076923077
(dword) lin16u_gen::step
(dword) lin16u_gen::step#0 step zp ZP_DWORD:23 1.4444444444444446
(word) lin16u_gen::stepf
@ -82,14 +82,14 @@
(dword) lin16u_gen::val#1 val zp ZP_DWORD:9 5.5
(dword) lin16u_gen::val#2 val zp ZP_DWORD:9 11.666666666666666
(byte*) line_cursor
(byte*) line_cursor#1 line_cursor zp ZP_WORD:3 11.344827586206897
(byte*) line_cursor#1 line_cursor zp ZP_WORD:3 8.891891891891891
(byte*) line_cursor#11 line_cursor zp ZP_WORD:3 204.0
(byte*) line_cursor#21 line_cursor zp ZP_WORD:3 15.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
@ -98,6 +98,13 @@
(label) main::@19
(label) main::@2
(label) main::@20
(label) main::@21
(label) main::@22
(label) main::@23
(label) main::@24
(label) main::@25
(label) main::@26
(label) main::@27
(label) main::@3
(label) main::@4
(label) main::@5
@ -108,17 +115,22 @@
(label) main::@return
(byte) main::i
(byte) main::i#1 i zp ZP_BYTE:2 16.5
(byte) main::i#2 i zp ZP_BYTE:2 3.9285714285714284
(byte) main::i#10 i zp ZP_BYTE:2 3.666666666666667
(word[20]) main::lintab1
(const word[20]) main::lintab1#0 lintab1 = { fill( 20, 0) }
(word[20]) main::lintab2
(const word[20]) main::lintab2#0 lintab2 = { fill( 20, 0) }
(word[20]) main::lintab3
(const word[20]) main::lintab3#0 lintab3 = { fill( 20, 0) }
(const string) main::str str = (string) " @"
(const string) main::str1 str1 = (string) " @"
(const string) main::str2 str2 = (string) " @"
(const string) main::str3 str3 = (string) " @"
(const string) main::str4 str4 = (string) " @"
(const string) main::str4 str4 = (string) " @"
(const string) main::str5 str5 = (string) " @"
(const string) main::str6 str6 = (string) " @"
(const string) main::str7 str7 = (string) " @"
(const string) main::str8 str8 = (string) " @"
(void()) print_byte((byte) print_byte::b)
(byte~) print_byte::$0 reg byte a 4.0
(byte~) print_byte::$2 reg byte a 4.0
@ -152,26 +164,27 @@
(label) print_str::@return
(byte*) print_str::str
(byte*) print_str::str#0 str zp ZP_WORD:5 202.0
(byte*) print_str::str#7 str zp ZP_WORD:5 101.5
(byte*) print_str::str#9 str zp ZP_WORD:5 2.0
(byte*) print_str::str#10 str zp ZP_WORD:5 101.5
(byte*) print_str::str#12 str zp ZP_WORD:5 2.0
(void()) print_word((word) print_word::w)
(label) print_word::@1
(label) print_word::@return
(word) print_word::w
(word) print_word::w#2 w zp ZP_WORD:5 22.0
(word) print_word::w#10 w zp ZP_WORD:5 12.333333333333332
(word) print_word::w#3 w zp ZP_WORD:5 22.0
(word) print_word::w#6 w zp ZP_WORD:5 8.666666666666666
(word) print_word::w#4 w zp ZP_WORD:5 22.0
(word) print_word::w#5 w zp ZP_WORD:5 22.0
(word) rem16u
(word) rem16u#20 rem16u zp ZP_WORD:3 20.0
(word) rem16u#22 rem16u zp ZP_WORD:3 40.0
zp ZP_BYTE:2 [ main::i#2 main::i#1 ]
zp ZP_WORD:3 [ line_cursor#11 line_cursor#21 line_cursor#1 print_cls::sc#2 print_cls::sc#1 lin16u_gen::max#2 divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 rem16u#20 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 lin16u_gen::ampl#0 ]
zp ZP_WORD:5 [ print_word::w#6 print_word::w#2 print_word::w#3 print_str::str#7 print_str::str#9 print_str::str#0 lin16u_gen::min#2 lin16u_gen::i#2 lin16u_gen::i#1 ]
zp ZP_BYTE:2 [ main::i#10 main::i#1 ]
zp ZP_WORD:3 [ line_cursor#11 line_cursor#21 line_cursor#1 print_cls::sc#2 print_cls::sc#1 lin16u_gen::max#3 divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 rem16u#22 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 lin16u_gen::ampl#0 ]
zp ZP_WORD:5 [ print_word::w#10 print_word::w#3 print_word::w#4 print_word::w#5 print_str::str#10 print_str::str#12 print_str::str#0 lin16u_gen::min#3 lin16u_gen::i#2 lin16u_gen::i#1 ]
reg byte x [ print_byte::b#3 print_byte::b#2 print_byte::b#0 print_byte::b#1 ]
reg byte a [ print_char::ch#2 print_char::ch#0 print_char::ch#1 ]
zp ZP_WORD:7 [ char_cursor#74 char_cursor#44 char_cursor#69 char_cursor#77 char_cursor#2 char_cursor#11 char_cursor#85 char_cursor#1 lin16u_gen::length#2 ]
zp ZP_WORD:7 [ char_cursor#86 char_cursor#50 char_cursor#81 char_cursor#90 char_cursor#2 char_cursor#11 char_cursor#99 char_cursor#1 lin16u_gen::length#3 ]
zp ZP_DWORD:9 [ lin16u_gen::val#2 lin16u_gen::val#1 lin16u_gen::val#0 ]
zp ZP_WORD:13 [ lin16u_gen::lintab#3 lin16u_gen::lintab#2 lin16u_gen::lintab#4 ]
zp ZP_WORD:13 [ lin16u_gen::lintab#4 lin16u_gen::lintab#3 lin16u_gen::lintab#5 ]
zp ZP_WORD:15 [ divr16u::divisor#6 divr16u::divisor#0 divr16u::divisor#1 lin16u_gen::$5 ]
zp ZP_WORD:17 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#1 divr16u::dividend#0 ]
zp ZP_WORD:19 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 divr16u::return#3 lin16u_gen::stepf#0 ]

View File

@ -0,0 +1,595 @@
.pc = $801 "Basic"
:BasicUpstart(main)
.pc = $80d "Program"
.label SCREEN = $400
.label rem16u = $12
.label char_cursor = $12
.label line_cursor = $e
jsr main
main: {
jsr print_cls
jsr sin16s_gen
rts
sintab: .fill $28, 0
}
sin16s_gen: {
.const wavelength = $14
.const PI2 = $6488
.const PI_u4f12 = $3244
.const PI_HALF_u4f12 = $1922
.label _21 = $26
.label stepi = 6
.label stepf = $c
.label step = $20
.label x1 = $a
.label x2 = $16
.label x3 = $24
.label x4 = $16
.label x5 = $16
.label x3_6i = $26
.label x5_128i = $c
.label usinx = $c
.label sintab = 6
.label x = 2
.label i = 8
.label sinx = $c
lda #<wavelength
sta divr16u.divisor
lda #>wavelength
sta divr16u.divisor+1
lda #<PI2
sta divr16u.dividend
lda #>PI2
sta divr16u.dividend+1
lda #<0
sta divr16u.rem
sta divr16u.rem+1
jsr divr16u
lda divr16u.return
sta stepi
lda divr16u.return+1
sta stepi+1
lda #<wavelength
sta divr16u.divisor
lda #>wavelength
sta divr16u.divisor+1
lda #<0
sta divr16u.dividend
sta divr16u.dividend+1
jsr divr16u
lda stepi
sta step+2
lda stepi+1
sta step+3
lda stepf
sta step
lda stepf+1
sta step+1
lda #<SCREEN
sta char_cursor
lda #>SCREEN
sta char_cursor+1
lda #<str
sta print_str.str
lda #>str
sta print_str.str+1
jsr print_str
lda #<PI2
sta print_word.w
lda #>PI2
sta print_word.w+1
jsr print_word
lda #<SCREEN
sta line_cursor
lda #>SCREEN
sta line_cursor+1
jsr print_ln
lda line_cursor
sta char_cursor
lda line_cursor+1
sta char_cursor+1
lda #<str1
sta print_str.str
lda #>str1
sta print_str.str+1
jsr print_str
lda step
sta print_dword.dw
lda step+1
sta print_dword.dw+1
lda step+2
sta print_dword.dw+2
lda step+3
sta print_dword.dw+3
jsr print_dword
jsr print_ln
lda #<0
sta i
sta i+1
lda #<main.sintab
sta sintab
lda #>main.sintab
sta sintab+1
lda #0
sta x
sta x+1
sta x+2
sta x+3
b1:
lda x+2
sta x1
lda x+3
sta x1+1
cmp #>PI_u4f12
bcc b5
bne !+
lda x1
cmp #<PI_u4f12
bcc b5
!:
lda x1
sec
sbc #<PI_u4f12
sta x1
lda x1+1
sbc #>PI_u4f12
sta x1+1
ldy #1
jmp b2
b5:
ldy #0
b2:
lda x1+1
cmp #>PI_HALF_u4f12
bcc b3
bne !+
lda x1
cmp #<PI_HALF_u4f12
bcc b3
!:
sec
lda #<PI_u4f12
sbc x1
sta x1
lda #>PI_u4f12
sbc x1+1
sta x1+1
b3:
lda x1
sta mul_u4f12.v1
lda x1+1
sta mul_u4f12.v1+1
jsr mul_u4f12
jsr mul_u4f12
lda mul_u4f12.return
sta x3
lda mul_u4f12.return+1
sta x3+1
lda x3
sta mul_u4f12.v1
lda x3+1
sta mul_u4f12.v1+1
jsr mul_u4f12
jsr mul_u4f12
lda x3
sta divr16u.dividend
lda x3+1
sta divr16u.dividend+1
lda #<6
sta divr16u.divisor
lda #>6
sta divr16u.divisor+1
sta divr16u.rem
sta divr16u.rem+1
jsr divr16u
lda divr16u.return
sta x3_6i
lda divr16u.return+1
sta x3_6i+1
lda x5
sta divr16u.dividend
lda x5+1
sta divr16u.dividend+1
lda #<$80
sta divr16u.divisor
lda #>$80
sta divr16u.divisor+1
lda #<0
sta divr16u.rem
sta divr16u.rem+1
jsr divr16u
lda x1
sec
sbc _21
sta _21
lda x1+1
sbc _21+1
sta _21+1
lda usinx
clc
adc _21
sta usinx
lda usinx+1
adc _21+1
sta usinx+1
cpy #0
beq b4
sec
lda sinx
eor #$ff
adc #0
sta sinx
lda sinx+1
eor #$ff
adc #0
sta sinx+1
b4:
ldy #0
lda sinx
sta (sintab),y
iny
lda sinx+1
sta (sintab),y
clc
lda sintab
adc #<2
sta sintab
lda sintab+1
adc #>2
sta sintab+1
lda i
sta print_word.w
lda i+1
sta print_word.w+1
lda line_cursor
sta char_cursor
lda line_cursor+1
sta char_cursor+1
jsr print_word
lda #<str2
sta print_str.str
lda #>str2
sta print_str.str+1
jsr print_str
jsr print_dword
lda #<str3
sta print_str.str
lda #>str3
sta print_str.str+1
jsr print_str
lda x1
sta print_word.w
lda x1+1
sta print_word.w+1
jsr print_word
lda #<str4
sta print_str.str
lda #>str4
sta print_str.str+1
jsr print_str
lda x3
sta print_word.w
lda x3+1
sta print_word.w+1
jsr print_word
lda #<str5
sta print_str.str
lda #>str5
sta print_str.str+1
jsr print_str
lda x5
sta print_word.w
lda x5+1
sta print_word.w+1
jsr print_word
lda #<str6
sta print_str.str
lda #>str6
sta print_str.str+1
jsr print_str
jsr print_sword
jsr print_ln
lda x
clc
adc step
sta x
lda x+1
adc step+1
sta x+1
lda x+2
adc step+2
sta x+2
lda x+3
adc step+3
sta x+3
inc i
bne !+
inc i+1
!:
lda i+1
cmp #>wavelength
bcs !b1+
jmp b1
!b1:
bne !+
lda i
cmp #<wavelength
bcs !b1+
jmp b1
!b1:
!:
rts
str: .text "2*pi @"
str1: .text "step @"
str2: .text " @"
str3: .text " @"
str4: .text " @"
str5: .text " @"
str6: .text " @"
}
print_ln: {
b1:
lda line_cursor
clc
adc #$28
sta line_cursor
bcc !+
inc line_cursor+1
!:
lda line_cursor+1
cmp char_cursor+1
bcc b1
bne !+
lda line_cursor
cmp char_cursor
bcc b1
!:
rts
}
print_sword: {
.label w = $c
lda w+1
bpl b1
lda #'-'
jsr print_char
sec
lda w
eor #$ff
adc #0
sta w
lda w+1
eor #$ff
adc #0
sta w+1
b1:
lda w
sta print_word.w
lda w+1
sta print_word.w+1
jsr print_word
rts
}
print_word: {
.label w = $10
lda w+1
tax
jsr print_byte
lda w
tax
jsr print_byte
rts
}
print_byte: {
txa
lsr
lsr
lsr
lsr
tay
lda hextab,y
jsr print_char
txa
and #$f
tay
lda hextab,y
jsr print_char
rts
hextab: .text "0123456789abcdef"
}
print_char: {
ldy #0
sta (char_cursor),y
inc char_cursor
bne !+
inc char_cursor+1
!:
rts
}
print_str: {
.label str = $10
b1:
ldy #0
lda (str),y
cmp #'@'
bne b2
rts
b2:
ldy #0
lda (str),y
sta (char_cursor),y
inc char_cursor
bne !+
inc char_cursor+1
!:
inc str
bne !+
inc str+1
!:
jmp b1
}
print_dword: {
.label dw = 2
lda dw+2
sta print_word.w
lda dw+3
sta print_word.w+1
jsr print_word
lda dw
sta print_word.w
lda dw+1
sta print_word.w+1
jsr print_word
rts
}
divr16u: {
.label rem = $12
.label dividend = $14
.label quotient = $c
.label return = $c
.label divisor = $10
ldx #0
txa
sta quotient
sta quotient+1
b1:
asl rem
rol rem+1
lda dividend+1
and #$80
cmp #0
beq b2
lda #1
ora rem
sta rem
b2:
asl dividend
rol dividend+1
asl quotient
rol quotient+1
lda rem+1
cmp divisor+1
bcc b3
bne !+
lda rem
cmp divisor
bcc b3
!:
inc quotient
bne !+
inc quotient+1
!:
lda rem
sec
sbc divisor
sta rem
lda rem+1
sbc divisor+1
sta rem+1
b3:
inx
cpx #$10
bne b1
rts
}
mul_u4f12: {
.label _0 = $18
.label _1 = $18
.label v1 = $16
.label v2 = $a
.label return = $16
jsr mul16u
asl _1
rol _1+1
rol _1+2
rol _1+3
asl _1
rol _1+1
rol _1+2
rol _1+3
asl _1
rol _1+1
rol _1+2
rol _1+3
asl _1
rol _1+1
rol _1+2
rol _1+3
lda _1+2
sta return
lda _1+3
sta return+1
rts
}
mul16u: {
.label mb = $1c
.label a = $16
.label res = $18
.label b = $a
.label return = $18
lda b
sta mb
lda b+1
sta mb+1
lda #0
sta mb+2
sta mb+3
sta res
sta res+1
sta res+2
sta res+3
b1:
lda a
bne b2
lda a+1
bne b2
rts
b2:
lda a
and #1
cmp #0
beq b4
lda res
clc
adc mb
sta res
lda res+1
adc mb+1
sta res+1
lda res+2
adc mb+2
sta res+2
lda res+3
adc mb+3
sta res+3
b4:
clc
ror a+1
ror a
asl mb
rol mb+1
rol mb+2
rol mb+3
jmp b1
}
print_cls: {
.label sc = 6
lda #<SCREEN
sta sc
lda #>SCREEN
sta sc+1
b1:
lda #' '
ldy #0
sta (sc),y
inc sc
bne !+
inc sc+1
!:
lda sc+1
cmp #>SCREEN+$3e8
bne b1
lda sc
cmp #<SCREEN+$3e8
bne b1
rts
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,292 @@
(label) @23
(label) @begin
(label) @end
(byte*) SCREEN
(const byte*) SCREEN#0 SCREEN = ((byte*))(word/signed word/dword/signed dword) 1024
(byte*) char_cursor
(byte*) char_cursor#1 char_cursor zp ZP_WORD:18 101.0
(byte*~) char_cursor#122 char_cursor zp ZP_WORD:18 22.0
(byte*~) char_cursor#128 char_cursor zp ZP_WORD:18 4.0
(byte*) char_cursor#17 char_cursor zp ZP_WORD:18 4.2564102564102555
(byte*) char_cursor#2 char_cursor zp ZP_WORD:18 15.727272727272727
(byte*) char_cursor#60 char_cursor zp ZP_WORD:18 5.0
(byte*) char_cursor#88 char_cursor zp ZP_WORD:18 3.0
(byte*) char_cursor#90 char_cursor zp ZP_WORD:18 27.0
(byte*) char_cursor#92 char_cursor zp ZP_WORD:18 2.0
(byte*) char_cursor#97 char_cursor zp ZP_WORD:18 59.0
(word()) divr16u((word) divr16u::dividend , (word) divr16u::divisor , (word) divr16u::rem)
(byte~) divr16u::$1 reg byte a 202.0
(byte~) divr16u::$2 reg byte a 202.0
(label) divr16u::@1
(label) divr16u::@2
(label) divr16u::@3
(label) divr16u::@4
(label) divr16u::@5
(label) divr16u::@6
(label) divr16u::@return
(word) divr16u::dividend
(word) divr16u::dividend#0 dividend zp ZP_WORD:20 25.25
(word) divr16u::dividend#3 dividend zp ZP_WORD:20 22.0
(word) divr16u::dividend#4 dividend zp ZP_WORD:20 22.0
(word) divr16u::dividend#5 dividend zp ZP_WORD:20 43.57142857142858
(word) divr16u::dividend#7 dividend zp ZP_WORD:20 24.0
(word) divr16u::divisor
(word) divr16u::divisor#8 divisor zp ZP_WORD:16 12.625
(byte) divr16u::i
(byte) divr16u::i#1 reg byte x 151.5
(byte) divr16u::i#2 reg byte x 15.538461538461538
(word) divr16u::quotient
(word) divr16u::quotient#1 quotient zp ZP_WORD:12 151.5
(word) divr16u::quotient#2 quotient zp ZP_WORD:12 101.0
(word) divr16u::quotient#3 quotient zp ZP_WORD:12 25.25
(word) divr16u::rem
(word) divr16u::rem#0 rem zp ZP_WORD:18 75.75
(word) divr16u::rem#1 rem zp ZP_WORD:18 202.0
(word) divr16u::rem#10 rem zp ZP_WORD:18 101.0
(word) divr16u::rem#11 rem zp ZP_WORD:18 101.66666666666667
(word) divr16u::rem#12 rem zp ZP_WORD:18 4.0
(word) divr16u::rem#2 rem zp ZP_WORD:18 202.0
(word) divr16u::rem#4 rem zp ZP_WORD:18 4.0
(word) divr16u::rem#7 rem zp ZP_WORD:18 204.0
(word) divr16u::return
(word) divr16u::return#0 return zp ZP_WORD:12 36.55555555555556
(word) divr16u::return#10 return zp ZP_WORD:12 22.0
(word) divr16u::return#2 return zp ZP_WORD:12 4.0
(word) divr16u::return#3 return zp ZP_WORD:12 4.0
(word) divr16u::return#4 return zp ZP_WORD:12 22.0
(byte*) line_cursor
(byte*) line_cursor#1 line_cursor zp ZP_WORD:14 4.012195121951219
(byte*) line_cursor#13 line_cursor zp ZP_WORD:14 204.0
(byte*) line_cursor#25 line_cursor zp ZP_WORD:14 15.0
(void()) main()
(label) main::@1
(label) main::@return
(signed word[20]) main::sintab
(const signed word[20]) main::sintab#0 sintab = { fill( 20, 0) }
(dword()) mul16u((word) mul16u::a , (word) mul16u::b)
(byte~) mul16u::$1 reg byte a 202.0
(label) mul16u::@1
(label) mul16u::@2
(label) mul16u::@4
(label) mul16u::@7
(label) mul16u::@return
(word) mul16u::a
(word) mul16u::a#0 a zp ZP_WORD:22 101.0
(word) mul16u::a#1 a zp ZP_WORD:22 1.3333333333333333
(word) mul16u::a#2 a zp ZP_WORD:22 67.66666666666666
(word) mul16u::b
(word) mul16u::b#0 b zp ZP_WORD:10 4.0
(dword) mul16u::mb
(dword) mul16u::mb#0 mb zp ZP_DWORD:28 4.0
(dword) mul16u::mb#1 mb zp ZP_DWORD:28 202.0
(dword) mul16u::mb#2 mb zp ZP_DWORD:28 43.57142857142858
(dword) mul16u::res
(dword) mul16u::res#1 res zp ZP_DWORD:24 202.0
(dword) mul16u::res#2 res zp ZP_DWORD:24 50.83333333333333
(dword) mul16u::res#6 res zp ZP_DWORD:24 101.0
(dword) mul16u::return
(dword) mul16u::return#2 return zp ZP_DWORD:24 4.0
(word()) mul_u4f12((word) mul_u4f12::v1 , (word) mul_u4f12::v2)
(dword~) mul_u4f12::$0 $0 zp ZP_DWORD:24 4.0
(dword~) mul_u4f12::$1 $1 zp ZP_DWORD:24 4.0
(label) mul_u4f12::@2
(label) mul_u4f12::@return
(word) mul_u4f12::return
(word) mul_u4f12::return#0 return zp ZP_WORD:22 22.0
(word) mul_u4f12::return#1 return zp ZP_WORD:22 22.0
(word) mul_u4f12::return#10 return zp ZP_WORD:22 7.666666666666666
(word) mul_u4f12::return#2 return zp ZP_WORD:22 22.0
(word) mul_u4f12::return#3 return zp ZP_WORD:22 22.0
(word) mul_u4f12::v1
(word) mul_u4f12::v1#0 v1 zp ZP_WORD:22 11.0
(word) mul_u4f12::v1#1 v1 zp ZP_WORD:22 11.0
(word) mul_u4f12::v1#2 v1 zp ZP_WORD:22 11.0
(word) mul_u4f12::v1#3 v1 zp ZP_WORD:22 11.0
(word) mul_u4f12::v1#4 v1 zp ZP_WORD:22 46.0
(word) mul_u4f12::v2
(word) mul_u4f12::v2#0 v2 zp ZP_WORD:10 22.0
(word) mul_u4f12::v2#1 v2 zp ZP_WORD:10 22.0
(word) mul_u4f12::v2#2 v2 zp ZP_WORD:10 22.0
(word) mul_u4f12::v2#3 v2 zp ZP_WORD:10 22.0
(word) mul_u4f12::v2#4 v2 zp ZP_WORD:10 23.0
(void()) print_byte((byte) print_byte::b)
(byte~) print_byte::$0 reg byte a 4.0
(byte~) print_byte::$2 reg byte a 4.0
(label) print_byte::@1
(label) print_byte::@return
(byte) print_byte::b
(byte) print_byte::b#0 reg byte x 4.0
(byte) print_byte::b#1 reg byte x 4.0
(byte) print_byte::b#2 reg byte x 2.0
(byte[]) print_byte::hextab
(const string) print_byte::hextab#0 hextab = (string) "0123456789abcdef"
(void()) print_char((byte) print_char::ch)
(label) print_char::@return
(byte) print_char::ch
(byte) print_char::ch#1 reg byte a 4.0
(byte) print_char::ch#2 reg byte a 4.0
(byte) print_char::ch#3 reg byte a 6.0
(void()) print_cls()
(label) print_cls::@1
(label) print_cls::@return
(byte*) print_cls::sc
(byte*) print_cls::sc#1 sc zp ZP_WORD:6 16.5
(byte*) print_cls::sc#2 sc zp ZP_WORD:6 16.5
(void()) print_dword((dword) print_dword::dw)
(label) print_dword::@1
(label) print_dword::@return
(dword) print_dword::dw
(dword) print_dword::dw#0 dw zp ZP_DWORD:2 4.0
(dword) print_dword::dw#1 dw zp ZP_DWORD:2 22.0
(dword) print_dword::dw#2 dw zp ZP_DWORD:2 5.666666666666667
(void()) print_ln()
(label) print_ln::@1
(label) print_ln::@return
(void()) print_str((byte*) print_str::str)
(label) print_str::@1
(label) print_str::@2
(label) print_str::@return
(byte*) print_str::str
(byte*) print_str::str#0 str zp ZP_WORD:16 202.0
(byte*) print_str::str#10 str zp ZP_WORD:16 2.0
(byte*) print_str::str#8 str zp ZP_WORD:16 101.5
(void()) print_sword((signed word) print_sword::w)
(label) print_sword::@1
(label) print_sword::@2
(label) print_sword::@4
(label) print_sword::@return
(signed word) print_sword::w
(signed word) print_sword::w#0 w zp ZP_WORD:12 4.0
(signed word) print_sword::w#1 w zp ZP_WORD:12 4.25
(signed word) print_sword::w#3 w zp ZP_WORD:12 4.0
(void()) print_word((word) print_word::w)
(label) print_word::@1
(label) print_word::@return
(word) print_word::w
(word) print_word::w#1 w zp ZP_WORD:16 4.0
(word~) print_word::w#12 w zp ZP_WORD:16 4.0
(word) print_word::w#2 w zp ZP_WORD:16 4.0
(word) print_word::w#4 w zp ZP_WORD:16 11.0
(word) print_word::w#5 w zp ZP_WORD:16 22.0
(word) print_word::w#6 w zp ZP_WORD:16 22.0
(word) print_word::w#7 w zp ZP_WORD:16 22.0
(word) print_word::w#8 w zp ZP_WORD:16 18.0
(word) rem16u
(word) rem16u#1 rem16u zp ZP_WORD:18 0.8
(void()) sin16s_gen((signed word*) sin16s_gen::sintab , (word) sin16s_gen::wavelength)
(word~) sin16s_gen::$21 $21 zp ZP_WORD:38 22.0
(label) sin16s_gen::@1
(label) sin16s_gen::@10
(label) sin16s_gen::@11
(label) sin16s_gen::@12
(label) sin16s_gen::@13
(label) sin16s_gen::@14
(label) sin16s_gen::@15
(label) sin16s_gen::@17
(label) sin16s_gen::@18
(label) sin16s_gen::@19
(label) sin16s_gen::@2
(label) sin16s_gen::@20
(label) sin16s_gen::@21
(label) sin16s_gen::@22
(label) sin16s_gen::@23
(label) sin16s_gen::@24
(label) sin16s_gen::@25
(label) sin16s_gen::@26
(label) sin16s_gen::@27
(label) sin16s_gen::@28
(label) sin16s_gen::@29
(label) sin16s_gen::@3
(label) sin16s_gen::@30
(label) sin16s_gen::@31
(label) sin16s_gen::@32
(label) sin16s_gen::@33
(label) sin16s_gen::@34
(label) sin16s_gen::@38
(label) sin16s_gen::@4
(label) sin16s_gen::@5
(label) sin16s_gen::@6
(label) sin16s_gen::@7
(label) sin16s_gen::@9
(label) sin16s_gen::@return
(word) sin16s_gen::PI2
(const word) sin16s_gen::PI2#0 PI2 = (word/signed word/dword/signed dword) 25736
(word) sin16s_gen::PI_HALF_u4f12
(const word) sin16s_gen::PI_HALF_u4f12#0 PI_HALF_u4f12 = (word/signed word/dword/signed dword) 6434
(word) sin16s_gen::PI_u4f12
(const word) sin16s_gen::PI_u4f12#0 PI_u4f12 = (word/signed word/dword/signed dword) 12868
(word) sin16s_gen::i
(word) sin16s_gen::i#1 i zp ZP_WORD:8 16.5
(word) sin16s_gen::i#10 i zp ZP_WORD:8 0.4714285714285714
(byte) sin16s_gen::isUpper
(byte) sin16s_gen::isUpper#10 reg byte y 0.3235294117647059
(signed word*) sin16s_gen::sintab
(signed word*) sin16s_gen::sintab#1 sintab zp ZP_WORD:6 0.7586206896551724
(signed word*) sin16s_gen::sintab#10 sintab zp ZP_WORD:6 0.7674418604651163
(signed word) sin16s_gen::sinx
(signed word) sin16s_gen::sinx#1 sinx zp ZP_WORD:12 22.0
(signed word) sin16s_gen::sinx#10 sinx zp ZP_WORD:12 1.8333333333333333
(signed word~) sin16s_gen::sinx#14 sinx zp ZP_WORD:12 22.0
(dword) sin16s_gen::step
(dword) sin16s_gen::step#0 step zp ZP_DWORD:32 0.17857142857142858
(word) sin16s_gen::stepf
(word) sin16s_gen::stepf#0 stepf zp ZP_WORD:12 4.0
(word) sin16s_gen::stepi
(word) sin16s_gen::stepi#0 stepi zp ZP_WORD:6 0.8
(const string) sin16s_gen::str str = (string) "2*pi @"
(const string) sin16s_gen::str1 str1 = (string) "step @"
(const string) sin16s_gen::str2 str2 = (string) " @"
(const string) sin16s_gen::str3 str3 = (string) " @"
(const string) sin16s_gen::str4 str4 = (string) " @"
(const string) sin16s_gen::str5 str5 = (string) " @"
(const string) sin16s_gen::str6 str6 = (string) " @"
(word) sin16s_gen::usinx
(word) sin16s_gen::usinx#0 usinx zp ZP_WORD:12 5.5
(word) sin16s_gen::wavelength
(const word) sin16s_gen::wavelength#0 wavelength = (byte/signed byte/word/signed word/dword/signed dword) 20
(dword) sin16s_gen::x
(dword) sin16s_gen::x#1 x zp ZP_DWORD:2 7.333333333333333
(dword) sin16s_gen::x#10 x zp ZP_DWORD:2 0.6376811594202898
(word) sin16s_gen::x1
(word) sin16s_gen::x1#0 x1 zp ZP_WORD:10 22.0
(word) sin16s_gen::x1#1 x1 zp ZP_WORD:10 22.0
(word) sin16s_gen::x1#10 x1 zp ZP_WORD:10 27.5
(word) sin16s_gen::x1#11 x1 zp ZP_WORD:10 2.152173913043478
(word) sin16s_gen::x1#2 x1 zp ZP_WORD:10 22.0
(word) sin16s_gen::x2
(word) sin16s_gen::x2#0 x2 zp ZP_WORD:22 22.0
(word) sin16s_gen::x3
(word) sin16s_gen::x3#0 x3 zp ZP_WORD:36 1.1
(word) sin16s_gen::x3_6i
(word) sin16s_gen::x3_6i#0 x3_6i zp ZP_WORD:38 4.4
(word) sin16s_gen::x4
(word) sin16s_gen::x4#0 x4 zp ZP_WORD:22 22.0
(word) sin16s_gen::x5
(word) sin16s_gen::x5#0 x5 zp ZP_WORD:22 0.9705882352941178
(word) sin16s_gen::x5_128i
(word) sin16s_gen::x5_128i#0 x5_128i zp ZP_WORD:12 11.0
zp ZP_DWORD:2 [ sin16s_gen::x#10 sin16s_gen::x#1 print_dword::dw#2 print_dword::dw#0 print_dword::dw#1 ]
zp ZP_WORD:6 [ sin16s_gen::sintab#10 sin16s_gen::sintab#1 print_cls::sc#2 print_cls::sc#1 sin16s_gen::stepi#0 ]
zp ZP_WORD:8 [ sin16s_gen::i#10 sin16s_gen::i#1 ]
reg byte y [ sin16s_gen::isUpper#10 ]
zp ZP_WORD:10 [ sin16s_gen::x1#11 sin16s_gen::x1#10 sin16s_gen::x1#0 sin16s_gen::x1#1 sin16s_gen::x1#2 mul_u4f12::v2#4 mul_u4f12::v2#1 mul_u4f12::v2#2 mul_u4f12::v2#3 mul_u4f12::v2#0 mul16u::b#0 ]
zp ZP_WORD:12 [ sin16s_gen::sinx#10 sin16s_gen::sinx#14 sin16s_gen::sinx#1 sin16s_gen::usinx#0 print_sword::w#3 print_sword::w#1 print_sword::w#0 sin16s_gen::x5_128i#0 divr16u::return#10 divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 divr16u::return#3 sin16s_gen::stepf#0 divr16u::return#4 ]
zp ZP_WORD:14 [ line_cursor#13 line_cursor#25 line_cursor#1 ]
zp ZP_WORD:16 [ print_word::w#8 print_word::w#1 print_word::w#2 print_word::w#12 print_word::w#5 print_word::w#6 print_word::w#7 print_word::w#4 print_str::str#8 print_str::str#10 print_str::str#0 divr16u::divisor#8 ]
reg byte x [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ]
reg byte a [ print_char::ch#3 print_char::ch#1 print_char::ch#2 ]
zp ZP_WORD:18 [ char_cursor#97 char_cursor#128 char_cursor#60 char_cursor#92 char_cursor#90 char_cursor#88 char_cursor#2 char_cursor#17 char_cursor#122 char_cursor#1 divr16u::rem#7 divr16u::rem#12 divr16u::rem#4 divr16u::rem#11 divr16u::rem#10 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 rem16u#1 ]
zp ZP_WORD:20 [ divr16u::dividend#5 divr16u::dividend#7 divr16u::dividend#3 divr16u::dividend#4 divr16u::dividend#0 ]
reg byte x [ divr16u::i#2 divr16u::i#1 ]
zp ZP_WORD:22 [ mul_u4f12::v1#4 mul_u4f12::v1#1 mul_u4f12::v1#2 mul_u4f12::v1#3 mul_u4f12::v1#0 mul16u::a#2 mul16u::a#1 mul16u::a#0 sin16s_gen::x2#0 mul_u4f12::return#0 sin16s_gen::x4#0 mul_u4f12::return#2 mul_u4f12::return#10 mul_u4f12::return#1 mul_u4f12::return#3 sin16s_gen::x5#0 ]
zp ZP_DWORD:24 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 mul16u::return#2 mul_u4f12::$0 mul_u4f12::$1 ]
zp ZP_DWORD:28 [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ]
zp ZP_DWORD:32 [ sin16s_gen::step#0 ]
zp ZP_WORD:36 [ sin16s_gen::x3#0 ]
zp ZP_WORD:38 [ sin16s_gen::x3_6i#0 sin16s_gen::$21 ]
reg byte a [ print_byte::$0 ]
reg byte a [ print_byte::$2 ]
reg byte a [ divr16u::$1 ]
reg byte a [ divr16u::$2 ]
reg byte a [ mul16u::$1 ]