diff --git a/src/main/java/dk/camelot64/kickc/fragment/asm/vbuaa_eq__deref_pbuc1_then_la1.asm b/src/main/java/dk/camelot64/kickc/fragment/asm/vbuaa_eq__deref_pbuc1_then_la1.asm new file mode 100644 index 000000000..347bc8757 --- /dev/null +++ b/src/main/java/dk/camelot64/kickc/fragment/asm/vbuaa_eq__deref_pbuc1_then_la1.asm @@ -0,0 +1,2 @@ +cmp {c1} +beq {la1} \ No newline at end of file diff --git a/src/main/java/dk/camelot64/kickc/fragment/asm/vbuxx_eq__deref_pbuc1_then_la1.asm b/src/main/java/dk/camelot64/kickc/fragment/asm/vbuxx_eq__deref_pbuc1_then_la1.asm new file mode 100644 index 000000000..ab40c58c8 --- /dev/null +++ b/src/main/java/dk/camelot64/kickc/fragment/asm/vbuxx_eq__deref_pbuc1_then_la1.asm @@ -0,0 +1,2 @@ +cpx {c1} +beq {la1} \ No newline at end of file diff --git a/src/main/java/dk/camelot64/kickc/fragment/asm/vbuyy_eq__deref_pbuc1_then_la1.asm b/src/main/java/dk/camelot64/kickc/fragment/asm/vbuyy_eq__deref_pbuc1_then_la1.asm new file mode 100644 index 000000000..9f049946f --- /dev/null +++ b/src/main/java/dk/camelot64/kickc/fragment/asm/vbuyy_eq__deref_pbuc1_then_la1.asm @@ -0,0 +1,2 @@ +cpy {c1} +beq {la1} \ No newline at end of file diff --git a/src/main/java/dk/camelot64/kickc/passes/Pass2ConstantIdentification.java b/src/main/java/dk/camelot64/kickc/passes/Pass2ConstantIdentification.java index 4a2aeeeef..fa011a496 100644 --- a/src/main/java/dk/camelot64/kickc/passes/Pass2ConstantIdentification.java +++ b/src/main/java/dk/camelot64/kickc/passes/Pass2ConstantIdentification.java @@ -203,6 +203,7 @@ public class Pass2ConstantIdentification extends Pass2SsaOptimization { case "((dword))": case "((signed dword))": case "((byte*))": + case "!": return new ConstantUnary(operator, c); case "*": { // pointer dereference - not constant return null; @@ -232,6 +233,12 @@ public class Pass2ConstantIdentification extends Pass2SsaOptimization { case "^": case "<<": case ">>": + case "==": + case "!=": + case ">": + case "<": + case ">=": + case "<=": return new ConstantBinary(c1, operator, c2); case "w=": return new ConstantBinary(new ConstantBinary(c1, Operator.MULTIPLY, new ConstantInteger(256L)), Operator.PLUS, c2); diff --git a/src/test/java/dk/camelot64/kickc/test/TestPrograms.java b/src/test/java/dk/camelot64/kickc/test/TestPrograms.java index 99f89e7b0..9b92974ac 100644 --- a/src/test/java/dk/camelot64/kickc/test/TestPrograms.java +++ b/src/test/java/dk/camelot64/kickc/test/TestPrograms.java @@ -45,6 +45,11 @@ public class TestPrograms { AsmFragmentTemplateUsages.logUsages(log, false, false, false, false, false, false); } + @Test + public void testCastPrecedenceProblem() throws IOException, URISyntaxException { + compileAndCompare("cast-precedence-problem"); + } + @Test public void testLoopProblem() throws IOException, URISyntaxException { compileAndCompare("loop-problem"); @@ -60,6 +65,11 @@ public class TestPrograms { compileAndCompare("sinusgen16"); } + @Test + public void testSinusGen16b() throws IOException, URISyntaxException { + compileAndCompare("sinusgen16b"); + } + @Test public void testSinusGenScale8() throws IOException, URISyntaxException { compileAndCompare("sinusgenscale8"); diff --git a/src/test/java/dk/camelot64/kickc/test/kc/cast-precedence-problem.kc b/src/test/java/dk/camelot64/kickc/test/kc/cast-precedence-problem.kc new file mode 100644 index 000000000..ad4cf86a1 --- /dev/null +++ b/src/test/java/dk/camelot64/kickc/test/kc/cast-precedence-problem.kc @@ -0,0 +1,19 @@ +// Tests that casting inside constants in the output handles precedence between rol >> and + correctly - should generate the following KA-expression ($ff & sumw>>1)+1 + +void main() { + byte* SCREEN = $400; + byte min = 10; + byte max = 200; + word sumw = min+max; + byte midw = (byte)(sumw>>1)+1; + SCREEN[0] = midw; + byte sumb = min+max; + byte midb = (sumb>>1)+1; + SCREEN[1] = midb; + byte* BGCOL = $d021; + if(SCREEN[0]==SCREEN[1]) { + *BGCOL = 5; + } else { + *BGCOL = 2; + } +} diff --git a/src/test/java/dk/camelot64/kickc/test/kc/sinusb.kc b/src/test/java/dk/camelot64/kickc/test/kc/sinusb.kc new file mode 100644 index 000000000..5b2667aa3 --- /dev/null +++ b/src/test/java/dk/camelot64/kickc/test/kc/sinusb.kc @@ -0,0 +1,52 @@ +// Sinus Generator functions using only multiplication, addition and bit shifting +// 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 +// Optimization possibility: Use symmetries when generating sinustables. wavelength%2==0 -> mirror symmetry over PI, wavelength%4==0 -> mirror symmetry over PI/2. + +import "sinus.kc" + +// Generate signed (large) word sinus table - on the full -$7fff - $7fff range +// sintab - the table to generate into +// wavelength - the number of sinus points in a total sinus wavelength (the size of the table) +void sin16s_genb(signed word* sintab, word wavelength) { + // u[4.28] step = PI*2/wavelength + dword step = div32u16u(PI2_u4f28, wavelength); // u[4.28] + // Iterate over the table + dword x = 0; // u[4.28] + for( word i=0; ix); + sintab = sintab + 2; + x = x + step; + } +} + +// Calculate signed word sinus sin(x) +// x: unsigned dword input u[4.28] in the interval $00000000 - PI2_u4f28 +// result: signed word sin(x) s[0.15] - using the full range -$7fff - $7fff +signed word sin16sb(word x) { + // Move x1 into the range 0-PI/2 using sinus mirror symmetries + byte isUpper = 0; + if(x >= PI_u4f12 ) { + x = x - PI_u4f12; + isUpper = 1; + } + if(x >= PI_HALF_u4f12 ) { + x = PI_u4f12 - x; + } + // sinx = x - x^3/6 + x5/128; + word x1 = x<<3; // u[1.15] + word x2 = mulu16_sel(x1, x1, 0); // u[2.14] x^2 + word x3 = mulu16_sel(x2, x1, 1); // u[2.14] x^3 + word x3_6 = mulu16_sel(x3, $10000/6, 1); // u[1.15] x^3/6; + word usinx = x1 - x3_6; // u[1.15] x - x^3/6 + word x4 = mulu16_sel(x3, x1, 0); // u[3.13] x^4 + word x5 = mulu16_sel(x4, x1, 0); // u[4.12] x^5 + word x5_128 = x5>>4; // // u[1.15] x^5/128 -- much more efficient than mul_u16_sel(x5, $10000/128, 3); + usinx = usinx + x5_128; // u[1.15] (first bit is always zero) + signed word sinx = (signed word)usinx; // s[0.15] + if(isUpper!=0) { + sinx = -(signed word)usinx; // s[0.15]; + } + return sinx; +} diff --git a/src/test/java/dk/camelot64/kickc/test/kc/sinusgen16b.kc b/src/test/java/dk/camelot64/kickc/test/kc/sinusgen16b.kc new file mode 100644 index 000000000..6b9cf7e53 --- /dev/null +++ b/src/test/java/dk/camelot64/kickc/test/kc/sinusgen16b.kc @@ -0,0 +1,25 @@ +// Generates a 16-bit signed sinus +import "sinus.kc" +import "sinusb.kc" +import "print.kc" + +void main() { + word wavelength = 120; + signed word[120] sintab1; + signed word[120] sintab2; + sin16s_gen(sintab1, wavelength); + sin16s_genb(sintab2, wavelength); + print_cls(); + signed word* st1 = sintab1; + signed word* st2 = sintab2; + for( byte i: 0..119) { + signed word sw = *st1 - *st2; + if(sw>=0) { + print_str(" @"); + } + print_sword(sw); + print_str(" @"); + st1 = st1+2; + st2 = st2+2; + } +} diff --git a/src/test/java/dk/camelot64/kickc/test/kc/sinusgenscale8.kc b/src/test/java/dk/camelot64/kickc/test/kc/sinusgenscale8.kc index 3433c6e75..fce8f7a12 100644 --- a/src/test/java/dk/camelot64/kickc/test/kc/sinusgenscale8.kc +++ b/src/test/java/dk/camelot64/kickc/test/kc/sinusgenscale8.kc @@ -28,7 +28,8 @@ void main() { void sin8u_table(byte* sintab, word tabsize, byte min, byte max) { byte amplitude = max-min; word sum = min+max; - byte mid = (byte)(sum>>1); + byte mid = (byte)((sum>>1)+1); + //if( sum & 1 > 0) mid++; // u[4.28] step = PI*2/wavelength word step = div16u(PI2_u4f12, tabsize); // u[4.12] print_str("step:@"); @@ -45,12 +46,18 @@ void sin8u_table(byte* sintab, word tabsize, byte min, byte max) { // Iterate over the table word x = 0; // u[4.12] for( word i=0; imul8su(sin8s(x), amplitude); - *sintab++ = sinval; + signed byte sinx = sin8s(x); + signed word sinx_sc = mul8su(sinx, amplitude+1); + byte sinx_tr = mid+>sinx_sc; + *sintab++ = sinx_tr; print_str("x: @"); print_word(x); print_str(" sin: @"); - print_byte(sinval); + print_sbyte(sinx); + print_str(" scaled: @"); + print_sword(sinx_sc); + print_str(" trans: @"); + print_byte(sinx_tr); print_ln(); x = x + step; } diff --git a/src/test/java/dk/camelot64/kickc/test/ref/cast-precedence-problem.asm b/src/test/java/dk/camelot64/kickc/test/ref/cast-precedence-problem.asm new file mode 100644 index 000000000..7c3f42e12 --- /dev/null +++ b/src/test/java/dk/camelot64/kickc/test/ref/cast-precedence-problem.asm @@ -0,0 +1,31 @@ +.pc = $801 "Basic" +:BasicUpstart(main) +.pc = $80d "Program" + jsr main +main: { + .label SCREEN = $400 + .const min = $a + .const max = $c8 + .label BGCOL = $d021 + .const sumw = min+max + .const sumb = min+max + .const midb = (sumb>>1)+1 + .const midw = $ff & sumw>>1+1 + lda #midw + sta SCREEN+0 + lda #midb + sta SCREEN+1 + ldx SCREEN+0 + tay + stx $ff + cpy $ff + bne b1 + lda #5 + sta BGCOL + breturn: + rts + b1: + lda #2 + sta BGCOL + jmp breturn +} diff --git a/src/test/java/dk/camelot64/kickc/test/ref/cast-precedence-problem.cfg b/src/test/java/dk/camelot64/kickc/test/ref/cast-precedence-problem.cfg new file mode 100644 index 000000000..8f84f8ac9 --- /dev/null +++ b/src/test/java/dk/camelot64/kickc/test/ref/cast-precedence-problem.cfg @@ -0,0 +1,23 @@ +@begin: scope:[] from + [0] phi() [ ] ( ) + to:@1 +@1: scope:[] from @begin + [1] phi() [ ] ( ) + [2] call main param-assignment [ ] ( ) + to:@end +@end: scope:[] from @1 + [3] phi() [ ] ( ) +main: scope:[main] from @1 + [4] *((const byte*) main::SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 0) ← (const byte) main::midw#0 [ ] ( main:2 [ ] ) + [5] *((const byte*) main::SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 1) ← (const byte) main::midb#0 [ ] ( main:2 [ ] ) + [6] if(*((const byte*) main::SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 0)!=*((const byte*) main::SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 1)) goto main::@1 [ ] ( main:2 [ ] ) + to:main::@3 +main::@3: scope:[main] from main + [7] *((const byte*) main::BGCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 5 [ ] ( main:2 [ ] ) + to:main::@return +main::@return: scope:[main] from main::@1 main::@3 + [8] return [ ] ( main:2 [ ] ) + to:@return +main::@1: scope:[main] from main + [9] *((const byte*) main::BGCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 2 [ ] ( main:2 [ ] ) + to:main::@return diff --git a/src/test/java/dk/camelot64/kickc/test/ref/cast-precedence-problem.log b/src/test/java/dk/camelot64/kickc/test/ref/cast-precedence-problem.log new file mode 100644 index 000000000..a118f7550 --- /dev/null +++ b/src/test/java/dk/camelot64/kickc/test/ref/cast-precedence-problem.log @@ -0,0 +1,808 @@ +PARSING src/test/java/dk/camelot64/kickc/test/kc/cast-precedence-problem.kc +// Tests that casting inside constants in the output handles precedence between rol >> and + correctly - should generate the following KA-expression ($ff & sumw>>1)+1 + +void main() { + byte* SCREEN = $400; + byte min = 10; + byte max = 200; + word sumw = min+max; + byte midw = (byte)(sumw>>1)+1; + SCREEN[0] = midw; + byte sumb = min+max; + byte midb = (sumb>>1)+1; + SCREEN[1] = midb; + byte* BGCOL = $d021; + if(SCREEN[0]==SCREEN[1]) { + *BGCOL = 5; + } else { + *BGCOL = 2; + } +} + + +STATEMENTS +proc (void()) main() + (byte*) main::SCREEN ← (word/signed word/dword/signed dword) 1024 + (byte) main::min ← (byte/signed byte/word/signed word/dword/signed dword) 10 + (byte) main::max ← (byte/word/signed word/dword/signed dword) 200 + (byte/word~) main::$0 ← (byte) main::min + (byte) main::max + (word) main::sumw ← (byte/word~) main::$0 + (word~) main::$1 ← (word) main::sumw >> (byte/signed byte/word/signed word/dword/signed dword) 1 + (byte~) main::$2 ← ((byte)) (word~) main::$1 + (byte/word~) main::$3 ← (byte~) main::$2 + (byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) main::midw ← (byte/word~) main::$3 + *((byte*) main::SCREEN + (byte/signed byte/word/signed word/dword/signed dword) 0) ← (byte) main::midw + (byte/word~) main::$4 ← (byte) main::min + (byte) main::max + (byte) main::sumb ← (byte/word~) main::$4 + (byte~) main::$5 ← (byte) main::sumb >> (byte/signed byte/word/signed word/dword/signed dword) 1 + (byte/word~) main::$6 ← (byte~) main::$5 + (byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) main::midb ← (byte/word~) main::$6 + *((byte*) main::SCREEN + (byte/signed byte/word/signed word/dword/signed dword) 1) ← (byte) main::midb + (byte*) main::BGCOL ← (word/dword/signed dword) 53281 + (boolean~) main::$7 ← *((byte*) main::SCREEN + (byte/signed byte/word/signed word/dword/signed dword) 0) == *((byte*) main::SCREEN + (byte/signed byte/word/signed word/dword/signed dword) 1) + (boolean~) main::$8 ← ! (boolean~) main::$7 + if((boolean~) main::$8) goto main::@1 + *((byte*) main::BGCOL) ← (byte/signed byte/word/signed word/dword/signed dword) 5 + goto main::@2 +main::@1: + *((byte*) main::BGCOL) ← (byte/signed byte/word/signed word/dword/signed dword) 2 +main::@2: +main::@return: + return +endproc // main() + call main + +SYMBOLS +(void()) main() +(byte/word~) main::$0 +(word~) main::$1 +(byte~) main::$2 +(byte/word~) main::$3 +(byte/word~) main::$4 +(byte~) main::$5 +(byte/word~) main::$6 +(boolean~) main::$7 +(boolean~) main::$8 +(label) main::@1 +(label) main::@2 +(label) main::@return +(byte*) main::BGCOL +(byte*) main::SCREEN +(byte) main::max +(byte) main::midb +(byte) main::midw +(byte) main::min +(byte) main::sumb +(word) main::sumw + +Promoting word/signed word/dword/signed dword to byte* in main::SCREEN ← ((byte*)) 1024 +Promoting word/dword/signed dword to byte* in main::BGCOL ← ((byte*)) 53281 +INITIAL CONTROL FLOW GRAPH +@begin: scope:[] from + to:@1 +main: scope:[main] from + (byte*) main::SCREEN ← ((byte*)) (word/signed word/dword/signed dword) 1024 + (byte) main::min ← (byte/signed byte/word/signed word/dword/signed dword) 10 + (byte) main::max ← (byte/word/signed word/dword/signed dword) 200 + (byte/word~) main::$0 ← (byte) main::min + (byte) main::max + (word) main::sumw ← (byte/word~) main::$0 + (word~) main::$1 ← (word) main::sumw >> (byte/signed byte/word/signed word/dword/signed dword) 1 + (byte~) main::$2 ← ((byte)) (word~) main::$1 + (byte/word~) main::$3 ← (byte~) main::$2 + (byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) main::midw ← (byte/word~) main::$3 + *((byte*) main::SCREEN + (byte/signed byte/word/signed word/dword/signed dword) 0) ← (byte) main::midw + (byte/word~) main::$4 ← (byte) main::min + (byte) main::max + (byte) main::sumb ← (byte/word~) main::$4 + (byte~) main::$5 ← (byte) main::sumb >> (byte/signed byte/word/signed word/dword/signed dword) 1 + (byte/word~) main::$6 ← (byte~) main::$5 + (byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) main::midb ← (byte/word~) main::$6 + *((byte*) main::SCREEN + (byte/signed byte/word/signed word/dword/signed dword) 1) ← (byte) main::midb + (byte*) main::BGCOL ← ((byte*)) (word/dword/signed dword) 53281 + (boolean~) main::$7 ← *((byte*) main::SCREEN + (byte/signed byte/word/signed word/dword/signed dword) 0) == *((byte*) main::SCREEN + (byte/signed byte/word/signed word/dword/signed dword) 1) + (boolean~) main::$8 ← ! (boolean~) main::$7 + if((boolean~) main::$8) goto main::@1 + to:main::@3 +main::@1: scope:[main] from main main::@4 + *((byte*) main::BGCOL) ← (byte/signed byte/word/signed word/dword/signed dword) 2 + to:main::@2 +main::@3: scope:[main] from main + *((byte*) main::BGCOL) ← (byte/signed byte/word/signed word/dword/signed dword) 5 + to:main::@2 +main::@2: scope:[main] from main::@1 main::@3 + to:main::@return +main::@4: scope:[main] from + to:main::@1 +main::@return: scope:[main] from main::@2 + return + to:@return +@1: scope:[] from @begin + call main + to:@end +@end: scope:[] from @1 + +Removing empty block main::@2 +Removing empty block main::@4 +PROCEDURE MODIFY VARIABLE ANALYSIS + +Completing Phi functions... + +CONTROL FLOW GRAPH SSA WITH ASSIGNMENT CALL & RETURN +@begin: scope:[] from + to:@1 +main: scope:[main] from @1 + (byte*) main::SCREEN#0 ← ((byte*)) (word/signed word/dword/signed dword) 1024 + (byte) main::min#0 ← (byte/signed byte/word/signed word/dword/signed dword) 10 + (byte) main::max#0 ← (byte/word/signed word/dword/signed dword) 200 + (byte/word~) main::$0 ← (byte) main::min#0 + (byte) main::max#0 + (word) main::sumw#0 ← (byte/word~) main::$0 + (word~) main::$1 ← (word) main::sumw#0 >> (byte/signed byte/word/signed word/dword/signed dword) 1 + (byte~) main::$2 ← ((byte)) (word~) main::$1 + (byte/word~) main::$3 ← (byte~) main::$2 + (byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) main::midw#0 ← (byte/word~) main::$3 + *((byte*) main::SCREEN#0 + (byte/signed byte/word/signed word/dword/signed dword) 0) ← (byte) main::midw#0 + (byte/word~) main::$4 ← (byte) main::min#0 + (byte) main::max#0 + (byte) main::sumb#0 ← (byte/word~) main::$4 + (byte~) main::$5 ← (byte) main::sumb#0 >> (byte/signed byte/word/signed word/dword/signed dword) 1 + (byte/word~) main::$6 ← (byte~) main::$5 + (byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) main::midb#0 ← (byte/word~) main::$6 + *((byte*) main::SCREEN#0 + (byte/signed byte/word/signed word/dword/signed dword) 1) ← (byte) main::midb#0 + (byte*) main::BGCOL#0 ← ((byte*)) (word/dword/signed dword) 53281 + (boolean~) main::$7 ← *((byte*) main::SCREEN#0 + (byte/signed byte/word/signed word/dword/signed dword) 0) == *((byte*) main::SCREEN#0 + (byte/signed byte/word/signed word/dword/signed dword) 1) + (boolean~) main::$8 ← ! (boolean~) main::$7 + if((boolean~) main::$8) goto main::@1 + to:main::@3 +main::@1: scope:[main] from main + (byte*) main::BGCOL#1 ← phi( main/(byte*) main::BGCOL#0 ) + *((byte*) main::BGCOL#1) ← (byte/signed byte/word/signed word/dword/signed dword) 2 + to:main::@return +main::@3: scope:[main] from main + (byte*) main::BGCOL#2 ← phi( main/(byte*) main::BGCOL#0 ) + *((byte*) main::BGCOL#2) ← (byte/signed byte/word/signed word/dword/signed dword) 5 + to:main::@return +main::@return: scope:[main] from main::@1 main::@3 + return + to:@return +@1: scope:[] from @begin + call main param-assignment + to:@2 +@2: scope:[] from @1 + to:@end +@end: scope:[] from @2 + +SYMBOL TABLE SSA +(label) @1 +(label) @2 +(label) @begin +(label) @end +(void()) main() +(byte/word~) main::$0 +(word~) main::$1 +(byte~) main::$2 +(byte/word~) main::$3 +(byte/word~) main::$4 +(byte~) main::$5 +(byte/word~) main::$6 +(boolean~) main::$7 +(boolean~) main::$8 +(label) main::@1 +(label) main::@3 +(label) main::@return +(byte*) main::BGCOL +(byte*) main::BGCOL#0 +(byte*) main::BGCOL#1 +(byte*) main::BGCOL#2 +(byte*) main::SCREEN +(byte*) main::SCREEN#0 +(byte) main::max +(byte) main::max#0 +(byte) main::midb +(byte) main::midb#0 +(byte) main::midw +(byte) main::midw#0 +(byte) main::min +(byte) main::min#0 +(byte) main::sumb +(byte) main::sumb#0 +(word) main::sumw +(word) main::sumw#0 + +OPTIMIZING CONTROL FLOW GRAPH +Culled Empty Block (label) @2 +Succesful SSA optimization Pass2CullEmptyBlocks +Inversing boolean not (boolean~) main::$8 ← *((byte*) main::SCREEN#0 + (byte/signed byte/word/signed word/dword/signed dword) 0) != *((byte*) main::SCREEN#0 + (byte/signed byte/word/signed word/dword/signed dword) 1) from (boolean~) main::$7 ← *((byte*) main::SCREEN#0 + (byte/signed byte/word/signed word/dword/signed dword) 0) == *((byte*) main::SCREEN#0 + (byte/signed byte/word/signed word/dword/signed dword) 1) +Succesful SSA optimization Pass2UnaryNotSimplification +Alias (word) main::sumw#0 = (byte/word~) main::$0 +Alias (byte) main::midw#0 = (byte/word~) main::$3 +Alias (byte) main::sumb#0 = (byte/word~) main::$4 +Alias (byte) main::midb#0 = (byte/word~) main::$6 +Alias (byte*) main::BGCOL#0 = (byte*) main::BGCOL#1 (byte*) main::BGCOL#2 +Succesful SSA optimization Pass2AliasElimination +Simple Condition (boolean~) main::$8 if(*((byte*) main::SCREEN#0 + (byte/signed byte/word/signed word/dword/signed dword) 0)!=*((byte*) main::SCREEN#0 + (byte/signed byte/word/signed word/dword/signed dword) 1)) goto main::@1 +Succesful SSA optimization Pass2ConditionalJumpSimplification +Constant (const byte*) main::SCREEN#0 = ((byte*))1024 +Constant (const byte) main::min#0 = 10 +Constant (const byte) main::max#0 = 200 +Constant (const byte*) main::BGCOL#0 = ((byte*))53281 +Succesful SSA optimization Pass2ConstantIdentification +Constant (const word) main::sumw#0 = main::min#0+main::max#0 +Constant (const byte) main::sumb#0 = main::min#0+main::max#0 +Succesful SSA optimization Pass2ConstantIdentification +Constant (const word) main::$1 = main::sumw#0>>1 +Constant (const byte) main::$5 = main::sumb#0>>1 +Succesful SSA optimization Pass2ConstantIdentification +Constant (const byte) main::$2 = ((byte))main::$1 +Constant (const byte) main::midb#0 = main::$5+1 +Succesful SSA optimization Pass2ConstantIdentification +Constant (const byte) main::midw#0 = main::$2+1 +Succesful SSA optimization Pass2ConstantIdentification +Consolidated array index constant in *(main::SCREEN#0+0) +Consolidated array index constant in *(main::SCREEN#0+1) +Consolidated array index constant in *(main::SCREEN#0+0) +Consolidated array index constant in *(main::SCREEN#0+1) +Succesful SSA optimization Pass2ConstantAdditionElimination +OPTIMIZING CONTROL FLOW GRAPH +Constant inlined main::$5 = (const byte) main::sumb#0>>(byte/signed byte/word/signed word/dword/signed dword) 1 +Constant inlined main::$1 = (const word) main::sumw#0>>(byte/signed byte/word/signed word/dword/signed dword) 1 +Constant inlined main::$2 = ((byte))(const word) main::sumw#0>>(byte/signed byte/word/signed word/dword/signed dword) 1 +Succesful SSA optimization Pass2ConstantInlining +Block Sequence Planned @begin @1 @end main main::@3 main::@return main::@1 +Block Sequence Planned @begin @1 @end main main::@3 main::@return main::@1 +Adding NOP phi() at start of @begin +Adding NOP phi() at start of @1 +Adding NOP phi() at start of @end +CALL GRAPH +Calls in [] to main:2 + +Propagating live ranges... +Created 0 initial phi equivalence classes +Coalesced down to 0 phi equivalence classes +Block Sequence Planned @begin @1 @end main main::@3 main::@return main::@1 +Adding NOP phi() at start of @begin +Adding NOP phi() at start of @1 +Adding NOP phi() at start of @end +Propagating live ranges... + +FINAL CONTROL FLOW GRAPH +@begin: scope:[] from + [0] phi() [ ] ( ) + to:@1 +@1: scope:[] from @begin + [1] phi() [ ] ( ) + [2] call main param-assignment [ ] ( ) + to:@end +@end: scope:[] from @1 + [3] phi() [ ] ( ) +main: scope:[main] from @1 + [4] *((const byte*) main::SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 0) ← (const byte) main::midw#0 [ ] ( main:2 [ ] ) + [5] *((const byte*) main::SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 1) ← (const byte) main::midb#0 [ ] ( main:2 [ ] ) + [6] if(*((const byte*) main::SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 0)!=*((const byte*) main::SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 1)) goto main::@1 [ ] ( main:2 [ ] ) + to:main::@3 +main::@3: scope:[main] from main + [7] *((const byte*) main::BGCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 5 [ ] ( main:2 [ ] ) + to:main::@return +main::@return: scope:[main] from main::@1 main::@3 + [8] return [ ] ( main:2 [ ] ) + to:@return +main::@1: scope:[main] from main + [9] *((const byte*) main::BGCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 2 [ ] ( main:2 [ ] ) + to:main::@return + +DOMINATORS +@begin dominated by @begin +@1 dominated by @1 @begin +@end dominated by @1 @begin @end +main dominated by @1 @begin main +main::@3 dominated by @1 @begin main main::@3 +main::@return dominated by main::@return @1 @begin main +main::@1 dominated by @1 @begin main::@1 main + +NATURAL LOOPS + +NATURAL LOOPS WITH DEPTH +Found 0 loops in scope [] +Found 0 loops in scope [main] + + +VARIABLE REGISTER WEIGHTS +(void()) main() +(byte*) main::BGCOL +(byte*) main::SCREEN +(byte) main::max +(byte) main::midb +(byte) main::midw +(byte) main::min +(byte) main::sumb +(word) main::sumw + +Initial phi equivalence classes +Complete equivalence classes +New fragment synthesis _deref_pbuc1=vbuc2 +New fragment synthesis _deref_pbuc1=vbuc2 - sub-option vbuaa=vbuc1 +New fragment synthesis vbuaa=vbuc1 +New fragment synthesis vbuaa=vbuc1 - Successfully loaded vbuaa=vbuc1.asm +New fragment synthesis vbuaa=vbuc1 - sub-option vbuaa=vbuaa +New fragment synthesis vbuaa=vbuaa +New fragment synthesis vbuaa=vbuaa - Successfully loaded vbuaa=vbuaa.asm +Fragment synthesis vbuaa=vbuaa - New best, scheduling parent vbuaa=vbuc1 +Fragment synthesis vbuaa=vbuc1 - Successfully synthesized from vbuaa=vbuaa +Fragment synthesis vbuaa=vbuc1 - New best, scheduling parent _deref_pbuc1=vbuc2 +Fragment synthesis _deref_pbuc1=vbuc2 - Successfully synthesized from vbuaa=vbuc1 +Found best fragment _deref_pbuc1=vbuc2 < vbuaa=vbuc1 score: 6.5 +New fragment synthesis _deref_pbuc1_neq__deref_pbuc2_then_la1 +New fragment synthesis _deref_pbuc1_neq__deref_pbuc2_then_la1 - sub-option _deref_pbuc2_neq__deref_pbuc1_then_la1 +New fragment synthesis _deref_pbuc1_neq__deref_pbuc2_then_la1 - sub-option _deref_pbuc2_neq__deref_pbuc1_then_la1 +New fragment synthesis _deref_pbuc1_neq__deref_pbuc2_then_la1 - sub-option vbuaa_neq__deref_pbuc1_then_la1 +New fragment synthesis _deref_pbuc1_neq__deref_pbuc2_then_la1 - sub-option vbuxx_neq__deref_pbuc1_then_la1 +New fragment synthesis _deref_pbuc1_neq__deref_pbuc2_then_la1 - sub-option vbuyy_neq__deref_pbuc1_then_la1 +New fragment synthesis _deref_pbuc2_neq__deref_pbuc1_then_la1 +New fragment synthesis _deref_pbuc2_neq__deref_pbuc1_then_la1 - sub-option _deref_pbuc1_neq__deref_pbuc2_then_la1 +New fragment synthesis _deref_pbuc2_neq__deref_pbuc1_then_la1 - sub-option _deref_pbuc1_neq__deref_pbuc2_then_la1 +New fragment synthesis _deref_pbuc2_neq__deref_pbuc1_then_la1 - sub-option _deref_pbuc1_neq_vbuaa_then_la1 +New fragment synthesis _deref_pbuc2_neq__deref_pbuc1_then_la1 - sub-option _deref_pbuc1_neq_vbuxx_then_la1 +New fragment synthesis _deref_pbuc2_neq__deref_pbuc1_then_la1 - sub-option _deref_pbuc1_neq_vbuyy_then_la1 +New fragment synthesis _deref_pbuc1_neq_vbuaa_then_la1 +New fragment synthesis _deref_pbuc1_neq_vbuaa_then_la1 - sub-option _deref_pbuc1_neq_vbuxx_then_la1 +New fragment synthesis _deref_pbuc1_neq_vbuaa_then_la1 - sub-option _deref_pbuc1_neq_vbuyy_then_la1 +New fragment synthesis _deref_pbuc1_neq_vbuaa_then_la1 - sub-option vbuaa_neq__deref_pbuc1_then_la1 +New fragment synthesis _deref_pbuc1_neq_vbuaa_then_la1 - sub-option vbuaa_neq__deref_pbuc1_then_la1 +New fragment synthesis _deref_pbuc1_neq_vbuaa_then_la1 - sub-option vbuxx_neq_vbuaa_then_la1 +New fragment synthesis _deref_pbuc1_neq_vbuaa_then_la1 - sub-option vbuyy_neq_vbuaa_then_la1 +New fragment synthesis _deref_pbuc1_neq_vbuxx_then_la1 +New fragment synthesis _deref_pbuc1_neq_vbuxx_then_la1 - sub-option _deref_pbuc1_neq_vbuaa_then_la1 +New fragment synthesis _deref_pbuc1_neq_vbuxx_then_la1 - sub-option vbuxx_neq__deref_pbuc1_then_la1 +New fragment synthesis _deref_pbuc1_neq_vbuxx_then_la1 - sub-option vbuxx_neq__deref_pbuc1_then_la1 +New fragment synthesis _deref_pbuc1_neq_vbuxx_then_la1 - sub-option vbuaa_neq_vbuxx_then_la1 +New fragment synthesis _deref_pbuc1_neq_vbuxx_then_la1 - sub-option vbuyy_neq_vbuxx_then_la1 +New fragment synthesis vbuxx_neq__deref_pbuc1_then_la1 +New fragment synthesis vbuxx_neq__deref_pbuc1_then_la1 - sub-option vbuaa_neq__deref_pbuc1_then_la1 +New fragment synthesis vbuxx_neq__deref_pbuc1_then_la1 - sub-option _deref_pbuc1_neq_vbuxx_then_la1 +New fragment synthesis vbuxx_neq__deref_pbuc1_then_la1 - sub-option _deref_pbuc1_neq_vbuxx_then_la1 +New fragment synthesis vbuxx_neq__deref_pbuc1_then_la1 - sub-option vbuxx_neq_vbuaa_then_la1 +New fragment synthesis vbuxx_neq__deref_pbuc1_then_la1 - sub-option vbuxx_neq_vbuyy_then_la1 +New fragment synthesis vbuaa_neq__deref_pbuc1_then_la1 +New fragment synthesis vbuaa_neq__deref_pbuc1_then_la1 - sub-option vbuxx_neq__deref_pbuc1_then_la1 +New fragment synthesis vbuaa_neq__deref_pbuc1_then_la1 - sub-option vbuyy_neq__deref_pbuc1_then_la1 +New fragment synthesis vbuaa_neq__deref_pbuc1_then_la1 - sub-option _deref_pbuc1_neq_vbuaa_then_la1 +New fragment synthesis vbuaa_neq__deref_pbuc1_then_la1 - sub-option _deref_pbuc1_neq_vbuaa_then_la1 +New fragment synthesis vbuaa_neq__deref_pbuc1_then_la1 - sub-option vbuaa_neq_vbuxx_then_la1 +New fragment synthesis vbuaa_neq__deref_pbuc1_then_la1 - sub-option vbuaa_neq_vbuyy_then_la1 +New fragment synthesis vbuyy_neq__deref_pbuc1_then_la1 +New fragment synthesis vbuyy_neq__deref_pbuc1_then_la1 - sub-option vbuaa_neq__deref_pbuc1_then_la1 +New fragment synthesis vbuyy_neq__deref_pbuc1_then_la1 - sub-option _deref_pbuc1_neq_vbuyy_then_la1 +New fragment synthesis vbuyy_neq__deref_pbuc1_then_la1 - sub-option _deref_pbuc1_neq_vbuyy_then_la1 +New fragment synthesis vbuyy_neq__deref_pbuc1_then_la1 - sub-option vbuyy_neq_vbuaa_then_la1 +New fragment synthesis vbuyy_neq__deref_pbuc1_then_la1 - sub-option vbuyy_neq_vbuxx_then_la1 +New fragment synthesis _deref_pbuc1_neq_vbuyy_then_la1 +New fragment synthesis _deref_pbuc1_neq_vbuyy_then_la1 - sub-option _deref_pbuc1_neq_vbuaa_then_la1 +New fragment synthesis _deref_pbuc1_neq_vbuyy_then_la1 - sub-option vbuyy_neq__deref_pbuc1_then_la1 +New fragment synthesis _deref_pbuc1_neq_vbuyy_then_la1 - sub-option vbuyy_neq__deref_pbuc1_then_la1 +New fragment synthesis _deref_pbuc1_neq_vbuyy_then_la1 - sub-option vbuaa_neq_vbuyy_then_la1 +New fragment synthesis _deref_pbuc1_neq_vbuyy_then_la1 - sub-option vbuxx_neq_vbuyy_then_la1 +New fragment synthesis vbuaa_neq_vbuyy_then_la1 +New fragment synthesis vbuaa_neq_vbuyy_then_la1 - sub-option vbuxx_neq_vbuyy_then_la1 +New fragment synthesis vbuaa_neq_vbuyy_then_la1 - sub-option vbuyy_neq_vbuaa_then_la1 +New fragment synthesis vbuaa_neq_vbuyy_then_la1 - sub-option vbuyy_neq_vbuaa_then_la1 +New fragment synthesis vbuxx_neq_vbuyy_then_la1 +New fragment synthesis vbuxx_neq_vbuyy_then_la1 - Successfully loaded vbuxx_neq_vbuyy_then_la1.asm +New fragment synthesis vbuxx_neq_vbuyy_then_la1 - sub-option vbuaa_neq_vbuyy_then_la1 +New fragment synthesis vbuxx_neq_vbuyy_then_la1 - sub-option vbuxx_neq_vbuaa_then_la1 +New fragment synthesis vbuxx_neq_vbuyy_then_la1 - sub-option vbuyy_neq_vbuxx_then_la1 +New fragment synthesis vbuxx_neq_vbuyy_then_la1 - sub-option vbuyy_neq_vbuxx_then_la1 +New fragment synthesis vbuxx_neq_vbuaa_then_la1 +New fragment synthesis vbuxx_neq_vbuaa_then_la1 - sub-option vbuxx_neq_vbuyy_then_la1 +New fragment synthesis vbuxx_neq_vbuaa_then_la1 - sub-option vbuaa_neq_vbuxx_then_la1 +New fragment synthesis vbuxx_neq_vbuaa_then_la1 - sub-option vbuaa_neq_vbuxx_then_la1 +New fragment synthesis vbuaa_neq_vbuxx_then_la1 +New fragment synthesis vbuaa_neq_vbuxx_then_la1 - sub-option vbuyy_neq_vbuxx_then_la1 +New fragment synthesis vbuaa_neq_vbuxx_then_la1 - sub-option vbuxx_neq_vbuaa_then_la1 +New fragment synthesis vbuaa_neq_vbuxx_then_la1 - sub-option vbuxx_neq_vbuaa_then_la1 +New fragment synthesis vbuyy_neq_vbuxx_then_la1 +New fragment synthesis vbuyy_neq_vbuxx_then_la1 - sub-option vbuyy_neq_vbuaa_then_la1 +New fragment synthesis vbuyy_neq_vbuxx_then_la1 - sub-option vbuaa_neq_vbuxx_then_la1 +New fragment synthesis vbuyy_neq_vbuxx_then_la1 - sub-option vbuxx_neq_vbuyy_then_la1 +New fragment synthesis vbuyy_neq_vbuxx_then_la1 - sub-option vbuxx_neq_vbuyy_then_la1 +New fragment synthesis vbuyy_neq_vbuaa_then_la1 +New fragment synthesis vbuyy_neq_vbuaa_then_la1 - sub-option vbuyy_neq_vbuxx_then_la1 +New fragment synthesis vbuyy_neq_vbuaa_then_la1 - sub-option vbuaa_neq_vbuyy_then_la1 +New fragment synthesis vbuyy_neq_vbuaa_then_la1 - sub-option vbuaa_neq_vbuyy_then_la1 +Fragment synthesis vbuyy_neq_vbuaa_then_la1 - No file or synthesis results! +Fragment synthesis vbuyy_neq_vbuxx_then_la1 - No file or synthesis results! +Fragment synthesis vbuaa_neq_vbuxx_then_la1 - No file or synthesis results! +Fragment synthesis vbuxx_neq_vbuaa_then_la1 - No file or synthesis results! +Fragment synthesis vbuxx_neq_vbuyy_then_la1 - New best, scheduling parent vbuxx_neq_vbuaa_then_la1 +Fragment synthesis vbuxx_neq_vbuyy_then_la1 - New best, scheduling parent vbuyy_neq_vbuxx_then_la1 +Fragment synthesis vbuxx_neq_vbuyy_then_la1 - New best, scheduling parent vbuyy_neq_vbuxx_then_la1 +Fragment synthesis vbuxx_neq_vbuyy_then_la1 - New best, scheduling parent vbuaa_neq_vbuyy_then_la1 +Fragment synthesis vbuxx_neq_vbuyy_then_la1 - New best, scheduling parent _deref_pbuc1_neq_vbuyy_then_la1 +Fragment synthesis vbuxx_neq_vbuyy_then_la1 - New best, scheduling parent vbuxx_neq__deref_pbuc1_then_la1 +Fragment synthesis vbuyy_neq_vbuxx_then_la1 - Successfully synthesized from vbuxx_neq_vbuyy_then_la1 +Fragment synthesis vbuyy_neq_vbuxx_then_la1 - Successfully synthesized from vbuxx_neq_vbuyy_then_la1 +Fragment synthesis vbuyy_neq_vbuxx_then_la1 - New best, scheduling parent vbuyy_neq_vbuaa_then_la1 +Fragment synthesis vbuyy_neq_vbuxx_then_la1 - New best, scheduling parent vbuaa_neq_vbuxx_then_la1 +Fragment synthesis vbuyy_neq_vbuxx_then_la1 - New best, scheduling parent vbuxx_neq_vbuyy_then_la1 +Fragment synthesis vbuyy_neq_vbuxx_then_la1 - New best, scheduling parent vbuxx_neq_vbuyy_then_la1 +Fragment synthesis vbuyy_neq_vbuxx_then_la1 - New best, scheduling parent vbuyy_neq__deref_pbuc1_then_la1 +Fragment synthesis vbuyy_neq_vbuxx_then_la1 - New best, scheduling parent _deref_pbuc1_neq_vbuxx_then_la1 +Fragment synthesis vbuxx_neq_vbuyy_then_la1 - Successfully synthesized from vbuyy_neq_vbuxx_then_la1 +Fragment synthesis vbuxx_neq_vbuyy_then_la1 - Successfully synthesized from vbuyy_neq_vbuxx_then_la1 +Fragment synthesis vbuaa_neq_vbuxx_then_la1 - Successfully synthesized from vbuyy_neq_vbuxx_then_la1 +Fragment synthesis vbuaa_neq_vbuxx_then_la1 - New best, scheduling parent vbuyy_neq_vbuxx_then_la1 +Fragment synthesis vbuaa_neq_vbuxx_then_la1 - New best, scheduling parent vbuxx_neq_vbuaa_then_la1 +Fragment synthesis vbuaa_neq_vbuxx_then_la1 - New best, scheduling parent vbuxx_neq_vbuaa_then_la1 +Fragment synthesis vbuaa_neq_vbuxx_then_la1 - New best, scheduling parent vbuaa_neq__deref_pbuc1_then_la1 +Fragment synthesis vbuaa_neq_vbuxx_then_la1 - New best, scheduling parent _deref_pbuc1_neq_vbuxx_then_la1 +Fragment synthesis vbuyy_neq_vbuxx_then_la1 - Successfully synthesized from vbuaa_neq_vbuxx_then_la1 +Fragment synthesis vbuyy_neq_vbuxx_then_la1 - Successfully synthesized from vbuxx_neq_vbuyy_then_la1 +Fragment synthesis vbuyy_neq_vbuxx_then_la1 - Successfully synthesized from vbuxx_neq_vbuyy_then_la1 +Fragment synthesis vbuyy_neq_vbuaa_then_la1 - Successfully synthesized from vbuyy_neq_vbuxx_then_la1 +Fragment synthesis vbuyy_neq_vbuaa_then_la1 - New best, scheduling parent vbuyy_neq_vbuxx_then_la1 +Fragment synthesis vbuyy_neq_vbuaa_then_la1 - New best, scheduling parent vbuaa_neq_vbuyy_then_la1 +Fragment synthesis vbuyy_neq_vbuaa_then_la1 - New best, scheduling parent vbuaa_neq_vbuyy_then_la1 +Fragment synthesis vbuyy_neq_vbuaa_then_la1 - New best, scheduling parent vbuyy_neq__deref_pbuc1_then_la1 +Fragment synthesis vbuyy_neq_vbuaa_then_la1 - New best, scheduling parent _deref_pbuc1_neq_vbuaa_then_la1 +Fragment synthesis vbuyy_neq_vbuxx_then_la1 - Successfully synthesized from vbuyy_neq_vbuaa_then_la1 +Fragment synthesis vbuyy_neq_vbuxx_then_la1 - Successfully synthesized from vbuaa_neq_vbuxx_then_la1 +Fragment synthesis vbuyy_neq_vbuxx_then_la1 - Successfully synthesized from vbuxx_neq_vbuyy_then_la1 +Fragment synthesis vbuyy_neq_vbuxx_then_la1 - Successfully synthesized from vbuxx_neq_vbuyy_then_la1 +Fragment synthesis vbuxx_neq_vbuaa_then_la1 - Successfully synthesized from vbuxx_neq_vbuyy_then_la1 +Fragment synthesis vbuxx_neq_vbuaa_then_la1 - Successfully synthesized from vbuaa_neq_vbuxx_then_la1 +Fragment synthesis vbuxx_neq_vbuaa_then_la1 - Successfully synthesized from vbuaa_neq_vbuxx_then_la1 +Fragment synthesis vbuxx_neq_vbuaa_then_la1 - New best, scheduling parent vbuaa_neq_vbuxx_then_la1 +Fragment synthesis vbuxx_neq_vbuaa_then_la1 - New best, scheduling parent vbuaa_neq_vbuxx_then_la1 +Fragment synthesis vbuxx_neq_vbuaa_then_la1 - New best, scheduling parent vbuxx_neq_vbuyy_then_la1 +Fragment synthesis vbuxx_neq_vbuaa_then_la1 - New best, scheduling parent vbuxx_neq__deref_pbuc1_then_la1 +Fragment synthesis vbuxx_neq_vbuaa_then_la1 - New best, scheduling parent _deref_pbuc1_neq_vbuaa_then_la1 +Fragment synthesis vbuxx_neq_vbuyy_then_la1 - Successfully synthesized from vbuxx_neq_vbuaa_then_la1 +Fragment synthesis vbuxx_neq_vbuyy_then_la1 - Successfully synthesized from vbuyy_neq_vbuxx_then_la1 +Fragment synthesis vbuxx_neq_vbuyy_then_la1 - Successfully synthesized from vbuyy_neq_vbuxx_then_la1 +Fragment synthesis vbuaa_neq_vbuxx_then_la1 - Successfully synthesized from vbuyy_neq_vbuxx_then_la1 +Fragment synthesis vbuaa_neq_vbuxx_then_la1 - Successfully synthesized from vbuxx_neq_vbuaa_then_la1 +Fragment synthesis vbuaa_neq_vbuxx_then_la1 - Successfully synthesized from vbuxx_neq_vbuaa_then_la1 +Fragment synthesis vbuaa_neq_vbuyy_then_la1 - Successfully synthesized from vbuxx_neq_vbuyy_then_la1 +Fragment synthesis vbuaa_neq_vbuyy_then_la1 - Successfully synthesized from vbuyy_neq_vbuaa_then_la1 +Fragment synthesis vbuaa_neq_vbuyy_then_la1 - Successfully synthesized from vbuyy_neq_vbuaa_then_la1 +Fragment synthesis vbuaa_neq_vbuyy_then_la1 - New best, scheduling parent vbuxx_neq_vbuyy_then_la1 +Fragment synthesis vbuaa_neq_vbuyy_then_la1 - New best, scheduling parent vbuyy_neq_vbuaa_then_la1 +Fragment synthesis vbuaa_neq_vbuyy_then_la1 - New best, scheduling parent vbuyy_neq_vbuaa_then_la1 +Fragment synthesis vbuaa_neq_vbuyy_then_la1 - New best, scheduling parent _deref_pbuc1_neq_vbuyy_then_la1 +Fragment synthesis vbuaa_neq_vbuyy_then_la1 - New best, scheduling parent vbuaa_neq__deref_pbuc1_then_la1 +Fragment synthesis vbuyy_neq_vbuaa_then_la1 - Successfully synthesized from vbuyy_neq_vbuxx_then_la1 +Fragment synthesis vbuyy_neq_vbuaa_then_la1 - Successfully synthesized from vbuaa_neq_vbuyy_then_la1 +Fragment synthesis vbuyy_neq_vbuaa_then_la1 - Successfully synthesized from vbuaa_neq_vbuyy_then_la1 +Fragment synthesis vbuxx_neq_vbuyy_then_la1 - Successfully synthesized from vbuaa_neq_vbuyy_then_la1 +Fragment synthesis vbuxx_neq_vbuyy_then_la1 - Successfully synthesized from vbuxx_neq_vbuaa_then_la1 +Fragment synthesis vbuxx_neq_vbuyy_then_la1 - Successfully synthesized from vbuyy_neq_vbuxx_then_la1 +Fragment synthesis vbuxx_neq_vbuyy_then_la1 - Successfully synthesized from vbuyy_neq_vbuxx_then_la1 +Fragment synthesis _deref_pbuc1_neq_vbuyy_then_la1 - Successfully synthesized from vbuaa_neq_vbuyy_then_la1 +Fragment synthesis _deref_pbuc1_neq_vbuyy_then_la1 - Successfully synthesized from vbuxx_neq_vbuyy_then_la1 +Fragment synthesis _deref_pbuc1_neq_vbuyy_then_la1 - New best, scheduling parent vbuyy_neq__deref_pbuc1_then_la1 +Fragment synthesis _deref_pbuc1_neq_vbuyy_then_la1 - New best, scheduling parent vbuyy_neq__deref_pbuc1_then_la1 +Fragment synthesis _deref_pbuc1_neq_vbuyy_then_la1 - New best, scheduling parent _deref_pbuc1_neq_vbuaa_then_la1 +Fragment synthesis _deref_pbuc1_neq_vbuyy_then_la1 - New best, scheduling parent _deref_pbuc2_neq__deref_pbuc1_then_la1 +Fragment synthesis vbuyy_neq__deref_pbuc1_then_la1 - Successfully synthesized from _deref_pbuc1_neq_vbuyy_then_la1 +Fragment synthesis vbuyy_neq__deref_pbuc1_then_la1 - Successfully synthesized from _deref_pbuc1_neq_vbuyy_then_la1 +Fragment synthesis vbuyy_neq__deref_pbuc1_then_la1 - Successfully synthesized from vbuyy_neq_vbuaa_then_la1 +Fragment synthesis vbuyy_neq__deref_pbuc1_then_la1 - Successfully synthesized from vbuyy_neq_vbuxx_then_la1 +Fragment synthesis vbuyy_neq__deref_pbuc1_then_la1 - New best, scheduling parent _deref_pbuc1_neq_vbuyy_then_la1 +Fragment synthesis vbuyy_neq__deref_pbuc1_then_la1 - New best, scheduling parent _deref_pbuc1_neq_vbuyy_then_la1 +Fragment synthesis vbuyy_neq__deref_pbuc1_then_la1 - New best, scheduling parent vbuaa_neq__deref_pbuc1_then_la1 +Fragment synthesis vbuyy_neq__deref_pbuc1_then_la1 - New best, scheduling parent _deref_pbuc1_neq__deref_pbuc2_then_la1 +Fragment synthesis _deref_pbuc1_neq_vbuyy_then_la1 - Successfully synthesized from vbuyy_neq__deref_pbuc1_then_la1 +Fragment synthesis _deref_pbuc1_neq_vbuyy_then_la1 - Successfully synthesized from vbuyy_neq__deref_pbuc1_then_la1 +Fragment synthesis _deref_pbuc1_neq_vbuyy_then_la1 - Successfully synthesized from vbuaa_neq_vbuyy_then_la1 +Fragment synthesis _deref_pbuc1_neq_vbuyy_then_la1 - Successfully synthesized from vbuxx_neq_vbuyy_then_la1 +Fragment synthesis vbuaa_neq__deref_pbuc1_then_la1 - Successfully synthesized from vbuyy_neq__deref_pbuc1_then_la1 +Fragment synthesis vbuaa_neq__deref_pbuc1_then_la1 - Successfully synthesized from vbuaa_neq_vbuxx_then_la1 +Fragment synthesis vbuaa_neq__deref_pbuc1_then_la1 - Successfully synthesized from vbuaa_neq_vbuyy_then_la1 +Fragment synthesis vbuaa_neq__deref_pbuc1_then_la1 - New best, scheduling parent vbuyy_neq__deref_pbuc1_then_la1 +Fragment synthesis vbuaa_neq__deref_pbuc1_then_la1 - New best, scheduling parent vbuxx_neq__deref_pbuc1_then_la1 +Fragment synthesis vbuaa_neq__deref_pbuc1_then_la1 - New best, scheduling parent _deref_pbuc1_neq_vbuaa_then_la1 +Fragment synthesis vbuaa_neq__deref_pbuc1_then_la1 - New best, scheduling parent _deref_pbuc1_neq_vbuaa_then_la1 +Fragment synthesis vbuaa_neq__deref_pbuc1_then_la1 - New best, scheduling parent _deref_pbuc1_neq__deref_pbuc2_then_la1 +Fragment synthesis vbuyy_neq__deref_pbuc1_then_la1 - Successfully synthesized from vbuaa_neq__deref_pbuc1_then_la1 +Fragment synthesis vbuyy_neq__deref_pbuc1_then_la1 - Successfully synthesized from _deref_pbuc1_neq_vbuyy_then_la1 +Fragment synthesis vbuyy_neq__deref_pbuc1_then_la1 - Successfully synthesized from _deref_pbuc1_neq_vbuyy_then_la1 +Fragment synthesis vbuyy_neq__deref_pbuc1_then_la1 - Successfully synthesized from vbuyy_neq_vbuaa_then_la1 +Fragment synthesis vbuyy_neq__deref_pbuc1_then_la1 - Successfully synthesized from vbuyy_neq_vbuxx_then_la1 +Fragment synthesis vbuxx_neq__deref_pbuc1_then_la1 - Successfully synthesized from vbuaa_neq__deref_pbuc1_then_la1 +Fragment synthesis vbuxx_neq__deref_pbuc1_then_la1 - Successfully synthesized from vbuxx_neq_vbuaa_then_la1 +Fragment synthesis vbuxx_neq__deref_pbuc1_then_la1 - Successfully synthesized from vbuxx_neq_vbuyy_then_la1 +Fragment synthesis vbuxx_neq__deref_pbuc1_then_la1 - New best, scheduling parent vbuaa_neq__deref_pbuc1_then_la1 +Fragment synthesis vbuxx_neq__deref_pbuc1_then_la1 - New best, scheduling parent _deref_pbuc1_neq_vbuxx_then_la1 +Fragment synthesis vbuxx_neq__deref_pbuc1_then_la1 - New best, scheduling parent _deref_pbuc1_neq_vbuxx_then_la1 +Fragment synthesis vbuxx_neq__deref_pbuc1_then_la1 - New best, scheduling parent _deref_pbuc1_neq__deref_pbuc2_then_la1 +Fragment synthesis vbuaa_neq__deref_pbuc1_then_la1 - Successfully synthesized from vbuxx_neq__deref_pbuc1_then_la1 +Fragment synthesis vbuaa_neq__deref_pbuc1_then_la1 - Successfully synthesized from vbuyy_neq__deref_pbuc1_then_la1 +Fragment synthesis vbuaa_neq__deref_pbuc1_then_la1 - Successfully synthesized from vbuaa_neq_vbuxx_then_la1 +Fragment synthesis vbuaa_neq__deref_pbuc1_then_la1 - Successfully synthesized from vbuaa_neq_vbuyy_then_la1 +Fragment synthesis _deref_pbuc1_neq_vbuxx_then_la1 - Successfully synthesized from vbuxx_neq__deref_pbuc1_then_la1 +Fragment synthesis _deref_pbuc1_neq_vbuxx_then_la1 - Successfully synthesized from vbuxx_neq__deref_pbuc1_then_la1 +Fragment synthesis _deref_pbuc1_neq_vbuxx_then_la1 - Successfully synthesized from vbuaa_neq_vbuxx_then_la1 +Fragment synthesis _deref_pbuc1_neq_vbuxx_then_la1 - Successfully synthesized from vbuyy_neq_vbuxx_then_la1 +Fragment synthesis _deref_pbuc1_neq_vbuxx_then_la1 - New best, scheduling parent vbuxx_neq__deref_pbuc1_then_la1 +Fragment synthesis _deref_pbuc1_neq_vbuxx_then_la1 - New best, scheduling parent vbuxx_neq__deref_pbuc1_then_la1 +Fragment synthesis _deref_pbuc1_neq_vbuxx_then_la1 - New best, scheduling parent _deref_pbuc1_neq_vbuaa_then_la1 +Fragment synthesis _deref_pbuc1_neq_vbuxx_then_la1 - New best, scheduling parent _deref_pbuc2_neq__deref_pbuc1_then_la1 +Fragment synthesis vbuxx_neq__deref_pbuc1_then_la1 - Successfully synthesized from vbuaa_neq__deref_pbuc1_then_la1 +Fragment synthesis vbuxx_neq__deref_pbuc1_then_la1 - Successfully synthesized from _deref_pbuc1_neq_vbuxx_then_la1 +Fragment synthesis vbuxx_neq__deref_pbuc1_then_la1 - Successfully synthesized from _deref_pbuc1_neq_vbuxx_then_la1 +Fragment synthesis vbuxx_neq__deref_pbuc1_then_la1 - Successfully synthesized from vbuxx_neq_vbuaa_then_la1 +Fragment synthesis vbuxx_neq__deref_pbuc1_then_la1 - Successfully synthesized from vbuxx_neq_vbuyy_then_la1 +Fragment synthesis _deref_pbuc1_neq_vbuaa_then_la1 - Successfully synthesized from _deref_pbuc1_neq_vbuxx_then_la1 +Fragment synthesis _deref_pbuc1_neq_vbuaa_then_la1 - Successfully synthesized from _deref_pbuc1_neq_vbuyy_then_la1 +Fragment synthesis _deref_pbuc1_neq_vbuaa_then_la1 - Successfully synthesized from vbuaa_neq__deref_pbuc1_then_la1 +Fragment synthesis _deref_pbuc1_neq_vbuaa_then_la1 - Successfully synthesized from vbuaa_neq__deref_pbuc1_then_la1 +Fragment synthesis _deref_pbuc1_neq_vbuaa_then_la1 - Successfully synthesized from vbuxx_neq_vbuaa_then_la1 +Fragment synthesis _deref_pbuc1_neq_vbuaa_then_la1 - Successfully synthesized from vbuyy_neq_vbuaa_then_la1 +Fragment synthesis _deref_pbuc1_neq_vbuaa_then_la1 - New best, scheduling parent _deref_pbuc1_neq_vbuxx_then_la1 +Fragment synthesis _deref_pbuc1_neq_vbuaa_then_la1 - New best, scheduling parent _deref_pbuc1_neq_vbuyy_then_la1 +Fragment synthesis _deref_pbuc1_neq_vbuaa_then_la1 - New best, scheduling parent vbuaa_neq__deref_pbuc1_then_la1 +Fragment synthesis _deref_pbuc1_neq_vbuaa_then_la1 - New best, scheduling parent vbuaa_neq__deref_pbuc1_then_la1 +Fragment synthesis _deref_pbuc1_neq_vbuaa_then_la1 - New best, scheduling parent _deref_pbuc2_neq__deref_pbuc1_then_la1 +Fragment synthesis vbuaa_neq__deref_pbuc1_then_la1 - Successfully synthesized from vbuxx_neq__deref_pbuc1_then_la1 +Fragment synthesis vbuaa_neq__deref_pbuc1_then_la1 - Successfully synthesized from vbuyy_neq__deref_pbuc1_then_la1 +Fragment synthesis vbuaa_neq__deref_pbuc1_then_la1 - Successfully synthesized from _deref_pbuc1_neq_vbuaa_then_la1 +Fragment synthesis vbuaa_neq__deref_pbuc1_then_la1 - Successfully synthesized from _deref_pbuc1_neq_vbuaa_then_la1 +Fragment synthesis vbuaa_neq__deref_pbuc1_then_la1 - Successfully synthesized from vbuaa_neq_vbuxx_then_la1 +Fragment synthesis vbuaa_neq__deref_pbuc1_then_la1 - Successfully synthesized from vbuaa_neq_vbuyy_then_la1 +Fragment synthesis _deref_pbuc1_neq_vbuyy_then_la1 - Successfully synthesized from _deref_pbuc1_neq_vbuaa_then_la1 +Fragment synthesis _deref_pbuc1_neq_vbuyy_then_la1 - Successfully synthesized from vbuyy_neq__deref_pbuc1_then_la1 +Fragment synthesis _deref_pbuc1_neq_vbuyy_then_la1 - Successfully synthesized from vbuyy_neq__deref_pbuc1_then_la1 +Fragment synthesis _deref_pbuc1_neq_vbuyy_then_la1 - Successfully synthesized from vbuaa_neq_vbuyy_then_la1 +Fragment synthesis _deref_pbuc1_neq_vbuyy_then_la1 - Successfully synthesized from vbuxx_neq_vbuyy_then_la1 +Fragment synthesis _deref_pbuc1_neq_vbuxx_then_la1 - Successfully synthesized from _deref_pbuc1_neq_vbuaa_then_la1 +Fragment synthesis _deref_pbuc1_neq_vbuxx_then_la1 - Successfully synthesized from vbuxx_neq__deref_pbuc1_then_la1 +Fragment synthesis _deref_pbuc1_neq_vbuxx_then_la1 - Successfully synthesized from vbuxx_neq__deref_pbuc1_then_la1 +Fragment synthesis _deref_pbuc1_neq_vbuxx_then_la1 - Successfully synthesized from vbuaa_neq_vbuxx_then_la1 +Fragment synthesis _deref_pbuc1_neq_vbuxx_then_la1 - Successfully synthesized from vbuyy_neq_vbuxx_then_la1 +Fragment synthesis _deref_pbuc2_neq__deref_pbuc1_then_la1 - Successfully synthesized from _deref_pbuc1_neq_vbuaa_then_la1 +Fragment synthesis _deref_pbuc2_neq__deref_pbuc1_then_la1 - Successfully synthesized from _deref_pbuc1_neq_vbuxx_then_la1 +Fragment synthesis _deref_pbuc2_neq__deref_pbuc1_then_la1 - Successfully synthesized from _deref_pbuc1_neq_vbuyy_then_la1 +Fragment synthesis _deref_pbuc2_neq__deref_pbuc1_then_la1 - New best, scheduling parent _deref_pbuc1_neq__deref_pbuc2_then_la1 +Fragment synthesis _deref_pbuc2_neq__deref_pbuc1_then_la1 - New best, scheduling parent _deref_pbuc1_neq__deref_pbuc2_then_la1 +Fragment synthesis _deref_pbuc1_neq__deref_pbuc2_then_la1 - Successfully synthesized from _deref_pbuc2_neq__deref_pbuc1_then_la1 +Fragment synthesis _deref_pbuc1_neq__deref_pbuc2_then_la1 - Successfully synthesized from _deref_pbuc2_neq__deref_pbuc1_then_la1 +Fragment synthesis _deref_pbuc1_neq__deref_pbuc2_then_la1 - Successfully synthesized from vbuaa_neq__deref_pbuc1_then_la1 +Fragment synthesis _deref_pbuc1_neq__deref_pbuc2_then_la1 - Successfully synthesized from vbuxx_neq__deref_pbuc1_then_la1 +Fragment synthesis _deref_pbuc1_neq__deref_pbuc2_then_la1 - Successfully synthesized from vbuyy_neq__deref_pbuc1_then_la1 +Fragment synthesis _deref_pbuc1_neq__deref_pbuc2_then_la1 - New best, scheduling parent _deref_pbuc2_neq__deref_pbuc1_then_la1 +Fragment synthesis _deref_pbuc1_neq__deref_pbuc2_then_la1 - New best, scheduling parent _deref_pbuc2_neq__deref_pbuc1_then_la1 +Fragment synthesis _deref_pbuc2_neq__deref_pbuc1_then_la1 - Successfully synthesized from _deref_pbuc1_neq__deref_pbuc2_then_la1 +Fragment synthesis _deref_pbuc2_neq__deref_pbuc1_then_la1 - Successfully synthesized from _deref_pbuc1_neq__deref_pbuc2_then_la1 +Fragment synthesis _deref_pbuc2_neq__deref_pbuc1_then_la1 - Successfully synthesized from _deref_pbuc1_neq_vbuaa_then_la1 +Fragment synthesis _deref_pbuc2_neq__deref_pbuc1_then_la1 - Successfully synthesized from _deref_pbuc1_neq_vbuxx_then_la1 +Fragment synthesis _deref_pbuc2_neq__deref_pbuc1_then_la1 - Successfully synthesized from _deref_pbuc1_neq_vbuyy_then_la1 +Found best fragment _deref_pbuc1_neq__deref_pbuc2_then_la1 < _deref_pbuc2_neq__deref_pbuc1_then_la1 < _deref_pbuc1_neq_vbuxx_then_la1 < vbuxx_neq__deref_pbuc1_then_la1 < vbuxx_neq_vbuyy_then_la1 score: 19.0 + +INITIAL ASM +//SEG0 Basic Upstart +.pc = $801 "Basic" +:BasicUpstart(main) +.pc = $80d "Program" +//SEG1 Global Constants & labels +//SEG2 @begin +bbegin: +//SEG3 [1] phi from @begin to @1 [phi:@begin->@1] +b1_from_bbegin: + jmp b1 +//SEG4 @1 +b1: +//SEG5 [2] call main param-assignment [ ] ( ) + jsr main +//SEG6 [3] phi from @1 to @end [phi:@1->@end] +bend_from_b1: + jmp bend +//SEG7 @end +bend: +//SEG8 main +main: { + .label SCREEN = $400 + .const min = $a + .const max = $c8 + .label BGCOL = $d021 + .const sumw = min+max + .const sumb = min+max + .const midb = (sumb>>1)+1 + .const midw = $ff & sumw>>1+1 + //SEG9 [4] *((const byte*) main::SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 0) ← (const byte) main::midw#0 [ ] ( main:2 [ ] ) -- _deref_pbuc1=vbuc2 + lda #midw + sta SCREEN+0 + //SEG10 [5] *((const byte*) main::SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 1) ← (const byte) main::midb#0 [ ] ( main:2 [ ] ) -- _deref_pbuc1=vbuc2 + lda #midb + sta SCREEN+1 + //SEG11 [6] if(*((const byte*) main::SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 0)!=*((const byte*) main::SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 1)) goto main::@1 [ ] ( main:2 [ ] ) -- _deref_pbuc1_neq__deref_pbuc2_then_la1 + ldx SCREEN+0 + ldy SCREEN+1 + stx $ff + cpy $ff + bne b1 + jmp b3 + //SEG12 main::@3 + b3: + //SEG13 [7] *((const byte*) main::BGCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 5 [ ] ( main:2 [ ] ) -- _deref_pbuc1=vbuc2 + lda #5 + sta BGCOL + jmp breturn + //SEG14 main::@return + breturn: + //SEG15 [8] return [ ] ( main:2 [ ] ) + rts + //SEG16 main::@1 + b1: + //SEG17 [9] *((const byte*) main::BGCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 2 [ ] ( main:2 [ ] ) -- _deref_pbuc1=vbuc2 + lda #2 + sta BGCOL + jmp breturn +} + +REGISTER UPLIFT POTENTIAL REGISTERS +Statement [4] *((const byte*) main::SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 0) ← (const byte) main::midw#0 [ ] ( main:2 [ ] ) always clobbers reg byte a +Statement [5] *((const byte*) main::SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 1) ← (const byte) main::midb#0 [ ] ( main:2 [ ] ) always clobbers reg byte a +Statement [6] if(*((const byte*) main::SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 0)!=*((const byte*) main::SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 1)) goto main::@1 [ ] ( main:2 [ ] ) always clobbers reg byte x reg byte y +Statement [7] *((const byte*) main::BGCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 5 [ ] ( main:2 [ ] ) always clobbers reg byte a +Statement [9] *((const byte*) main::BGCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 2 [ ] ( main:2 [ ] ) always clobbers reg byte a + +REGISTER UPLIFT SCOPES +Uplift Scope [main] +Uplift Scope [] + +Uplifting [main] best 67 combination +Uplifting [] best 67 combination + +ASSEMBLER BEFORE OPTIMIZATION +//SEG0 Basic Upstart +.pc = $801 "Basic" +:BasicUpstart(main) +.pc = $80d "Program" +//SEG1 Global Constants & labels +//SEG2 @begin +bbegin: +//SEG3 [1] phi from @begin to @1 [phi:@begin->@1] +b1_from_bbegin: + jmp b1 +//SEG4 @1 +b1: +//SEG5 [2] call main param-assignment [ ] ( ) + jsr main +//SEG6 [3] phi from @1 to @end [phi:@1->@end] +bend_from_b1: + jmp bend +//SEG7 @end +bend: +//SEG8 main +main: { + .label SCREEN = $400 + .const min = $a + .const max = $c8 + .label BGCOL = $d021 + .const sumw = min+max + .const sumb = min+max + .const midb = (sumb>>1)+1 + .const midw = $ff & sumw>>1+1 + //SEG9 [4] *((const byte*) main::SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 0) ← (const byte) main::midw#0 [ ] ( main:2 [ ] ) -- _deref_pbuc1=vbuc2 + lda #midw + sta SCREEN+0 + //SEG10 [5] *((const byte*) main::SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 1) ← (const byte) main::midb#0 [ ] ( main:2 [ ] ) -- _deref_pbuc1=vbuc2 + lda #midb + sta SCREEN+1 + //SEG11 [6] if(*((const byte*) main::SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 0)!=*((const byte*) main::SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 1)) goto main::@1 [ ] ( main:2 [ ] ) -- _deref_pbuc1_neq__deref_pbuc2_then_la1 + ldx SCREEN+0 + ldy SCREEN+1 + stx $ff + cpy $ff + bne b1 + jmp b3 + //SEG12 main::@3 + b3: + //SEG13 [7] *((const byte*) main::BGCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 5 [ ] ( main:2 [ ] ) -- _deref_pbuc1=vbuc2 + lda #5 + sta BGCOL + jmp breturn + //SEG14 main::@return + breturn: + //SEG15 [8] return [ ] ( main:2 [ ] ) + rts + //SEG16 main::@1 + b1: + //SEG17 [9] *((const byte*) main::BGCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 2 [ ] ( main:2 [ ] ) -- _deref_pbuc1=vbuc2 + lda #2 + sta BGCOL + jmp breturn +} + +ASSEMBLER OPTIMIZATIONS +Removing instruction jmp b1 +Removing instruction jmp bend +Removing instruction jmp b3 +Removing instruction jmp breturn +Succesful ASM optimization Pass5NextJumpElimination +Replacing instruction ldy SCREEN+1 with TAY +Removing instruction bbegin: +Removing instruction b1_from_bbegin: +Removing instruction bend_from_b1: +Succesful ASM optimization Pass5RedundantLabelElimination +Removing instruction b1: +Removing instruction bend: +Removing instruction b3: +Succesful ASM optimization Pass5UnusedLabelElimination + +FINAL SYMBOL TABLE +(label) @1 +(label) @begin +(label) @end +(void()) main() +(label) main::@1 +(label) main::@3 +(label) main::@return +(byte*) main::BGCOL +(const byte*) main::BGCOL#0 BGCOL = ((byte*))(word/dword/signed dword) 53281 +(byte*) main::SCREEN +(const byte*) main::SCREEN#0 SCREEN = ((byte*))(word/signed word/dword/signed dword) 1024 +(byte) main::max +(const byte) main::max#0 max = (byte/word/signed word/dword/signed dword) 200 +(byte) main::midb +(const byte) main::midb#0 midb = (const byte) main::sumb#0>>(byte/signed byte/word/signed word/dword/signed dword) 1+(byte/signed byte/word/signed word/dword/signed dword) 1 +(byte) main::midw +(const byte) main::midw#0 midw = ((byte))(const word) main::sumw#0>>(byte/signed byte/word/signed word/dword/signed dword) 1+(byte/signed byte/word/signed word/dword/signed dword) 1 +(byte) main::min +(const byte) main::min#0 min = (byte/signed byte/word/signed word/dword/signed dword) 10 +(byte) main::sumb +(const byte) main::sumb#0 sumb = (const byte) main::min#0+(const byte) main::max#0 +(word) main::sumw +(const word) main::sumw#0 sumw = (const byte) main::min#0+(const byte) main::max#0 + + + +FINAL ASSEMBLER +Score: 53 + +//SEG0 Basic Upstart +.pc = $801 "Basic" +:BasicUpstart(main) +.pc = $80d "Program" +//SEG1 Global Constants & labels +//SEG2 @begin +//SEG3 [1] phi from @begin to @1 [phi:@begin->@1] +//SEG4 @1 +//SEG5 [2] call main param-assignment [ ] ( ) + jsr main +//SEG6 [3] phi from @1 to @end [phi:@1->@end] +//SEG7 @end +//SEG8 main +main: { + .label SCREEN = $400 + .const min = $a + .const max = $c8 + .label BGCOL = $d021 + .const sumw = min+max + .const sumb = min+max + .const midb = (sumb>>1)+1 + .const midw = $ff & sumw>>1+1 + //SEG9 [4] *((const byte*) main::SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 0) ← (const byte) main::midw#0 [ ] ( main:2 [ ] ) -- _deref_pbuc1=vbuc2 + lda #midw + sta SCREEN+0 + //SEG10 [5] *((const byte*) main::SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 1) ← (const byte) main::midb#0 [ ] ( main:2 [ ] ) -- _deref_pbuc1=vbuc2 + lda #midb + sta SCREEN+1 + //SEG11 [6] if(*((const byte*) main::SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 0)!=*((const byte*) main::SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 1)) goto main::@1 [ ] ( main:2 [ ] ) -- _deref_pbuc1_neq__deref_pbuc2_then_la1 + ldx SCREEN+0 + tay + stx $ff + cpy $ff + bne b1 + //SEG12 main::@3 + //SEG13 [7] *((const byte*) main::BGCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 5 [ ] ( main:2 [ ] ) -- _deref_pbuc1=vbuc2 + lda #5 + sta BGCOL + //SEG14 main::@return + breturn: + //SEG15 [8] return [ ] ( main:2 [ ] ) + rts + //SEG16 main::@1 + b1: + //SEG17 [9] *((const byte*) main::BGCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 2 [ ] ( main:2 [ ] ) -- _deref_pbuc1=vbuc2 + lda #2 + sta BGCOL + jmp breturn +} + diff --git a/src/test/java/dk/camelot64/kickc/test/ref/cast-precedence-problem.sym b/src/test/java/dk/camelot64/kickc/test/ref/cast-precedence-problem.sym new file mode 100644 index 000000000..fcbb40f7d --- /dev/null +++ b/src/test/java/dk/camelot64/kickc/test/ref/cast-precedence-problem.sym @@ -0,0 +1,24 @@ +(label) @1 +(label) @begin +(label) @end +(void()) main() +(label) main::@1 +(label) main::@3 +(label) main::@return +(byte*) main::BGCOL +(const byte*) main::BGCOL#0 BGCOL = ((byte*))(word/dword/signed dword) 53281 +(byte*) main::SCREEN +(const byte*) main::SCREEN#0 SCREEN = ((byte*))(word/signed word/dword/signed dword) 1024 +(byte) main::max +(const byte) main::max#0 max = (byte/word/signed word/dword/signed dword) 200 +(byte) main::midb +(const byte) main::midb#0 midb = (const byte) main::sumb#0>>(byte/signed byte/word/signed word/dword/signed dword) 1+(byte/signed byte/word/signed word/dword/signed dword) 1 +(byte) main::midw +(const byte) main::midw#0 midw = ((byte))(const word) main::sumw#0>>(byte/signed byte/word/signed word/dword/signed dword) 1+(byte/signed byte/word/signed word/dword/signed dword) 1 +(byte) main::min +(const byte) main::min#0 min = (byte/signed byte/word/signed word/dword/signed dword) 10 +(byte) main::sumb +(const byte) main::sumb#0 sumb = (const byte) main::min#0+(const byte) main::max#0 +(word) main::sumw +(const word) main::sumw#0 sumw = (const byte) main::min#0+(const byte) main::max#0 + diff --git a/src/test/java/dk/camelot64/kickc/test/ref/sinusgen16b.asm b/src/test/java/dk/camelot64/kickc/test/ref/sinusgen16b.asm new file mode 100644 index 000000000..0e7011355 --- /dev/null +++ b/src/test/java/dk/camelot64/kickc/test/ref/sinusgen16b.asm @@ -0,0 +1,815 @@ +.pc = $801 "Basic" +:BasicUpstart(main) +.pc = $80d "Program" + .const PI2_u4f28 = $6487ed51 + .const PI_u4f28 = $3243f6a9 + .const PI_HALF_u4f28 = $1921fb54 + .const PI_u4f12 = $3244 + .const PI_HALF_u4f12 = $1922 + .label SCREEN = $400 + .label char_cursor = $b + .label rem16u = 4 + jsr main +main: { + .label wavelength = $78 + .label sw = 8 + .label st1 = 2 + .label st2 = 4 + jsr sin16s_gen + jsr sin16s_genb + jsr print_cls + ldx #0 + lda #SCREEN + sta char_cursor+1 + lda #sintab2 + sta st2+1 + lda #sintab1 + sta st1+1 + b1: + ldy #0 + sec + lda (st1),y + sbc (st2),y + sta sw + iny + lda (st1),y + sbc (st2),y + sta sw+1 + bmi b2 + lda #str1 + sta print_str.str+1 + jsr print_str + b2: + jsr print_sword + lda #str + sta print_str.str+1 + jsr print_str + clc + lda st1 + adc #<2 + sta st1 + lda st1+1 + adc #>2 + sta st1+1 + clc + lda st2 + adc #<2 + sta st2 + lda st2+1 + adc #>2 + sta st2+1 + inx + cpx #$78 + bne b1 + rts + str: .text " @" + str1: .text " @" + sintab1: .fill $f0, 0 + sintab2: .fill $f0, 0 +} +print_str: { + .label str = 6 + 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_sword: { + .label w = 8 + 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: + jsr print_word + rts +} +print_word: { + lda print_sword.w+1 + sta print_byte.b + jsr print_byte + lda print_sword.w + sta print_byte.b + jsr print_byte + rts +} +print_byte: { + .label b = $a + lda b + lsr + lsr + lsr + lsr + tay + lda hextab,y + jsr print_char + lda #$f + and b + 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_cls: { + .label sc = 2 + 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 #main.wavelength + sta div32u16u.divisor+1 + lda #PI2_u4f28 + sta div32u16u.dividend+1 + lda #>$10 + sta div32u16u.dividend+2 + lda #>PI2_u4f28>>$10 + sta div32u16u.dividend+3 + jsr div32u16u + lda #<0 + sta i + sta i+1 + lda #main.sintab2 + sta sintab+1 + lda #0 + sta x + sta x+1 + sta x+2 + sta x+3 + b1: + lda x+2 + sta sin16sb.x + lda x+3 + sta sin16sb.x+1 + jsr sin16sb + ldy #0 + lda _2 + sta (sintab),y + iny + lda _2+1 + sta (sintab),y + clc + lda sintab + adc #<2 + sta sintab + lda sintab+1 + adc #>2 + sta sintab+1 + 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 #>main.wavelength + bcc b1 + bne !+ + lda i + cmp #PI_u4f12 + bcc b4 + bne !+ + lda x + cmp #PI_u4f12 + sta x+1 + lda #1 + sta isUpper + jmp b1 + b4: + lda #0 + sta isUpper + b1: + lda x+1 + cmp #>PI_HALF_u4f12 + bcc b2 + bne !+ + lda x + cmp #PI_u4f12 + sbc x+1 + sta x+1 + b2: + asl x1 + rol x1+1 + asl x1 + rol x1+1 + asl x1 + rol x1+1 + lda x1 + sta mulu16_sel.v1 + lda x1+1 + sta mulu16_sel.v1+1 + lda x1 + sta mulu16_sel.v2 + lda x1+1 + sta mulu16_sel.v2+1 + ldx #0 + jsr mulu16_sel + lda mulu16_sel.return_18 + sta x2 + lda mulu16_sel.return_18+1 + sta x2+1 + lda x1 + sta mulu16_sel.v2 + lda x1+1 + sta mulu16_sel.v2+1 + ldx #1 + jsr mulu16_sel + lda mulu16_sel.return_17 + sta mulu16_sel.return + lda mulu16_sel.return_17+1 + sta mulu16_sel.return+1 + ldx #1 + lda #<$10000/6 + sta mulu16_sel.v2 + lda #>$10000/6 + sta mulu16_sel.v2+1 + jsr mulu16_sel + lda x1 + sec + sbc x3_6 + sta usinx + lda x1+1 + sbc x3_6+1 + sta usinx+1 + lda x1 + sta mulu16_sel.v2 + lda x1+1 + sta mulu16_sel.v2+1 + ldx #0 + jsr mulu16_sel + lda mulu16_sel.return_17 + sta mulu16_sel.return + lda mulu16_sel.return_17+1 + sta mulu16_sel.return+1 + lda x1 + sta mulu16_sel.v2 + lda x1+1 + sta mulu16_sel.v2+1 + ldx #0 + jsr mulu16_sel + ldy #4 + !: + lsr x5_128+1 + ror x5_128 + dey + bne !- + lda usinx + clc + adc x5_128 + sta usinx + lda usinx+1 + adc x5_128+1 + sta usinx+1 + lda isUpper + beq b3 + sec + lda sinx + eor #$ff + adc #0 + sta sinx + lda sinx+1 + eor #$ff + adc #0 + sta sinx+1 + b3: + rts +} +mulu16_sel: { + .label _0 = $15 + .label _1 = $15 + .label v1 = $b + .label v2 = $11 + .label return = $b + .label return_11 = $11 + .label return_14 = $11 + .label return_16 = $11 + .label return_17 = $11 + .label return_18 = $11 + .label return_20 = $11 + lda v1 + sta mul16u.a + lda v1+1 + sta mul16u.a+1 + jsr mul16u + cpx #0 + beq !e+ + !: + asl _1 + rol _1+1 + rol _1+2 + rol _1+3 + dex + bne !- + !e: + lda _1+2 + sta return_17 + lda _1+3 + sta return_17+1 + rts +} +mul16u: { + .label mb = $19 + .label a = $13 + .label res = $15 + .label b = $11 + .label return = $15 + 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 +} +div32u16u: { + .label quotient_hi = $b + .label quotient_lo = 8 + .label return = $1d + .label dividend = $d + .label divisor = 2 + lda dividend+2 + sta divr16u.dividend + lda dividend+3 + sta divr16u.dividend+1 + lda #<0 + sta divr16u.rem + sta divr16u.rem+1 + jsr divr16u + lda divr16u.return + sta quotient_hi + lda divr16u.return+1 + sta quotient_hi+1 + lda dividend + sta divr16u.dividend + lda dividend+1 + sta divr16u.dividend+1 + jsr divr16u + lda quotient_hi + sta return+2 + lda quotient_hi+1 + sta return+3 + lda quotient_lo + sta return + lda quotient_lo+1 + sta return+1 + rts +} +divr16u: { + .label rem = 4 + .label dividend = 6 + .label quotient = 8 + .label return = 8 + .label divisor = 2 + 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 +} +sin16s_gen: { + .label _1 = 8 + .label step = $1d + .label sintab = 2 + .label x = $d + .label i = 6 + lda #<0 + sta rem16u + sta rem16u+1 + lda #main.wavelength + sta div32u16u.divisor+1 + lda #PI2_u4f28 + sta div32u16u.dividend+1 + lda #>$10 + sta div32u16u.dividend+2 + lda #>PI2_u4f28>>$10 + sta div32u16u.dividend+3 + jsr div32u16u + lda #<0 + sta i + sta i+1 + lda #main.sintab1 + sta sintab+1 + lda #0 + sta x + sta x+1 + sta x+2 + sta x+3 + b1: + lda x + sta sin16s.x + lda x+1 + sta sin16s.x+1 + lda x+2 + sta sin16s.x+2 + lda x+3 + sta sin16s.x+3 + jsr sin16s + ldy #0 + lda _1 + sta (sintab),y + iny + lda _1+1 + sta (sintab),y + clc + lda sintab + adc #<2 + sta sintab + lda sintab+1 + adc #>2 + sta sintab+1 + 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 #>main.wavelength + bcc b1 + bne !+ + lda i + cmp #PI_u4f28>>$10 + bcc b4 + bne !+ + lda x+2 + cmp #>$10 + bcc b4 + bne !+ + lda x+1 + cmp #>PI_u4f28 + bcc b4 + bne !+ + lda x + cmp #PI_u4f28 + sta x+1 + lda x+2 + sbc #>$10 + sta x+2 + lda x+3 + sbc #>PI_u4f28>>$10 + sta x+3 + lda #1 + sta isUpper + jmp b1 + b4: + lda #0 + sta isUpper + b1: + lda x+3 + cmp #>PI_HALF_u4f28>>$10 + bcc b2 + bne !+ + lda x+2 + cmp #>$10 + bcc b2 + bne !+ + lda x+1 + cmp #>PI_HALF_u4f28 + bcc b2 + bne !+ + lda x + cmp #PI_u4f28 + sbc x+1 + sta x+1 + lda #>$10 + sbc x+2 + sta x+2 + lda #>PI_u4f28>>$10 + sbc x+3 + sta x+3 + b2: + ldy #3 + !: + asl _6 + rol _6+1 + rol _6+2 + rol _6+3 + dey + bne !- + lda _6+2 + sta x1 + lda _6+3 + sta x1+1 + lda x1 + sta mulu16_sel.v1 + lda x1+1 + sta mulu16_sel.v1+1 + lda x1 + sta mulu16_sel.v2 + lda x1+1 + sta mulu16_sel.v2+1 + ldx #0 + jsr mulu16_sel + lda mulu16_sel.return_17 + sta mulu16_sel.return + lda mulu16_sel.return_17+1 + sta mulu16_sel.return+1 + lda x1 + sta mulu16_sel.v2 + lda x1+1 + sta mulu16_sel.v2+1 + ldx #1 + jsr mulu16_sel + lda mulu16_sel.return_17 + sta mulu16_sel.return + lda mulu16_sel.return_17+1 + sta mulu16_sel.return+1 + ldx #1 + lda #<$10000/6 + sta mulu16_sel.v2 + lda #>$10000/6 + sta mulu16_sel.v2+1 + jsr mulu16_sel + lda x1 + sec + sbc x3_6 + sta usinx + lda x1+1 + sbc x3_6+1 + sta usinx+1 + lda x1 + sta mulu16_sel.v2 + lda x1+1 + sta mulu16_sel.v2+1 + ldx #0 + jsr mulu16_sel + lda mulu16_sel.return_17 + sta mulu16_sel.return + lda mulu16_sel.return_17+1 + sta mulu16_sel.return+1 + lda x1 + sta mulu16_sel.v2 + lda x1+1 + sta mulu16_sel.v2+1 + ldx #0 + jsr mulu16_sel + ldy #4 + !: + lsr x5_128+1 + ror x5_128 + dey + bne !- + lda usinx + clc + adc x5_128 + sta usinx + lda usinx+1 + adc x5_128+1 + sta usinx+1 + lda isUpper + beq b3 + sec + lda sinx + eor #$ff + adc #0 + sta sinx + lda sinx+1 + eor #$ff + adc #0 + sta sinx+1 + b3: + rts +} diff --git a/src/test/java/dk/camelot64/kickc/test/ref/sinusgen16b.cfg b/src/test/java/dk/camelot64/kickc/test/ref/sinusgen16b.cfg new file mode 100644 index 000000000..c5cdf6d76 --- /dev/null +++ b/src/test/java/dk/camelot64/kickc/test/ref/sinusgen16b.cfg @@ -0,0 +1,426 @@ +@begin: scope:[] from + [0] phi() [ ] ( ) + to:@31 +@31: scope:[] from @begin + [1] phi() [ ] ( ) + [2] call main param-assignment [ ] ( ) + to:@end +@end: scope:[] from @31 + [3] phi() [ ] ( ) +main: scope:[main] from @31 + [4] phi() [ ] ( main:2 [ ] ) + [5] call sin16s_gen param-assignment [ divr16u::rem#11 ] ( main:2 [ divr16u::rem#11 ] ) + to:main::@5 +main::@5: scope:[main] from main + [6] phi() [ divr16u::rem#11 ] ( main:2 [ divr16u::rem#11 ] ) + [7] call sin16s_genb param-assignment [ ] ( main:2 [ ] ) + to:main::@6 +main::@6: scope:[main] from main::@5 + [8] phi() [ ] ( main:2 [ ] ) + [9] call print_cls param-assignment [ ] ( main:2 [ ] ) + to:main::@1 +main::@1: scope:[main] from main::@6 main::@9 + [10] (byte) main::i#2 ← phi( main::@6/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@9/(byte) main::i#1 ) [ main::st1#2 main::st2#2 char_cursor#49 main::i#2 ] ( main:2 [ main::st1#2 main::st2#2 char_cursor#49 main::i#2 ] ) + [10] (byte*) char_cursor#49 ← phi( main::@6/(const byte*) SCREEN#0 main::@9/(byte*) char_cursor#2 ) [ main::st1#2 main::st2#2 char_cursor#49 main::i#2 ] ( main:2 [ main::st1#2 main::st2#2 char_cursor#49 main::i#2 ] ) + [10] (signed word*) main::st2#2 ← phi( main::@6/(const signed word[120]) main::sintab2#0 main::@9/(signed word*) main::st2#1 ) [ main::st1#2 main::st2#2 char_cursor#49 main::i#2 ] ( main:2 [ main::st1#2 main::st2#2 char_cursor#49 main::i#2 ] ) + [10] (signed word*) main::st1#2 ← phi( main::@6/(const signed word[120]) main::sintab1#0 main::@9/(signed word*) main::st1#1 ) [ main::st1#2 main::st2#2 char_cursor#49 main::i#2 ] ( main:2 [ main::st1#2 main::st2#2 char_cursor#49 main::i#2 ] ) + [11] (signed word) main::sw#0 ← *((signed word*) main::st1#2) - *((signed word*) main::st2#2) [ main::st1#2 main::st2#2 char_cursor#49 main::i#2 main::sw#0 ] ( main:2 [ main::st1#2 main::st2#2 char_cursor#49 main::i#2 main::sw#0 ] ) + [12] if((signed word) main::sw#0<(byte/signed byte/word/signed word/dword/signed dword) 0) goto main::@2 [ main::st1#2 main::st2#2 char_cursor#49 main::i#2 main::sw#0 ] ( main:2 [ main::st1#2 main::st2#2 char_cursor#49 main::i#2 main::sw#0 ] ) + to:main::@3 +main::@3: scope:[main] from main::@1 + [13] phi() [ main::st1#2 main::st2#2 char_cursor#49 main::i#2 main::sw#0 ] ( main:2 [ main::st1#2 main::st2#2 char_cursor#49 main::i#2 main::sw#0 ] ) + [14] call print_str param-assignment [ main::st1#2 main::st2#2 main::i#2 char_cursor#2 main::sw#0 ] ( main:2 [ main::st1#2 main::st2#2 main::i#2 char_cursor#2 main::sw#0 ] ) + to:main::@2 +main::@2: scope:[main] from main::@1 main::@3 + [15] (byte*) char_cursor#48 ← phi( main::@1/(byte*) char_cursor#49 main::@3/(byte*) char_cursor#2 ) [ main::st1#2 main::st2#2 main::i#2 main::sw#0 char_cursor#48 ] ( main:2 [ main::st1#2 main::st2#2 main::i#2 main::sw#0 char_cursor#48 ] ) + [16] (signed word) print_sword::w#1 ← (signed word) main::sw#0 [ main::st1#2 main::st2#2 main::i#2 char_cursor#48 print_sword::w#1 ] ( main:2 [ main::st1#2 main::st2#2 main::i#2 char_cursor#48 print_sword::w#1 ] ) + [17] call print_sword param-assignment [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 ] ( main:2 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 ] ) + to:main::@8 +main::@8: scope:[main] from main::@2 + [18] phi() [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 ] ( main:2 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 ] ) + [19] call print_str param-assignment [ main::st1#2 main::st2#2 main::i#2 char_cursor#2 ] ( main:2 [ main::st1#2 main::st2#2 main::i#2 char_cursor#2 ] ) + to:main::@9 +main::@9: scope:[main] from main::@8 + [20] (signed word*) main::st1#1 ← (signed word*) main::st1#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ main::st2#2 main::i#2 main::st1#1 char_cursor#2 ] ( main:2 [ main::st2#2 main::i#2 main::st1#1 char_cursor#2 ] ) + [21] (signed word*) main::st2#1 ← (signed word*) main::st2#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ main::i#2 main::st1#1 main::st2#1 char_cursor#2 ] ( main:2 [ main::i#2 main::st1#1 main::st2#1 char_cursor#2 ] ) + [22] (byte) main::i#1 ← ++ (byte) main::i#2 [ main::st1#1 main::st2#1 char_cursor#2 main::i#1 ] ( main:2 [ main::st1#1 main::st2#1 char_cursor#2 main::i#1 ] ) + [23] if((byte) main::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 120) goto main::@1 [ main::st1#1 main::st2#1 char_cursor#2 main::i#1 ] ( main:2 [ main::st1#1 main::st2#1 char_cursor#2 main::i#1 ] ) + to:main::@return +main::@return: scope:[main] from main::@9 + [24] return [ ] ( main:2 [ ] ) + to:@return +print_str: scope:[print_str] from main::@3 main::@8 + [25] (byte*) char_cursor#51 ← phi( main::@3/(byte*) char_cursor#49 main::@8/(byte*) char_cursor#12 ) [ print_str::str#5 char_cursor#51 ] ( main:2::print_str:14 [ main::st1#2 main::st2#2 main::i#2 main::sw#0 print_str::str#5 char_cursor#51 ] main:2::print_str:19 [ main::st1#2 main::st2#2 main::i#2 print_str::str#5 char_cursor#51 ] ) + [25] (byte*) print_str::str#5 ← phi( main::@3/(const string) main::str1 main::@8/(const string) main::str ) [ print_str::str#5 char_cursor#51 ] ( main:2::print_str:14 [ main::st1#2 main::st2#2 main::i#2 main::sw#0 print_str::str#5 char_cursor#51 ] main:2::print_str:19 [ main::st1#2 main::st2#2 main::i#2 print_str::str#5 char_cursor#51 ] ) + to:print_str::@1 +print_str::@1: scope:[print_str] from print_str print_str::@2 + [26] (byte*) char_cursor#2 ← phi( print_str/(byte*) char_cursor#51 print_str::@2/(byte*) char_cursor#1 ) [ char_cursor#2 print_str::str#3 ] ( main:2::print_str:14 [ main::st1#2 main::st2#2 main::i#2 main::sw#0 char_cursor#2 print_str::str#3 ] main:2::print_str:19 [ main::st1#2 main::st2#2 main::i#2 char_cursor#2 print_str::str#3 ] ) + [26] (byte*) print_str::str#3 ← phi( print_str/(byte*) print_str::str#5 print_str::@2/(byte*) print_str::str#0 ) [ char_cursor#2 print_str::str#3 ] ( main:2::print_str:14 [ main::st1#2 main::st2#2 main::i#2 main::sw#0 char_cursor#2 print_str::str#3 ] main:2::print_str:19 [ main::st1#2 main::st2#2 main::i#2 char_cursor#2 print_str::str#3 ] ) + [27] if(*((byte*) print_str::str#3)!=(byte) '@') goto print_str::@2 [ char_cursor#2 print_str::str#3 ] ( main:2::print_str:14 [ main::st1#2 main::st2#2 main::i#2 main::sw#0 char_cursor#2 print_str::str#3 ] main:2::print_str:19 [ main::st1#2 main::st2#2 main::i#2 char_cursor#2 print_str::str#3 ] ) + to:print_str::@return +print_str::@return: scope:[print_str] from print_str::@1 + [28] return [ char_cursor#2 ] ( main:2::print_str:14 [ main::st1#2 main::st2#2 main::i#2 main::sw#0 char_cursor#2 ] main:2::print_str:19 [ main::st1#2 main::st2#2 main::i#2 char_cursor#2 ] ) + to:@return +print_str::@2: scope:[print_str] from print_str::@1 + [29] *((byte*) char_cursor#2) ← *((byte*) print_str::str#3) [ char_cursor#2 print_str::str#3 ] ( main:2::print_str:14 [ main::st1#2 main::st2#2 main::i#2 main::sw#0 char_cursor#2 print_str::str#3 ] main:2::print_str:19 [ main::st1#2 main::st2#2 main::i#2 char_cursor#2 print_str::str#3 ] ) + [30] (byte*) char_cursor#1 ← ++ (byte*) char_cursor#2 [ print_str::str#3 char_cursor#1 ] ( main:2::print_str:14 [ main::st1#2 main::st2#2 main::i#2 main::sw#0 print_str::str#3 char_cursor#1 ] main:2::print_str:19 [ main::st1#2 main::st2#2 main::i#2 print_str::str#3 char_cursor#1 ] ) + [31] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#3 [ print_str::str#0 char_cursor#1 ] ( main:2::print_str:14 [ main::st1#2 main::st2#2 main::i#2 main::sw#0 print_str::str#0 char_cursor#1 ] main:2::print_str:19 [ main::st1#2 main::st2#2 main::i#2 print_str::str#0 char_cursor#1 ] ) + to:print_str::@1 +print_sword: scope:[print_sword] from main::@2 + [32] if((signed word) print_sword::w#1>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto print_sword::@1 [ char_cursor#48 print_sword::w#1 ] ( main:2::print_sword:17 [ main::st1#2 main::st2#2 main::i#2 char_cursor#48 print_sword::w#1 ] ) + to:print_sword::@2 +print_sword::@2: scope:[print_sword] from print_sword + [33] phi() [ char_cursor#48 print_sword::w#1 ] ( main:2::print_sword:17 [ main::st1#2 main::st2#2 main::i#2 char_cursor#48 print_sword::w#1 ] ) + [34] call print_char param-assignment [ print_sword::w#1 char_cursor#12 ] ( main:2::print_sword:17 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#1 char_cursor#12 ] ) + to:print_sword::@4 +print_sword::@4: scope:[print_sword] from print_sword::@2 + [35] (signed word) print_sword::w#0 ← - (signed word) print_sword::w#1 [ char_cursor#12 print_sword::w#0 ] ( main:2::print_sword:17 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 print_sword::w#0 ] ) + to:print_sword::@1 +print_sword::@1: scope:[print_sword] from print_sword print_sword::@4 + [36] (byte*) char_cursor#43 ← phi( print_sword/(byte*) char_cursor#48 print_sword::@4/(byte*) char_cursor#12 ) [ print_sword::w#3 char_cursor#43 ] ( main:2::print_sword:17 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 char_cursor#43 ] ) + [36] (signed word) print_sword::w#3 ← phi( print_sword/(signed word) print_sword::w#1 print_sword::@4/(signed word) print_sword::w#0 ) [ print_sword::w#3 char_cursor#43 ] ( main:2::print_sword:17 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 char_cursor#43 ] ) + [37] call print_word param-assignment [ char_cursor#12 ] ( main:2::print_sword:17 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 ] ) + to:print_sword::@return +print_sword::@return: scope:[print_sword] from print_sword::@1 + [38] return [ char_cursor#12 ] ( main:2::print_sword:17 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 ] ) + to:@return +print_word: scope:[print_word] from print_sword::@1 + [39] (byte) print_byte::b#0 ← > (word)(signed word) print_sword::w#3 [ print_sword::w#3 char_cursor#43 print_byte::b#0 ] ( main:2::print_sword:17::print_word:37 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 char_cursor#43 print_byte::b#0 ] ) + [40] call print_byte param-assignment [ char_cursor#12 print_sword::w#3 ] ( main:2::print_sword:17::print_word:37 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 print_sword::w#3 ] ) + to:print_word::@1 +print_word::@1: scope:[print_word] from print_word + [41] (byte) print_byte::b#1 ← < (word)(signed word) print_sword::w#3 [ char_cursor#12 print_byte::b#1 ] ( main:2::print_sword:17::print_word:37 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 print_byte::b#1 ] ) + [42] call print_byte param-assignment [ char_cursor#12 ] ( main:2::print_sword:17::print_word:37 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 ] ) + to:print_word::@return +print_word::@return: scope:[print_word] from print_word::@1 + [43] return [ char_cursor#12 ] ( main:2::print_sword:17::print_word:37 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 ] ) + to:@return +print_byte: scope:[print_byte] from print_word print_word::@1 + [44] (byte*) char_cursor#46 ← phi( print_word/(byte*) char_cursor#43 print_word::@1/(byte*) char_cursor#12 ) [ print_byte::b#2 char_cursor#46 ] ( main:2::print_sword:17::print_word:37::print_byte:40 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 print_byte::b#2 char_cursor#46 ] main:2::print_sword:17::print_word:37::print_byte:42 [ main::st1#2 main::st2#2 main::i#2 print_byte::b#2 char_cursor#46 ] ) + [44] (byte) print_byte::b#2 ← phi( print_word/(byte) print_byte::b#0 print_word::@1/(byte) print_byte::b#1 ) [ print_byte::b#2 char_cursor#46 ] ( main:2::print_sword:17::print_word:37::print_byte:40 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 print_byte::b#2 char_cursor#46 ] main:2::print_sword:17::print_word:37::print_byte:42 [ main::st1#2 main::st2#2 main::i#2 print_byte::b#2 char_cursor#46 ] ) + [45] (byte~) print_byte::$0 ← (byte) print_byte::b#2 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ print_byte::b#2 char_cursor#46 print_byte::$0 ] ( main:2::print_sword:17::print_word:37::print_byte:40 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 print_byte::b#2 char_cursor#46 print_byte::$0 ] main:2::print_sword:17::print_word:37::print_byte:42 [ main::st1#2 main::st2#2 main::i#2 print_byte::b#2 char_cursor#46 print_byte::$0 ] ) + [46] (byte) print_char::ch#1 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$0) [ print_byte::b#2 char_cursor#46 print_char::ch#1 ] ( main:2::print_sword:17::print_word:37::print_byte:40 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 print_byte::b#2 char_cursor#46 print_char::ch#1 ] main:2::print_sword:17::print_word:37::print_byte:42 [ main::st1#2 main::st2#2 main::i#2 print_byte::b#2 char_cursor#46 print_char::ch#1 ] ) + [47] call print_char param-assignment [ char_cursor#12 print_byte::b#2 ] ( main:2::print_sword:17::print_word:37::print_byte:40 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 char_cursor#12 print_byte::b#2 ] main:2::print_sword:17::print_word:37::print_byte:42 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 print_byte::b#2 ] ) + to:print_byte::@1 +print_byte::@1: scope:[print_byte] from print_byte + [48] (byte~) print_byte::$2 ← (byte) print_byte::b#2 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ char_cursor#12 print_byte::$2 ] ( main:2::print_sword:17::print_word:37::print_byte:40 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 char_cursor#12 print_byte::$2 ] main:2::print_sword:17::print_word:37::print_byte:42 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 print_byte::$2 ] ) + [49] (byte) print_char::ch#2 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$2) [ char_cursor#12 print_char::ch#2 ] ( main:2::print_sword:17::print_word:37::print_byte:40 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 char_cursor#12 print_char::ch#2 ] main:2::print_sword:17::print_word:37::print_byte:42 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 print_char::ch#2 ] ) + [50] call print_char param-assignment [ char_cursor#12 ] ( main:2::print_sword:17::print_word:37::print_byte:40 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 char_cursor#12 ] main:2::print_sword:17::print_word:37::print_byte:42 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 ] ) + to:print_byte::@return +print_byte::@return: scope:[print_byte] from print_byte::@1 + [51] return [ char_cursor#12 ] ( main:2::print_sword:17::print_word:37::print_byte:40 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 char_cursor#12 ] main:2::print_sword:17::print_word:37::print_byte:42 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 ] ) + to:@return +print_char: scope:[print_char] from print_byte print_byte::@1 print_sword::@2 + [52] (byte*) char_cursor#33 ← phi( print_byte/(byte*) char_cursor#46 print_byte::@1/(byte*) char_cursor#12 print_sword::@2/(byte*) char_cursor#48 ) [ print_char::ch#3 char_cursor#33 ] ( main:2::print_sword:17::print_char:34 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#1 print_char::ch#3 char_cursor#33 ] main:2::print_sword:17::print_word:37::print_byte:40::print_char:47 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 print_byte::b#2 print_char::ch#3 char_cursor#33 ] main:2::print_sword:17::print_word:37::print_byte:42::print_char:47 [ main::st1#2 main::st2#2 main::i#2 print_byte::b#2 print_char::ch#3 char_cursor#33 ] main:2::print_sword:17::print_word:37::print_byte:40::print_char:50 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 print_char::ch#3 char_cursor#33 ] main:2::print_sword:17::print_word:37::print_byte:42::print_char:50 [ main::st1#2 main::st2#2 main::i#2 print_char::ch#3 char_cursor#33 ] ) + [52] (byte) print_char::ch#3 ← phi( print_byte/(byte) print_char::ch#1 print_byte::@1/(byte) print_char::ch#2 print_sword::@2/(byte) '-' ) [ print_char::ch#3 char_cursor#33 ] ( main:2::print_sword:17::print_char:34 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#1 print_char::ch#3 char_cursor#33 ] main:2::print_sword:17::print_word:37::print_byte:40::print_char:47 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 print_byte::b#2 print_char::ch#3 char_cursor#33 ] main:2::print_sword:17::print_word:37::print_byte:42::print_char:47 [ main::st1#2 main::st2#2 main::i#2 print_byte::b#2 print_char::ch#3 char_cursor#33 ] main:2::print_sword:17::print_word:37::print_byte:40::print_char:50 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 print_char::ch#3 char_cursor#33 ] main:2::print_sword:17::print_word:37::print_byte:42::print_char:50 [ main::st1#2 main::st2#2 main::i#2 print_char::ch#3 char_cursor#33 ] ) + [53] *((byte*) char_cursor#33) ← (byte) print_char::ch#3 [ char_cursor#33 ] ( main:2::print_sword:17::print_char:34 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#1 char_cursor#33 ] main:2::print_sword:17::print_word:37::print_byte:40::print_char:47 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 print_byte::b#2 char_cursor#33 ] main:2::print_sword:17::print_word:37::print_byte:42::print_char:47 [ main::st1#2 main::st2#2 main::i#2 print_byte::b#2 char_cursor#33 ] main:2::print_sword:17::print_word:37::print_byte:40::print_char:50 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 char_cursor#33 ] main:2::print_sword:17::print_word:37::print_byte:42::print_char:50 [ main::st1#2 main::st2#2 main::i#2 char_cursor#33 ] ) + [54] (byte*) char_cursor#12 ← ++ (byte*) char_cursor#33 [ char_cursor#12 ] ( main:2::print_sword:17::print_char:34 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#1 char_cursor#12 ] main:2::print_sword:17::print_word:37::print_byte:40::print_char:47 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 print_byte::b#2 char_cursor#12 ] main:2::print_sword:17::print_word:37::print_byte:42::print_char:47 [ main::st1#2 main::st2#2 main::i#2 print_byte::b#2 char_cursor#12 ] main:2::print_sword:17::print_word:37::print_byte:40::print_char:50 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 char_cursor#12 ] main:2::print_sword:17::print_word:37::print_byte:42::print_char:50 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 ] ) + to:print_char::@return +print_char::@return: scope:[print_char] from print_char + [55] return [ char_cursor#12 ] ( main:2::print_sword:17::print_char:34 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#1 char_cursor#12 ] main:2::print_sword:17::print_word:37::print_byte:40::print_char:47 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 print_byte::b#2 char_cursor#12 ] main:2::print_sword:17::print_word:37::print_byte:42::print_char:47 [ main::st1#2 main::st2#2 main::i#2 print_byte::b#2 char_cursor#12 ] main:2::print_sword:17::print_word:37::print_byte:40::print_char:50 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 char_cursor#12 ] main:2::print_sword:17::print_word:37::print_byte:42::print_char:50 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 ] ) + to:@return +print_cls: scope:[print_cls] from main::@6 + [56] phi() [ ] ( main:2::print_cls:9 [ ] ) + to:print_cls::@1 +print_cls::@1: scope:[print_cls] from print_cls print_cls::@1 + [57] (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 ] ) + [58] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:9 [ print_cls::sc#2 ] ) + [59] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::print_cls:9 [ print_cls::sc#1 ] ) + [60] 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 ] ) + to:print_cls::@return +print_cls::@return: scope:[print_cls] from print_cls::@1 + [61] return [ ] ( main:2::print_cls:9 [ ] ) + to:@return +sin16s_genb: scope:[sin16s_genb] from main::@5 + [62] phi() [ divr16u::rem#11 ] ( main:2::sin16s_genb:7 [ divr16u::rem#11 ] ) + [63] call div32u16u param-assignment [ div32u16u::return#0 ] ( main:2::sin16s_genb:7 [ div32u16u::return#0 ] ) + [64] (dword) div32u16u::return#3 ← (dword) div32u16u::return#0 [ div32u16u::return#3 ] ( main:2::sin16s_genb:7 [ div32u16u::return#3 ] ) + to:sin16s_genb::@3 +sin16s_genb::@3: scope:[sin16s_genb] from sin16s_genb + [65] (dword) sin16s_genb::step#0 ← (dword) div32u16u::return#3 [ sin16s_genb::step#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 ] ) + to:sin16s_genb::@1 +sin16s_genb::@1: scope:[sin16s_genb] from sin16s_genb::@3 sin16s_genb::@4 + [66] (word) sin16s_genb::i#2 ← phi( sin16s_genb::@3/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s_genb::@4/(word) sin16s_genb::i#1 ) [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 ] ) + [66] (signed word*) sin16s_genb::sintab#2 ← phi( sin16s_genb::@3/(const signed word[120]) main::sintab2#0 sin16s_genb::@4/(signed word*) sin16s_genb::sintab#0 ) [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 ] ) + [66] (dword) sin16s_genb::x#2 ← phi( sin16s_genb::@3/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s_genb::@4/(dword) sin16s_genb::x#1 ) [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 ] ) + [67] (word) sin16sb::x#0 ← > (dword) sin16s_genb::x#2 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#0 ] ) + [68] call sin16sb param-assignment [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#1 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#1 ] ) + [69] (signed word) sin16sb::return#0 ← (signed word) sin16sb::return#1 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#0 ] ) + to:sin16s_genb::@4 +sin16s_genb::@4: scope:[sin16s_genb] from sin16s_genb::@1 + [70] (signed word~) sin16s_genb::$2 ← (signed word) sin16sb::return#0 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16s_genb::$2 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16s_genb::$2 ] ) + [71] *((signed word*) sin16s_genb::sintab#2) ← (signed word~) sin16s_genb::$2 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 ] ) + [72] (signed word*) sin16s_genb::sintab#0 ← (signed word*) sin16s_genb::sintab#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::i#2 sin16s_genb::sintab#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::i#2 sin16s_genb::sintab#0 ] ) + [73] (dword) sin16s_genb::x#1 ← (dword) sin16s_genb::x#2 + (dword) sin16s_genb::step#0 [ sin16s_genb::step#0 sin16s_genb::i#2 sin16s_genb::x#1 sin16s_genb::sintab#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::i#2 sin16s_genb::x#1 sin16s_genb::sintab#0 ] ) + [74] (word) sin16s_genb::i#1 ← ++ (word) sin16s_genb::i#2 [ sin16s_genb::step#0 sin16s_genb::x#1 sin16s_genb::sintab#0 sin16s_genb::i#1 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#1 sin16s_genb::sintab#0 sin16s_genb::i#1 ] ) + [75] if((word) sin16s_genb::i#1<(const word) main::wavelength#0) goto sin16s_genb::@1 [ sin16s_genb::step#0 sin16s_genb::x#1 sin16s_genb::sintab#0 sin16s_genb::i#1 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#1 sin16s_genb::sintab#0 sin16s_genb::i#1 ] ) + to:sin16s_genb::@return +sin16s_genb::@return: scope:[sin16s_genb] from sin16s_genb::@4 + [76] return [ ] ( main:2::sin16s_genb:7 [ ] ) + to:@return +sin16sb: scope:[sin16sb] from sin16s_genb::@1 + [77] if((word) sin16sb::x#0<(const word) PI_u4f12#0) goto sin16sb::@1 [ sin16sb::x#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#0 ] ) + to:sin16sb::@4 +sin16sb::@4: scope:[sin16sb] from sin16sb + [78] (word) sin16sb::x#1 ← (word) sin16sb::x#0 - (const word) PI_u4f12#0 [ sin16sb::x#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#1 ] ) + to:sin16sb::@1 +sin16sb::@1: scope:[sin16sb] from sin16sb sin16sb::@4 + [79] (byte) sin16sb::isUpper#2 ← phi( sin16sb/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16sb::@4/(byte/signed byte/word/signed word/dword/signed dword) 1 ) [ sin16sb::x#4 sin16sb::isUpper#2 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#4 sin16sb::isUpper#2 ] ) + [79] (word) sin16sb::x#4 ← phi( sin16sb/(word) sin16sb::x#0 sin16sb::@4/(word) sin16sb::x#1 ) [ sin16sb::x#4 sin16sb::isUpper#2 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#4 sin16sb::isUpper#2 ] ) + [80] if((word) sin16sb::x#4<(const word) PI_HALF_u4f12#0) goto sin16sb::@2 [ sin16sb::x#4 sin16sb::isUpper#2 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#4 sin16sb::isUpper#2 ] ) + to:sin16sb::@5 +sin16sb::@5: scope:[sin16sb] from sin16sb::@1 + [81] (word) sin16sb::x#2 ← (const word) PI_u4f12#0 - (word) sin16sb::x#4 [ sin16sb::isUpper#2 sin16sb::x#2 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x#2 ] ) + to:sin16sb::@2 +sin16sb::@2: scope:[sin16sb] from sin16sb::@1 sin16sb::@5 + [82] (word) sin16sb::x#6 ← phi( sin16sb::@1/(word) sin16sb::x#4 sin16sb::@5/(word) sin16sb::x#2 ) [ sin16sb::isUpper#2 sin16sb::x#6 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x#6 ] ) + [83] (word) sin16sb::x1#0 ← (word) sin16sb::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin16sb::isUpper#2 sin16sb::x1#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 ] ) + [84] (word) mulu16_sel::v1#5 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#5 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#5 ] ) + [85] (word) mulu16_sel::v2#5 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#5 mulu16_sel::v2#5 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#5 mulu16_sel::v2#5 ] ) + [86] call mulu16_sel param-assignment [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] ) + [87] (word) mulu16_sel::return#18 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#18 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#18 ] ) + to:sin16sb::@8 +sin16sb::@8: scope:[sin16sb] from sin16sb::@2 + [88] (word) sin16sb::x2#0 ← (word) mulu16_sel::return#18 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x2#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x2#0 ] ) + [89] (word) mulu16_sel::v1#6 ← (word) sin16sb::x2#0 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#6 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#6 ] ) + [90] (word) mulu16_sel::v2#6 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#6 mulu16_sel::v2#6 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#6 mulu16_sel::v2#6 ] ) + [91] call mulu16_sel param-assignment [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] ) + [92] (word) mulu16_sel::return#19 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#19 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#19 ] ) + to:sin16sb::@9 +sin16sb::@9: scope:[sin16sb] from sin16sb::@8 + [93] (word) sin16sb::x3#0 ← (word) mulu16_sel::return#19 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 ] ) + [94] (word) mulu16_sel::v1#7 ← (word) sin16sb::x3#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v1#7 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v1#7 ] ) + [95] call mulu16_sel param-assignment [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 sin16sb::x3#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 sin16sb::x3#0 ] ) + [96] (word) mulu16_sel::return#20 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#20 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#20 ] ) + to:sin16sb::@10 +sin16sb::@10: scope:[sin16sb] from sin16sb::@9 + [97] (word) sin16sb::x3_6#0 ← (word) mulu16_sel::return#20 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 sin16sb::x3_6#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 sin16sb::x3_6#0 ] ) + [98] (word) sin16sb::usinx#0 ← (word) sin16sb::x1#0 - (word) sin16sb::x3_6#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 sin16sb::usinx#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 sin16sb::usinx#0 ] ) + [99] (word) mulu16_sel::v1#8 ← (word) sin16sb::x3#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#8 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#8 ] ) + [100] (word) mulu16_sel::v2#8 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#8 mulu16_sel::v2#8 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#8 mulu16_sel::v2#8 ] ) + [101] call mulu16_sel param-assignment [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 sin16sb::usinx#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 sin16sb::usinx#0 ] ) + [102] (word) mulu16_sel::return#10 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#10 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#10 ] ) + to:sin16sb::@11 +sin16sb::@11: scope:[sin16sb] from sin16sb::@10 + [103] (word) sin16sb::x4#0 ← (word) mulu16_sel::return#10 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 sin16sb::x4#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 sin16sb::x4#0 ] ) + [104] (word) mulu16_sel::v1#9 ← (word) sin16sb::x4#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#9 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#9 ] ) + [105] (word) mulu16_sel::v2#9 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v1#9 mulu16_sel::v2#9 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v1#9 mulu16_sel::v2#9 ] ) + [106] call mulu16_sel param-assignment [ sin16sb::isUpper#2 mulu16_sel::return#17 sin16sb::usinx#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 mulu16_sel::return#17 sin16sb::usinx#0 ] ) + [107] (word) mulu16_sel::return#11 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#11 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#11 ] ) + to:sin16sb::@12 +sin16sb::@12: scope:[sin16sb] from sin16sb::@11 + [108] (word) sin16sb::x5#0 ← (word) mulu16_sel::return#11 [ sin16sb::isUpper#2 sin16sb::usinx#0 sin16sb::x5#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 sin16sb::x5#0 ] ) + [109] (word) sin16sb::x5_128#0 ← (word) sin16sb::x5#0 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ sin16sb::isUpper#2 sin16sb::usinx#0 sin16sb::x5_128#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 sin16sb::x5_128#0 ] ) + [110] (word) sin16sb::usinx#1 ← (word) sin16sb::usinx#0 + (word) sin16sb::x5_128#0 [ sin16sb::isUpper#2 sin16sb::usinx#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#1 ] ) + [111] if((byte) sin16sb::isUpper#2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin16sb::@15 [ sin16sb::usinx#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::usinx#1 ] ) + to:sin16sb::@6 +sin16sb::@6: scope:[sin16sb] from sin16sb::@12 + [112] (signed word) sin16sb::sinx#1 ← - (signed word)(word) sin16sb::usinx#1 [ sin16sb::sinx#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::sinx#1 ] ) + to:sin16sb::@3 +sin16sb::@3: scope:[sin16sb] from sin16sb::@15 sin16sb::@6 + [113] (signed word) sin16sb::return#1 ← phi( sin16sb::@15/(signed word~) sin16sb::return#5 sin16sb::@6/(signed word) sin16sb::sinx#1 ) [ sin16sb::return#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#1 ] ) + to:sin16sb::@return +sin16sb::@return: scope:[sin16sb] from sin16sb::@3 + [114] return [ sin16sb::return#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#1 ] ) + to:@return +sin16sb::@15: scope:[sin16sb] from sin16sb::@12 + [115] (signed word~) sin16sb::return#5 ← (signed word)(word) sin16sb::usinx#1 [ sin16sb::return#5 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#5 ] ) + to:sin16sb::@3 +mulu16_sel: scope:[mulu16_sel] from sin16s::@10 sin16s::@11 sin16s::@2 sin16s::@8 sin16s::@9 sin16sb::@10 sin16sb::@11 sin16sb::@2 sin16sb::@8 sin16sb::@9 + [116] (byte) mulu16_sel::select#10 ← phi( sin16s::@10/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s::@11/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s::@2/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s::@8/(byte/signed byte/word/signed word/dword/signed dword) 1 sin16s::@9/(byte/signed byte/word/signed word/dword/signed dword) 1 sin16sb::@10/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16sb::@11/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16sb::@2/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16sb::@8/(byte/signed byte/word/signed word/dword/signed dword) 1 sin16sb::@9/(byte/signed byte/word/signed word/dword/signed dword) 1 ) [ mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] ) + [116] (word) mulu16_sel::v2#10 ← phi( sin16s::@10/(word) mulu16_sel::v2#3 sin16s::@11/(word) mulu16_sel::v2#4 sin16s::@2/(word) mulu16_sel::v2#0 sin16s::@8/(word) mulu16_sel::v2#1 sin16s::@9/(dword/signed dword) 65536/(byte/signed byte/word/signed word/dword/signed dword) 6 sin16sb::@10/(word) mulu16_sel::v2#8 sin16sb::@11/(word) mulu16_sel::v2#9 sin16sb::@2/(word) mulu16_sel::v2#5 sin16sb::@8/(word) mulu16_sel::v2#6 sin16sb::@9/(dword/signed dword) 65536/(byte/signed byte/word/signed word/dword/signed dword) 6 ) [ mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] ) + [116] (word) mulu16_sel::v1#10 ← phi( sin16s::@10/(word) mulu16_sel::v1#3 sin16s::@11/(word) mulu16_sel::v1#4 sin16s::@2/(word) mulu16_sel::v1#0 sin16s::@8/(word) mulu16_sel::v1#1 sin16s::@9/(word) mulu16_sel::v1#2 sin16sb::@10/(word) mulu16_sel::v1#8 sin16sb::@11/(word) mulu16_sel::v1#9 sin16sb::@2/(word) mulu16_sel::v1#5 sin16sb::@8/(word) mulu16_sel::v1#6 sin16sb::@9/(word) mulu16_sel::v1#7 ) [ mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] ) + [117] (word) mul16u::a#1 ← (word) mulu16_sel::v1#10 [ mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] ) + [118] (word) mul16u::b#0 ← (word) mulu16_sel::v2#10 [ mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] ) + [119] call mul16u param-assignment [ mulu16_sel::select#10 mul16u::res#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] ) + [120] (dword) mul16u::return#2 ← (dword) mul16u::res#2 [ mulu16_sel::select#10 mul16u::return#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] ) + to:mulu16_sel::@2 +mulu16_sel::@2: scope:[mulu16_sel] from mulu16_sel + [121] (dword~) mulu16_sel::$0 ← (dword) mul16u::return#2 [ mulu16_sel::select#10 mulu16_sel::$0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] ) + [122] (dword~) mulu16_sel::$1 ← (dword~) mulu16_sel::$0 << (byte) mulu16_sel::select#10 [ mulu16_sel::$1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::$1 ] ) + [123] (word) mulu16_sel::return#17 ← > (dword~) mulu16_sel::$1 [ mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#17 ] ) + to:mulu16_sel::@return +mulu16_sel::@return: scope:[mulu16_sel] from mulu16_sel::@2 + [124] return [ mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#17 ] ) + to:@return +mul16u: scope:[mul16u] from mulu16_sel + [125] (dword) mul16u::mb#0 ← ((dword)) (word) mul16u::b#0 [ mul16u::a#1 mul16u::mb#0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] ) + to:mul16u::@1 +mul16u::@1: scope:[mul16u] from mul16u mul16u::@4 + [126] (dword) mul16u::mb#2 ← phi( mul16u/(dword) mul16u::mb#0 mul16u::@4/(dword) mul16u::mb#1 ) [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ) + [126] (dword) mul16u::res#2 ← phi( mul16u/(byte/signed byte/word/signed word/dword/signed dword) 0 mul16u::@4/(dword) mul16u::res#6 ) [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ) + [126] (word) mul16u::a#2 ← phi( mul16u/(word) mul16u::a#1 mul16u::@4/(word) mul16u::a#0 ) [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ) + [127] if((word) mul16u::a#2!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul16u::@2 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ) + to:mul16u::@return +mul16u::@return: scope:[mul16u] from mul16u::@1 + [128] return [ mul16u::res#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] ) + to:@return +mul16u::@2: scope:[mul16u] from mul16u::@1 + [129] (byte~) mul16u::$1 ← (word) mul16u::a#2 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] ) + [130] if((byte~) mul16u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul16u::@4 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ) + to:mul16u::@7 +mul16u::@7: scope:[mul16u] from mul16u::@2 + [131] (dword) mul16u::res#1 ← (dword) mul16u::res#2 + (dword) mul16u::mb#2 [ mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] ) + to:mul16u::@4 +mul16u::@4: scope:[mul16u] from mul16u::@2 mul16u::@7 + [132] (dword) mul16u::res#6 ← phi( mul16u::@2/(dword) mul16u::res#2 mul16u::@7/(dword) mul16u::res#1 ) [ mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] ) + [133] (word) mul16u::a#0 ← (word) mul16u::a#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] ) + [134] (dword) mul16u::mb#1 ← (dword) mul16u::mb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] ) + to:mul16u::@1 +div32u16u: scope:[div32u16u] from sin16s_gen sin16s_genb + [135] (word) rem16u#26 ← phi( sin16s_gen/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s_genb/(word) divr16u::rem#11 ) [ div32u16u::dividend#2 div32u16u::divisor#2 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::dividend#2 div32u16u::divisor#2 ] ) + [135] (word) div32u16u::divisor#2 ← phi( sin16s_gen/(const word) main::wavelength#0 sin16s_genb/(const word) main::wavelength#0 ) [ div32u16u::dividend#2 div32u16u::divisor#2 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::dividend#2 div32u16u::divisor#2 ] ) + [135] (dword) div32u16u::dividend#2 ← phi( sin16s_gen/(const dword) PI2_u4f28#0 sin16s_genb/(const dword) PI2_u4f28#0 ) [ div32u16u::dividend#2 div32u16u::divisor#2 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::dividend#2 div32u16u::divisor#2 ] ) + [136] (word) divr16u::dividend#1 ← > (dword) div32u16u::dividend#2 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 ] ) + [137] (word) divr16u::divisor#0 ← (word) div32u16u::divisor#2 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 divr16u::divisor#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 divr16u::divisor#0 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 divr16u::divisor#0 ] ) + [138] call divr16u param-assignment [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#0 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#0 ] ) + [139] (word) divr16u::return#2 ← (word) divr16u::return#0 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#2 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#2 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#2 ] ) + to:div32u16u::@2 +div32u16u::@2: scope:[div32u16u] from div32u16u + [140] (word) div32u16u::quotient_hi#0 ← (word) divr16u::return#2 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 div32u16u::quotient_hi#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 div32u16u::quotient_hi#0 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 div32u16u::quotient_hi#0 ] ) + [141] (word) divr16u::dividend#2 ← < (dword) div32u16u::dividend#2 [ div32u16u::divisor#2 divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::dividend#2 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::divisor#2 divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::dividend#2 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::divisor#2 divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::dividend#2 ] ) + [142] (word) divr16u::divisor#1 ← (word) div32u16u::divisor#2 [ divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 ] main:2::sin16s_gen:5::div32u16u:167 [ divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 ] ) + [143] (word) divr16u::rem#4 ← (word) divr16u::rem#11 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 divr16u::rem#4 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 divr16u::rem#4 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 divr16u::rem#4 ] ) + [144] call divr16u param-assignment [ divr16u::rem#11 divr16u::return#0 div32u16u::quotient_hi#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ divr16u::rem#11 divr16u::return#0 div32u16u::quotient_hi#0 ] main:2::sin16s_gen:5::div32u16u:167 [ divr16u::rem#11 divr16u::return#0 div32u16u::quotient_hi#0 ] ) + [145] (word) divr16u::return#3 ← (word) divr16u::return#0 [ divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::return#3 ] ( main:2::sin16s_genb:7::div32u16u:63 [ divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::return#3 ] main:2::sin16s_gen:5::div32u16u:167 [ divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::return#3 ] ) + to:div32u16u::@3 +div32u16u::@3: scope:[div32u16u] from div32u16u::@2 + [146] (word) div32u16u::quotient_lo#0 ← (word) divr16u::return#3 [ divr16u::rem#11 div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ divr16u::rem#11 div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] main:2::sin16s_gen:5::div32u16u:167 [ divr16u::rem#11 div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ) + [147] (dword) div32u16u::return#0 ← (word) div32u16u::quotient_hi#0 dw= (word) div32u16u::quotient_lo#0 [ div32u16u::return#0 divr16u::rem#11 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::return#0 divr16u::rem#11 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::return#0 divr16u::rem#11 ] ) + to:div32u16u::@return +div32u16u::@return: scope:[div32u16u] from div32u16u::@3 + [148] return [ div32u16u::return#0 divr16u::rem#11 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::return#0 divr16u::rem#11 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::return#0 divr16u::rem#11 ] ) + to:@return +divr16u: scope:[divr16u] from div32u16u div32u16u::@2 + [149] (word) divr16u::divisor#6 ← phi( div32u16u/(word) divr16u::divisor#0 div32u16u::@2/(word) divr16u::divisor#1 ) [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ) + [149] (word) divr16u::dividend#5 ← phi( div32u16u/(word) divr16u::dividend#1 div32u16u::@2/(word) divr16u::dividend#2 ) [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ) + [149] (word) divr16u::rem#10 ← phi( div32u16u/(byte/signed byte/word/signed word/dword/signed dword) 0 div32u16u::@2/(word) divr16u::rem#4 ) [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ) + to:divr16u::@1 +divr16u::@1: scope:[divr16u] from divr16u divr16u::@3 + [150] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ) + [150] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ) + [150] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ) + [150] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ) + [151] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) + [152] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) + [153] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) + [154] 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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#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 + [155] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#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 + [156] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] ) + [157] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ) + [158] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) + [159] 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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#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 + [160] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] ) + [161] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#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 + [162] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 ] ) + [162] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 ] ) + [163] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] ) + [164] 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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#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 + [165] return [ divr16u::rem#11 divr16u::return#0 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#0 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#0 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#11 divr16u::return#0 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#11 divr16u::return#0 ] ) + to:@return +sin16s_gen: scope:[sin16s_gen] from main + [166] phi() [ ] ( main:2::sin16s_gen:5 [ ] ) + [167] call div32u16u param-assignment [ div32u16u::return#0 divr16u::rem#11 ] ( main:2::sin16s_gen:5 [ div32u16u::return#0 divr16u::rem#11 ] ) + [168] (dword) div32u16u::return#2 ← (dword) div32u16u::return#0 [ divr16u::rem#11 div32u16u::return#2 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 div32u16u::return#2 ] ) + to:sin16s_gen::@3 +sin16s_gen::@3: scope:[sin16s_gen] from sin16s_gen + [169] (dword) sin16s_gen::step#0 ← (dword) div32u16u::return#2 [ divr16u::rem#11 sin16s_gen::step#0 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 ] ) + to:sin16s_gen::@1 +sin16s_gen::@1: scope:[sin16s_gen] from sin16s_gen::@3 sin16s_gen::@4 + [170] (word) sin16s_gen::i#2 ← phi( sin16s_gen::@3/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s_gen::@4/(word) sin16s_gen::i#1 ) [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ) + [170] (signed word*) sin16s_gen::sintab#2 ← phi( sin16s_gen::@3/(const signed word[120]) main::sintab1#0 sin16s_gen::@4/(signed word*) sin16s_gen::sintab#0 ) [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ) + [170] (dword) sin16s_gen::x#2 ← phi( sin16s_gen::@3/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s_gen::@4/(dword) sin16s_gen::x#1 ) [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ) + [171] (dword) sin16s::x#0 ← (dword) sin16s_gen::x#2 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ) + [172] call sin16s param-assignment [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#1 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#1 ] ) + [173] (signed word) sin16s::return#0 ← (signed word) sin16s::return#1 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#0 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#0 ] ) + to:sin16s_gen::@4 +sin16s_gen::@4: scope:[sin16s_gen] from sin16s_gen::@1 + [174] (signed word~) sin16s_gen::$1 ← (signed word) sin16s::return#0 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s_gen::$1 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s_gen::$1 ] ) + [175] *((signed word*) sin16s_gen::sintab#2) ← (signed word~) sin16s_gen::$1 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ) + [176] (signed word*) sin16s_gen::sintab#0 ← (signed word*) sin16s_gen::sintab#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::i#2 sin16s_gen::sintab#0 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::i#2 sin16s_gen::sintab#0 ] ) + [177] (dword) sin16s_gen::x#1 ← (dword) sin16s_gen::x#2 + (dword) sin16s_gen::step#0 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::i#2 sin16s_gen::x#1 sin16s_gen::sintab#0 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::i#2 sin16s_gen::x#1 sin16s_gen::sintab#0 ] ) + [178] (word) sin16s_gen::i#1 ← ++ (word) sin16s_gen::i#2 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ) + [179] if((word) sin16s_gen::i#1<(const word) main::wavelength#0) goto sin16s_gen::@1 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ) + to:sin16s_gen::@return +sin16s_gen::@return: scope:[sin16s_gen] from sin16s_gen::@4 + [180] return [ divr16u::rem#11 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 ] ) + to:@return +sin16s: scope:[sin16s] from sin16s_gen::@1 + [181] if((dword) sin16s::x#0<(const dword) PI_u4f28#0) goto sin16s::@1 [ sin16s::x#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ) + to:sin16s::@4 +sin16s::@4: scope:[sin16s] from sin16s + [182] (dword) sin16s::x#1 ← (dword) sin16s::x#0 - (const dword) PI_u4f28#0 [ sin16s::x#1 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#1 ] ) + to:sin16s::@1 +sin16s::@1: scope:[sin16s] from sin16s sin16s::@4 + [183] (byte) sin16s::isUpper#2 ← phi( sin16s/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s::@4/(byte/signed byte/word/signed word/dword/signed dword) 1 ) [ sin16s::x#4 sin16s::isUpper#2 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#4 sin16s::isUpper#2 ] ) + [183] (dword) sin16s::x#4 ← phi( sin16s/(dword) sin16s::x#0 sin16s::@4/(dword) sin16s::x#1 ) [ sin16s::x#4 sin16s::isUpper#2 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#4 sin16s::isUpper#2 ] ) + [184] if((dword) sin16s::x#4<(const dword) PI_HALF_u4f28#0) goto sin16s::@2 [ sin16s::x#4 sin16s::isUpper#2 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#4 sin16s::isUpper#2 ] ) + to:sin16s::@5 +sin16s::@5: scope:[sin16s] from sin16s::@1 + [185] (dword) sin16s::x#2 ← (const dword) PI_u4f28#0 - (dword) sin16s::x#4 [ sin16s::isUpper#2 sin16s::x#2 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x#2 ] ) + to:sin16s::@2 +sin16s::@2: scope:[sin16s] from sin16s::@1 sin16s::@5 + [186] (dword) sin16s::x#6 ← phi( sin16s::@1/(dword) sin16s::x#4 sin16s::@5/(dword) sin16s::x#2 ) [ sin16s::isUpper#2 sin16s::x#6 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x#6 ] ) + [187] (dword~) sin16s::$6 ← (dword) sin16s::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin16s::isUpper#2 sin16s::$6 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::$6 ] ) + [188] (word) sin16s::x1#0 ← > (dword~) sin16s::$6 [ sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 ] ) + [189] (word) mulu16_sel::v1#0 ← (word) sin16s::x1#0 [ mulu16_sel::v1#0 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#0 sin16s::isUpper#2 sin16s::x1#0 ] ) + [190] (word) mulu16_sel::v2#0 ← (word) sin16s::x1#0 [ mulu16_sel::v1#0 mulu16_sel::v2#0 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#0 mulu16_sel::v2#0 sin16s::isUpper#2 sin16s::x1#0 ] ) + [191] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ) + [192] (word) mulu16_sel::return#0 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#0 ] ) + to:sin16s::@8 +sin16s::@8: scope:[sin16s] from sin16s::@2 + [193] (word) sin16s::x2#0 ← (word) mulu16_sel::return#0 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x2#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x2#0 ] ) + [194] (word) mulu16_sel::v1#1 ← (word) sin16s::x2#0 [ mulu16_sel::v1#1 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#1 sin16s::isUpper#2 sin16s::x1#0 ] ) + [195] (word) mulu16_sel::v2#1 ← (word) sin16s::x1#0 [ mulu16_sel::v1#1 mulu16_sel::v2#1 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#1 mulu16_sel::v2#1 sin16s::isUpper#2 sin16s::x1#0 ] ) + [196] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ) + [197] (word) mulu16_sel::return#1 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#1 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#1 ] ) + to:sin16s::@9 +sin16s::@9: scope:[sin16s] from sin16s::@8 + [198] (word) sin16s::x3#0 ← (word) mulu16_sel::return#1 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) + [199] (word) mulu16_sel::v1#2 ← (word) sin16s::x3#0 [ mulu16_sel::v1#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) + [200] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) + [201] (word) mulu16_sel::return#14 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#14 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#14 ] ) + to:sin16s::@10 +sin16s::@10: scope:[sin16s] from sin16s::@9 + [202] (word) sin16s::x3_6#0 ← (word) mulu16_sel::return#14 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::x3_6#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::x3_6#0 ] ) + [203] (word) sin16s::usinx#0 ← (word) sin16s::x1#0 - (word) sin16s::x3_6#0 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::usinx#0 ] ) + [204] (word) mulu16_sel::v1#3 ← (word) sin16s::x3#0 [ mulu16_sel::v1#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) + [205] (word) mulu16_sel::v2#3 ← (word) sin16s::x1#0 [ mulu16_sel::v1#3 mulu16_sel::v2#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#3 mulu16_sel::v2#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) + [206] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) + [207] (word) mulu16_sel::return#15 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#15 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#15 ] ) + to:sin16s::@11 +sin16s::@11: scope:[sin16s] from sin16s::@10 + [208] (word) sin16s::x4#0 ← (word) mulu16_sel::return#15 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 sin16s::x4#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 sin16s::x4#0 ] ) + [209] (word) mulu16_sel::v1#4 ← (word) sin16s::x4#0 [ mulu16_sel::v1#4 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#4 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) + [210] (word) mulu16_sel::v2#4 ← (word) sin16s::x1#0 [ mulu16_sel::v1#4 mulu16_sel::v2#4 sin16s::isUpper#2 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#4 mulu16_sel::v2#4 sin16s::isUpper#2 sin16s::usinx#0 ] ) + [211] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::usinx#0 ] ) + [212] (word) mulu16_sel::return#16 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#16 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#16 ] ) + to:sin16s::@12 +sin16s::@12: scope:[sin16s] from sin16s::@11 + [213] (word) sin16s::x5#0 ← (word) mulu16_sel::return#16 [ sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5#0 ] ) + [214] (word) sin16s::x5_128#0 ← (word) sin16s::x5#0 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5_128#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5_128#0 ] ) + [215] (word) sin16s::usinx#1 ← (word) sin16s::usinx#0 + (word) sin16s::x5_128#0 [ sin16s::isUpper#2 sin16s::usinx#1 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#1 ] ) + [216] if((byte) sin16s::isUpper#2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin16s::@15 [ sin16s::usinx#1 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::usinx#1 ] ) + to:sin16s::@6 +sin16s::@6: scope:[sin16s] from sin16s::@12 + [217] (signed word) sin16s::sinx#1 ← - (signed word)(word) sin16s::usinx#1 [ sin16s::sinx#1 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::sinx#1 ] ) + to:sin16s::@3 +sin16s::@3: scope:[sin16s] from sin16s::@15 sin16s::@6 + [218] (signed word) sin16s::return#1 ← phi( sin16s::@15/(signed word~) sin16s::return#5 sin16s::@6/(signed word) sin16s::sinx#1 ) [ sin16s::return#1 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#1 ] ) + to:sin16s::@return +sin16s::@return: scope:[sin16s] from sin16s::@3 + [219] return [ sin16s::return#1 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#1 ] ) + to:@return +sin16s::@15: scope:[sin16s] from sin16s::@12 + [220] (signed word~) sin16s::return#5 ← (signed word)(word) sin16s::usinx#1 [ sin16s::return#5 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#5 ] ) + to:sin16s::@3 diff --git a/src/test/java/dk/camelot64/kickc/test/ref/sinusgen16b.log b/src/test/java/dk/camelot64/kickc/test/ref/sinusgen16b.log new file mode 100644 index 000000000..5efaf4ced --- /dev/null +++ b/src/test/java/dk/camelot64/kickc/test/ref/sinusgen16b.log @@ -0,0 +1,12547 @@ +PARSING src/test/java/dk/camelot64/kickc/test/kc/sinusgen16b.kc +// Generates a 16-bit signed sinus +import "sinus.kc" +import "sinusb.kc" +import "print.kc" + +void main() { + word wavelength = 120; + signed word[120] sintab1; + signed word[120] sintab2; + sin16s_gen(sintab1, wavelength); + sin16s_genb(sintab2, wavelength); + print_cls(); + signed word* st1 = sintab1; + signed word* st2 = sintab2; + for( byte i: 0..119) { + signed word sw = *st1 - *st2; + if(sw>=0) { + print_str(" @"); + } + print_sword(sw); + print_str(" @"); + st1 = st1+2; + st2 = st2+2; + } +} + +Importing sinus.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/sinus.kc +// Sinus Generator functions using only multiplication, addition and bit shifting +// 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 +// Optimization possibility: Use symmetries when generating sinustables. wavelength%2==0 -> mirror symmetry over PI, wavelength%4==0 -> mirror symmetry over PI/2. + +import "division.kc" +import "multiply.kc" + +// PI*2 in u[4.28] format +const dword PI2_u4f28 = $6487ed51; +// PI in u[4.28] format +const dword PI_u4f28 = $3243f6a9; +// PI/2 in u[4.28] format +const dword PI_HALF_u4f28 = $1921FB54; + +// PI*2 in u[4.12] format +const word PI2_u4f12 = $6488; +// PI in u[4.12] format +const word PI_u4f12 = $3244; +// PI/2 in u[4.12] format +const word PI_HALF_u4f12 = $1922; + +// Generate signed (large) word sinus table - on the full -$7fff - $7fff range +// 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(signed word* sintab, word wavelength) { + // u[4.28] step = PI*2/wavelength + dword step = div32u16u(PI2_u4f28, wavelength); // u[4.28] + // Iterate over the table + dword x = 0; // u[4.28] + for( word i=0; i= PI_u4f28 ) { + x = x - PI_u4f28; + isUpper = 1; + } + if(x >= PI_HALF_u4f28 ) { + x = PI_u4f28 - x; + } + // sinx = x - x^3/6 + x5/128; + word x1 = >x<<3; // u[1.15] + word x2 = mulu16_sel(x1, x1, 0); // u[2.14] x^2 + word x3 = mulu16_sel(x2, x1, 1); // u[2.14] x^3 + word x3_6 = mulu16_sel(x3, $10000/6, 1); // u[1.15] x^3/6; + word usinx = x1 - x3_6; // u[1.15] x - x^3/6 + word x4 = mulu16_sel(x3, x1, 0); // u[3.13] x^4 + word x5 = mulu16_sel(x4, x1, 0); // u[4.12] x^5 + word x5_128 = x5>>4; // // u[1.15] x^5/128 -- much more efficient than mul_u16_sel(x5, $10000/128, 3); + usinx = usinx + x5_128; // u[1.15] (first bit is always zero) + signed word sinx = (signed word)usinx; // s[0.15] + if(isUpper!=0) { + sinx = -(signed word)usinx; // s[0.15]; + } + return sinx; +} + +// Calculate signed byte sinus sin(x) +// x: unsigned word input u[4.12] in the interval $0000 - PI2_u4f12 +// result: signed byte sin(x) s[0.7] - using the full range -$7f - $7f +signed byte sin8s(word x) { + // Move x1 into the range 0-PI/2 using sinus mirror symmetries + byte isUpper = 0; + if(x >= PI_u4f12 ) { + x = x - PI_u4f12; + isUpper = 1; + } + if(x >= PI_HALF_u4f12 ) { + x = PI_u4f12 - x; + } + // sinx = x - x^3/6 + x5/128; + byte x1 = >x<<3; // u[1.7] + byte x2 = mulu8_sel(x1, x1, 0); // u[2.6] x^2 + byte x3 = mulu8_sel(x2, x1, 1); // u[2.6] x^3 + const byte DIV_6 = $2b; // u[0.7] - $2a.aa rounded to $2b + byte x3_6 = mulu8_sel(x3, DIV_6, 1); // u[1.7] x^3/6; + byte usinx = x1 - x3_6; // u[1.7] x - x^3/6 + byte x4 = mulu8_sel(x3, x1, 0); // u[3.5] x^4 + byte x5 = mulu8_sel(x4, x1, 0); // u[4.4] x^5 + byte x5_128 = x5>>4; // // u[1.7] x^5/128 -- much more efficient than mul_u16_sel(x5, $10000/128, 3); + usinx = usinx + x5_128; // u[1.7] (first bit is always zero) + if(usinx>=128) { usinx--; } // rounding may occasionally result in $80 - lower into range ($00-$7f) + signed byte sinx = (signed byte)usinx; // s[0.7] + if(isUpper!=0) { + sinx = -(signed byte)usinx; // s[0.7]; + } + return sinx; +} + +// Calculate val*val for two unsigned word values - the result is 16 selected bits of the 32-bit result. +// The select parameter indicates how many of the highest bits of the 32-bit result to skip +word mulu16_sel(word v1, word v2, byte select) { + return >mul16u(v1, v2)<mul8u(v1, v2)<=divisor) { + quotient++; + rem = rem - divisor; + } + } + rem8u = rem; + return quotient; +} + +// Remainder after unsigned 16-bit division +word rem16u = 0; + +// Performs division on two 16 bit unsigned words and an initial remainder +// Returns the quotient dividend/divisor. +// The final remainder will be set into the global variable rem16u +// Implemented using simple binary division +word divr16u(word dividend, word divisor, word rem) { + word quotient = 0; + for( byte i : 0..15) { + rem = rem << 1; + if( (>dividend & $80) != 0 ) { + rem = rem | 1; + } + dividend = dividend << 1; + quotient = quotient << 1; + if(rem>=divisor) { + quotient++; + rem = rem - divisor; + } + } + rem16u = rem; + return quotient; +} + +// Performs division on two 16 bit unsigned words +// Returns the quotient dividend/divisor. +// The remainder will be set into the global variable rem16u +// Implemented using simple binary division +word div16u(word dividend, word divisor) { + return divr16u(dividend, divisor, 0); +} + +// Divide unsigned 32-bit dword dividend with a 16-bit word divisor +// The 16-bit word remainder can be found in rem16u after the division +dword div32u16u(dword dividend, word divisor) { + word quotient_hi = divr16u(>dividend, divisor, 0); + word quotient_lo = divr16u(>1; + mb = mb<<1; + } + return res; +} + +// Multiply of two signed bytes to a signed word +// Fixes offsets introduced by using unsigned multiplication +signed word mul8s(signed byte a, signed byte b) { + word m = mul8u((byte)a, (byte) b); + if(a<0) { + >m = (>m)-(byte)b; + } + if(b<0) { + >m = (>m)-(byte)a; + } + return (signed word)m; +} + +// Multiply a signed byte and an unsigned byte (into a signed word) +// Fixes offsets introduced by using unsigned multiplication +signed word mul8su(signed byte a, byte b) { + word m = mul8u((byte)a, (byte) b); + if(a<0) { + >m = (>m)-(byte)b; + } + return (signed word)m; +} + +// Perform binary multiplication of two unsigned 16-bit words into a 32-bit unsigned double word +dword mul16u(word a, word b) { + dword res = 0; + dword mb = b; + while(a!=0) { + if( (a&1) != 0) { + res = res + mb; + } + a = a>>1; + mb = mb<<1; + } + return res; +} + +// Multiply of two signed words to a signed double word +// Fixes offsets introduced by using unsigned multiplication +signed dword mul16s(signed word a, signed word b) { + dword m = mul16u((word)a, (word) b); + if(a<0) { + >m = (>m)-(word)b; + } + if(b<0) { + >m = (>m)-(word)a; + } + return (signed dword)m; +} + +Adding pre/post-modifier (word) sin16s_gen::i ← ++ (word) sin16s_gen::i +Adding pre/post-modifier (signed byte*) sin8s_gen::sintab ← ++ (signed byte*) sin8s_gen::sintab +Adding pre/post-modifier (word) sin8s_gen::i ← ++ (word) sin8s_gen::i +Adding pre/post-modifier (byte) sin8s::usinx ← -- (byte) sin8s::usinx +Importing sinusb.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/sinusb.kc +// Sinus Generator functions using only multiplication, addition and bit shifting +// 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 +// Optimization possibility: Use symmetries when generating sinustables. wavelength%2==0 -> mirror symmetry over PI, wavelength%4==0 -> mirror symmetry over PI/2. + +import "sinus.kc" + +// Generate signed (large) word sinus table - on the full -$7fff - $7fff range +// sintab - the table to generate into +// wavelength - the number of sinus points in a total sinus wavelength (the size of the table) +void sin16s_genb(signed word* sintab, word wavelength) { + // u[4.28] step = PI*2/wavelength + dword step = div32u16u(PI2_u4f28, wavelength); // u[4.28] + // Iterate over the table + dword x = 0; // u[4.28] + for( word i=0; ix); + sintab = sintab + 2; + x = x + step; + } +} + +// Calculate signed word sinus sin(x) +// x: unsigned dword input u[4.28] in the interval $00000000 - PI2_u4f28 +// result: signed word sin(x) s[0.15] - using the full range -$7fff - $7fff +signed word sin16sb(word x) { + // Move x1 into the range 0-PI/2 using sinus mirror symmetries + byte isUpper = 0; + if(x >= PI_u4f12 ) { + x = x - PI_u4f12; + isUpper = 1; + } + if(x >= PI_HALF_u4f12 ) { + x = PI_u4f12 - x; + } + // sinx = x - x^3/6 + x5/128; + word x1 = x<<3; // u[1.15] + word x2 = mulu16_sel(x1, x1, 0); // u[2.14] x^2 + word x3 = mulu16_sel(x2, x1, 1); // u[2.14] x^3 + word x3_6 = mulu16_sel(x3, $10000/6, 1); // u[1.15] x^3/6; + word usinx = x1 - x3_6; // u[1.15] x - x^3/6 + word x4 = mulu16_sel(x3, x1, 0); // u[3.13] x^4 + word x5 = mulu16_sel(x4, x1, 0); // u[4.12] x^5 + word x5_128 = x5>>4; // // u[1.15] x^5/128 -- much more efficient than mul_u16_sel(x5, $10000/128, 3); + usinx = usinx + x5_128; // u[1.15] (first bit is always zero) + signed word sinx = (signed word)usinx; // s[0.15] + if(isUpper!=0) { + sinx = -(signed word)usinx; // s[0.15]; + } + return sinx; +} + +Importing sinus.kc +Adding pre/post-modifier (word) sin16s_genb::i ← ++ (word) sin16s_genb::i +Importing print.kc +PARSING src/test/java/dk/camelot64/kickc/test/kc/print.kc + +const byte* SCREEN = $0400; + +byte* line_cursor = SCREEN; +byte* char_cursor = line_cursor; + +// Print a zero-terminated string +void print_str(byte* str) { + while(*str!='@') { + *(char_cursor++) = *(str++); + } +} + +// Print a newline +void print_ln() { + do { + line_cursor = line_cursor + $28; + } while (line_cursorw); + print_byte(dw); + print_word(>4]); + print_char(hextab[b&$f]); +} + +// Print a single char +void print_char(byte ch) { + *(char_cursor++) = ch; +} + +// Clear the screen +void print_cls() { + for(byte* sc=SCREEN; sc!=SCREEN+1000; sc++) { + *sc = ' '; + } + line_cursor = SCREEN; + char_cursor = line_cursor; +} + + + +Adding pre/post-modifier (byte*) char_cursor ← ++ (byte*) char_cursor +Adding pre/post-modifier (byte*) print_str::str ← ++ (byte*) print_str::str +Adding pre/post-modifier (byte*) char_cursor ← ++ (byte*) char_cursor +Adding pre/post-modifier (byte*) print_cls::sc ← ++ (byte*) print_cls::sc + +STATEMENTS + (byte) rem8u ← (byte/signed byte/word/signed word/dword/signed dword) 0 +proc (byte()) div8u((byte) div8u::dividend , (byte) div8u::divisor) + (byte~) div8u::$0 ← call divr8u (byte) div8u::dividend (byte) div8u::divisor (byte/signed byte/word/signed word/dword/signed dword) 0 + (byte) div8u::return ← (byte~) div8u::$0 + goto div8u::@return +div8u::@return: + (byte) div8u::return ← (byte) div8u::return + return (byte) div8u::return +endproc // div8u() +proc (byte()) divr8u((byte) divr8u::dividend , (byte) divr8u::divisor , (byte) divr8u::rem) + (byte) divr8u::quotient ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (byte) divr8u::i ← (byte/signed byte/word/signed word/dword/signed dword) 0 +divr8u::@1: + (byte~) divr8u::$0 ← (byte) divr8u::rem << (byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) divr8u::rem ← (byte~) divr8u::$0 + (byte~) divr8u::$1 ← (byte) divr8u::dividend & (byte/word/signed word/dword/signed dword) 128 + (boolean~) divr8u::$2 ← (byte~) divr8u::$1 != (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) divr8u::$3 ← ! (boolean~) divr8u::$2 + if((boolean~) divr8u::$3) goto divr8u::@2 + (byte~) divr8u::$4 ← (byte) divr8u::rem | (byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) divr8u::rem ← (byte~) divr8u::$4 +divr8u::@2: + (byte~) divr8u::$5 ← (byte) divr8u::dividend << (byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) divr8u::dividend ← (byte~) divr8u::$5 + (byte~) divr8u::$6 ← (byte) divr8u::quotient << (byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) divr8u::quotient ← (byte~) divr8u::$6 + (boolean~) divr8u::$7 ← (byte) divr8u::rem >= (byte) divr8u::divisor + (boolean~) divr8u::$8 ← ! (boolean~) divr8u::$7 + if((boolean~) divr8u::$8) goto divr8u::@3 + (byte) divr8u::quotient ← ++ (byte) divr8u::quotient + (byte/signed byte/word/signed word/dword/signed dword~) divr8u::$9 ← (byte) divr8u::rem - (byte) divr8u::divisor + (byte) divr8u::rem ← (byte/signed byte/word/signed word/dword/signed dword~) divr8u::$9 +divr8u::@3: + (byte) divr8u::i ← ++ (byte) divr8u::i + (boolean~) divr8u::$10 ← (byte) divr8u::i != (byte/signed byte/word/signed word/dword/signed dword) 8 + if((boolean~) divr8u::$10) goto divr8u::@1 + (byte) rem8u ← (byte) divr8u::rem + (byte) divr8u::return ← (byte) divr8u::quotient + goto divr8u::@return +divr8u::@return: + (byte) divr8u::return ← (byte) divr8u::return + return (byte) divr8u::return +endproc // divr8u() + (word) rem16u ← (byte/signed byte/word/signed word/dword/signed dword) 0 +proc (word()) divr16u((word) divr16u::dividend , (word) divr16u::divisor , (word) divr16u::rem) + (word) divr16u::quotient ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (byte) divr16u::i ← (byte/signed byte/word/signed word/dword/signed dword) 0 +divr16u::@1: + (word~) divr16u::$0 ← (word) divr16u::rem << (byte/signed byte/word/signed word/dword/signed dword) 1 + (word) divr16u::rem ← (word~) divr16u::$0 + (byte~) divr16u::$1 ← > (word) divr16u::dividend + (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 + (boolean~) divr16u::$3 ← (byte~) divr16u::$2 != (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) divr16u::$4 ← ! (boolean~) divr16u::$3 + if((boolean~) divr16u::$4) goto divr16u::@2 + (word~) divr16u::$5 ← (word) divr16u::rem | (byte/signed byte/word/signed word/dword/signed dword) 1 + (word) divr16u::rem ← (word~) divr16u::$5 +divr16u::@2: + (word~) divr16u::$6 ← (word) divr16u::dividend << (byte/signed byte/word/signed word/dword/signed dword) 1 + (word) divr16u::dividend ← (word~) divr16u::$6 + (word~) divr16u::$7 ← (word) divr16u::quotient << (byte/signed byte/word/signed word/dword/signed dword) 1 + (word) divr16u::quotient ← (word~) divr16u::$7 + (boolean~) divr16u::$8 ← (word) divr16u::rem >= (word) divr16u::divisor + (boolean~) divr16u::$9 ← ! (boolean~) divr16u::$8 + if((boolean~) divr16u::$9) goto divr16u::@3 + (word) divr16u::quotient ← ++ (word) divr16u::quotient + (word~) divr16u::$10 ← (word) divr16u::rem - (word) divr16u::divisor + (word) divr16u::rem ← (word~) divr16u::$10 +divr16u::@3: + (byte) divr16u::i ← ++ (byte) divr16u::i + (boolean~) divr16u::$11 ← (byte) divr16u::i != (byte/signed byte/word/signed word/dword/signed dword) 16 + if((boolean~) divr16u::$11) goto divr16u::@1 + (word) rem16u ← (word) divr16u::rem + (word) divr16u::return ← (word) divr16u::quotient + goto divr16u::@return +divr16u::@return: + (word) divr16u::return ← (word) divr16u::return + return (word) divr16u::return +endproc // divr16u() +proc (word()) div16u((word) div16u::dividend , (word) div16u::divisor) + (word~) div16u::$0 ← call divr16u (word) div16u::dividend (word) div16u::divisor (byte/signed byte/word/signed word/dword/signed dword) 0 + (word) div16u::return ← (word~) div16u::$0 + goto div16u::@return +div16u::@return: + (word) div16u::return ← (word) div16u::return + return (word) div16u::return +endproc // div16u() +proc (dword()) div32u16u((dword) div32u16u::dividend , (word) div32u16u::divisor) + (word~) div32u16u::$0 ← > (dword) div32u16u::dividend + (word~) div32u16u::$1 ← call divr16u (word~) div32u16u::$0 (word) div32u16u::divisor (byte/signed byte/word/signed word/dword/signed dword) 0 + (word) div32u16u::quotient_hi ← (word~) div32u16u::$1 + (word~) div32u16u::$2 ← < (dword) div32u16u::dividend + (word~) div32u16u::$3 ← call divr16u (word~) div32u16u::$2 (word) div32u16u::divisor (word) rem16u + (word) div32u16u::quotient_lo ← (word~) div32u16u::$3 + (dword) div32u16u::quotient ← { (word) div32u16u::quotient_hi, (word) div32u16u::quotient_lo } + (dword) div32u16u::return ← (dword) div32u16u::quotient + goto div32u16u::@return +div32u16u::@return: + (dword) div32u16u::return ← (dword) div32u16u::return + return (dword) div32u16u::return +endproc // div32u16u() + (signed byte) rem8s ← (byte/signed byte/word/signed word/dword/signed dword) 0 +proc (signed byte()) div8s((signed byte) div8s::dividend , (signed byte) div8s::divisor) + (byte) div8s::neg ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (byte) div8s::dividendu ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) div8s::$0 ← (signed byte) div8s::dividend < (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) div8s::$1 ← ! (boolean~) div8s::$0 + if((boolean~) div8s::$1) goto div8s::@1 + (signed byte~) div8s::$2 ← - (signed byte) div8s::dividend + (byte~) div8s::$3 ← ((byte)) (signed byte~) div8s::$2 + (byte) div8s::dividendu ← (byte~) div8s::$3 + (byte) div8s::neg ← (byte/signed byte/word/signed word/dword/signed dword) 1 + goto div8s::@2 +div8s::@1: + (byte~) div8s::$4 ← ((byte)) (signed byte) div8s::dividend + (byte) div8s::dividendu ← (byte~) div8s::$4 +div8s::@2: + (byte) div8s::divisoru ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) div8s::$5 ← (signed byte) div8s::divisor < (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) div8s::$6 ← ! (boolean~) div8s::$5 + if((boolean~) div8s::$6) goto div8s::@3 + (signed byte~) div8s::$7 ← - (signed byte) div8s::divisor + (byte~) div8s::$8 ← ((byte)) (signed byte~) div8s::$7 + (byte) div8s::divisoru ← (byte~) div8s::$8 + (byte~) div8s::$9 ← (byte) div8s::neg ^ (byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) div8s::neg ← (byte~) div8s::$9 + goto div8s::@4 +div8s::@3: + (byte~) div8s::$10 ← ((byte)) (signed byte) div8s::divisor + (byte) div8s::divisoru ← (byte~) div8s::$10 +div8s::@4: + (byte~) div8s::$11 ← call div8u (byte) div8s::dividendu (byte) div8s::divisoru + (byte) div8s::resultu ← (byte~) div8s::$11 + (boolean~) div8s::$12 ← (byte) div8s::neg == (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) div8s::$13 ← ! (boolean~) div8s::$12 + if((boolean~) div8s::$13) goto div8s::@5 + (signed byte~) div8s::$14 ← ((signed byte)) (byte) rem8u + (signed byte) rem8s ← (signed byte~) div8s::$14 + (signed byte~) div8s::$15 ← ((signed byte)) (byte) div8s::resultu + (signed byte) div8s::return ← (signed byte~) div8s::$15 + goto div8s::@return + goto div8s::@6 +div8s::@5: + (signed byte~) div8s::$16 ← ((signed byte)) (byte) rem8u + (signed byte~) div8s::$17 ← - (signed byte~) div8s::$16 + (signed byte) rem8s ← (signed byte~) div8s::$17 + (signed byte~) div8s::$18 ← ((signed byte)) (byte) div8s::resultu + (signed byte~) div8s::$19 ← - (signed byte~) div8s::$18 + (signed byte) div8s::return ← (signed byte~) div8s::$19 + goto div8s::@return +div8s::@6: +div8s::@return: + (signed byte) div8s::return ← (signed byte) div8s::return + return (signed byte) div8s::return +endproc // div8s() + (signed word) rem16s ← (byte/signed byte/word/signed word/dword/signed dword) 0 +proc (signed word()) div16s((signed word) div16s::dividend , (signed word) div16s::divisor) + (byte) div16s::neg ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (word) div16s::dividendu ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) div16s::$0 ← (signed word) div16s::dividend < (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) div16s::$1 ← ! (boolean~) div16s::$0 + if((boolean~) div16s::$1) goto div16s::@1 + (signed word~) div16s::$2 ← - (signed word) div16s::dividend + (word~) div16s::$3 ← ((word)) (signed word~) div16s::$2 + (word) div16s::dividendu ← (word~) div16s::$3 + (byte) div16s::neg ← (byte/signed byte/word/signed word/dword/signed dword) 1 + goto div16s::@2 +div16s::@1: + (word~) div16s::$4 ← ((word)) (signed word) div16s::dividend + (word) div16s::dividendu ← (word~) div16s::$4 +div16s::@2: + (word) div16s::divisoru ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) div16s::$5 ← (signed word) div16s::divisor < (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) div16s::$6 ← ! (boolean~) div16s::$5 + if((boolean~) div16s::$6) goto div16s::@3 + (signed word~) div16s::$7 ← - (signed word) div16s::divisor + (word~) div16s::$8 ← ((word)) (signed word~) div16s::$7 + (word) div16s::divisoru ← (word~) div16s::$8 + (byte~) div16s::$9 ← (byte) div16s::neg ^ (byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) div16s::neg ← (byte~) div16s::$9 + goto div16s::@4 +div16s::@3: + (word~) div16s::$10 ← ((word)) (signed word) div16s::divisor + (word) div16s::divisoru ← (word~) div16s::$10 +div16s::@4: + (word~) div16s::$11 ← call div16u (word) div16s::dividendu (word) div16s::divisoru + (word) div16s::resultu ← (word~) div16s::$11 + (boolean~) div16s::$12 ← (byte) div16s::neg == (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) div16s::$13 ← ! (boolean~) div16s::$12 + if((boolean~) div16s::$13) goto div16s::@5 + (signed word~) div16s::$14 ← ((signed word)) (word) rem16u + (signed word) rem16s ← (signed word~) div16s::$14 + (signed word~) div16s::$15 ← ((signed word)) (word) div16s::resultu + (signed word) div16s::return ← (signed word~) div16s::$15 + goto div16s::@return + goto div16s::@6 +div16s::@5: + (signed word~) div16s::$16 ← ((signed word)) (word) rem16u + (signed word~) div16s::$17 ← - (signed word~) div16s::$16 + (signed word) rem16s ← (signed word~) div16s::$17 + (signed word~) div16s::$18 ← ((signed word)) (word) div16s::resultu + (signed word~) div16s::$19 ← - (signed word~) div16s::$18 + (signed word) div16s::return ← (signed word~) div16s::$19 + goto div16s::@return +div16s::@6: +div16s::@return: + (signed word) div16s::return ← (signed word) div16s::return + return (signed word) div16s::return +endproc // div16s() +proc (word()) mul8u((byte) mul8u::a , (byte) mul8u::b) + (word) mul8u::res ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (word) mul8u::mb ← (byte) mul8u::b +mul8u::@1: + (boolean~) mul8u::$0 ← (byte) mul8u::a != (byte/signed byte/word/signed word/dword/signed dword) 0 + if((boolean~) mul8u::$0) goto mul8u::@2 + goto mul8u::@3 +mul8u::@2: + (byte~) mul8u::$1 ← (byte) mul8u::a & (byte/signed byte/word/signed word/dword/signed dword) 1 + (boolean~) mul8u::$2 ← (byte~) mul8u::$1 != (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) mul8u::$3 ← ! (boolean~) mul8u::$2 + if((boolean~) mul8u::$3) goto mul8u::@4 + (word~) mul8u::$4 ← (word) mul8u::res + (word) mul8u::mb + (word) mul8u::res ← (word~) mul8u::$4 +mul8u::@4: + (byte~) mul8u::$5 ← (byte) mul8u::a >> (byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) mul8u::a ← (byte~) mul8u::$5 + (word~) mul8u::$6 ← (word) mul8u::mb << (byte/signed byte/word/signed word/dword/signed dword) 1 + (word) mul8u::mb ← (word~) mul8u::$6 + goto mul8u::@1 +mul8u::@3: + (word) mul8u::return ← (word) mul8u::res + goto mul8u::@return +mul8u::@return: + (word) mul8u::return ← (word) mul8u::return + return (word) mul8u::return +endproc // mul8u() +proc (signed word()) mul8s((signed byte) mul8s::a , (signed byte) mul8s::b) + (byte~) mul8s::$0 ← ((byte)) (signed byte) mul8s::a + (byte~) mul8s::$1 ← ((byte)) (signed byte) mul8s::b + (word~) mul8s::$2 ← call mul8u (byte~) mul8s::$0 (byte~) mul8s::$1 + (word) mul8s::m ← (word~) mul8s::$2 + (boolean~) mul8s::$3 ← (signed byte) mul8s::a < (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) mul8s::$4 ← ! (boolean~) mul8s::$3 + if((boolean~) mul8s::$4) goto mul8s::@1 + (byte~) mul8s::$5 ← > (word) mul8s::m + (byte~) mul8s::$6 ← > (word) mul8s::m + (byte~) mul8s::$7 ← ((byte)) (signed byte) mul8s::b + (byte/signed byte/word/signed word/dword/signed dword~) mul8s::$8 ← (byte~) mul8s::$6 - (byte~) mul8s::$7 + lval((byte~) mul8s::$5) ← (byte/signed byte/word/signed word/dword/signed dword~) mul8s::$8 +mul8s::@1: + (boolean~) mul8s::$9 ← (signed byte) mul8s::b < (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) mul8s::$10 ← ! (boolean~) mul8s::$9 + if((boolean~) mul8s::$10) goto mul8s::@2 + (byte~) mul8s::$11 ← > (word) mul8s::m + (byte~) mul8s::$12 ← > (word) mul8s::m + (byte~) mul8s::$13 ← ((byte)) (signed byte) mul8s::a + (byte/signed byte/word/signed word/dword/signed dword~) mul8s::$14 ← (byte~) mul8s::$12 - (byte~) mul8s::$13 + lval((byte~) mul8s::$11) ← (byte/signed byte/word/signed word/dword/signed dword~) mul8s::$14 +mul8s::@2: + (signed word~) mul8s::$15 ← ((signed word)) (word) mul8s::m + (signed word) mul8s::return ← (signed word~) mul8s::$15 + goto mul8s::@return +mul8s::@return: + (signed word) mul8s::return ← (signed word) mul8s::return + return (signed word) mul8s::return +endproc // mul8s() +proc (signed word()) mul8su((signed byte) mul8su::a , (byte) mul8su::b) + (byte~) mul8su::$0 ← ((byte)) (signed byte) mul8su::a + (byte~) mul8su::$1 ← ((byte)) (byte) mul8su::b + (word~) mul8su::$2 ← call mul8u (byte~) mul8su::$0 (byte~) mul8su::$1 + (word) mul8su::m ← (word~) mul8su::$2 + (boolean~) mul8su::$3 ← (signed byte) mul8su::a < (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) mul8su::$4 ← ! (boolean~) mul8su::$3 + if((boolean~) mul8su::$4) goto mul8su::@1 + (byte~) mul8su::$5 ← > (word) mul8su::m + (byte~) mul8su::$6 ← > (word) mul8su::m + (byte~) mul8su::$7 ← ((byte)) (byte) mul8su::b + (byte/signed byte/word/signed word/dword/signed dword~) mul8su::$8 ← (byte~) mul8su::$6 - (byte~) mul8su::$7 + lval((byte~) mul8su::$5) ← (byte/signed byte/word/signed word/dword/signed dword~) mul8su::$8 +mul8su::@1: + (signed word~) mul8su::$9 ← ((signed word)) (word) mul8su::m + (signed word) mul8su::return ← (signed word~) mul8su::$9 + goto mul8su::@return +mul8su::@return: + (signed word) mul8su::return ← (signed word) mul8su::return + return (signed word) mul8su::return +endproc // mul8su() +proc (dword()) mul16u((word) mul16u::a , (word) mul16u::b) + (dword) mul16u::res ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (dword) mul16u::mb ← (word) mul16u::b +mul16u::@1: + (boolean~) mul16u::$0 ← (word) mul16u::a != (byte/signed byte/word/signed word/dword/signed dword) 0 + if((boolean~) mul16u::$0) goto mul16u::@2 + goto mul16u::@3 +mul16u::@2: + (byte~) mul16u::$1 ← (word) mul16u::a & (byte/signed byte/word/signed word/dword/signed dword) 1 + (boolean~) mul16u::$2 ← (byte~) mul16u::$1 != (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) mul16u::$3 ← ! (boolean~) mul16u::$2 + if((boolean~) mul16u::$3) goto mul16u::@4 + (dword~) mul16u::$4 ← (dword) mul16u::res + (dword) mul16u::mb + (dword) mul16u::res ← (dword~) mul16u::$4 +mul16u::@4: + (word~) mul16u::$5 ← (word) mul16u::a >> (byte/signed byte/word/signed word/dword/signed dword) 1 + (word) mul16u::a ← (word~) mul16u::$5 + (dword~) mul16u::$6 ← (dword) mul16u::mb << (byte/signed byte/word/signed word/dword/signed dword) 1 + (dword) mul16u::mb ← (dword~) mul16u::$6 + goto mul16u::@1 +mul16u::@3: + (dword) mul16u::return ← (dword) mul16u::res + goto mul16u::@return +mul16u::@return: + (dword) mul16u::return ← (dword) mul16u::return + return (dword) mul16u::return +endproc // mul16u() +proc (signed dword()) mul16s((signed word) mul16s::a , (signed word) mul16s::b) + (word~) mul16s::$0 ← ((word)) (signed word) mul16s::a + (word~) mul16s::$1 ← ((word)) (signed word) mul16s::b + (dword~) mul16s::$2 ← call mul16u (word~) mul16s::$0 (word~) mul16s::$1 + (dword) mul16s::m ← (dword~) mul16s::$2 + (boolean~) mul16s::$3 ← (signed word) mul16s::a < (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) mul16s::$4 ← ! (boolean~) mul16s::$3 + if((boolean~) mul16s::$4) goto mul16s::@1 + (word~) mul16s::$5 ← > (dword) mul16s::m + (word~) mul16s::$6 ← > (dword) mul16s::m + (word~) mul16s::$7 ← ((word)) (signed word) mul16s::b + (word~) mul16s::$8 ← (word~) mul16s::$6 - (word~) mul16s::$7 + lval((word~) mul16s::$5) ← (word~) mul16s::$8 +mul16s::@1: + (boolean~) mul16s::$9 ← (signed word) mul16s::b < (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) mul16s::$10 ← ! (boolean~) mul16s::$9 + if((boolean~) mul16s::$10) goto mul16s::@2 + (word~) mul16s::$11 ← > (dword) mul16s::m + (word~) mul16s::$12 ← > (dword) mul16s::m + (word~) mul16s::$13 ← ((word)) (signed word) mul16s::a + (word~) mul16s::$14 ← (word~) mul16s::$12 - (word~) mul16s::$13 + lval((word~) mul16s::$11) ← (word~) mul16s::$14 +mul16s::@2: + (signed dword~) mul16s::$15 ← ((signed dword)) (dword) mul16s::m + (signed dword) mul16s::return ← (signed dword~) mul16s::$15 + goto mul16s::@return +mul16s::@return: + (signed dword) mul16s::return ← (signed dword) mul16s::return + return (signed dword) mul16s::return +endproc // mul16s() + (dword) PI2_u4f28 ← (dword/signed dword) 1686629713 + (dword) PI_u4f28 ← (dword/signed dword) 843314857 + (dword) PI_HALF_u4f28 ← (dword/signed dword) 421657428 + (word) PI2_u4f12 ← (word/signed word/dword/signed dword) 25736 + (word) PI_u4f12 ← (word/signed word/dword/signed dword) 12868 + (word) PI_HALF_u4f12 ← (word/signed word/dword/signed dword) 6434 +proc (void()) sin16s_gen((signed word*) sin16s_gen::sintab , (word) sin16s_gen::wavelength) + (dword~) sin16s_gen::$0 ← call div32u16u (dword) PI2_u4f28 (word) sin16s_gen::wavelength + (dword) sin16s_gen::step ← (dword~) sin16s_gen::$0 + (dword) sin16s_gen::x ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (word) sin16s_gen::i ← (byte/signed byte/word/signed word/dword/signed dword) 0 +sin16s_gen::@1: + (signed word~) sin16s_gen::$1 ← call sin16s (dword) sin16s_gen::x + *((signed word*) sin16s_gen::sintab) ← (signed word~) sin16s_gen::$1 + (signed word*~) sin16s_gen::$2 ← (signed word*) sin16s_gen::sintab + (byte/signed byte/word/signed word/dword/signed dword) 2 + (signed word*) sin16s_gen::sintab ← (signed word*~) sin16s_gen::$2 + (dword~) sin16s_gen::$3 ← (dword) sin16s_gen::x + (dword) sin16s_gen::step + (dword) sin16s_gen::x ← (dword~) sin16s_gen::$3 + (word) sin16s_gen::i ← ++ (word) sin16s_gen::i + (boolean~) sin16s_gen::$4 ← (word) sin16s_gen::i < (word) sin16s_gen::wavelength + if((boolean~) sin16s_gen::$4) goto sin16s_gen::@1 +sin16s_gen::@return: + return +endproc // sin16s_gen() +proc (void()) sin8s_gen((signed byte*) sin8s_gen::sintab , (word) sin8s_gen::wavelength) + (word~) sin8s_gen::$0 ← call div16u (word) PI2_u4f12 (word) sin8s_gen::wavelength + (word) sin8s_gen::step ← (word~) sin8s_gen::$0 + (word) sin8s_gen::x ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (word) sin8s_gen::i ← (byte/signed byte/word/signed word/dword/signed dword) 0 +sin8s_gen::@1: + (signed byte~) sin8s_gen::$1 ← call sin8s (word) sin8s_gen::x + *((signed byte*) sin8s_gen::sintab) ← (signed byte~) sin8s_gen::$1 + (signed byte*) sin8s_gen::sintab ← ++ (signed byte*) sin8s_gen::sintab + (word~) sin8s_gen::$2 ← (word) sin8s_gen::x + (word) sin8s_gen::step + (word) sin8s_gen::x ← (word~) sin8s_gen::$2 + (word) sin8s_gen::i ← ++ (word) sin8s_gen::i + (boolean~) sin8s_gen::$3 ← (word) sin8s_gen::i < (word) sin8s_gen::wavelength + if((boolean~) sin8s_gen::$3) goto sin8s_gen::@1 +sin8s_gen::@return: + return +endproc // sin8s_gen() +proc (signed word()) sin16s((dword) sin16s::x) + (byte) sin16s::isUpper ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) sin16s::$0 ← (dword) sin16s::x >= (dword) PI_u4f28 + (boolean~) sin16s::$1 ← ! (boolean~) sin16s::$0 + if((boolean~) sin16s::$1) goto sin16s::@1 + (dword~) sin16s::$2 ← (dword) sin16s::x - (dword) PI_u4f28 + (dword) sin16s::x ← (dword~) sin16s::$2 + (byte) sin16s::isUpper ← (byte/signed byte/word/signed word/dword/signed dword) 1 +sin16s::@1: + (boolean~) sin16s::$3 ← (dword) sin16s::x >= (dword) PI_HALF_u4f28 + (boolean~) sin16s::$4 ← ! (boolean~) sin16s::$3 + if((boolean~) sin16s::$4) goto sin16s::@2 + (dword~) sin16s::$5 ← (dword) PI_u4f28 - (dword) sin16s::x + (dword) sin16s::x ← (dword~) sin16s::$5 +sin16s::@2: + (dword~) sin16s::$6 ← (dword) sin16s::x << (byte/signed byte/word/signed word/dword/signed dword) 3 + (word~) sin16s::$7 ← > (dword~) sin16s::$6 + (word) sin16s::x1 ← (word~) sin16s::$7 + (word~) sin16s::$8 ← call mulu16_sel (word) sin16s::x1 (word) sin16s::x1 (byte/signed byte/word/signed word/dword/signed dword) 0 + (word) sin16s::x2 ← (word~) sin16s::$8 + (word~) sin16s::$9 ← call mulu16_sel (word) sin16s::x2 (word) sin16s::x1 (byte/signed byte/word/signed word/dword/signed dword) 1 + (word) sin16s::x3 ← (word~) sin16s::$9 + (word/signed word/dword/signed dword~) sin16s::$10 ← (dword/signed dword) 65536 / (byte/signed byte/word/signed word/dword/signed dword) 6 + (word~) sin16s::$11 ← call mulu16_sel (word) sin16s::x3 (word/signed word/dword/signed dword~) sin16s::$10 (byte/signed byte/word/signed word/dword/signed dword) 1 + (word) sin16s::x3_6 ← (word~) sin16s::$11 + (word~) sin16s::$12 ← (word) sin16s::x1 - (word) sin16s::x3_6 + (word) sin16s::usinx ← (word~) sin16s::$12 + (word~) sin16s::$13 ← call mulu16_sel (word) sin16s::x3 (word) sin16s::x1 (byte/signed byte/word/signed word/dword/signed dword) 0 + (word) sin16s::x4 ← (word~) sin16s::$13 + (word~) sin16s::$14 ← call mulu16_sel (word) sin16s::x4 (word) sin16s::x1 (byte/signed byte/word/signed word/dword/signed dword) 0 + (word) sin16s::x5 ← (word~) sin16s::$14 + (word~) sin16s::$15 ← (word) sin16s::x5 >> (byte/signed byte/word/signed word/dword/signed dword) 4 + (word) sin16s::x5_128 ← (word~) sin16s::$15 + (word~) sin16s::$16 ← (word) sin16s::usinx + (word) sin16s::x5_128 + (word) sin16s::usinx ← (word~) sin16s::$16 + (signed word~) sin16s::$17 ← ((signed word)) (word) sin16s::usinx + (signed word) sin16s::sinx ← (signed word~) sin16s::$17 + (boolean~) sin16s::$18 ← (byte) sin16s::isUpper != (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) sin16s::$19 ← ! (boolean~) sin16s::$18 + if((boolean~) sin16s::$19) goto sin16s::@3 + (signed word~) sin16s::$20 ← ((signed word)) (word) sin16s::usinx + (signed word~) sin16s::$21 ← - (signed word~) sin16s::$20 + (signed word) sin16s::sinx ← (signed word~) sin16s::$21 +sin16s::@3: + (signed word) sin16s::return ← (signed word) sin16s::sinx + goto sin16s::@return +sin16s::@return: + (signed word) sin16s::return ← (signed word) sin16s::return + return (signed word) sin16s::return +endproc // sin16s() +proc (signed byte()) sin8s((word) sin8s::x) + (byte) sin8s::isUpper ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) sin8s::$0 ← (word) sin8s::x >= (word) PI_u4f12 + (boolean~) sin8s::$1 ← ! (boolean~) sin8s::$0 + if((boolean~) sin8s::$1) goto sin8s::@1 + (word~) sin8s::$2 ← (word) sin8s::x - (word) PI_u4f12 + (word) sin8s::x ← (word~) sin8s::$2 + (byte) sin8s::isUpper ← (byte/signed byte/word/signed word/dword/signed dword) 1 +sin8s::@1: + (boolean~) sin8s::$3 ← (word) sin8s::x >= (word) PI_HALF_u4f12 + (boolean~) sin8s::$4 ← ! (boolean~) sin8s::$3 + if((boolean~) sin8s::$4) goto sin8s::@2 + (word~) sin8s::$5 ← (word) PI_u4f12 - (word) sin8s::x + (word) sin8s::x ← (word~) sin8s::$5 +sin8s::@2: + (word~) sin8s::$6 ← (word) sin8s::x << (byte/signed byte/word/signed word/dword/signed dword) 3 + (byte~) sin8s::$7 ← > (word~) sin8s::$6 + (byte) sin8s::x1 ← (byte~) sin8s::$7 + (byte~) sin8s::$8 ← call mulu8_sel (byte) sin8s::x1 (byte) sin8s::x1 (byte/signed byte/word/signed word/dword/signed dword) 0 + (byte) sin8s::x2 ← (byte~) sin8s::$8 + (byte~) sin8s::$9 ← call mulu8_sel (byte) sin8s::x2 (byte) sin8s::x1 (byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) sin8s::x3 ← (byte~) sin8s::$9 + (byte) sin8s::DIV_6 ← (byte/signed byte/word/signed word/dword/signed dword) 43 + (byte~) sin8s::$10 ← call mulu8_sel (byte) sin8s::x3 (byte) sin8s::DIV_6 (byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) sin8s::x3_6 ← (byte~) sin8s::$10 + (byte/signed byte/word/signed word/dword/signed dword~) sin8s::$11 ← (byte) sin8s::x1 - (byte) sin8s::x3_6 + (byte) sin8s::usinx ← (byte/signed byte/word/signed word/dword/signed dword~) sin8s::$11 + (byte~) sin8s::$12 ← call mulu8_sel (byte) sin8s::x3 (byte) sin8s::x1 (byte/signed byte/word/signed word/dword/signed dword) 0 + (byte) sin8s::x4 ← (byte~) sin8s::$12 + (byte~) sin8s::$13 ← call mulu8_sel (byte) sin8s::x4 (byte) sin8s::x1 (byte/signed byte/word/signed word/dword/signed dword) 0 + (byte) sin8s::x5 ← (byte~) sin8s::$13 + (byte~) sin8s::$14 ← (byte) sin8s::x5 >> (byte/signed byte/word/signed word/dword/signed dword) 4 + (byte) sin8s::x5_128 ← (byte~) sin8s::$14 + (byte/word~) sin8s::$15 ← (byte) sin8s::usinx + (byte) sin8s::x5_128 + (byte) sin8s::usinx ← (byte/word~) sin8s::$15 + (boolean~) sin8s::$16 ← (byte) sin8s::usinx >= (byte/word/signed word/dword/signed dword) 128 + (boolean~) sin8s::$17 ← ! (boolean~) sin8s::$16 + if((boolean~) sin8s::$17) goto sin8s::@3 + (byte) sin8s::usinx ← -- (byte) sin8s::usinx +sin8s::@3: + (signed byte~) sin8s::$18 ← ((signed byte)) (byte) sin8s::usinx + (signed byte) sin8s::sinx ← (signed byte~) sin8s::$18 + (boolean~) sin8s::$19 ← (byte) sin8s::isUpper != (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) sin8s::$20 ← ! (boolean~) sin8s::$19 + if((boolean~) sin8s::$20) goto sin8s::@4 + (signed byte~) sin8s::$21 ← ((signed byte)) (byte) sin8s::usinx + (signed byte~) sin8s::$22 ← - (signed byte~) sin8s::$21 + (signed byte) sin8s::sinx ← (signed byte~) sin8s::$22 +sin8s::@4: + (signed byte) sin8s::return ← (signed byte) sin8s::sinx + goto sin8s::@return +sin8s::@return: + (signed byte) sin8s::return ← (signed byte) sin8s::return + return (signed byte) sin8s::return +endproc // sin8s() +proc (word()) mulu16_sel((word) mulu16_sel::v1 , (word) mulu16_sel::v2 , (byte) mulu16_sel::select) + (dword~) mulu16_sel::$0 ← call mul16u (word) mulu16_sel::v1 (word) mulu16_sel::v2 + (dword~) mulu16_sel::$1 ← (dword~) mulu16_sel::$0 << (byte) mulu16_sel::select + (word~) mulu16_sel::$2 ← > (dword~) mulu16_sel::$1 + (word) mulu16_sel::return ← (word~) mulu16_sel::$2 + goto mulu16_sel::@return +mulu16_sel::@return: + (word) mulu16_sel::return ← (word) mulu16_sel::return + return (word) mulu16_sel::return +endproc // mulu16_sel() +proc (byte()) mulu8_sel((byte) mulu8_sel::v1 , (byte) mulu8_sel::v2 , (byte) mulu8_sel::select) + (word~) mulu8_sel::$0 ← call mul8u (byte) mulu8_sel::v1 (byte) mulu8_sel::v2 + (word~) mulu8_sel::$1 ← (word~) mulu8_sel::$0 << (byte) mulu8_sel::select + (byte~) mulu8_sel::$2 ← > (word~) mulu8_sel::$1 + (byte) mulu8_sel::return ← (byte~) mulu8_sel::$2 + goto mulu8_sel::@return +mulu8_sel::@return: + (byte) mulu8_sel::return ← (byte) mulu8_sel::return + return (byte) mulu8_sel::return +endproc // mulu8_sel() +proc (void()) sin16s_genb((signed word*) sin16s_genb::sintab , (word) sin16s_genb::wavelength) + (dword~) sin16s_genb::$0 ← call div32u16u (dword) PI2_u4f28 (word) sin16s_genb::wavelength + (dword) sin16s_genb::step ← (dword~) sin16s_genb::$0 + (dword) sin16s_genb::x ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (word) sin16s_genb::i ← (byte/signed byte/word/signed word/dword/signed dword) 0 +sin16s_genb::@1: + (word~) sin16s_genb::$1 ← > (dword) sin16s_genb::x + (signed word~) sin16s_genb::$2 ← call sin16sb (word~) sin16s_genb::$1 + *((signed word*) sin16s_genb::sintab) ← (signed word~) sin16s_genb::$2 + (signed word*~) sin16s_genb::$3 ← (signed word*) sin16s_genb::sintab + (byte/signed byte/word/signed word/dword/signed dword) 2 + (signed word*) sin16s_genb::sintab ← (signed word*~) sin16s_genb::$3 + (dword~) sin16s_genb::$4 ← (dword) sin16s_genb::x + (dword) sin16s_genb::step + (dword) sin16s_genb::x ← (dword~) sin16s_genb::$4 + (word) sin16s_genb::i ← ++ (word) sin16s_genb::i + (boolean~) sin16s_genb::$5 ← (word) sin16s_genb::i < (word) sin16s_genb::wavelength + if((boolean~) sin16s_genb::$5) goto sin16s_genb::@1 +sin16s_genb::@return: + return +endproc // sin16s_genb() +proc (signed word()) sin16sb((word) sin16sb::x) + (byte) sin16sb::isUpper ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) sin16sb::$0 ← (word) sin16sb::x >= (word) PI_u4f12 + (boolean~) sin16sb::$1 ← ! (boolean~) sin16sb::$0 + if((boolean~) sin16sb::$1) goto sin16sb::@1 + (word~) sin16sb::$2 ← (word) sin16sb::x - (word) PI_u4f12 + (word) sin16sb::x ← (word~) sin16sb::$2 + (byte) sin16sb::isUpper ← (byte/signed byte/word/signed word/dword/signed dword) 1 +sin16sb::@1: + (boolean~) sin16sb::$3 ← (word) sin16sb::x >= (word) PI_HALF_u4f12 + (boolean~) sin16sb::$4 ← ! (boolean~) sin16sb::$3 + if((boolean~) sin16sb::$4) goto sin16sb::@2 + (word~) sin16sb::$5 ← (word) PI_u4f12 - (word) sin16sb::x + (word) sin16sb::x ← (word~) sin16sb::$5 +sin16sb::@2: + (word~) sin16sb::$6 ← (word) sin16sb::x << (byte/signed byte/word/signed word/dword/signed dword) 3 + (word) sin16sb::x1 ← (word~) sin16sb::$6 + (word~) sin16sb::$7 ← call mulu16_sel (word) sin16sb::x1 (word) sin16sb::x1 (byte/signed byte/word/signed word/dword/signed dword) 0 + (word) sin16sb::x2 ← (word~) sin16sb::$7 + (word~) sin16sb::$8 ← call mulu16_sel (word) sin16sb::x2 (word) sin16sb::x1 (byte/signed byte/word/signed word/dword/signed dword) 1 + (word) sin16sb::x3 ← (word~) sin16sb::$8 + (word/signed word/dword/signed dword~) sin16sb::$9 ← (dword/signed dword) 65536 / (byte/signed byte/word/signed word/dword/signed dword) 6 + (word~) sin16sb::$10 ← call mulu16_sel (word) sin16sb::x3 (word/signed word/dword/signed dword~) sin16sb::$9 (byte/signed byte/word/signed word/dword/signed dword) 1 + (word) sin16sb::x3_6 ← (word~) sin16sb::$10 + (word~) sin16sb::$11 ← (word) sin16sb::x1 - (word) sin16sb::x3_6 + (word) sin16sb::usinx ← (word~) sin16sb::$11 + (word~) sin16sb::$12 ← call mulu16_sel (word) sin16sb::x3 (word) sin16sb::x1 (byte/signed byte/word/signed word/dword/signed dword) 0 + (word) sin16sb::x4 ← (word~) sin16sb::$12 + (word~) sin16sb::$13 ← call mulu16_sel (word) sin16sb::x4 (word) sin16sb::x1 (byte/signed byte/word/signed word/dword/signed dword) 0 + (word) sin16sb::x5 ← (word~) sin16sb::$13 + (word~) sin16sb::$14 ← (word) sin16sb::x5 >> (byte/signed byte/word/signed word/dword/signed dword) 4 + (word) sin16sb::x5_128 ← (word~) sin16sb::$14 + (word~) sin16sb::$15 ← (word) sin16sb::usinx + (word) sin16sb::x5_128 + (word) sin16sb::usinx ← (word~) sin16sb::$15 + (signed word~) sin16sb::$16 ← ((signed word)) (word) sin16sb::usinx + (signed word) sin16sb::sinx ← (signed word~) sin16sb::$16 + (boolean~) sin16sb::$17 ← (byte) sin16sb::isUpper != (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) sin16sb::$18 ← ! (boolean~) sin16sb::$17 + if((boolean~) sin16sb::$18) goto sin16sb::@3 + (signed word~) sin16sb::$19 ← ((signed word)) (word) sin16sb::usinx + (signed word~) sin16sb::$20 ← - (signed word~) sin16sb::$19 + (signed word) sin16sb::sinx ← (signed word~) sin16sb::$20 +sin16sb::@3: + (signed word) sin16sb::return ← (signed word) sin16sb::sinx + goto sin16sb::@return +sin16sb::@return: + (signed word) sin16sb::return ← (signed word) sin16sb::return + return (signed word) sin16sb::return +endproc // sin16sb() + (byte*) SCREEN ← (word/signed word/dword/signed dword) 1024 + (byte*) line_cursor ← (byte*) SCREEN + (byte*) char_cursor ← (byte*) line_cursor +proc (void()) print_str((byte*) print_str::str) +print_str::@1: + (boolean~) print_str::$0 ← *((byte*) print_str::str) != (byte) '@' + if((boolean~) print_str::$0) goto print_str::@2 + goto print_str::@3 +print_str::@2: + *((byte*) char_cursor) ← *((byte*) print_str::str) + (byte*) char_cursor ← ++ (byte*) char_cursor + (byte*) print_str::str ← ++ (byte*) print_str::str + goto print_str::@1 +print_str::@3: +print_str::@return: + return +endproc // print_str() +proc (void()) print_ln() +print_ln::@1: + (byte*~) print_ln::$0 ← (byte*) line_cursor + (byte/signed byte/word/signed word/dword/signed dword) 40 + (byte*) line_cursor ← (byte*~) print_ln::$0 + (boolean~) print_ln::$1 ← (byte*) line_cursor < (byte*) char_cursor + if((boolean~) print_ln::$1) goto print_ln::@1 + (byte*) char_cursor ← (byte*) line_cursor +print_ln::@return: + return +endproc // print_ln() +proc (void()) print_sword((signed word) print_sword::w) + (boolean~) print_sword::$0 ← (signed word) print_sword::w < (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) print_sword::$1 ← ! (boolean~) print_sword::$0 + if((boolean~) print_sword::$1) goto print_sword::@1 + (void~) print_sword::$2 ← call print_char (byte) '-' + (signed word~) print_sword::$3 ← - (signed word) print_sword::w + (signed word) print_sword::w ← (signed word~) print_sword::$3 +print_sword::@1: + (word~) print_sword::$4 ← ((word)) (signed word) print_sword::w + (void~) print_sword::$5 ← call print_word (word~) print_sword::$4 +print_sword::@return: + return +endproc // print_sword() +proc (void()) print_sbyte((signed byte) print_sbyte::b) + (boolean~) print_sbyte::$0 ← (signed byte) print_sbyte::b < (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) print_sbyte::$1 ← ! (boolean~) print_sbyte::$0 + if((boolean~) print_sbyte::$1) goto print_sbyte::@1 + (void~) print_sbyte::$2 ← call print_char (byte) '-' + (signed byte~) print_sbyte::$3 ← - (signed byte) print_sbyte::b + (signed byte) print_sbyte::b ← (signed byte~) print_sbyte::$3 +print_sbyte::@1: + (byte~) print_sbyte::$4 ← ((byte)) (signed byte) print_sbyte::b + (void~) print_sbyte::$5 ← call print_byte (byte~) print_sbyte::$4 +print_sbyte::@return: + return +endproc // print_sbyte() +proc (void()) print_word((word) print_word::w) + (byte~) print_word::$0 ← > (word) print_word::w + (void~) print_word::$1 ← call print_byte (byte~) print_word::$0 + (byte~) print_word::$2 ← < (word) print_word::w + (void~) print_word::$3 ← call print_byte (byte~) print_word::$2 +print_word::@return: + return +endproc // print_word() +proc (void()) print_dword((dword) print_dword::dw) + (word~) print_dword::$0 ← > (dword) print_dword::dw + (void~) print_dword::$1 ← call print_word (word~) print_dword::$0 + (word~) print_dword::$2 ← < (dword) print_dword::dw + (void~) print_dword::$3 ← call print_word (word~) print_dword::$2 +print_dword::@return: + return +endproc // print_dword() +proc (void()) print_sdword((signed dword) print_sdword::dw) + (boolean~) print_sdword::$0 ← (signed dword) print_sdword::dw < (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) print_sdword::$1 ← ! (boolean~) print_sdword::$0 + if((boolean~) print_sdword::$1) goto print_sdword::@1 + (void~) print_sdword::$2 ← call print_char (byte) '-' + (signed dword~) print_sdword::$3 ← - (signed dword) print_sdword::dw + (signed dword) print_sdword::dw ← (signed dword~) print_sdword::$3 +print_sdword::@1: + (dword~) print_sdword::$4 ← ((dword)) (signed dword) print_sdword::dw + (void~) print_sdword::$5 ← call print_dword (dword~) print_sdword::$4 +print_sdword::@return: + return +endproc // print_sdword() +proc (void()) print_byte((byte) print_byte::b) + (byte[]) print_byte::hextab ← (string) "0123456789abcdef" + (byte~) print_byte::$0 ← (byte) print_byte::b >> (byte/signed byte/word/signed word/dword/signed dword) 4 + (void~) print_byte::$1 ← call print_char *((byte[]) print_byte::hextab + (byte~) print_byte::$0) + (byte~) print_byte::$2 ← (byte) print_byte::b & (byte/signed byte/word/signed word/dword/signed dword) 15 + (void~) print_byte::$3 ← call print_char *((byte[]) print_byte::hextab + (byte~) print_byte::$2) +print_byte::@return: + return +endproc // print_byte() +proc (void()) print_char((byte) print_char::ch) + *((byte*) char_cursor) ← (byte) print_char::ch + (byte*) char_cursor ← ++ (byte*) char_cursor +print_char::@return: + return +endproc // print_char() +proc (void()) print_cls() + (byte*) print_cls::sc ← (byte*) SCREEN +print_cls::@1: + *((byte*) print_cls::sc) ← (byte) ' ' + (byte*) print_cls::sc ← ++ (byte*) print_cls::sc + (byte*~) print_cls::$0 ← (byte*) SCREEN + (word/signed word/dword/signed dword) 1000 + (boolean~) print_cls::$1 ← (byte*) print_cls::sc != (byte*~) print_cls::$0 + if((boolean~) print_cls::$1) goto print_cls::@1 + (byte*) line_cursor ← (byte*) SCREEN + (byte*) char_cursor ← (byte*) line_cursor +print_cls::@return: + return +endproc // print_cls() +proc (void()) main() + (word) main::wavelength ← (byte/signed byte/word/signed word/dword/signed dword) 120 + (signed word[120]) main::sintab1 ← { fill( 120, 0) } + (signed word[120]) main::sintab2 ← { fill( 120, 0) } + (void~) main::$0 ← call sin16s_gen (signed word[120]) main::sintab1 (word) main::wavelength + (void~) main::$1 ← call sin16s_genb (signed word[120]) main::sintab2 (word) main::wavelength + (void~) main::$2 ← call print_cls + (signed word*) main::st1 ← (signed word[120]) main::sintab1 + (signed word*) main::st2 ← (signed word[120]) main::sintab2 + (byte) main::i ← (byte/signed byte/word/signed word/dword/signed dword) 0 +main::@1: + (signed word~) main::$3 ← *((signed word*) main::st1) - *((signed word*) main::st2) + (signed word) main::sw ← (signed word~) main::$3 + (boolean~) main::$4 ← (signed word) main::sw >= (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) main::$5 ← ! (boolean~) main::$4 + if((boolean~) main::$5) goto main::@2 + (void~) main::$6 ← call print_str (string) " @" +main::@2: + (void~) main::$7 ← call print_sword (signed word) main::sw + (void~) main::$8 ← call print_str (string) " @" + (signed word*~) main::$9 ← (signed word*) main::st1 + (byte/signed byte/word/signed word/dword/signed dword) 2 + (signed word*) main::st1 ← (signed word*~) main::$9 + (signed word*~) main::$10 ← (signed word*) main::st2 + (byte/signed byte/word/signed word/dword/signed dword) 2 + (signed word*) main::st2 ← (signed word*~) main::$10 + (byte) main::i ← ++ (byte) main::i + (boolean~) main::$11 ← (byte) main::i != (byte/signed byte/word/signed word/dword/signed dword) 120 + if((boolean~) main::$11) goto main::@1 +main::@return: + return +endproc // main() + call main + +SYMBOLS +(word) PI2_u4f12 +(dword) PI2_u4f28 +(word) PI_HALF_u4f12 +(dword) PI_HALF_u4f28 +(word) PI_u4f12 +(dword) PI_u4f28 +(byte*) SCREEN +(byte*) char_cursor +(signed word()) div16s((signed word) div16s::dividend , (signed word) div16s::divisor) +(boolean~) div16s::$0 +(boolean~) div16s::$1 +(word~) div16s::$10 +(word~) div16s::$11 +(boolean~) div16s::$12 +(boolean~) div16s::$13 +(signed word~) div16s::$14 +(signed word~) div16s::$15 +(signed word~) div16s::$16 +(signed word~) div16s::$17 +(signed word~) div16s::$18 +(signed word~) div16s::$19 +(signed word~) div16s::$2 +(word~) div16s::$3 +(word~) div16s::$4 +(boolean~) div16s::$5 +(boolean~) div16s::$6 +(signed word~) div16s::$7 +(word~) div16s::$8 +(byte~) div16s::$9 +(label) div16s::@1 +(label) div16s::@2 +(label) div16s::@3 +(label) div16s::@4 +(label) div16s::@5 +(label) div16s::@6 +(label) div16s::@return +(signed word) div16s::dividend +(word) div16s::dividendu +(signed word) div16s::divisor +(word) div16s::divisoru +(byte) div16s::neg +(word) div16s::resultu +(signed word) div16s::return +(word()) div16u((word) div16u::dividend , (word) div16u::divisor) +(word~) div16u::$0 +(label) div16u::@return +(word) div16u::dividend +(word) div16u::divisor +(word) div16u::return +(dword()) div32u16u((dword) div32u16u::dividend , (word) div32u16u::divisor) +(word~) div32u16u::$0 +(word~) div32u16u::$1 +(word~) div32u16u::$2 +(word~) div32u16u::$3 +(label) div32u16u::@return +(dword) div32u16u::dividend +(word) div32u16u::divisor +(dword) div32u16u::quotient +(word) div32u16u::quotient_hi +(word) div32u16u::quotient_lo +(dword) div32u16u::return +(signed byte()) div8s((signed byte) div8s::dividend , (signed byte) div8s::divisor) +(boolean~) div8s::$0 +(boolean~) div8s::$1 +(byte~) div8s::$10 +(byte~) div8s::$11 +(boolean~) div8s::$12 +(boolean~) div8s::$13 +(signed byte~) div8s::$14 +(signed byte~) div8s::$15 +(signed byte~) div8s::$16 +(signed byte~) div8s::$17 +(signed byte~) div8s::$18 +(signed byte~) div8s::$19 +(signed byte~) div8s::$2 +(byte~) div8s::$3 +(byte~) div8s::$4 +(boolean~) div8s::$5 +(boolean~) div8s::$6 +(signed byte~) div8s::$7 +(byte~) div8s::$8 +(byte~) div8s::$9 +(label) div8s::@1 +(label) div8s::@2 +(label) div8s::@3 +(label) div8s::@4 +(label) div8s::@5 +(label) div8s::@6 +(label) div8s::@return +(signed byte) div8s::dividend +(byte) div8s::dividendu +(signed byte) div8s::divisor +(byte) div8s::divisoru +(byte) div8s::neg +(byte) div8s::resultu +(signed byte) div8s::return +(byte()) div8u((byte) div8u::dividend , (byte) div8u::divisor) +(byte~) div8u::$0 +(label) div8u::@return +(byte) div8u::dividend +(byte) div8u::divisor +(byte) div8u::return +(word()) divr16u((word) divr16u::dividend , (word) divr16u::divisor , (word) divr16u::rem) +(word~) divr16u::$0 +(byte~) divr16u::$1 +(word~) divr16u::$10 +(boolean~) divr16u::$11 +(byte~) divr16u::$2 +(boolean~) divr16u::$3 +(boolean~) divr16u::$4 +(word~) divr16u::$5 +(word~) divr16u::$6 +(word~) divr16u::$7 +(boolean~) divr16u::$8 +(boolean~) divr16u::$9 +(label) divr16u::@1 +(label) divr16u::@2 +(label) divr16u::@3 +(label) divr16u::@return +(word) divr16u::dividend +(word) divr16u::divisor +(byte) divr16u::i +(word) divr16u::quotient +(word) divr16u::rem +(word) divr16u::return +(byte()) divr8u((byte) divr8u::dividend , (byte) divr8u::divisor , (byte) divr8u::rem) +(byte~) divr8u::$0 +(byte~) divr8u::$1 +(boolean~) divr8u::$10 +(boolean~) divr8u::$2 +(boolean~) divr8u::$3 +(byte~) divr8u::$4 +(byte~) divr8u::$5 +(byte~) divr8u::$6 +(boolean~) divr8u::$7 +(boolean~) divr8u::$8 +(byte/signed byte/word/signed word/dword/signed dword~) divr8u::$9 +(label) divr8u::@1 +(label) divr8u::@2 +(label) divr8u::@3 +(label) divr8u::@return +(byte) divr8u::dividend +(byte) divr8u::divisor +(byte) divr8u::i +(byte) divr8u::quotient +(byte) divr8u::rem +(byte) divr8u::return +(byte*) line_cursor +(void()) main() +(void~) main::$0 +(void~) main::$1 +(signed word*~) main::$10 +(boolean~) main::$11 +(void~) main::$2 +(signed word~) main::$3 +(boolean~) main::$4 +(boolean~) main::$5 +(void~) main::$6 +(void~) main::$7 +(void~) main::$8 +(signed word*~) main::$9 +(label) main::@1 +(label) main::@2 +(label) main::@return +(byte) main::i +(signed word[120]) main::sintab1 +(signed word[120]) main::sintab2 +(signed word*) main::st1 +(signed word*) main::st2 +(signed word) main::sw +(word) main::wavelength +(signed dword()) mul16s((signed word) mul16s::a , (signed word) mul16s::b) +(word~) mul16s::$0 +(word~) mul16s::$1 +(boolean~) mul16s::$10 +(word~) mul16s::$11 +(word~) mul16s::$12 +(word~) mul16s::$13 +(word~) mul16s::$14 +(signed dword~) mul16s::$15 +(dword~) mul16s::$2 +(boolean~) mul16s::$3 +(boolean~) mul16s::$4 +(word~) mul16s::$5 +(word~) mul16s::$6 +(word~) mul16s::$7 +(word~) mul16s::$8 +(boolean~) mul16s::$9 +(label) mul16s::@1 +(label) mul16s::@2 +(label) mul16s::@return +(signed word) mul16s::a +(signed word) mul16s::b +(dword) mul16s::m +(signed dword) mul16s::return +(dword()) mul16u((word) mul16u::a , (word) mul16u::b) +(boolean~) mul16u::$0 +(byte~) mul16u::$1 +(boolean~) mul16u::$2 +(boolean~) mul16u::$3 +(dword~) mul16u::$4 +(word~) mul16u::$5 +(dword~) mul16u::$6 +(label) mul16u::@1 +(label) mul16u::@2 +(label) mul16u::@3 +(label) mul16u::@4 +(label) mul16u::@return +(word) mul16u::a +(word) mul16u::b +(dword) mul16u::mb +(dword) mul16u::res +(dword) mul16u::return +(signed word()) mul8s((signed byte) mul8s::a , (signed byte) mul8s::b) +(byte~) mul8s::$0 +(byte~) mul8s::$1 +(boolean~) mul8s::$10 +(byte~) mul8s::$11 +(byte~) mul8s::$12 +(byte~) mul8s::$13 +(byte/signed byte/word/signed word/dword/signed dword~) mul8s::$14 +(signed word~) mul8s::$15 +(word~) mul8s::$2 +(boolean~) mul8s::$3 +(boolean~) mul8s::$4 +(byte~) mul8s::$5 +(byte~) mul8s::$6 +(byte~) mul8s::$7 +(byte/signed byte/word/signed word/dword/signed dword~) mul8s::$8 +(boolean~) mul8s::$9 +(label) mul8s::@1 +(label) mul8s::@2 +(label) mul8s::@return +(signed byte) mul8s::a +(signed byte) mul8s::b +(word) mul8s::m +(signed word) mul8s::return +(signed word()) mul8su((signed byte) mul8su::a , (byte) mul8su::b) +(byte~) mul8su::$0 +(byte~) mul8su::$1 +(word~) mul8su::$2 +(boolean~) mul8su::$3 +(boolean~) mul8su::$4 +(byte~) mul8su::$5 +(byte~) mul8su::$6 +(byte~) mul8su::$7 +(byte/signed byte/word/signed word/dword/signed dword~) mul8su::$8 +(signed word~) mul8su::$9 +(label) mul8su::@1 +(label) mul8su::@return +(signed byte) mul8su::a +(byte) mul8su::b +(word) mul8su::m +(signed word) mul8su::return +(word()) mul8u((byte) mul8u::a , (byte) mul8u::b) +(boolean~) mul8u::$0 +(byte~) mul8u::$1 +(boolean~) mul8u::$2 +(boolean~) mul8u::$3 +(word~) mul8u::$4 +(byte~) mul8u::$5 +(word~) mul8u::$6 +(label) mul8u::@1 +(label) mul8u::@2 +(label) mul8u::@3 +(label) mul8u::@4 +(label) mul8u::@return +(byte) mul8u::a +(byte) mul8u::b +(word) mul8u::mb +(word) mul8u::res +(word) mul8u::return +(word()) mulu16_sel((word) mulu16_sel::v1 , (word) mulu16_sel::v2 , (byte) mulu16_sel::select) +(dword~) mulu16_sel::$0 +(dword~) mulu16_sel::$1 +(word~) mulu16_sel::$2 +(label) mulu16_sel::@return +(word) mulu16_sel::return +(byte) mulu16_sel::select +(word) mulu16_sel::v1 +(word) mulu16_sel::v2 +(byte()) mulu8_sel((byte) mulu8_sel::v1 , (byte) mulu8_sel::v2 , (byte) mulu8_sel::select) +(word~) mulu8_sel::$0 +(word~) mulu8_sel::$1 +(byte~) mulu8_sel::$2 +(label) mulu8_sel::@return +(byte) mulu8_sel::return +(byte) mulu8_sel::select +(byte) mulu8_sel::v1 +(byte) mulu8_sel::v2 +(void()) print_byte((byte) print_byte::b) +(byte~) print_byte::$0 +(void~) print_byte::$1 +(byte~) print_byte::$2 +(void~) print_byte::$3 +(label) print_byte::@return +(byte) print_byte::b +(byte[]) print_byte::hextab +(void()) print_char((byte) print_char::ch) +(label) print_char::@return +(byte) print_char::ch +(void()) print_cls() +(byte*~) print_cls::$0 +(boolean~) print_cls::$1 +(label) print_cls::@1 +(label) print_cls::@return +(byte*) print_cls::sc +(void()) print_dword((dword) print_dword::dw) +(word~) print_dword::$0 +(void~) print_dword::$1 +(word~) print_dword::$2 +(void~) print_dword::$3 +(label) print_dword::@return +(dword) print_dword::dw +(void()) print_ln() +(byte*~) print_ln::$0 +(boolean~) print_ln::$1 +(label) print_ln::@1 +(label) print_ln::@return +(void()) print_sbyte((signed byte) print_sbyte::b) +(boolean~) print_sbyte::$0 +(boolean~) print_sbyte::$1 +(void~) print_sbyte::$2 +(signed byte~) print_sbyte::$3 +(byte~) print_sbyte::$4 +(void~) print_sbyte::$5 +(label) print_sbyte::@1 +(label) print_sbyte::@return +(signed byte) print_sbyte::b +(void()) print_sdword((signed dword) print_sdword::dw) +(boolean~) print_sdword::$0 +(boolean~) print_sdword::$1 +(void~) print_sdword::$2 +(signed dword~) print_sdword::$3 +(dword~) print_sdword::$4 +(void~) print_sdword::$5 +(label) print_sdword::@1 +(label) print_sdword::@return +(signed dword) print_sdword::dw +(void()) print_str((byte*) print_str::str) +(boolean~) print_str::$0 +(label) print_str::@1 +(label) print_str::@2 +(label) print_str::@3 +(label) print_str::@return +(byte*) print_str::str +(void()) print_sword((signed word) print_sword::w) +(boolean~) print_sword::$0 +(boolean~) print_sword::$1 +(void~) print_sword::$2 +(signed word~) print_sword::$3 +(word~) print_sword::$4 +(void~) print_sword::$5 +(label) print_sword::@1 +(label) print_sword::@return +(signed word) print_sword::w +(void()) print_word((word) print_word::w) +(byte~) print_word::$0 +(void~) print_word::$1 +(byte~) print_word::$2 +(void~) print_word::$3 +(label) print_word::@return +(word) print_word::w +(signed word) rem16s +(word) rem16u +(signed byte) rem8s +(byte) rem8u +(signed word()) sin16s((dword) sin16s::x) +(boolean~) sin16s::$0 +(boolean~) sin16s::$1 +(word/signed word/dword/signed dword~) sin16s::$10 +(word~) sin16s::$11 +(word~) sin16s::$12 +(word~) sin16s::$13 +(word~) sin16s::$14 +(word~) sin16s::$15 +(word~) sin16s::$16 +(signed word~) sin16s::$17 +(boolean~) sin16s::$18 +(boolean~) sin16s::$19 +(dword~) sin16s::$2 +(signed word~) sin16s::$20 +(signed word~) sin16s::$21 +(boolean~) sin16s::$3 +(boolean~) sin16s::$4 +(dword~) sin16s::$5 +(dword~) sin16s::$6 +(word~) sin16s::$7 +(word~) sin16s::$8 +(word~) sin16s::$9 +(label) sin16s::@1 +(label) sin16s::@2 +(label) sin16s::@3 +(label) sin16s::@return +(byte) sin16s::isUpper +(signed word) sin16s::return +(signed word) sin16s::sinx +(word) sin16s::usinx +(dword) sin16s::x +(word) sin16s::x1 +(word) sin16s::x2 +(word) sin16s::x3 +(word) sin16s::x3_6 +(word) sin16s::x4 +(word) sin16s::x5 +(word) sin16s::x5_128 +(void()) sin16s_gen((signed word*) sin16s_gen::sintab , (word) sin16s_gen::wavelength) +(dword~) sin16s_gen::$0 +(signed word~) sin16s_gen::$1 +(signed word*~) sin16s_gen::$2 +(dword~) sin16s_gen::$3 +(boolean~) sin16s_gen::$4 +(label) sin16s_gen::@1 +(label) sin16s_gen::@return +(word) sin16s_gen::i +(signed word*) sin16s_gen::sintab +(dword) sin16s_gen::step +(word) sin16s_gen::wavelength +(dword) sin16s_gen::x +(void()) sin16s_genb((signed word*) sin16s_genb::sintab , (word) sin16s_genb::wavelength) +(dword~) sin16s_genb::$0 +(word~) sin16s_genb::$1 +(signed word~) sin16s_genb::$2 +(signed word*~) sin16s_genb::$3 +(dword~) sin16s_genb::$4 +(boolean~) sin16s_genb::$5 +(label) sin16s_genb::@1 +(label) sin16s_genb::@return +(word) sin16s_genb::i +(signed word*) sin16s_genb::sintab +(dword) sin16s_genb::step +(word) sin16s_genb::wavelength +(dword) sin16s_genb::x +(signed word()) sin16sb((word) sin16sb::x) +(boolean~) sin16sb::$0 +(boolean~) sin16sb::$1 +(word~) sin16sb::$10 +(word~) sin16sb::$11 +(word~) sin16sb::$12 +(word~) sin16sb::$13 +(word~) sin16sb::$14 +(word~) sin16sb::$15 +(signed word~) sin16sb::$16 +(boolean~) sin16sb::$17 +(boolean~) sin16sb::$18 +(signed word~) sin16sb::$19 +(word~) sin16sb::$2 +(signed word~) sin16sb::$20 +(boolean~) sin16sb::$3 +(boolean~) sin16sb::$4 +(word~) sin16sb::$5 +(word~) sin16sb::$6 +(word~) sin16sb::$7 +(word~) sin16sb::$8 +(word/signed word/dword/signed dword~) sin16sb::$9 +(label) sin16sb::@1 +(label) sin16sb::@2 +(label) sin16sb::@3 +(label) sin16sb::@return +(byte) sin16sb::isUpper +(signed word) sin16sb::return +(signed word) sin16sb::sinx +(word) sin16sb::usinx +(word) sin16sb::x +(word) sin16sb::x1 +(word) sin16sb::x2 +(word) sin16sb::x3 +(word) sin16sb::x3_6 +(word) sin16sb::x4 +(word) sin16sb::x5 +(word) sin16sb::x5_128 +(signed byte()) sin8s((word) sin8s::x) +(boolean~) sin8s::$0 +(boolean~) sin8s::$1 +(byte~) sin8s::$10 +(byte/signed byte/word/signed word/dword/signed dword~) sin8s::$11 +(byte~) sin8s::$12 +(byte~) sin8s::$13 +(byte~) sin8s::$14 +(byte/word~) sin8s::$15 +(boolean~) sin8s::$16 +(boolean~) sin8s::$17 +(signed byte~) sin8s::$18 +(boolean~) sin8s::$19 +(word~) sin8s::$2 +(boolean~) sin8s::$20 +(signed byte~) sin8s::$21 +(signed byte~) sin8s::$22 +(boolean~) sin8s::$3 +(boolean~) sin8s::$4 +(word~) sin8s::$5 +(word~) sin8s::$6 +(byte~) sin8s::$7 +(byte~) sin8s::$8 +(byte~) sin8s::$9 +(label) sin8s::@1 +(label) sin8s::@2 +(label) sin8s::@3 +(label) sin8s::@4 +(label) sin8s::@return +(byte) sin8s::DIV_6 +(byte) sin8s::isUpper +(signed byte) sin8s::return +(signed byte) sin8s::sinx +(byte) sin8s::usinx +(word) sin8s::x +(byte) sin8s::x1 +(byte) sin8s::x2 +(byte) sin8s::x3 +(byte) sin8s::x3_6 +(byte) sin8s::x4 +(byte) sin8s::x5 +(byte) sin8s::x5_128 +(void()) sin8s_gen((signed byte*) sin8s_gen::sintab , (word) sin8s_gen::wavelength) +(word~) sin8s_gen::$0 +(signed byte~) sin8s_gen::$1 +(word~) sin8s_gen::$2 +(boolean~) sin8s_gen::$3 +(label) sin8s_gen::@1 +(label) sin8s_gen::@return +(word) sin8s_gen::i +(signed byte*) sin8s_gen::sintab +(word) sin8s_gen::step +(word) sin8s_gen::wavelength +(word) sin8s_gen::x + +Fixing lo/hi-lvalue with new tmpVar mul8s::$16 mul8s::$16 ← mul8s::$8 +Fixing lo/hi-lvalue with new tmpVar mul8s::$17 mul8s::$17 ← mul8s::$14 +Fixing lo/hi-lvalue with new tmpVar mul8su::$10 mul8su::$10 ← mul8su::$8 +Fixing lo/hi-lvalue with new tmpVar mul16s::$16 mul16s::$16 ← mul16s::$8 +Fixing lo/hi-lvalue with new tmpVar mul16s::$17 mul16s::$17 ← mul16s::$14 +Promoting byte to word in mul8u::mb ← ((word)) mul8u::b +Promoting word to dword in mul16u::mb ← ((dword)) mul16u::b +Promoting word/signed word/dword/signed dword to byte* in SCREEN ← ((byte*)) 1024 +INITIAL CONTROL FLOW GRAPH +@begin: scope:[] from + (byte) rem8u ← (byte/signed byte/word/signed word/dword/signed dword) 0 + to:@1 +div8u: scope:[div8u] from + (byte~) div8u::$0 ← call divr8u (byte) div8u::dividend (byte) div8u::divisor (byte/signed byte/word/signed word/dword/signed dword) 0 + (byte) div8u::return ← (byte~) div8u::$0 + to:div8u::@return +div8u::@return: scope:[div8u] from div8u div8u::@1 + (byte) div8u::return ← (byte) div8u::return + return (byte) div8u::return + to:@return +div8u::@1: scope:[div8u] from + to:div8u::@return +@1: scope:[] from @begin + to:@2 +divr8u: scope:[divr8u] from + (byte) divr8u::quotient ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (byte) divr8u::i ← (byte/signed byte/word/signed word/dword/signed dword) 0 + to:divr8u::@1 +divr8u::@1: scope:[divr8u] from divr8u divr8u::@3 + (byte~) divr8u::$0 ← (byte) divr8u::rem << (byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) divr8u::rem ← (byte~) divr8u::$0 + (byte~) divr8u::$1 ← (byte) divr8u::dividend & (byte/word/signed word/dword/signed dword) 128 + (boolean~) divr8u::$2 ← (byte~) divr8u::$1 != (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) divr8u::$3 ← ! (boolean~) divr8u::$2 + if((boolean~) divr8u::$3) goto divr8u::@2 + to:divr8u::@4 +divr8u::@2: scope:[divr8u] from divr8u::@1 divr8u::@4 + (byte~) divr8u::$5 ← (byte) divr8u::dividend << (byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) divr8u::dividend ← (byte~) divr8u::$5 + (byte~) divr8u::$6 ← (byte) divr8u::quotient << (byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) divr8u::quotient ← (byte~) divr8u::$6 + (boolean~) divr8u::$7 ← (byte) divr8u::rem >= (byte) divr8u::divisor + (boolean~) divr8u::$8 ← ! (boolean~) divr8u::$7 + if((boolean~) divr8u::$8) goto divr8u::@3 + to:divr8u::@5 +divr8u::@4: scope:[divr8u] from divr8u::@1 + (byte~) divr8u::$4 ← (byte) divr8u::rem | (byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) divr8u::rem ← (byte~) divr8u::$4 + to:divr8u::@2 +divr8u::@3: scope:[divr8u] from divr8u::@2 divr8u::@5 + (byte) divr8u::i ← ++ (byte) divr8u::i + (boolean~) divr8u::$10 ← (byte) divr8u::i != (byte/signed byte/word/signed word/dword/signed dword) 8 + if((boolean~) divr8u::$10) goto divr8u::@1 + to:divr8u::@6 +divr8u::@5: scope:[divr8u] from divr8u::@2 + (byte) divr8u::quotient ← ++ (byte) divr8u::quotient + (byte/signed byte/word/signed word/dword/signed dword~) divr8u::$9 ← (byte) divr8u::rem - (byte) divr8u::divisor + (byte) divr8u::rem ← (byte/signed byte/word/signed word/dword/signed dword~) divr8u::$9 + to:divr8u::@3 +divr8u::@6: scope:[divr8u] from divr8u::@3 + (byte) rem8u ← (byte) divr8u::rem + (byte) divr8u::return ← (byte) divr8u::quotient + to:divr8u::@return +divr8u::@return: scope:[divr8u] from divr8u::@6 divr8u::@7 + (byte) divr8u::return ← (byte) divr8u::return + return (byte) divr8u::return + to:@return +divr8u::@7: scope:[divr8u] from + to:divr8u::@return +@2: scope:[] from @1 + (word) rem16u ← (byte/signed byte/word/signed word/dword/signed dword) 0 + to:@3 +divr16u: scope:[divr16u] from + (word) divr16u::quotient ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (byte) divr16u::i ← (byte/signed byte/word/signed word/dword/signed dword) 0 + to:divr16u::@1 +divr16u::@1: scope:[divr16u] from divr16u divr16u::@3 + (word~) divr16u::$0 ← (word) divr16u::rem << (byte/signed byte/word/signed word/dword/signed dword) 1 + (word) divr16u::rem ← (word~) divr16u::$0 + (byte~) divr16u::$1 ← > (word) divr16u::dividend + (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 + (boolean~) divr16u::$3 ← (byte~) divr16u::$2 != (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) divr16u::$4 ← ! (boolean~) divr16u::$3 + if((boolean~) divr16u::$4) goto divr16u::@2 + to:divr16u::@4 +divr16u::@2: scope:[divr16u] from divr16u::@1 divr16u::@4 + (word~) divr16u::$6 ← (word) divr16u::dividend << (byte/signed byte/word/signed word/dword/signed dword) 1 + (word) divr16u::dividend ← (word~) divr16u::$6 + (word~) divr16u::$7 ← (word) divr16u::quotient << (byte/signed byte/word/signed word/dword/signed dword) 1 + (word) divr16u::quotient ← (word~) divr16u::$7 + (boolean~) divr16u::$8 ← (word) divr16u::rem >= (word) divr16u::divisor + (boolean~) divr16u::$9 ← ! (boolean~) divr16u::$8 + if((boolean~) divr16u::$9) goto divr16u::@3 + to:divr16u::@5 +divr16u::@4: scope:[divr16u] from divr16u::@1 + (word~) divr16u::$5 ← (word) divr16u::rem | (byte/signed byte/word/signed word/dword/signed dword) 1 + (word) divr16u::rem ← (word~) divr16u::$5 + to:divr16u::@2 +divr16u::@3: scope:[divr16u] from divr16u::@2 divr16u::@5 + (byte) divr16u::i ← ++ (byte) divr16u::i + (boolean~) divr16u::$11 ← (byte) divr16u::i != (byte/signed byte/word/signed word/dword/signed dword) 16 + if((boolean~) divr16u::$11) goto divr16u::@1 + to:divr16u::@6 +divr16u::@5: scope:[divr16u] from divr16u::@2 + (word) divr16u::quotient ← ++ (word) divr16u::quotient + (word~) divr16u::$10 ← (word) divr16u::rem - (word) divr16u::divisor + (word) divr16u::rem ← (word~) divr16u::$10 + to:divr16u::@3 +divr16u::@6: scope:[divr16u] from divr16u::@3 + (word) rem16u ← (word) divr16u::rem + (word) divr16u::return ← (word) divr16u::quotient + to:divr16u::@return +divr16u::@return: scope:[divr16u] from divr16u::@6 divr16u::@7 + (word) divr16u::return ← (word) divr16u::return + return (word) divr16u::return + to:@return +divr16u::@7: scope:[divr16u] from + to:divr16u::@return +@3: scope:[] from @2 + to:@4 +div16u: scope:[div16u] from + (word~) div16u::$0 ← call divr16u (word) div16u::dividend (word) div16u::divisor (byte/signed byte/word/signed word/dword/signed dword) 0 + (word) div16u::return ← (word~) div16u::$0 + to:div16u::@return +div16u::@return: scope:[div16u] from div16u div16u::@1 + (word) div16u::return ← (word) div16u::return + return (word) div16u::return + to:@return +div16u::@1: scope:[div16u] from + to:div16u::@return +@4: scope:[] from @3 + to:@5 +div32u16u: scope:[div32u16u] from + (word~) div32u16u::$0 ← > (dword) div32u16u::dividend + (word~) div32u16u::$1 ← call divr16u (word~) div32u16u::$0 (word) div32u16u::divisor (byte/signed byte/word/signed word/dword/signed dword) 0 + (word) div32u16u::quotient_hi ← (word~) div32u16u::$1 + (word~) div32u16u::$2 ← < (dword) div32u16u::dividend + (word~) div32u16u::$3 ← call divr16u (word~) div32u16u::$2 (word) div32u16u::divisor (word) rem16u + (word) div32u16u::quotient_lo ← (word~) div32u16u::$3 + (dword) div32u16u::quotient ← { (word) div32u16u::quotient_hi, (word) div32u16u::quotient_lo } + (dword) div32u16u::return ← (dword) div32u16u::quotient + to:div32u16u::@return +div32u16u::@return: scope:[div32u16u] from div32u16u div32u16u::@1 + (dword) div32u16u::return ← (dword) div32u16u::return + return (dword) div32u16u::return + to:@return +div32u16u::@1: scope:[div32u16u] from + to:div32u16u::@return +@5: scope:[] from @4 + (signed byte) rem8s ← (byte/signed byte/word/signed word/dword/signed dword) 0 + to:@6 +div8s: scope:[div8s] from + (byte) div8s::neg ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (byte) div8s::dividendu ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) div8s::$0 ← (signed byte) div8s::dividend < (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) div8s::$1 ← ! (boolean~) div8s::$0 + if((boolean~) div8s::$1) goto div8s::@1 + to:div8s::@7 +div8s::@1: scope:[div8s] from div8s div8s::@8 + (byte~) div8s::$4 ← ((byte)) (signed byte) div8s::dividend + (byte) div8s::dividendu ← (byte~) div8s::$4 + to:div8s::@2 +div8s::@7: scope:[div8s] from div8s + (signed byte~) div8s::$2 ← - (signed byte) div8s::dividend + (byte~) div8s::$3 ← ((byte)) (signed byte~) div8s::$2 + (byte) div8s::dividendu ← (byte~) div8s::$3 + (byte) div8s::neg ← (byte/signed byte/word/signed word/dword/signed dword) 1 + to:div8s::@2 +div8s::@2: scope:[div8s] from div8s::@1 div8s::@7 + (byte) div8s::divisoru ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) div8s::$5 ← (signed byte) div8s::divisor < (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) div8s::$6 ← ! (boolean~) div8s::$5 + if((boolean~) div8s::$6) goto div8s::@3 + to:div8s::@9 +div8s::@8: scope:[div8s] from + to:div8s::@1 +div8s::@3: scope:[div8s] from div8s::@10 div8s::@2 + (byte~) div8s::$10 ← ((byte)) (signed byte) div8s::divisor + (byte) div8s::divisoru ← (byte~) div8s::$10 + to:div8s::@4 +div8s::@9: scope:[div8s] from div8s::@2 + (signed byte~) div8s::$7 ← - (signed byte) div8s::divisor + (byte~) div8s::$8 ← ((byte)) (signed byte~) div8s::$7 + (byte) div8s::divisoru ← (byte~) div8s::$8 + (byte~) div8s::$9 ← (byte) div8s::neg ^ (byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) div8s::neg ← (byte~) div8s::$9 + to:div8s::@4 +div8s::@4: scope:[div8s] from div8s::@3 div8s::@9 + (byte~) div8s::$11 ← call div8u (byte) div8s::dividendu (byte) div8s::divisoru + (byte) div8s::resultu ← (byte~) div8s::$11 + (boolean~) div8s::$12 ← (byte) div8s::neg == (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) div8s::$13 ← ! (boolean~) div8s::$12 + if((boolean~) div8s::$13) goto div8s::@5 + to:div8s::@11 +div8s::@10: scope:[div8s] from + to:div8s::@3 +div8s::@5: scope:[div8s] from div8s::@13 div8s::@4 + (signed byte~) div8s::$16 ← ((signed byte)) (byte) rem8u + (signed byte~) div8s::$17 ← - (signed byte~) div8s::$16 + (signed byte) rem8s ← (signed byte~) div8s::$17 + (signed byte~) div8s::$18 ← ((signed byte)) (byte) div8s::resultu + (signed byte~) div8s::$19 ← - (signed byte~) div8s::$18 + (signed byte) div8s::return ← (signed byte~) div8s::$19 + to:div8s::@return +div8s::@11: scope:[div8s] from div8s::@4 + (signed byte~) div8s::$14 ← ((signed byte)) (byte) rem8u + (signed byte) rem8s ← (signed byte~) div8s::$14 + (signed byte~) div8s::$15 ← ((signed byte)) (byte) div8s::resultu + (signed byte) div8s::return ← (signed byte~) div8s::$15 + to:div8s::@return +div8s::@return: scope:[div8s] from div8s::@11 div8s::@5 div8s::@6 + (signed byte) div8s::return ← (signed byte) div8s::return + return (signed byte) div8s::return + to:@return +div8s::@12: scope:[div8s] from + to:div8s::@6 +div8s::@6: scope:[div8s] from div8s::@12 div8s::@14 + to:div8s::@return +div8s::@13: scope:[div8s] from + to:div8s::@5 +div8s::@14: scope:[div8s] from + to:div8s::@6 +@6: scope:[] from @5 + (signed word) rem16s ← (byte/signed byte/word/signed word/dword/signed dword) 0 + to:@7 +div16s: scope:[div16s] from + (byte) div16s::neg ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (word) div16s::dividendu ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) div16s::$0 ← (signed word) div16s::dividend < (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) div16s::$1 ← ! (boolean~) div16s::$0 + if((boolean~) div16s::$1) goto div16s::@1 + to:div16s::@7 +div16s::@1: scope:[div16s] from div16s div16s::@8 + (word~) div16s::$4 ← ((word)) (signed word) div16s::dividend + (word) div16s::dividendu ← (word~) div16s::$4 + to:div16s::@2 +div16s::@7: scope:[div16s] from div16s + (signed word~) div16s::$2 ← - (signed word) div16s::dividend + (word~) div16s::$3 ← ((word)) (signed word~) div16s::$2 + (word) div16s::dividendu ← (word~) div16s::$3 + (byte) div16s::neg ← (byte/signed byte/word/signed word/dword/signed dword) 1 + to:div16s::@2 +div16s::@2: scope:[div16s] from div16s::@1 div16s::@7 + (word) div16s::divisoru ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) div16s::$5 ← (signed word) div16s::divisor < (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) div16s::$6 ← ! (boolean~) div16s::$5 + if((boolean~) div16s::$6) goto div16s::@3 + to:div16s::@9 +div16s::@8: scope:[div16s] from + to:div16s::@1 +div16s::@3: scope:[div16s] from div16s::@10 div16s::@2 + (word~) div16s::$10 ← ((word)) (signed word) div16s::divisor + (word) div16s::divisoru ← (word~) div16s::$10 + to:div16s::@4 +div16s::@9: scope:[div16s] from div16s::@2 + (signed word~) div16s::$7 ← - (signed word) div16s::divisor + (word~) div16s::$8 ← ((word)) (signed word~) div16s::$7 + (word) div16s::divisoru ← (word~) div16s::$8 + (byte~) div16s::$9 ← (byte) div16s::neg ^ (byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) div16s::neg ← (byte~) div16s::$9 + to:div16s::@4 +div16s::@4: scope:[div16s] from div16s::@3 div16s::@9 + (word~) div16s::$11 ← call div16u (word) div16s::dividendu (word) div16s::divisoru + (word) div16s::resultu ← (word~) div16s::$11 + (boolean~) div16s::$12 ← (byte) div16s::neg == (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) div16s::$13 ← ! (boolean~) div16s::$12 + if((boolean~) div16s::$13) goto div16s::@5 + to:div16s::@11 +div16s::@10: scope:[div16s] from + to:div16s::@3 +div16s::@5: scope:[div16s] from div16s::@13 div16s::@4 + (signed word~) div16s::$16 ← ((signed word)) (word) rem16u + (signed word~) div16s::$17 ← - (signed word~) div16s::$16 + (signed word) rem16s ← (signed word~) div16s::$17 + (signed word~) div16s::$18 ← ((signed word)) (word) div16s::resultu + (signed word~) div16s::$19 ← - (signed word~) div16s::$18 + (signed word) div16s::return ← (signed word~) div16s::$19 + to:div16s::@return +div16s::@11: scope:[div16s] from div16s::@4 + (signed word~) div16s::$14 ← ((signed word)) (word) rem16u + (signed word) rem16s ← (signed word~) div16s::$14 + (signed word~) div16s::$15 ← ((signed word)) (word) div16s::resultu + (signed word) div16s::return ← (signed word~) div16s::$15 + to:div16s::@return +div16s::@return: scope:[div16s] from div16s::@11 div16s::@5 div16s::@6 + (signed word) div16s::return ← (signed word) div16s::return + return (signed word) div16s::return + to:@return +div16s::@12: scope:[div16s] from + to:div16s::@6 +div16s::@6: scope:[div16s] from div16s::@12 div16s::@14 + to:div16s::@return +div16s::@13: scope:[div16s] from + to:div16s::@5 +div16s::@14: scope:[div16s] from + to:div16s::@6 +@7: scope:[] from @6 + to:@8 +mul8u: scope:[mul8u] from + (word) mul8u::res ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (word) mul8u::mb ← ((word)) (byte) mul8u::b + to:mul8u::@1 +mul8u::@1: scope:[mul8u] from mul8u mul8u::@4 + (boolean~) mul8u::$0 ← (byte) mul8u::a != (byte/signed byte/word/signed word/dword/signed dword) 0 + if((boolean~) mul8u::$0) goto mul8u::@2 + to:mul8u::@5 +mul8u::@2: scope:[mul8u] from mul8u::@1 mul8u::@6 + (byte~) mul8u::$1 ← (byte) mul8u::a & (byte/signed byte/word/signed word/dword/signed dword) 1 + (boolean~) mul8u::$2 ← (byte~) mul8u::$1 != (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) mul8u::$3 ← ! (boolean~) mul8u::$2 + if((boolean~) mul8u::$3) goto mul8u::@4 + to:mul8u::@7 +mul8u::@5: scope:[mul8u] from mul8u::@1 + to:mul8u::@3 +mul8u::@3: scope:[mul8u] from mul8u::@5 mul8u::@8 + (word) mul8u::return ← (word) mul8u::res + to:mul8u::@return +mul8u::@6: scope:[mul8u] from + to:mul8u::@2 +mul8u::@4: scope:[mul8u] from mul8u::@2 mul8u::@7 + (byte~) mul8u::$5 ← (byte) mul8u::a >> (byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) mul8u::a ← (byte~) mul8u::$5 + (word~) mul8u::$6 ← (word) mul8u::mb << (byte/signed byte/word/signed word/dword/signed dword) 1 + (word) mul8u::mb ← (word~) mul8u::$6 + to:mul8u::@1 +mul8u::@7: scope:[mul8u] from mul8u::@2 + (word~) mul8u::$4 ← (word) mul8u::res + (word) mul8u::mb + (word) mul8u::res ← (word~) mul8u::$4 + to:mul8u::@4 +mul8u::@8: scope:[mul8u] from + to:mul8u::@3 +mul8u::@return: scope:[mul8u] from mul8u::@3 mul8u::@9 + (word) mul8u::return ← (word) mul8u::return + return (word) mul8u::return + to:@return +mul8u::@9: scope:[mul8u] from + to:mul8u::@return +@8: scope:[] from @7 + to:@9 +mul8s: scope:[mul8s] from + (byte~) mul8s::$0 ← ((byte)) (signed byte) mul8s::a + (byte~) mul8s::$1 ← ((byte)) (signed byte) mul8s::b + (word~) mul8s::$2 ← call mul8u (byte~) mul8s::$0 (byte~) mul8s::$1 + (word) mul8s::m ← (word~) mul8s::$2 + (boolean~) mul8s::$3 ← (signed byte) mul8s::a < (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) mul8s::$4 ← ! (boolean~) mul8s::$3 + if((boolean~) mul8s::$4) goto mul8s::@1 + to:mul8s::@3 +mul8s::@1: scope:[mul8s] from mul8s mul8s::@3 + (boolean~) mul8s::$9 ← (signed byte) mul8s::b < (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) mul8s::$10 ← ! (boolean~) mul8s::$9 + if((boolean~) mul8s::$10) goto mul8s::@2 + to:mul8s::@4 +mul8s::@3: scope:[mul8s] from mul8s + (byte~) mul8s::$5 ← > (word) mul8s::m + (byte~) mul8s::$6 ← > (word) mul8s::m + (byte~) mul8s::$7 ← ((byte)) (signed byte) mul8s::b + (byte/signed byte/word/signed word/dword/signed dword~) mul8s::$8 ← (byte~) mul8s::$6 - (byte~) mul8s::$7 + (byte/signed byte/word/signed word/dword/signed dword~) mul8s::$16 ← (byte/signed byte/word/signed word/dword/signed dword~) mul8s::$8 + (word) mul8s::m ← (word) mul8s::m hi= (byte/signed byte/word/signed word/dword/signed dword~) mul8s::$16 + to:mul8s::@1 +mul8s::@2: scope:[mul8s] from mul8s::@1 mul8s::@4 + (signed word~) mul8s::$15 ← ((signed word)) (word) mul8s::m + (signed word) mul8s::return ← (signed word~) mul8s::$15 + to:mul8s::@return +mul8s::@4: scope:[mul8s] from mul8s::@1 + (byte~) mul8s::$11 ← > (word) mul8s::m + (byte~) mul8s::$12 ← > (word) mul8s::m + (byte~) mul8s::$13 ← ((byte)) (signed byte) mul8s::a + (byte/signed byte/word/signed word/dword/signed dword~) mul8s::$14 ← (byte~) mul8s::$12 - (byte~) mul8s::$13 + (byte/signed byte/word/signed word/dword/signed dword~) mul8s::$17 ← (byte/signed byte/word/signed word/dword/signed dword~) mul8s::$14 + (word) mul8s::m ← (word) mul8s::m hi= (byte/signed byte/word/signed word/dword/signed dword~) mul8s::$17 + to:mul8s::@2 +mul8s::@return: scope:[mul8s] from mul8s::@2 mul8s::@5 + (signed word) mul8s::return ← (signed word) mul8s::return + return (signed word) mul8s::return + to:@return +mul8s::@5: scope:[mul8s] from + to:mul8s::@return +@9: scope:[] from @8 + to:@10 +mul8su: scope:[mul8su] from + (byte~) mul8su::$0 ← ((byte)) (signed byte) mul8su::a + (byte~) mul8su::$1 ← ((byte)) (byte) mul8su::b + (word~) mul8su::$2 ← call mul8u (byte~) mul8su::$0 (byte~) mul8su::$1 + (word) mul8su::m ← (word~) mul8su::$2 + (boolean~) mul8su::$3 ← (signed byte) mul8su::a < (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) mul8su::$4 ← ! (boolean~) mul8su::$3 + if((boolean~) mul8su::$4) goto mul8su::@1 + to:mul8su::@2 +mul8su::@1: scope:[mul8su] from mul8su mul8su::@2 + (signed word~) mul8su::$9 ← ((signed word)) (word) mul8su::m + (signed word) mul8su::return ← (signed word~) mul8su::$9 + to:mul8su::@return +mul8su::@2: scope:[mul8su] from mul8su + (byte~) mul8su::$5 ← > (word) mul8su::m + (byte~) mul8su::$6 ← > (word) mul8su::m + (byte~) mul8su::$7 ← ((byte)) (byte) mul8su::b + (byte/signed byte/word/signed word/dword/signed dword~) mul8su::$8 ← (byte~) mul8su::$6 - (byte~) mul8su::$7 + (byte/signed byte/word/signed word/dword/signed dword~) mul8su::$10 ← (byte/signed byte/word/signed word/dword/signed dword~) mul8su::$8 + (word) mul8su::m ← (word) mul8su::m hi= (byte/signed byte/word/signed word/dword/signed dword~) mul8su::$10 + to:mul8su::@1 +mul8su::@return: scope:[mul8su] from mul8su::@1 mul8su::@3 + (signed word) mul8su::return ← (signed word) mul8su::return + return (signed word) mul8su::return + to:@return +mul8su::@3: scope:[mul8su] from + to:mul8su::@return +@10: scope:[] from @9 + to:@11 +mul16u: scope:[mul16u] from + (dword) mul16u::res ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (dword) mul16u::mb ← ((dword)) (word) mul16u::b + to:mul16u::@1 +mul16u::@1: scope:[mul16u] from mul16u mul16u::@4 + (boolean~) mul16u::$0 ← (word) mul16u::a != (byte/signed byte/word/signed word/dword/signed dword) 0 + if((boolean~) mul16u::$0) goto mul16u::@2 + to:mul16u::@5 +mul16u::@2: scope:[mul16u] from mul16u::@1 mul16u::@6 + (byte~) mul16u::$1 ← (word) mul16u::a & (byte/signed byte/word/signed word/dword/signed dword) 1 + (boolean~) mul16u::$2 ← (byte~) mul16u::$1 != (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) mul16u::$3 ← ! (boolean~) mul16u::$2 + if((boolean~) mul16u::$3) goto mul16u::@4 + to:mul16u::@7 +mul16u::@5: scope:[mul16u] from mul16u::@1 + to:mul16u::@3 +mul16u::@3: scope:[mul16u] from mul16u::@5 mul16u::@8 + (dword) mul16u::return ← (dword) mul16u::res + to:mul16u::@return +mul16u::@6: scope:[mul16u] from + to:mul16u::@2 +mul16u::@4: scope:[mul16u] from mul16u::@2 mul16u::@7 + (word~) mul16u::$5 ← (word) mul16u::a >> (byte/signed byte/word/signed word/dword/signed dword) 1 + (word) mul16u::a ← (word~) mul16u::$5 + (dword~) mul16u::$6 ← (dword) mul16u::mb << (byte/signed byte/word/signed word/dword/signed dword) 1 + (dword) mul16u::mb ← (dword~) mul16u::$6 + to:mul16u::@1 +mul16u::@7: scope:[mul16u] from mul16u::@2 + (dword~) mul16u::$4 ← (dword) mul16u::res + (dword) mul16u::mb + (dword) mul16u::res ← (dword~) mul16u::$4 + to:mul16u::@4 +mul16u::@8: scope:[mul16u] from + to:mul16u::@3 +mul16u::@return: scope:[mul16u] from mul16u::@3 mul16u::@9 + (dword) mul16u::return ← (dword) mul16u::return + return (dword) mul16u::return + to:@return +mul16u::@9: scope:[mul16u] from + to:mul16u::@return +@11: scope:[] from @10 + to:@12 +mul16s: scope:[mul16s] from + (word~) mul16s::$0 ← ((word)) (signed word) mul16s::a + (word~) mul16s::$1 ← ((word)) (signed word) mul16s::b + (dword~) mul16s::$2 ← call mul16u (word~) mul16s::$0 (word~) mul16s::$1 + (dword) mul16s::m ← (dword~) mul16s::$2 + (boolean~) mul16s::$3 ← (signed word) mul16s::a < (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) mul16s::$4 ← ! (boolean~) mul16s::$3 + if((boolean~) mul16s::$4) goto mul16s::@1 + to:mul16s::@3 +mul16s::@1: scope:[mul16s] from mul16s mul16s::@3 + (boolean~) mul16s::$9 ← (signed word) mul16s::b < (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) mul16s::$10 ← ! (boolean~) mul16s::$9 + if((boolean~) mul16s::$10) goto mul16s::@2 + to:mul16s::@4 +mul16s::@3: scope:[mul16s] from mul16s + (word~) mul16s::$5 ← > (dword) mul16s::m + (word~) mul16s::$6 ← > (dword) mul16s::m + (word~) mul16s::$7 ← ((word)) (signed word) mul16s::b + (word~) mul16s::$8 ← (word~) mul16s::$6 - (word~) mul16s::$7 + (word~) mul16s::$16 ← (word~) mul16s::$8 + (dword) mul16s::m ← (dword) mul16s::m hi= (word~) mul16s::$16 + to:mul16s::@1 +mul16s::@2: scope:[mul16s] from mul16s::@1 mul16s::@4 + (signed dword~) mul16s::$15 ← ((signed dword)) (dword) mul16s::m + (signed dword) mul16s::return ← (signed dword~) mul16s::$15 + to:mul16s::@return +mul16s::@4: scope:[mul16s] from mul16s::@1 + (word~) mul16s::$11 ← > (dword) mul16s::m + (word~) mul16s::$12 ← > (dword) mul16s::m + (word~) mul16s::$13 ← ((word)) (signed word) mul16s::a + (word~) mul16s::$14 ← (word~) mul16s::$12 - (word~) mul16s::$13 + (word~) mul16s::$17 ← (word~) mul16s::$14 + (dword) mul16s::m ← (dword) mul16s::m hi= (word~) mul16s::$17 + to:mul16s::@2 +mul16s::@return: scope:[mul16s] from mul16s::@2 mul16s::@5 + (signed dword) mul16s::return ← (signed dword) mul16s::return + return (signed dword) mul16s::return + to:@return +mul16s::@5: scope:[mul16s] from + to:mul16s::@return +@12: scope:[] from @11 + (dword) PI2_u4f28 ← (dword/signed dword) 1686629713 + (dword) PI_u4f28 ← (dword/signed dword) 843314857 + (dword) PI_HALF_u4f28 ← (dword/signed dword) 421657428 + (word) PI2_u4f12 ← (word/signed word/dword/signed dword) 25736 + (word) PI_u4f12 ← (word/signed word/dword/signed dword) 12868 + (word) PI_HALF_u4f12 ← (word/signed word/dword/signed dword) 6434 + to:@13 +sin16s_gen: scope:[sin16s_gen] from + (dword~) sin16s_gen::$0 ← call div32u16u (dword) PI2_u4f28 (word) sin16s_gen::wavelength + (dword) sin16s_gen::step ← (dword~) sin16s_gen::$0 + (dword) sin16s_gen::x ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (word) sin16s_gen::i ← (byte/signed byte/word/signed word/dword/signed dword) 0 + to:sin16s_gen::@1 +sin16s_gen::@1: scope:[sin16s_gen] from sin16s_gen sin16s_gen::@1 + (signed word~) sin16s_gen::$1 ← call sin16s (dword) sin16s_gen::x + *((signed word*) sin16s_gen::sintab) ← (signed word~) sin16s_gen::$1 + (signed word*~) sin16s_gen::$2 ← (signed word*) sin16s_gen::sintab + (byte/signed byte/word/signed word/dword/signed dword) 2 + (signed word*) sin16s_gen::sintab ← (signed word*~) sin16s_gen::$2 + (dword~) sin16s_gen::$3 ← (dword) sin16s_gen::x + (dword) sin16s_gen::step + (dword) sin16s_gen::x ← (dword~) sin16s_gen::$3 + (word) sin16s_gen::i ← ++ (word) sin16s_gen::i + (boolean~) sin16s_gen::$4 ← (word) sin16s_gen::i < (word) sin16s_gen::wavelength + if((boolean~) sin16s_gen::$4) goto sin16s_gen::@1 + to:sin16s_gen::@2 +sin16s_gen::@2: scope:[sin16s_gen] from sin16s_gen::@1 + to:sin16s_gen::@return +sin16s_gen::@return: scope:[sin16s_gen] from sin16s_gen::@2 + return + to:@return +@13: scope:[] from @12 + to:@14 +sin8s_gen: scope:[sin8s_gen] from + (word~) sin8s_gen::$0 ← call div16u (word) PI2_u4f12 (word) sin8s_gen::wavelength + (word) sin8s_gen::step ← (word~) sin8s_gen::$0 + (word) sin8s_gen::x ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (word) sin8s_gen::i ← (byte/signed byte/word/signed word/dword/signed dword) 0 + to:sin8s_gen::@1 +sin8s_gen::@1: scope:[sin8s_gen] from sin8s_gen sin8s_gen::@1 + (signed byte~) sin8s_gen::$1 ← call sin8s (word) sin8s_gen::x + *((signed byte*) sin8s_gen::sintab) ← (signed byte~) sin8s_gen::$1 + (signed byte*) sin8s_gen::sintab ← ++ (signed byte*) sin8s_gen::sintab + (word~) sin8s_gen::$2 ← (word) sin8s_gen::x + (word) sin8s_gen::step + (word) sin8s_gen::x ← (word~) sin8s_gen::$2 + (word) sin8s_gen::i ← ++ (word) sin8s_gen::i + (boolean~) sin8s_gen::$3 ← (word) sin8s_gen::i < (word) sin8s_gen::wavelength + if((boolean~) sin8s_gen::$3) goto sin8s_gen::@1 + to:sin8s_gen::@2 +sin8s_gen::@2: scope:[sin8s_gen] from sin8s_gen::@1 + to:sin8s_gen::@return +sin8s_gen::@return: scope:[sin8s_gen] from sin8s_gen::@2 + return + to:@return +@14: scope:[] from @13 + to:@15 +sin16s: scope:[sin16s] from + (byte) sin16s::isUpper ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) sin16s::$0 ← (dword) sin16s::x >= (dword) PI_u4f28 + (boolean~) sin16s::$1 ← ! (boolean~) sin16s::$0 + if((boolean~) sin16s::$1) goto sin16s::@1 + to:sin16s::@4 +sin16s::@1: scope:[sin16s] from sin16s sin16s::@4 + (boolean~) sin16s::$3 ← (dword) sin16s::x >= (dword) PI_HALF_u4f28 + (boolean~) sin16s::$4 ← ! (boolean~) sin16s::$3 + if((boolean~) sin16s::$4) goto sin16s::@2 + to:sin16s::@5 +sin16s::@4: scope:[sin16s] from sin16s + (dword~) sin16s::$2 ← (dword) sin16s::x - (dword) PI_u4f28 + (dword) sin16s::x ← (dword~) sin16s::$2 + (byte) sin16s::isUpper ← (byte/signed byte/word/signed word/dword/signed dword) 1 + to:sin16s::@1 +sin16s::@2: scope:[sin16s] from sin16s::@1 sin16s::@5 + (dword~) sin16s::$6 ← (dword) sin16s::x << (byte/signed byte/word/signed word/dword/signed dword) 3 + (word~) sin16s::$7 ← > (dword~) sin16s::$6 + (word) sin16s::x1 ← (word~) sin16s::$7 + (word~) sin16s::$8 ← call mulu16_sel (word) sin16s::x1 (word) sin16s::x1 (byte/signed byte/word/signed word/dword/signed dword) 0 + (word) sin16s::x2 ← (word~) sin16s::$8 + (word~) sin16s::$9 ← call mulu16_sel (word) sin16s::x2 (word) sin16s::x1 (byte/signed byte/word/signed word/dword/signed dword) 1 + (word) sin16s::x3 ← (word~) sin16s::$9 + (word/signed word/dword/signed dword~) sin16s::$10 ← (dword/signed dword) 65536 / (byte/signed byte/word/signed word/dword/signed dword) 6 + (word~) sin16s::$11 ← call mulu16_sel (word) sin16s::x3 (word/signed word/dword/signed dword~) sin16s::$10 (byte/signed byte/word/signed word/dword/signed dword) 1 + (word) sin16s::x3_6 ← (word~) sin16s::$11 + (word~) sin16s::$12 ← (word) sin16s::x1 - (word) sin16s::x3_6 + (word) sin16s::usinx ← (word~) sin16s::$12 + (word~) sin16s::$13 ← call mulu16_sel (word) sin16s::x3 (word) sin16s::x1 (byte/signed byte/word/signed word/dword/signed dword) 0 + (word) sin16s::x4 ← (word~) sin16s::$13 + (word~) sin16s::$14 ← call mulu16_sel (word) sin16s::x4 (word) sin16s::x1 (byte/signed byte/word/signed word/dword/signed dword) 0 + (word) sin16s::x5 ← (word~) sin16s::$14 + (word~) sin16s::$15 ← (word) sin16s::x5 >> (byte/signed byte/word/signed word/dword/signed dword) 4 + (word) sin16s::x5_128 ← (word~) sin16s::$15 + (word~) sin16s::$16 ← (word) sin16s::usinx + (word) sin16s::x5_128 + (word) sin16s::usinx ← (word~) sin16s::$16 + (signed word~) sin16s::$17 ← ((signed word)) (word) sin16s::usinx + (signed word) sin16s::sinx ← (signed word~) sin16s::$17 + (boolean~) sin16s::$18 ← (byte) sin16s::isUpper != (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) sin16s::$19 ← ! (boolean~) sin16s::$18 + if((boolean~) sin16s::$19) goto sin16s::@3 + to:sin16s::@6 +sin16s::@5: scope:[sin16s] from sin16s::@1 + (dword~) sin16s::$5 ← (dword) PI_u4f28 - (dword) sin16s::x + (dword) sin16s::x ← (dword~) sin16s::$5 + to:sin16s::@2 +sin16s::@3: scope:[sin16s] from sin16s::@2 sin16s::@6 + (signed word) sin16s::return ← (signed word) sin16s::sinx + to:sin16s::@return +sin16s::@6: scope:[sin16s] from sin16s::@2 + (signed word~) sin16s::$20 ← ((signed word)) (word) sin16s::usinx + (signed word~) sin16s::$21 ← - (signed word~) sin16s::$20 + (signed word) sin16s::sinx ← (signed word~) sin16s::$21 + to:sin16s::@3 +sin16s::@return: scope:[sin16s] from sin16s::@3 sin16s::@7 + (signed word) sin16s::return ← (signed word) sin16s::return + return (signed word) sin16s::return + to:@return +sin16s::@7: scope:[sin16s] from + to:sin16s::@return +@15: scope:[] from @14 + to:@16 +sin8s: scope:[sin8s] from + (byte) sin8s::isUpper ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) sin8s::$0 ← (word) sin8s::x >= (word) PI_u4f12 + (boolean~) sin8s::$1 ← ! (boolean~) sin8s::$0 + if((boolean~) sin8s::$1) goto sin8s::@1 + to:sin8s::@5 +sin8s::@1: scope:[sin8s] from sin8s sin8s::@5 + (boolean~) sin8s::$3 ← (word) sin8s::x >= (word) PI_HALF_u4f12 + (boolean~) sin8s::$4 ← ! (boolean~) sin8s::$3 + if((boolean~) sin8s::$4) goto sin8s::@2 + to:sin8s::@6 +sin8s::@5: scope:[sin8s] from sin8s + (word~) sin8s::$2 ← (word) sin8s::x - (word) PI_u4f12 + (word) sin8s::x ← (word~) sin8s::$2 + (byte) sin8s::isUpper ← (byte/signed byte/word/signed word/dword/signed dword) 1 + to:sin8s::@1 +sin8s::@2: scope:[sin8s] from sin8s::@1 sin8s::@6 + (word~) sin8s::$6 ← (word) sin8s::x << (byte/signed byte/word/signed word/dword/signed dword) 3 + (byte~) sin8s::$7 ← > (word~) sin8s::$6 + (byte) sin8s::x1 ← (byte~) sin8s::$7 + (byte~) sin8s::$8 ← call mulu8_sel (byte) sin8s::x1 (byte) sin8s::x1 (byte/signed byte/word/signed word/dword/signed dword) 0 + (byte) sin8s::x2 ← (byte~) sin8s::$8 + (byte~) sin8s::$9 ← call mulu8_sel (byte) sin8s::x2 (byte) sin8s::x1 (byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) sin8s::x3 ← (byte~) sin8s::$9 + (byte) sin8s::DIV_6 ← (byte/signed byte/word/signed word/dword/signed dword) 43 + (byte~) sin8s::$10 ← call mulu8_sel (byte) sin8s::x3 (byte) sin8s::DIV_6 (byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) sin8s::x3_6 ← (byte~) sin8s::$10 + (byte/signed byte/word/signed word/dword/signed dword~) sin8s::$11 ← (byte) sin8s::x1 - (byte) sin8s::x3_6 + (byte) sin8s::usinx ← (byte/signed byte/word/signed word/dword/signed dword~) sin8s::$11 + (byte~) sin8s::$12 ← call mulu8_sel (byte) sin8s::x3 (byte) sin8s::x1 (byte/signed byte/word/signed word/dword/signed dword) 0 + (byte) sin8s::x4 ← (byte~) sin8s::$12 + (byte~) sin8s::$13 ← call mulu8_sel (byte) sin8s::x4 (byte) sin8s::x1 (byte/signed byte/word/signed word/dword/signed dword) 0 + (byte) sin8s::x5 ← (byte~) sin8s::$13 + (byte~) sin8s::$14 ← (byte) sin8s::x5 >> (byte/signed byte/word/signed word/dword/signed dword) 4 + (byte) sin8s::x5_128 ← (byte~) sin8s::$14 + (byte/word~) sin8s::$15 ← (byte) sin8s::usinx + (byte) sin8s::x5_128 + (byte) sin8s::usinx ← (byte/word~) sin8s::$15 + (boolean~) sin8s::$16 ← (byte) sin8s::usinx >= (byte/word/signed word/dword/signed dword) 128 + (boolean~) sin8s::$17 ← ! (boolean~) sin8s::$16 + if((boolean~) sin8s::$17) goto sin8s::@3 + to:sin8s::@7 +sin8s::@6: scope:[sin8s] from sin8s::@1 + (word~) sin8s::$5 ← (word) PI_u4f12 - (word) sin8s::x + (word) sin8s::x ← (word~) sin8s::$5 + to:sin8s::@2 +sin8s::@3: scope:[sin8s] from sin8s::@2 sin8s::@7 + (signed byte~) sin8s::$18 ← ((signed byte)) (byte) sin8s::usinx + (signed byte) sin8s::sinx ← (signed byte~) sin8s::$18 + (boolean~) sin8s::$19 ← (byte) sin8s::isUpper != (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) sin8s::$20 ← ! (boolean~) sin8s::$19 + if((boolean~) sin8s::$20) goto sin8s::@4 + to:sin8s::@8 +sin8s::@7: scope:[sin8s] from sin8s::@2 + (byte) sin8s::usinx ← -- (byte) sin8s::usinx + to:sin8s::@3 +sin8s::@4: scope:[sin8s] from sin8s::@3 sin8s::@8 + (signed byte) sin8s::return ← (signed byte) sin8s::sinx + to:sin8s::@return +sin8s::@8: scope:[sin8s] from sin8s::@3 + (signed byte~) sin8s::$21 ← ((signed byte)) (byte) sin8s::usinx + (signed byte~) sin8s::$22 ← - (signed byte~) sin8s::$21 + (signed byte) sin8s::sinx ← (signed byte~) sin8s::$22 + to:sin8s::@4 +sin8s::@return: scope:[sin8s] from sin8s::@4 sin8s::@9 + (signed byte) sin8s::return ← (signed byte) sin8s::return + return (signed byte) sin8s::return + to:@return +sin8s::@9: scope:[sin8s] from + to:sin8s::@return +@16: scope:[] from @15 + to:@17 +mulu16_sel: scope:[mulu16_sel] from + (dword~) mulu16_sel::$0 ← call mul16u (word) mulu16_sel::v1 (word) mulu16_sel::v2 + (dword~) mulu16_sel::$1 ← (dword~) mulu16_sel::$0 << (byte) mulu16_sel::select + (word~) mulu16_sel::$2 ← > (dword~) mulu16_sel::$1 + (word) mulu16_sel::return ← (word~) mulu16_sel::$2 + to:mulu16_sel::@return +mulu16_sel::@return: scope:[mulu16_sel] from mulu16_sel mulu16_sel::@1 + (word) mulu16_sel::return ← (word) mulu16_sel::return + return (word) mulu16_sel::return + to:@return +mulu16_sel::@1: scope:[mulu16_sel] from + to:mulu16_sel::@return +@17: scope:[] from @16 + to:@18 +mulu8_sel: scope:[mulu8_sel] from + (word~) mulu8_sel::$0 ← call mul8u (byte) mulu8_sel::v1 (byte) mulu8_sel::v2 + (word~) mulu8_sel::$1 ← (word~) mulu8_sel::$0 << (byte) mulu8_sel::select + (byte~) mulu8_sel::$2 ← > (word~) mulu8_sel::$1 + (byte) mulu8_sel::return ← (byte~) mulu8_sel::$2 + to:mulu8_sel::@return +mulu8_sel::@return: scope:[mulu8_sel] from mulu8_sel mulu8_sel::@1 + (byte) mulu8_sel::return ← (byte) mulu8_sel::return + return (byte) mulu8_sel::return + to:@return +mulu8_sel::@1: scope:[mulu8_sel] from + to:mulu8_sel::@return +@18: scope:[] from @17 + to:@19 +sin16s_genb: scope:[sin16s_genb] from + (dword~) sin16s_genb::$0 ← call div32u16u (dword) PI2_u4f28 (word) sin16s_genb::wavelength + (dword) sin16s_genb::step ← (dword~) sin16s_genb::$0 + (dword) sin16s_genb::x ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (word) sin16s_genb::i ← (byte/signed byte/word/signed word/dword/signed dword) 0 + to:sin16s_genb::@1 +sin16s_genb::@1: scope:[sin16s_genb] from sin16s_genb sin16s_genb::@1 + (word~) sin16s_genb::$1 ← > (dword) sin16s_genb::x + (signed word~) sin16s_genb::$2 ← call sin16sb (word~) sin16s_genb::$1 + *((signed word*) sin16s_genb::sintab) ← (signed word~) sin16s_genb::$2 + (signed word*~) sin16s_genb::$3 ← (signed word*) sin16s_genb::sintab + (byte/signed byte/word/signed word/dword/signed dword) 2 + (signed word*) sin16s_genb::sintab ← (signed word*~) sin16s_genb::$3 + (dword~) sin16s_genb::$4 ← (dword) sin16s_genb::x + (dword) sin16s_genb::step + (dword) sin16s_genb::x ← (dword~) sin16s_genb::$4 + (word) sin16s_genb::i ← ++ (word) sin16s_genb::i + (boolean~) sin16s_genb::$5 ← (word) sin16s_genb::i < (word) sin16s_genb::wavelength + if((boolean~) sin16s_genb::$5) goto sin16s_genb::@1 + to:sin16s_genb::@2 +sin16s_genb::@2: scope:[sin16s_genb] from sin16s_genb::@1 + to:sin16s_genb::@return +sin16s_genb::@return: scope:[sin16s_genb] from sin16s_genb::@2 + return + to:@return +@19: scope:[] from @18 + to:@20 +sin16sb: scope:[sin16sb] from + (byte) sin16sb::isUpper ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) sin16sb::$0 ← (word) sin16sb::x >= (word) PI_u4f12 + (boolean~) sin16sb::$1 ← ! (boolean~) sin16sb::$0 + if((boolean~) sin16sb::$1) goto sin16sb::@1 + to:sin16sb::@4 +sin16sb::@1: scope:[sin16sb] from sin16sb sin16sb::@4 + (boolean~) sin16sb::$3 ← (word) sin16sb::x >= (word) PI_HALF_u4f12 + (boolean~) sin16sb::$4 ← ! (boolean~) sin16sb::$3 + if((boolean~) sin16sb::$4) goto sin16sb::@2 + to:sin16sb::@5 +sin16sb::@4: scope:[sin16sb] from sin16sb + (word~) sin16sb::$2 ← (word) sin16sb::x - (word) PI_u4f12 + (word) sin16sb::x ← (word~) sin16sb::$2 + (byte) sin16sb::isUpper ← (byte/signed byte/word/signed word/dword/signed dword) 1 + to:sin16sb::@1 +sin16sb::@2: scope:[sin16sb] from sin16sb::@1 sin16sb::@5 + (word~) sin16sb::$6 ← (word) sin16sb::x << (byte/signed byte/word/signed word/dword/signed dword) 3 + (word) sin16sb::x1 ← (word~) sin16sb::$6 + (word~) sin16sb::$7 ← call mulu16_sel (word) sin16sb::x1 (word) sin16sb::x1 (byte/signed byte/word/signed word/dword/signed dword) 0 + (word) sin16sb::x2 ← (word~) sin16sb::$7 + (word~) sin16sb::$8 ← call mulu16_sel (word) sin16sb::x2 (word) sin16sb::x1 (byte/signed byte/word/signed word/dword/signed dword) 1 + (word) sin16sb::x3 ← (word~) sin16sb::$8 + (word/signed word/dword/signed dword~) sin16sb::$9 ← (dword/signed dword) 65536 / (byte/signed byte/word/signed word/dword/signed dword) 6 + (word~) sin16sb::$10 ← call mulu16_sel (word) sin16sb::x3 (word/signed word/dword/signed dword~) sin16sb::$9 (byte/signed byte/word/signed word/dword/signed dword) 1 + (word) sin16sb::x3_6 ← (word~) sin16sb::$10 + (word~) sin16sb::$11 ← (word) sin16sb::x1 - (word) sin16sb::x3_6 + (word) sin16sb::usinx ← (word~) sin16sb::$11 + (word~) sin16sb::$12 ← call mulu16_sel (word) sin16sb::x3 (word) sin16sb::x1 (byte/signed byte/word/signed word/dword/signed dword) 0 + (word) sin16sb::x4 ← (word~) sin16sb::$12 + (word~) sin16sb::$13 ← call mulu16_sel (word) sin16sb::x4 (word) sin16sb::x1 (byte/signed byte/word/signed word/dword/signed dword) 0 + (word) sin16sb::x5 ← (word~) sin16sb::$13 + (word~) sin16sb::$14 ← (word) sin16sb::x5 >> (byte/signed byte/word/signed word/dword/signed dword) 4 + (word) sin16sb::x5_128 ← (word~) sin16sb::$14 + (word~) sin16sb::$15 ← (word) sin16sb::usinx + (word) sin16sb::x5_128 + (word) sin16sb::usinx ← (word~) sin16sb::$15 + (signed word~) sin16sb::$16 ← ((signed word)) (word) sin16sb::usinx + (signed word) sin16sb::sinx ← (signed word~) sin16sb::$16 + (boolean~) sin16sb::$17 ← (byte) sin16sb::isUpper != (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) sin16sb::$18 ← ! (boolean~) sin16sb::$17 + if((boolean~) sin16sb::$18) goto sin16sb::@3 + to:sin16sb::@6 +sin16sb::@5: scope:[sin16sb] from sin16sb::@1 + (word~) sin16sb::$5 ← (word) PI_u4f12 - (word) sin16sb::x + (word) sin16sb::x ← (word~) sin16sb::$5 + to:sin16sb::@2 +sin16sb::@3: scope:[sin16sb] from sin16sb::@2 sin16sb::@6 + (signed word) sin16sb::return ← (signed word) sin16sb::sinx + to:sin16sb::@return +sin16sb::@6: scope:[sin16sb] from sin16sb::@2 + (signed word~) sin16sb::$19 ← ((signed word)) (word) sin16sb::usinx + (signed word~) sin16sb::$20 ← - (signed word~) sin16sb::$19 + (signed word) sin16sb::sinx ← (signed word~) sin16sb::$20 + to:sin16sb::@3 +sin16sb::@return: scope:[sin16sb] from sin16sb::@3 sin16sb::@7 + (signed word) sin16sb::return ← (signed word) sin16sb::return + return (signed word) sin16sb::return + to:@return +sin16sb::@7: scope:[sin16sb] from + to:sin16sb::@return +@20: scope:[] from @19 + (byte*) SCREEN ← ((byte*)) (word/signed word/dword/signed dword) 1024 + (byte*) line_cursor ← (byte*) SCREEN + (byte*) char_cursor ← (byte*) line_cursor + to:@21 +print_str: scope:[print_str] from + to:print_str::@1 +print_str::@1: scope:[print_str] from print_str print_str::@2 + (boolean~) print_str::$0 ← *((byte*) print_str::str) != (byte) '@' + if((boolean~) print_str::$0) goto print_str::@2 + to:print_str::@4 +print_str::@2: scope:[print_str] from print_str::@1 print_str::@5 + *((byte*) char_cursor) ← *((byte*) print_str::str) + (byte*) char_cursor ← ++ (byte*) char_cursor + (byte*) print_str::str ← ++ (byte*) print_str::str + to:print_str::@1 +print_str::@4: scope:[print_str] from print_str::@1 + to:print_str::@3 +print_str::@3: scope:[print_str] from print_str::@4 print_str::@6 + to:print_str::@return +print_str::@5: scope:[print_str] from + to:print_str::@2 +print_str::@6: scope:[print_str] from + to:print_str::@3 +print_str::@return: scope:[print_str] from print_str::@3 + return + to:@return +@21: scope:[] from @20 + to:@22 +print_ln: scope:[print_ln] from + to:print_ln::@1 +print_ln::@1: scope:[print_ln] from print_ln print_ln::@1 + (byte*~) print_ln::$0 ← (byte*) line_cursor + (byte/signed byte/word/signed word/dword/signed dword) 40 + (byte*) line_cursor ← (byte*~) print_ln::$0 + (boolean~) print_ln::$1 ← (byte*) line_cursor < (byte*) char_cursor + if((boolean~) print_ln::$1) goto print_ln::@1 + to:print_ln::@2 +print_ln::@2: scope:[print_ln] from print_ln::@1 + (byte*) char_cursor ← (byte*) line_cursor + to:print_ln::@return +print_ln::@return: scope:[print_ln] from print_ln::@2 + return + to:@return +@22: scope:[] from @21 + to:@23 +print_sword: scope:[print_sword] from + (boolean~) print_sword::$0 ← (signed word) print_sword::w < (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) print_sword::$1 ← ! (boolean~) print_sword::$0 + if((boolean~) print_sword::$1) goto print_sword::@1 + to:print_sword::@2 +print_sword::@1: scope:[print_sword] from print_sword print_sword::@2 + (word~) print_sword::$4 ← ((word)) (signed word) print_sword::w + (void~) print_sword::$5 ← call print_word (word~) print_sword::$4 + to:print_sword::@return +print_sword::@2: scope:[print_sword] from print_sword + (void~) print_sword::$2 ← call print_char (byte) '-' + (signed word~) print_sword::$3 ← - (signed word) print_sword::w + (signed word) print_sword::w ← (signed word~) print_sword::$3 + to:print_sword::@1 +print_sword::@return: scope:[print_sword] from print_sword::@1 + return + to:@return +@23: scope:[] from @22 + to:@24 +print_sbyte: scope:[print_sbyte] from + (boolean~) print_sbyte::$0 ← (signed byte) print_sbyte::b < (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) print_sbyte::$1 ← ! (boolean~) print_sbyte::$0 + if((boolean~) print_sbyte::$1) goto print_sbyte::@1 + to:print_sbyte::@2 +print_sbyte::@1: scope:[print_sbyte] from print_sbyte print_sbyte::@2 + (byte~) print_sbyte::$4 ← ((byte)) (signed byte) print_sbyte::b + (void~) print_sbyte::$5 ← call print_byte (byte~) print_sbyte::$4 + to:print_sbyte::@return +print_sbyte::@2: scope:[print_sbyte] from print_sbyte + (void~) print_sbyte::$2 ← call print_char (byte) '-' + (signed byte~) print_sbyte::$3 ← - (signed byte) print_sbyte::b + (signed byte) print_sbyte::b ← (signed byte~) print_sbyte::$3 + to:print_sbyte::@1 +print_sbyte::@return: scope:[print_sbyte] from print_sbyte::@1 + return + to:@return +@24: scope:[] from @23 + to:@25 +print_word: scope:[print_word] from + (byte~) print_word::$0 ← > (word) print_word::w + (void~) print_word::$1 ← call print_byte (byte~) print_word::$0 + (byte~) print_word::$2 ← < (word) print_word::w + (void~) print_word::$3 ← call print_byte (byte~) print_word::$2 + to:print_word::@return +print_word::@return: scope:[print_word] from print_word + return + to:@return +@25: scope:[] from @24 + to:@26 +print_dword: scope:[print_dword] from + (word~) print_dword::$0 ← > (dword) print_dword::dw + (void~) print_dword::$1 ← call print_word (word~) print_dword::$0 + (word~) print_dword::$2 ← < (dword) print_dword::dw + (void~) print_dword::$3 ← call print_word (word~) print_dword::$2 + to:print_dword::@return +print_dword::@return: scope:[print_dword] from print_dword + return + to:@return +@26: scope:[] from @25 + to:@27 +print_sdword: scope:[print_sdword] from + (boolean~) print_sdword::$0 ← (signed dword) print_sdword::dw < (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) print_sdword::$1 ← ! (boolean~) print_sdword::$0 + if((boolean~) print_sdword::$1) goto print_sdword::@1 + to:print_sdword::@2 +print_sdword::@1: scope:[print_sdword] from print_sdword print_sdword::@2 + (dword~) print_sdword::$4 ← ((dword)) (signed dword) print_sdword::dw + (void~) print_sdword::$5 ← call print_dword (dword~) print_sdword::$4 + to:print_sdword::@return +print_sdword::@2: scope:[print_sdword] from print_sdword + (void~) print_sdword::$2 ← call print_char (byte) '-' + (signed dword~) print_sdword::$3 ← - (signed dword) print_sdword::dw + (signed dword) print_sdword::dw ← (signed dword~) print_sdword::$3 + to:print_sdword::@1 +print_sdword::@return: scope:[print_sdword] from print_sdword::@1 + return + to:@return +@27: scope:[] from @26 + to:@28 +print_byte: scope:[print_byte] from + (byte[]) print_byte::hextab ← (string) "0123456789abcdef" + (byte~) print_byte::$0 ← (byte) print_byte::b >> (byte/signed byte/word/signed word/dword/signed dword) 4 + (void~) print_byte::$1 ← call print_char *((byte[]) print_byte::hextab + (byte~) print_byte::$0) + (byte~) print_byte::$2 ← (byte) print_byte::b & (byte/signed byte/word/signed word/dword/signed dword) 15 + (void~) print_byte::$3 ← call print_char *((byte[]) print_byte::hextab + (byte~) print_byte::$2) + to:print_byte::@return +print_byte::@return: scope:[print_byte] from print_byte + return + to:@return +@28: scope:[] from @27 + to:@29 +print_char: scope:[print_char] from + *((byte*) char_cursor) ← (byte) print_char::ch + (byte*) char_cursor ← ++ (byte*) char_cursor + to:print_char::@return +print_char::@return: scope:[print_char] from print_char + return + to:@return +@29: scope:[] from @28 + to:@30 +print_cls: scope:[print_cls] from + (byte*) print_cls::sc ← (byte*) SCREEN + to:print_cls::@1 +print_cls::@1: scope:[print_cls] from print_cls print_cls::@1 + *((byte*) print_cls::sc) ← (byte) ' ' + (byte*) print_cls::sc ← ++ (byte*) print_cls::sc + (byte*~) print_cls::$0 ← (byte*) SCREEN + (word/signed word/dword/signed dword) 1000 + (boolean~) print_cls::$1 ← (byte*) print_cls::sc != (byte*~) print_cls::$0 + if((boolean~) print_cls::$1) goto print_cls::@1 + to:print_cls::@2 +print_cls::@2: scope:[print_cls] from print_cls::@1 + (byte*) line_cursor ← (byte*) SCREEN + (byte*) char_cursor ← (byte*) line_cursor + to:print_cls::@return +print_cls::@return: scope:[print_cls] from print_cls::@2 + return + to:@return +@30: scope:[] from @29 + to:@31 +main: scope:[main] from + (word) main::wavelength ← (byte/signed byte/word/signed word/dword/signed dword) 120 + (signed word[120]) main::sintab1 ← { fill( 120, 0) } + (signed word[120]) main::sintab2 ← { fill( 120, 0) } + (void~) main::$0 ← call sin16s_gen (signed word[120]) main::sintab1 (word) main::wavelength + (void~) main::$1 ← call sin16s_genb (signed word[120]) main::sintab2 (word) main::wavelength + (void~) main::$2 ← call print_cls + (signed word*) main::st1 ← (signed word[120]) main::sintab1 + (signed word*) main::st2 ← (signed word[120]) main::sintab2 + (byte) main::i ← (byte/signed byte/word/signed word/dword/signed dword) 0 + to:main::@1 +main::@1: scope:[main] from main main::@2 + (signed word~) main::$3 ← *((signed word*) main::st1) - *((signed word*) main::st2) + (signed word) main::sw ← (signed word~) main::$3 + (boolean~) main::$4 ← (signed word) main::sw >= (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) main::$5 ← ! (boolean~) main::$4 + if((boolean~) main::$5) goto main::@2 + to:main::@3 +main::@2: scope:[main] from main::@1 main::@3 + (void~) main::$7 ← call print_sword (signed word) main::sw + (void~) main::$8 ← call print_str (string) " @" + (signed word*~) main::$9 ← (signed word*) main::st1 + (byte/signed byte/word/signed word/dword/signed dword) 2 + (signed word*) main::st1 ← (signed word*~) main::$9 + (signed word*~) main::$10 ← (signed word*) main::st2 + (byte/signed byte/word/signed word/dword/signed dword) 2 + (signed word*) main::st2 ← (signed word*~) main::$10 + (byte) main::i ← ++ (byte) main::i + (boolean~) main::$11 ← (byte) main::i != (byte/signed byte/word/signed word/dword/signed dword) 120 + if((boolean~) main::$11) goto main::@1 + to:main::@4 +main::@3: scope:[main] from main::@1 + (void~) main::$6 ← call print_str (string) " @" + to:main::@2 +main::@4: scope:[main] from main::@2 + to:main::@return +main::@return: scope:[main] from main::@4 + return + to:@return +@31: scope:[] from @30 + call main + to:@end +@end: scope:[] from @31 + +Removing unused procedure div8s +Removing unused procedure div16s +Removing unused procedure mul8s +Removing unused procedure mul8su +Removing unused procedure mul16s +Removing unused procedure sin8s_gen +Removing unused procedure print_ln +Removing unused procedure print_sbyte +Removing unused procedure print_sdword +Removing unused procedure div8u +Removing unused procedure div16u +Removing unused procedure sin8s +Removing unused procedure print_dword +Removing unused procedure divr8u +Removing unused procedure mulu8_sel +Removing unused procedure mul8u +Eliminating unused variable (byte) rem8u and assignment [0] (byte) rem8u ← (byte/signed byte/word/signed word/dword/signed dword) 0 +Eliminating unused variable (signed byte) rem8s and assignment [40] (signed byte) rem8s ← (byte/signed byte/word/signed word/dword/signed dword) 0 +Eliminating unused variable (signed word) rem16s and assignment [41] (signed word) rem16s ← (byte/signed byte/word/signed word/dword/signed dword) 0 +Eliminating unused variable (word) PI2_u4f12 and assignment [62] (word) PI2_u4f12 ← (word/signed word/dword/signed dword) 25736 +Eliminating unused variable - keeping the call (void~) print_sword::$5 +Eliminating unused variable - keeping the call (void~) print_sword::$2 +Eliminating unused variable - keeping the call (void~) print_word::$1 +Eliminating unused variable - keeping the call (void~) print_word::$3 +Eliminating unused variable - keeping the call (void~) print_byte::$1 +Eliminating unused variable - keeping the call (void~) print_byte::$3 +Eliminating unused variable - keeping the call (void~) main::$0 +Eliminating unused variable - keeping the call (void~) main::$1 +Eliminating unused variable - keeping the call (void~) main::$2 +Eliminating unused variable - keeping the call (void~) main::$7 +Eliminating unused variable - keeping the call (void~) main::$8 +Eliminating unused variable - keeping the call (void~) main::$6 +Creating constant string variable for inline (const string) print_byte::$4 "0123456789abcdef" +Creating constant string variable for inline (const string) main::str " @" +Creating constant string variable for inline (const string) main::str1 " @" +Removing empty block @1 +Removing empty block divr16u::@7 +Removing empty block @3 +Removing empty block @4 +Removing empty block div32u16u::@1 +Removing empty block @5 +Removing empty block @6 +Removing empty block @7 +Removing empty block @8 +Removing empty block @9 +Removing empty block @10 +Removing empty block mul16u::@5 +Removing empty block mul16u::@6 +Removing empty block mul16u::@8 +Removing empty block mul16u::@9 +Removing empty block @11 +Removing empty block sin16s_gen::@2 +Removing empty block @13 +Removing empty block @14 +Removing empty block sin16s::@7 +Removing empty block @15 +Removing empty block @16 +Removing empty block mulu16_sel::@1 +Removing empty block @17 +Removing empty block @18 +Removing empty block sin16s_genb::@2 +Removing empty block @19 +Removing empty block sin16sb::@7 +Removing empty block print_str::@4 +Removing empty block print_str::@3 +Removing empty block print_str::@5 +Removing empty block print_str::@6 +Removing empty block @21 +Removing empty block @22 +Removing empty block @23 +Removing empty block @24 +Removing empty block @25 +Removing empty block @26 +Removing empty block @27 +Removing empty block @28 +Removing empty block @29 +Removing empty block @30 +Removing empty block main::@4 +PROCEDURE MODIFY VARIABLE ANALYSIS +divr16u modifies rem16u +div32u16u modifies rem16u +sin16s_gen modifies rem16u +sin16s_genb modifies rem16u +print_str modifies char_cursor +print_sword modifies char_cursor +print_word modifies char_cursor +print_byte modifies char_cursor +print_char modifies char_cursor +print_cls modifies line_cursor +print_cls modifies char_cursor +main modifies rem16u +main modifies line_cursor +main modifies char_cursor + +Completing Phi functions... +Completing Phi functions... +Completing Phi functions... +Completing Phi functions... +Completing Phi functions... +Completing Phi functions... +Completing Phi functions... + +CONTROL FLOW GRAPH SSA WITH ASSIGNMENT CALL & RETURN +@begin: scope:[] from + to:@2 +@2: scope:[] from @begin + (word) rem16u#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0 + to:@12 +divr16u: scope:[divr16u] from div32u16u div32u16u::@2 + (word) divr16u::divisor#6 ← phi( div32u16u/(word) divr16u::divisor#0 div32u16u::@2/(word) divr16u::divisor#1 ) + (word) divr16u::dividend#5 ← phi( div32u16u/(word) divr16u::dividend#1 div32u16u::@2/(word) divr16u::dividend#2 ) + (word) divr16u::rem#10 ← phi( div32u16u/(word) divr16u::rem#3 div32u16u::@2/(word) divr16u::rem#4 ) + (word) divr16u::quotient#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (byte) divr16u::i#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0 + to:divr16u::@1 +divr16u::@1: scope:[divr16u] from divr16u divr16u::@3 + (byte) divr16u::i#5 ← phi( divr16u/(byte) divr16u::i#0 divr16u::@3/(byte) divr16u::i#1 ) + (word) divr16u::divisor#4 ← phi( divr16u/(word) divr16u::divisor#6 divr16u::@3/(word) divr16u::divisor#7 ) + (word) divr16u::quotient#6 ← phi( divr16u/(word) divr16u::quotient#0 divr16u::@3/(word) divr16u::quotient#8 ) + (word) divr16u::dividend#3 ← phi( divr16u/(word) divr16u::dividend#5 divr16u::@3/(word) divr16u::dividend#6 ) + (word) divr16u::rem#5 ← phi( divr16u/(word) divr16u::rem#10 divr16u::@3/(word) divr16u::rem#11 ) + (word~) divr16u::$0 ← (word) divr16u::rem#5 << (byte/signed byte/word/signed word/dword/signed dword) 1 + (word) divr16u::rem#0 ← (word~) divr16u::$0 + (byte~) divr16u::$1 ← > (word) divr16u::dividend#3 + (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 + (boolean~) divr16u::$3 ← (byte~) divr16u::$2 != (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) divr16u::$4 ← ! (boolean~) divr16u::$3 + if((boolean~) divr16u::$4) goto divr16u::@2 + to:divr16u::@4 +divr16u::@2: scope:[divr16u] from divr16u::@1 divr16u::@4 + (byte) divr16u::i#3 ← phi( divr16u::@1/(byte) divr16u::i#5 divr16u::@4/(byte) divr16u::i#6 ) + (word) divr16u::divisor#2 ← phi( divr16u::@1/(word) divr16u::divisor#4 divr16u::@4/(word) divr16u::divisor#5 ) + (word) divr16u::rem#6 ← phi( divr16u::@1/(word) divr16u::rem#0 divr16u::@4/(word) divr16u::rem#1 ) + (word) divr16u::quotient#3 ← phi( divr16u::@1/(word) divr16u::quotient#6 divr16u::@4/(word) divr16u::quotient#7 ) + (word) divr16u::dividend#4 ← phi( divr16u::@1/(word) divr16u::dividend#3 divr16u::@4/(word) divr16u::dividend#7 ) + (word~) divr16u::$6 ← (word) divr16u::dividend#4 << (byte/signed byte/word/signed word/dword/signed dword) 1 + (word) divr16u::dividend#0 ← (word~) divr16u::$6 + (word~) divr16u::$7 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 + (word) divr16u::quotient#1 ← (word~) divr16u::$7 + (boolean~) divr16u::$8 ← (word) divr16u::rem#6 >= (word) divr16u::divisor#2 + (boolean~) divr16u::$9 ← ! (boolean~) divr16u::$8 + if((boolean~) divr16u::$9) goto divr16u::@3 + to:divr16u::@5 +divr16u::@4: scope:[divr16u] from divr16u::@1 + (byte) divr16u::i#6 ← phi( divr16u::@1/(byte) divr16u::i#5 ) + (word) divr16u::divisor#5 ← phi( divr16u::@1/(word) divr16u::divisor#4 ) + (word) divr16u::quotient#7 ← phi( divr16u::@1/(word) divr16u::quotient#6 ) + (word) divr16u::dividend#7 ← phi( divr16u::@1/(word) divr16u::dividend#3 ) + (word) divr16u::rem#7 ← phi( divr16u::@1/(word) divr16u::rem#0 ) + (word~) divr16u::$5 ← (word) divr16u::rem#7 | (byte/signed byte/word/signed word/dword/signed dword) 1 + (word) divr16u::rem#1 ← (word~) divr16u::$5 + to:divr16u::@2 +divr16u::@3: scope:[divr16u] from divr16u::@2 divr16u::@5 + (word) divr16u::divisor#7 ← phi( divr16u::@2/(word) divr16u::divisor#2 divr16u::@5/(word) divr16u::divisor#3 ) + (word) divr16u::quotient#8 ← phi( divr16u::@2/(word) divr16u::quotient#1 divr16u::@5/(word) divr16u::quotient#2 ) + (word) divr16u::dividend#6 ← phi( divr16u::@2/(word) divr16u::dividend#0 divr16u::@5/(word) divr16u::dividend#8 ) + (word) divr16u::rem#11 ← phi( divr16u::@2/(word) divr16u::rem#6 divr16u::@5/(word) divr16u::rem#2 ) + (byte) divr16u::i#2 ← phi( divr16u::@2/(byte) divr16u::i#3 divr16u::@5/(byte) divr16u::i#4 ) + (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 + (boolean~) divr16u::$11 ← (byte) divr16u::i#1 != (byte/signed byte/word/signed word/dword/signed dword) 16 + if((boolean~) divr16u::$11) goto divr16u::@1 + to:divr16u::@6 +divr16u::@5: scope:[divr16u] from divr16u::@2 + (word) divr16u::dividend#8 ← phi( divr16u::@2/(word) divr16u::dividend#0 ) + (byte) divr16u::i#4 ← phi( divr16u::@2/(byte) divr16u::i#3 ) + (word) divr16u::divisor#3 ← phi( divr16u::@2/(word) divr16u::divisor#2 ) + (word) divr16u::rem#8 ← phi( divr16u::@2/(word) divr16u::rem#6 ) + (word) divr16u::quotient#4 ← phi( divr16u::@2/(word) divr16u::quotient#1 ) + (word) divr16u::quotient#2 ← ++ (word) divr16u::quotient#4 + (word~) divr16u::$10 ← (word) divr16u::rem#8 - (word) divr16u::divisor#3 + (word) divr16u::rem#2 ← (word~) divr16u::$10 + to:divr16u::@3 +divr16u::@6: scope:[divr16u] from divr16u::@3 + (word) divr16u::quotient#5 ← phi( divr16u::@3/(word) divr16u::quotient#8 ) + (word) divr16u::rem#9 ← phi( divr16u::@3/(word) divr16u::rem#11 ) + (word) rem16u#1 ← (word) divr16u::rem#9 + (word) divr16u::return#0 ← (word) divr16u::quotient#5 + to:divr16u::@return +divr16u::@return: scope:[divr16u] from divr16u::@6 + (word) rem16u#14 ← phi( divr16u::@6/(word) rem16u#1 ) + (word) divr16u::return#4 ← phi( divr16u::@6/(word) divr16u::return#0 ) + (word) divr16u::return#1 ← (word) divr16u::return#4 + (word) rem16u#2 ← (word) rem16u#14 + return + to:@return +div32u16u: scope:[div32u16u] from sin16s_gen sin16s_genb + (word) rem16u#26 ← phi( sin16s_gen/(word) rem16u#27 sin16s_genb/(word) rem16u#29 ) + (word) div32u16u::divisor#2 ← phi( sin16s_gen/(word) div32u16u::divisor#0 sin16s_genb/(word) div32u16u::divisor#1 ) + (dword) div32u16u::dividend#2 ← phi( sin16s_gen/(dword) div32u16u::dividend#0 sin16s_genb/(dword) div32u16u::dividend#1 ) + (word~) div32u16u::$0 ← > (dword) div32u16u::dividend#2 + (word) divr16u::dividend#1 ← (word~) div32u16u::$0 + (word) divr16u::divisor#0 ← (word) div32u16u::divisor#2 + (word) divr16u::rem#3 ← (byte/signed byte/word/signed word/dword/signed dword) 0 + call divr16u param-assignment + (word) divr16u::return#2 ← (word) divr16u::return#1 + to:div32u16u::@2 +div32u16u::@2: scope:[div32u16u] from div32u16u + (word) div32u16u::divisor#3 ← phi( div32u16u/(word) div32u16u::divisor#2 ) + (dword) div32u16u::dividend#3 ← phi( div32u16u/(dword) div32u16u::dividend#2 ) + (word) rem16u#15 ← phi( div32u16u/(word) rem16u#2 ) + (word) divr16u::return#5 ← phi( div32u16u/(word) divr16u::return#2 ) + (word~) div32u16u::$1 ← (word) divr16u::return#5 + (word) rem16u#3 ← (word) rem16u#15 + (word) div32u16u::quotient_hi#0 ← (word~) div32u16u::$1 + (word~) div32u16u::$2 ← < (dword) div32u16u::dividend#3 + (word) divr16u::dividend#2 ← (word~) div32u16u::$2 + (word) divr16u::divisor#1 ← (word) div32u16u::divisor#3 + (word) divr16u::rem#4 ← (word) rem16u#3 + call divr16u param-assignment + (word) divr16u::return#3 ← (word) divr16u::return#1 + to:div32u16u::@3 +div32u16u::@3: scope:[div32u16u] from div32u16u::@2 + (word) div32u16u::quotient_hi#1 ← phi( div32u16u::@2/(word) div32u16u::quotient_hi#0 ) + (word) rem16u#16 ← phi( div32u16u::@2/(word) rem16u#2 ) + (word) divr16u::return#6 ← phi( div32u16u::@2/(word) divr16u::return#3 ) + (word~) div32u16u::$3 ← (word) divr16u::return#6 + (word) rem16u#4 ← (word) rem16u#16 + (word) div32u16u::quotient_lo#0 ← (word~) div32u16u::$3 + (dword) div32u16u::quotient#0 ← { (word) div32u16u::quotient_hi#1, (word) div32u16u::quotient_lo#0 } + (dword) div32u16u::return#0 ← (dword) div32u16u::quotient#0 + to:div32u16u::@return +div32u16u::@return: scope:[div32u16u] from div32u16u::@3 + (word) rem16u#17 ← phi( div32u16u::@3/(word) rem16u#4 ) + (dword) div32u16u::return#4 ← phi( div32u16u::@3/(dword) div32u16u::return#0 ) + (dword) div32u16u::return#1 ← (dword) div32u16u::return#4 + (word) rem16u#5 ← (word) rem16u#17 + return + to:@return +mul16u: scope:[mul16u] from mulu16_sel + (word) mul16u::a#5 ← phi( mulu16_sel/(word) mul16u::a#1 ) + (word) mul16u::b#1 ← phi( mulu16_sel/(word) mul16u::b#0 ) + (dword) mul16u::res#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (dword) mul16u::mb#0 ← ((dword)) (word) mul16u::b#1 + to:mul16u::@1 +mul16u::@1: scope:[mul16u] from mul16u mul16u::@4 + (dword) mul16u::mb#5 ← phi( mul16u/(dword) mul16u::mb#0 mul16u::@4/(dword) mul16u::mb#1 ) + (dword) mul16u::res#4 ← phi( mul16u/(dword) mul16u::res#0 mul16u::@4/(dword) mul16u::res#6 ) + (word) mul16u::a#2 ← phi( mul16u/(word) mul16u::a#5 mul16u::@4/(word) mul16u::a#0 ) + (boolean~) mul16u::$0 ← (word) mul16u::a#2 != (byte/signed byte/word/signed word/dword/signed dword) 0 + if((boolean~) mul16u::$0) goto mul16u::@2 + to:mul16u::@3 +mul16u::@2: scope:[mul16u] from mul16u::@1 + (dword) mul16u::res#5 ← phi( mul16u::@1/(dword) mul16u::res#4 ) + (dword) mul16u::mb#4 ← phi( mul16u::@1/(dword) mul16u::mb#5 ) + (word) mul16u::a#3 ← phi( mul16u::@1/(word) mul16u::a#2 ) + (byte~) mul16u::$1 ← (word) mul16u::a#3 & (byte/signed byte/word/signed word/dword/signed dword) 1 + (boolean~) mul16u::$2 ← (byte~) mul16u::$1 != (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) mul16u::$3 ← ! (boolean~) mul16u::$2 + if((boolean~) mul16u::$3) goto mul16u::@4 + to:mul16u::@7 +mul16u::@3: scope:[mul16u] from mul16u::@1 + (dword) mul16u::res#2 ← phi( mul16u::@1/(dword) mul16u::res#4 ) + (dword) mul16u::return#0 ← (dword) mul16u::res#2 + to:mul16u::@return +mul16u::@4: scope:[mul16u] from mul16u::@2 mul16u::@7 + (dword) mul16u::res#6 ← phi( mul16u::@2/(dword) mul16u::res#5 mul16u::@7/(dword) mul16u::res#1 ) + (dword) mul16u::mb#2 ← phi( mul16u::@2/(dword) mul16u::mb#4 mul16u::@7/(dword) mul16u::mb#3 ) + (word) mul16u::a#4 ← phi( mul16u::@2/(word) mul16u::a#3 mul16u::@7/(word) mul16u::a#6 ) + (word~) mul16u::$5 ← (word) mul16u::a#4 >> (byte/signed byte/word/signed word/dword/signed dword) 1 + (word) mul16u::a#0 ← (word~) mul16u::$5 + (dword~) mul16u::$6 ← (dword) mul16u::mb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 + (dword) mul16u::mb#1 ← (dword~) mul16u::$6 + to:mul16u::@1 +mul16u::@7: scope:[mul16u] from mul16u::@2 + (word) mul16u::a#6 ← phi( mul16u::@2/(word) mul16u::a#3 ) + (dword) mul16u::mb#3 ← phi( mul16u::@2/(dword) mul16u::mb#4 ) + (dword) mul16u::res#3 ← phi( mul16u::@2/(dword) mul16u::res#5 ) + (dword~) mul16u::$4 ← (dword) mul16u::res#3 + (dword) mul16u::mb#3 + (dword) mul16u::res#1 ← (dword~) mul16u::$4 + to:mul16u::@4 +mul16u::@return: scope:[mul16u] from mul16u::@3 + (dword) mul16u::return#3 ← phi( mul16u::@3/(dword) mul16u::return#0 ) + (dword) mul16u::return#1 ← (dword) mul16u::return#3 + return + to:@return +@12: scope:[] from @2 + (word) rem16u#38 ← phi( @2/(word) rem16u#0 ) + (dword) PI2_u4f28#0 ← (dword/signed dword) 1686629713 + (dword) PI_u4f28#0 ← (dword/signed dword) 843314857 + (dword) PI_HALF_u4f28#0 ← (dword/signed dword) 421657428 + (word) PI_u4f12#0 ← (word/signed word/dword/signed dword) 12868 + (word) PI_HALF_u4f12#0 ← (word/signed word/dword/signed dword) 6434 + to:@20 +sin16s_gen: scope:[sin16s_gen] from main + (signed word*) sin16s_gen::sintab#5 ← phi( main/(signed word*) sin16s_gen::sintab#1 ) + (word) rem16u#27 ← phi( main/(word) rem16u#31 ) + (word) sin16s_gen::wavelength#1 ← phi( main/(word) sin16s_gen::wavelength#0 ) + (dword) div32u16u::dividend#0 ← (dword) PI2_u4f28#0 + (word) div32u16u::divisor#0 ← (word) sin16s_gen::wavelength#1 + call div32u16u param-assignment + (dword) div32u16u::return#2 ← (dword) div32u16u::return#1 + to:sin16s_gen::@3 +sin16s_gen::@3: scope:[sin16s_gen] from sin16s_gen + (word) sin16s_gen::wavelength#4 ← phi( sin16s_gen/(word) sin16s_gen::wavelength#1 ) + (signed word*) sin16s_gen::sintab#4 ← phi( sin16s_gen/(signed word*) sin16s_gen::sintab#5 ) + (word) rem16u#18 ← phi( sin16s_gen/(word) rem16u#5 ) + (dword) div32u16u::return#5 ← phi( sin16s_gen/(dword) div32u16u::return#2 ) + (dword~) sin16s_gen::$0 ← (dword) div32u16u::return#5 + (word) rem16u#6 ← (word) rem16u#18 + (dword) sin16s_gen::step#0 ← (dword~) sin16s_gen::$0 + (dword) sin16s_gen::x#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (word) sin16s_gen::i#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0 + to:sin16s_gen::@1 +sin16s_gen::@1: scope:[sin16s_gen] from sin16s_gen::@3 sin16s_gen::@4 + (word) rem16u#34 ← phi( sin16s_gen::@3/(word) rem16u#6 sin16s_gen::@4/(word) rem16u#28 ) + (word) sin16s_gen::wavelength#3 ← phi( sin16s_gen::@3/(word) sin16s_gen::wavelength#4 sin16s_gen::@4/(word) sin16s_gen::wavelength#2 ) + (word) sin16s_gen::i#3 ← phi( sin16s_gen::@3/(word) sin16s_gen::i#0 sin16s_gen::@4/(word) sin16s_gen::i#1 ) + (dword) sin16s_gen::step#2 ← phi( sin16s_gen::@3/(dword) sin16s_gen::step#0 sin16s_gen::@4/(dword) sin16s_gen::step#1 ) + (signed word*) sin16s_gen::sintab#3 ← phi( sin16s_gen::@3/(signed word*) sin16s_gen::sintab#4 sin16s_gen::@4/(signed word*) sin16s_gen::sintab#0 ) + (dword) sin16s_gen::x#2 ← phi( sin16s_gen::@3/(dword) sin16s_gen::x#0 sin16s_gen::@4/(dword) sin16s_gen::x#1 ) + (dword) sin16s::x#0 ← (dword) sin16s_gen::x#2 + call sin16s param-assignment + (signed word) sin16s::return#0 ← (signed word) sin16s::return#2 + to:sin16s_gen::@4 +sin16s_gen::@4: scope:[sin16s_gen] from sin16s_gen::@1 + (word) rem16u#28 ← phi( sin16s_gen::@1/(word) rem16u#34 ) + (word) sin16s_gen::wavelength#2 ← phi( sin16s_gen::@1/(word) sin16s_gen::wavelength#3 ) + (word) sin16s_gen::i#2 ← phi( sin16s_gen::@1/(word) sin16s_gen::i#3 ) + (dword) sin16s_gen::step#1 ← phi( sin16s_gen::@1/(dword) sin16s_gen::step#2 ) + (dword) sin16s_gen::x#3 ← phi( sin16s_gen::@1/(dword) sin16s_gen::x#2 ) + (signed word*) sin16s_gen::sintab#2 ← phi( sin16s_gen::@1/(signed word*) sin16s_gen::sintab#3 ) + (signed word) sin16s::return#3 ← phi( sin16s_gen::@1/(signed word) sin16s::return#0 ) + (signed word~) sin16s_gen::$1 ← (signed word) sin16s::return#3 + *((signed word*) sin16s_gen::sintab#2) ← (signed word~) sin16s_gen::$1 + (signed word*~) sin16s_gen::$2 ← (signed word*) sin16s_gen::sintab#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 + (signed word*) sin16s_gen::sintab#0 ← (signed word*~) sin16s_gen::$2 + (dword~) sin16s_gen::$3 ← (dword) sin16s_gen::x#3 + (dword) sin16s_gen::step#1 + (dword) sin16s_gen::x#1 ← (dword~) sin16s_gen::$3 + (word) sin16s_gen::i#1 ← ++ (word) sin16s_gen::i#2 + (boolean~) sin16s_gen::$4 ← (word) sin16s_gen::i#1 < (word) sin16s_gen::wavelength#2 + if((boolean~) sin16s_gen::$4) goto sin16s_gen::@1 + to:sin16s_gen::@return +sin16s_gen::@return: scope:[sin16s_gen] from sin16s_gen::@4 + (word) rem16u#19 ← phi( sin16s_gen::@4/(word) rem16u#28 ) + (word) rem16u#7 ← (word) rem16u#19 + return + to:@return +sin16s: scope:[sin16s] from sin16s_gen::@1 + (dword) sin16s::x#3 ← phi( sin16s_gen::@1/(dword) sin16s::x#0 ) + (byte) sin16s::isUpper#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) sin16s::$0 ← (dword) sin16s::x#3 >= (dword) PI_u4f28#0 + (boolean~) sin16s::$1 ← ! (boolean~) sin16s::$0 + if((boolean~) sin16s::$1) goto sin16s::@1 + to:sin16s::@4 +sin16s::@1: scope:[sin16s] from sin16s sin16s::@4 + (byte) sin16s::isUpper#8 ← phi( sin16s/(byte) sin16s::isUpper#0 sin16s::@4/(byte) sin16s::isUpper#1 ) + (dword) sin16s::x#4 ← phi( sin16s/(dword) sin16s::x#3 sin16s::@4/(dword) sin16s::x#1 ) + (boolean~) sin16s::$3 ← (dword) sin16s::x#4 >= (dword) PI_HALF_u4f28#0 + (boolean~) sin16s::$4 ← ! (boolean~) sin16s::$3 + if((boolean~) sin16s::$4) goto sin16s::@2 + to:sin16s::@5 +sin16s::@4: scope:[sin16s] from sin16s + (dword) sin16s::x#5 ← phi( sin16s/(dword) sin16s::x#3 ) + (dword~) sin16s::$2 ← (dword) sin16s::x#5 - (dword) PI_u4f28#0 + (dword) sin16s::x#1 ← (dword~) sin16s::$2 + (byte) sin16s::isUpper#1 ← (byte/signed byte/word/signed word/dword/signed dword) 1 + to:sin16s::@1 +sin16s::@2: scope:[sin16s] from sin16s::@1 sin16s::@5 + (byte) sin16s::isUpper#7 ← phi( sin16s::@1/(byte) sin16s::isUpper#8 sin16s::@5/(byte) sin16s::isUpper#9 ) + (dword) sin16s::x#6 ← phi( sin16s::@1/(dword) sin16s::x#4 sin16s::@5/(dword) sin16s::x#2 ) + (dword~) sin16s::$6 ← (dword) sin16s::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 + (word~) sin16s::$7 ← > (dword~) sin16s::$6 + (word) sin16s::x1#0 ← (word~) sin16s::$7 + (word) mulu16_sel::v1#0 ← (word) sin16s::x1#0 + (word) mulu16_sel::v2#0 ← (word) sin16s::x1#0 + (byte) mulu16_sel::select#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0 + call mulu16_sel param-assignment + (word) mulu16_sel::return#0 ← (word) mulu16_sel::return#6 + to:sin16s::@8 +sin16s::@8: scope:[sin16s] from sin16s::@2 + (byte) sin16s::isUpper#6 ← phi( sin16s::@2/(byte) sin16s::isUpper#7 ) + (word) sin16s::x1#1 ← phi( sin16s::@2/(word) sin16s::x1#0 ) + (word) mulu16_sel::return#12 ← phi( sin16s::@2/(word) mulu16_sel::return#0 ) + (word~) sin16s::$8 ← (word) mulu16_sel::return#12 + (word) sin16s::x2#0 ← (word~) sin16s::$8 + (word) mulu16_sel::v1#1 ← (word) sin16s::x2#0 + (word) mulu16_sel::v2#1 ← (word) sin16s::x1#1 + (byte) mulu16_sel::select#1 ← (byte/signed byte/word/signed word/dword/signed dword) 1 + call mulu16_sel param-assignment + (word) mulu16_sel::return#1 ← (word) mulu16_sel::return#6 + to:sin16s::@9 +sin16s::@9: scope:[sin16s] from sin16s::@8 + (byte) sin16s::isUpper#5 ← phi( sin16s::@8/(byte) sin16s::isUpper#6 ) + (word) sin16s::x1#4 ← phi( sin16s::@8/(word) sin16s::x1#1 ) + (word) mulu16_sel::return#13 ← phi( sin16s::@8/(word) mulu16_sel::return#1 ) + (word~) sin16s::$9 ← (word) mulu16_sel::return#13 + (word) sin16s::x3#0 ← (word~) sin16s::$9 + (word/signed word/dword/signed dword~) sin16s::$10 ← (dword/signed dword) 65536 / (byte/signed byte/word/signed word/dword/signed dword) 6 + (word) mulu16_sel::v1#2 ← (word) sin16s::x3#0 + (word) mulu16_sel::v2#2 ← (word/signed word/dword/signed dword~) sin16s::$10 + (byte) mulu16_sel::select#2 ← (byte/signed byte/word/signed word/dword/signed dword) 1 + call mulu16_sel param-assignment + (word) mulu16_sel::return#2 ← (word) mulu16_sel::return#6 + to:sin16s::@10 +sin16s::@10: scope:[sin16s] from sin16s::@9 + (byte) sin16s::isUpper#4 ← phi( sin16s::@9/(byte) sin16s::isUpper#5 ) + (word) sin16s::x3#1 ← phi( sin16s::@9/(word) sin16s::x3#0 ) + (word) sin16s::x1#2 ← phi( sin16s::@9/(word) sin16s::x1#4 ) + (word) mulu16_sel::return#14 ← phi( sin16s::@9/(word) mulu16_sel::return#2 ) + (word~) sin16s::$11 ← (word) mulu16_sel::return#14 + (word) sin16s::x3_6#0 ← (word~) sin16s::$11 + (word~) sin16s::$12 ← (word) sin16s::x1#2 - (word) sin16s::x3_6#0 + (word) sin16s::usinx#0 ← (word~) sin16s::$12 + (word) mulu16_sel::v1#3 ← (word) sin16s::x3#1 + (word) mulu16_sel::v2#3 ← (word) sin16s::x1#2 + (byte) mulu16_sel::select#3 ← (byte/signed byte/word/signed word/dword/signed dword) 0 + call mulu16_sel param-assignment + (word) mulu16_sel::return#3 ← (word) mulu16_sel::return#6 + to:sin16s::@11 +sin16s::@11: scope:[sin16s] from sin16s::@10 + (byte) sin16s::isUpper#3 ← phi( sin16s::@10/(byte) sin16s::isUpper#4 ) + (word) sin16s::usinx#4 ← phi( sin16s::@10/(word) sin16s::usinx#0 ) + (word) sin16s::x1#3 ← phi( sin16s::@10/(word) sin16s::x1#2 ) + (word) mulu16_sel::return#15 ← phi( sin16s::@10/(word) mulu16_sel::return#3 ) + (word~) sin16s::$13 ← (word) mulu16_sel::return#15 + (word) sin16s::x4#0 ← (word~) sin16s::$13 + (word) mulu16_sel::v1#4 ← (word) sin16s::x4#0 + (word) mulu16_sel::v2#4 ← (word) sin16s::x1#3 + (byte) mulu16_sel::select#4 ← (byte/signed byte/word/signed word/dword/signed dword) 0 + call mulu16_sel param-assignment + (word) mulu16_sel::return#4 ← (word) mulu16_sel::return#6 + to:sin16s::@12 +sin16s::@12: scope:[sin16s] from sin16s::@11 + (byte) sin16s::isUpper#2 ← phi( sin16s::@11/(byte) sin16s::isUpper#3 ) + (word) sin16s::usinx#2 ← phi( sin16s::@11/(word) sin16s::usinx#4 ) + (word) mulu16_sel::return#16 ← phi( sin16s::@11/(word) mulu16_sel::return#4 ) + (word~) sin16s::$14 ← (word) mulu16_sel::return#16 + (word) sin16s::x5#0 ← (word~) sin16s::$14 + (word~) sin16s::$15 ← (word) sin16s::x5#0 >> (byte/signed byte/word/signed word/dword/signed dword) 4 + (word) sin16s::x5_128#0 ← (word~) sin16s::$15 + (word~) sin16s::$16 ← (word) sin16s::usinx#2 + (word) sin16s::x5_128#0 + (word) sin16s::usinx#1 ← (word~) sin16s::$16 + (signed word~) sin16s::$17 ← ((signed word)) (word) sin16s::usinx#1 + (signed word) sin16s::sinx#0 ← (signed word~) sin16s::$17 + (boolean~) sin16s::$18 ← (byte) sin16s::isUpper#2 != (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) sin16s::$19 ← ! (boolean~) sin16s::$18 + if((boolean~) sin16s::$19) goto sin16s::@3 + to:sin16s::@6 +sin16s::@5: scope:[sin16s] from sin16s::@1 + (byte) sin16s::isUpper#9 ← phi( sin16s::@1/(byte) sin16s::isUpper#8 ) + (dword) sin16s::x#7 ← phi( sin16s::@1/(dword) sin16s::x#4 ) + (dword~) sin16s::$5 ← (dword) PI_u4f28#0 - (dword) sin16s::x#7 + (dword) sin16s::x#2 ← (dword~) sin16s::$5 + to:sin16s::@2 +sin16s::@3: scope:[sin16s] from sin16s::@12 sin16s::@6 + (signed word) sin16s::sinx#2 ← phi( sin16s::@12/(signed word) sin16s::sinx#0 sin16s::@6/(signed word) sin16s::sinx#1 ) + (signed word) sin16s::return#1 ← (signed word) sin16s::sinx#2 + to:sin16s::@return +sin16s::@6: scope:[sin16s] from sin16s::@12 + (word) sin16s::usinx#3 ← phi( sin16s::@12/(word) sin16s::usinx#1 ) + (signed word~) sin16s::$20 ← ((signed word)) (word) sin16s::usinx#3 + (signed word~) sin16s::$21 ← - (signed word~) sin16s::$20 + (signed word) sin16s::sinx#1 ← (signed word~) sin16s::$21 + to:sin16s::@3 +sin16s::@return: scope:[sin16s] from sin16s::@3 + (signed word) sin16s::return#4 ← phi( sin16s::@3/(signed word) sin16s::return#1 ) + (signed word) sin16s::return#2 ← (signed word) sin16s::return#4 + return + to:@return +mulu16_sel: scope:[mulu16_sel] from sin16s::@10 sin16s::@11 sin16s::@2 sin16s::@8 sin16s::@9 sin16sb::@10 sin16sb::@11 sin16sb::@2 sin16sb::@8 sin16sb::@9 + (byte) mulu16_sel::select#11 ← phi( sin16s::@10/(byte) mulu16_sel::select#3 sin16s::@11/(byte) mulu16_sel::select#4 sin16s::@2/(byte) mulu16_sel::select#0 sin16s::@8/(byte) mulu16_sel::select#1 sin16s::@9/(byte) mulu16_sel::select#2 sin16sb::@10/(byte) mulu16_sel::select#8 sin16sb::@11/(byte) mulu16_sel::select#9 sin16sb::@2/(byte) mulu16_sel::select#5 sin16sb::@8/(byte) mulu16_sel::select#6 sin16sb::@9/(byte) mulu16_sel::select#7 ) + (word) mulu16_sel::v2#10 ← phi( sin16s::@10/(word) mulu16_sel::v2#3 sin16s::@11/(word) mulu16_sel::v2#4 sin16s::@2/(word) mulu16_sel::v2#0 sin16s::@8/(word) mulu16_sel::v2#1 sin16s::@9/(word) mulu16_sel::v2#2 sin16sb::@10/(word) mulu16_sel::v2#8 sin16sb::@11/(word) mulu16_sel::v2#9 sin16sb::@2/(word) mulu16_sel::v2#5 sin16sb::@8/(word) mulu16_sel::v2#6 sin16sb::@9/(word) mulu16_sel::v2#7 ) + (word) mulu16_sel::v1#10 ← phi( sin16s::@10/(word) mulu16_sel::v1#3 sin16s::@11/(word) mulu16_sel::v1#4 sin16s::@2/(word) mulu16_sel::v1#0 sin16s::@8/(word) mulu16_sel::v1#1 sin16s::@9/(word) mulu16_sel::v1#2 sin16sb::@10/(word) mulu16_sel::v1#8 sin16sb::@11/(word) mulu16_sel::v1#9 sin16sb::@2/(word) mulu16_sel::v1#5 sin16sb::@8/(word) mulu16_sel::v1#6 sin16sb::@9/(word) mulu16_sel::v1#7 ) + (word) mul16u::a#1 ← (word) mulu16_sel::v1#10 + (word) mul16u::b#0 ← (word) mulu16_sel::v2#10 + call mul16u param-assignment + (dword) mul16u::return#2 ← (dword) mul16u::return#1 + to:mulu16_sel::@2 +mulu16_sel::@2: scope:[mulu16_sel] from mulu16_sel + (byte) mulu16_sel::select#10 ← phi( mulu16_sel/(byte) mulu16_sel::select#11 ) + (dword) mul16u::return#4 ← phi( mulu16_sel/(dword) mul16u::return#2 ) + (dword~) mulu16_sel::$0 ← (dword) mul16u::return#4 + (dword~) mulu16_sel::$1 ← (dword~) mulu16_sel::$0 << (byte) mulu16_sel::select#10 + (word~) mulu16_sel::$2 ← > (dword~) mulu16_sel::$1 + (word) mulu16_sel::return#5 ← (word~) mulu16_sel::$2 + to:mulu16_sel::@return +mulu16_sel::@return: scope:[mulu16_sel] from mulu16_sel::@2 + (word) mulu16_sel::return#17 ← phi( mulu16_sel::@2/(word) mulu16_sel::return#5 ) + (word) mulu16_sel::return#6 ← (word) mulu16_sel::return#17 + return + to:@return +sin16s_genb: scope:[sin16s_genb] from main::@5 + (signed word*) sin16s_genb::sintab#5 ← phi( main::@5/(signed word*) sin16s_genb::sintab#1 ) + (word) rem16u#29 ← phi( main::@5/(word) rem16u#10 ) + (word) sin16s_genb::wavelength#1 ← phi( main::@5/(word) sin16s_genb::wavelength#0 ) + (dword) div32u16u::dividend#1 ← (dword) PI2_u4f28#0 + (word) div32u16u::divisor#1 ← (word) sin16s_genb::wavelength#1 + call div32u16u param-assignment + (dword) div32u16u::return#3 ← (dword) div32u16u::return#1 + to:sin16s_genb::@3 +sin16s_genb::@3: scope:[sin16s_genb] from sin16s_genb + (word) sin16s_genb::wavelength#4 ← phi( sin16s_genb/(word) sin16s_genb::wavelength#1 ) + (signed word*) sin16s_genb::sintab#4 ← phi( sin16s_genb/(signed word*) sin16s_genb::sintab#5 ) + (word) rem16u#20 ← phi( sin16s_genb/(word) rem16u#5 ) + (dword) div32u16u::return#6 ← phi( sin16s_genb/(dword) div32u16u::return#3 ) + (dword~) sin16s_genb::$0 ← (dword) div32u16u::return#6 + (word) rem16u#8 ← (word) rem16u#20 + (dword) sin16s_genb::step#0 ← (dword~) sin16s_genb::$0 + (dword) sin16s_genb::x#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (word) sin16s_genb::i#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0 + to:sin16s_genb::@1 +sin16s_genb::@1: scope:[sin16s_genb] from sin16s_genb::@3 sin16s_genb::@4 + (word) rem16u#35 ← phi( sin16s_genb::@3/(word) rem16u#8 sin16s_genb::@4/(word) rem16u#30 ) + (word) sin16s_genb::wavelength#3 ← phi( sin16s_genb::@3/(word) sin16s_genb::wavelength#4 sin16s_genb::@4/(word) sin16s_genb::wavelength#2 ) + (word) sin16s_genb::i#3 ← phi( sin16s_genb::@3/(word) sin16s_genb::i#0 sin16s_genb::@4/(word) sin16s_genb::i#1 ) + (dword) sin16s_genb::step#2 ← phi( sin16s_genb::@3/(dword) sin16s_genb::step#0 sin16s_genb::@4/(dword) sin16s_genb::step#1 ) + (signed word*) sin16s_genb::sintab#3 ← phi( sin16s_genb::@3/(signed word*) sin16s_genb::sintab#4 sin16s_genb::@4/(signed word*) sin16s_genb::sintab#0 ) + (dword) sin16s_genb::x#2 ← phi( sin16s_genb::@3/(dword) sin16s_genb::x#0 sin16s_genb::@4/(dword) sin16s_genb::x#1 ) + (word~) sin16s_genb::$1 ← > (dword) sin16s_genb::x#2 + (word) sin16sb::x#0 ← (word~) sin16s_genb::$1 + call sin16sb param-assignment + (signed word) sin16sb::return#0 ← (signed word) sin16sb::return#2 + to:sin16s_genb::@4 +sin16s_genb::@4: scope:[sin16s_genb] from sin16s_genb::@1 + (word) rem16u#30 ← phi( sin16s_genb::@1/(word) rem16u#35 ) + (word) sin16s_genb::wavelength#2 ← phi( sin16s_genb::@1/(word) sin16s_genb::wavelength#3 ) + (word) sin16s_genb::i#2 ← phi( sin16s_genb::@1/(word) sin16s_genb::i#3 ) + (dword) sin16s_genb::step#1 ← phi( sin16s_genb::@1/(dword) sin16s_genb::step#2 ) + (dword) sin16s_genb::x#3 ← phi( sin16s_genb::@1/(dword) sin16s_genb::x#2 ) + (signed word*) sin16s_genb::sintab#2 ← phi( sin16s_genb::@1/(signed word*) sin16s_genb::sintab#3 ) + (signed word) sin16sb::return#3 ← phi( sin16s_genb::@1/(signed word) sin16sb::return#0 ) + (signed word~) sin16s_genb::$2 ← (signed word) sin16sb::return#3 + *((signed word*) sin16s_genb::sintab#2) ← (signed word~) sin16s_genb::$2 + (signed word*~) sin16s_genb::$3 ← (signed word*) sin16s_genb::sintab#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 + (signed word*) sin16s_genb::sintab#0 ← (signed word*~) sin16s_genb::$3 + (dword~) sin16s_genb::$4 ← (dword) sin16s_genb::x#3 + (dword) sin16s_genb::step#1 + (dword) sin16s_genb::x#1 ← (dword~) sin16s_genb::$4 + (word) sin16s_genb::i#1 ← ++ (word) sin16s_genb::i#2 + (boolean~) sin16s_genb::$5 ← (word) sin16s_genb::i#1 < (word) sin16s_genb::wavelength#2 + if((boolean~) sin16s_genb::$5) goto sin16s_genb::@1 + to:sin16s_genb::@return +sin16s_genb::@return: scope:[sin16s_genb] from sin16s_genb::@4 + (word) rem16u#21 ← phi( sin16s_genb::@4/(word) rem16u#30 ) + (word) rem16u#9 ← (word) rem16u#21 + return + to:@return +sin16sb: scope:[sin16sb] from sin16s_genb::@1 + (word) sin16sb::x#3 ← phi( sin16s_genb::@1/(word) sin16sb::x#0 ) + (byte) sin16sb::isUpper#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) sin16sb::$0 ← (word) sin16sb::x#3 >= (word) PI_u4f12#0 + (boolean~) sin16sb::$1 ← ! (boolean~) sin16sb::$0 + if((boolean~) sin16sb::$1) goto sin16sb::@1 + to:sin16sb::@4 +sin16sb::@1: scope:[sin16sb] from sin16sb sin16sb::@4 + (byte) sin16sb::isUpper#8 ← phi( sin16sb/(byte) sin16sb::isUpper#0 sin16sb::@4/(byte) sin16sb::isUpper#1 ) + (word) sin16sb::x#4 ← phi( sin16sb/(word) sin16sb::x#3 sin16sb::@4/(word) sin16sb::x#1 ) + (boolean~) sin16sb::$3 ← (word) sin16sb::x#4 >= (word) PI_HALF_u4f12#0 + (boolean~) sin16sb::$4 ← ! (boolean~) sin16sb::$3 + if((boolean~) sin16sb::$4) goto sin16sb::@2 + to:sin16sb::@5 +sin16sb::@4: scope:[sin16sb] from sin16sb + (word) sin16sb::x#5 ← phi( sin16sb/(word) sin16sb::x#3 ) + (word~) sin16sb::$2 ← (word) sin16sb::x#5 - (word) PI_u4f12#0 + (word) sin16sb::x#1 ← (word~) sin16sb::$2 + (byte) sin16sb::isUpper#1 ← (byte/signed byte/word/signed word/dword/signed dword) 1 + to:sin16sb::@1 +sin16sb::@2: scope:[sin16sb] from sin16sb::@1 sin16sb::@5 + (byte) sin16sb::isUpper#7 ← phi( sin16sb::@1/(byte) sin16sb::isUpper#8 sin16sb::@5/(byte) sin16sb::isUpper#9 ) + (word) sin16sb::x#6 ← phi( sin16sb::@1/(word) sin16sb::x#4 sin16sb::@5/(word) sin16sb::x#2 ) + (word~) sin16sb::$6 ← (word) sin16sb::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 + (word) sin16sb::x1#0 ← (word~) sin16sb::$6 + (word) mulu16_sel::v1#5 ← (word) sin16sb::x1#0 + (word) mulu16_sel::v2#5 ← (word) sin16sb::x1#0 + (byte) mulu16_sel::select#5 ← (byte/signed byte/word/signed word/dword/signed dword) 0 + call mulu16_sel param-assignment + (word) mulu16_sel::return#7 ← (word) mulu16_sel::return#6 + to:sin16sb::@8 +sin16sb::@8: scope:[sin16sb] from sin16sb::@2 + (byte) sin16sb::isUpper#6 ← phi( sin16sb::@2/(byte) sin16sb::isUpper#7 ) + (word) sin16sb::x1#1 ← phi( sin16sb::@2/(word) sin16sb::x1#0 ) + (word) mulu16_sel::return#18 ← phi( sin16sb::@2/(word) mulu16_sel::return#7 ) + (word~) sin16sb::$7 ← (word) mulu16_sel::return#18 + (word) sin16sb::x2#0 ← (word~) sin16sb::$7 + (word) mulu16_sel::v1#6 ← (word) sin16sb::x2#0 + (word) mulu16_sel::v2#6 ← (word) sin16sb::x1#1 + (byte) mulu16_sel::select#6 ← (byte/signed byte/word/signed word/dword/signed dword) 1 + call mulu16_sel param-assignment + (word) mulu16_sel::return#8 ← (word) mulu16_sel::return#6 + to:sin16sb::@9 +sin16sb::@9: scope:[sin16sb] from sin16sb::@8 + (byte) sin16sb::isUpper#5 ← phi( sin16sb::@8/(byte) sin16sb::isUpper#6 ) + (word) sin16sb::x1#4 ← phi( sin16sb::@8/(word) sin16sb::x1#1 ) + (word) mulu16_sel::return#19 ← phi( sin16sb::@8/(word) mulu16_sel::return#8 ) + (word~) sin16sb::$8 ← (word) mulu16_sel::return#19 + (word) sin16sb::x3#0 ← (word~) sin16sb::$8 + (word/signed word/dword/signed dword~) sin16sb::$9 ← (dword/signed dword) 65536 / (byte/signed byte/word/signed word/dword/signed dword) 6 + (word) mulu16_sel::v1#7 ← (word) sin16sb::x3#0 + (word) mulu16_sel::v2#7 ← (word/signed word/dword/signed dword~) sin16sb::$9 + (byte) mulu16_sel::select#7 ← (byte/signed byte/word/signed word/dword/signed dword) 1 + call mulu16_sel param-assignment + (word) mulu16_sel::return#9 ← (word) mulu16_sel::return#6 + to:sin16sb::@10 +sin16sb::@10: scope:[sin16sb] from sin16sb::@9 + (byte) sin16sb::isUpper#4 ← phi( sin16sb::@9/(byte) sin16sb::isUpper#5 ) + (word) sin16sb::x3#1 ← phi( sin16sb::@9/(word) sin16sb::x3#0 ) + (word) sin16sb::x1#2 ← phi( sin16sb::@9/(word) sin16sb::x1#4 ) + (word) mulu16_sel::return#20 ← phi( sin16sb::@9/(word) mulu16_sel::return#9 ) + (word~) sin16sb::$10 ← (word) mulu16_sel::return#20 + (word) sin16sb::x3_6#0 ← (word~) sin16sb::$10 + (word~) sin16sb::$11 ← (word) sin16sb::x1#2 - (word) sin16sb::x3_6#0 + (word) sin16sb::usinx#0 ← (word~) sin16sb::$11 + (word) mulu16_sel::v1#8 ← (word) sin16sb::x3#1 + (word) mulu16_sel::v2#8 ← (word) sin16sb::x1#2 + (byte) mulu16_sel::select#8 ← (byte/signed byte/word/signed word/dword/signed dword) 0 + call mulu16_sel param-assignment + (word) mulu16_sel::return#10 ← (word) mulu16_sel::return#6 + to:sin16sb::@11 +sin16sb::@11: scope:[sin16sb] from sin16sb::@10 + (byte) sin16sb::isUpper#3 ← phi( sin16sb::@10/(byte) sin16sb::isUpper#4 ) + (word) sin16sb::usinx#4 ← phi( sin16sb::@10/(word) sin16sb::usinx#0 ) + (word) sin16sb::x1#3 ← phi( sin16sb::@10/(word) sin16sb::x1#2 ) + (word) mulu16_sel::return#21 ← phi( sin16sb::@10/(word) mulu16_sel::return#10 ) + (word~) sin16sb::$12 ← (word) mulu16_sel::return#21 + (word) sin16sb::x4#0 ← (word~) sin16sb::$12 + (word) mulu16_sel::v1#9 ← (word) sin16sb::x4#0 + (word) mulu16_sel::v2#9 ← (word) sin16sb::x1#3 + (byte) mulu16_sel::select#9 ← (byte/signed byte/word/signed word/dword/signed dword) 0 + call mulu16_sel param-assignment + (word) mulu16_sel::return#11 ← (word) mulu16_sel::return#6 + to:sin16sb::@12 +sin16sb::@12: scope:[sin16sb] from sin16sb::@11 + (byte) sin16sb::isUpper#2 ← phi( sin16sb::@11/(byte) sin16sb::isUpper#3 ) + (word) sin16sb::usinx#2 ← phi( sin16sb::@11/(word) sin16sb::usinx#4 ) + (word) mulu16_sel::return#22 ← phi( sin16sb::@11/(word) mulu16_sel::return#11 ) + (word~) sin16sb::$13 ← (word) mulu16_sel::return#22 + (word) sin16sb::x5#0 ← (word~) sin16sb::$13 + (word~) sin16sb::$14 ← (word) sin16sb::x5#0 >> (byte/signed byte/word/signed word/dword/signed dword) 4 + (word) sin16sb::x5_128#0 ← (word~) sin16sb::$14 + (word~) sin16sb::$15 ← (word) sin16sb::usinx#2 + (word) sin16sb::x5_128#0 + (word) sin16sb::usinx#1 ← (word~) sin16sb::$15 + (signed word~) sin16sb::$16 ← ((signed word)) (word) sin16sb::usinx#1 + (signed word) sin16sb::sinx#0 ← (signed word~) sin16sb::$16 + (boolean~) sin16sb::$17 ← (byte) sin16sb::isUpper#2 != (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) sin16sb::$18 ← ! (boolean~) sin16sb::$17 + if((boolean~) sin16sb::$18) goto sin16sb::@3 + to:sin16sb::@6 +sin16sb::@5: scope:[sin16sb] from sin16sb::@1 + (byte) sin16sb::isUpper#9 ← phi( sin16sb::@1/(byte) sin16sb::isUpper#8 ) + (word) sin16sb::x#7 ← phi( sin16sb::@1/(word) sin16sb::x#4 ) + (word~) sin16sb::$5 ← (word) PI_u4f12#0 - (word) sin16sb::x#7 + (word) sin16sb::x#2 ← (word~) sin16sb::$5 + to:sin16sb::@2 +sin16sb::@3: scope:[sin16sb] from sin16sb::@12 sin16sb::@6 + (signed word) sin16sb::sinx#2 ← phi( sin16sb::@12/(signed word) sin16sb::sinx#0 sin16sb::@6/(signed word) sin16sb::sinx#1 ) + (signed word) sin16sb::return#1 ← (signed word) sin16sb::sinx#2 + to:sin16sb::@return +sin16sb::@6: scope:[sin16sb] from sin16sb::@12 + (word) sin16sb::usinx#3 ← phi( sin16sb::@12/(word) sin16sb::usinx#1 ) + (signed word~) sin16sb::$19 ← ((signed word)) (word) sin16sb::usinx#3 + (signed word~) sin16sb::$20 ← - (signed word~) sin16sb::$19 + (signed word) sin16sb::sinx#1 ← (signed word~) sin16sb::$20 + to:sin16sb::@3 +sin16sb::@return: scope:[sin16sb] from sin16sb::@3 + (signed word) sin16sb::return#4 ← phi( sin16sb::@3/(signed word) sin16sb::return#1 ) + (signed word) sin16sb::return#2 ← (signed word) sin16sb::return#4 + return + to:@return +@20: scope:[] from @12 + (word) rem16u#37 ← phi( @12/(word) rem16u#38 ) + (byte*) SCREEN#0 ← ((byte*)) (word/signed word/dword/signed dword) 1024 + (byte*) line_cursor#0 ← (byte*) SCREEN#0 + (byte*) char_cursor#0 ← (byte*) line_cursor#0 + to:@31 +print_str: scope:[print_str] from main::@3 main::@8 + (byte*) char_cursor#51 ← phi( main::@3/(byte*) char_cursor#49 main::@8/(byte*) char_cursor#17 ) + (byte*) print_str::str#5 ← phi( main::@3/(byte*) print_str::str#2 main::@8/(byte*) print_str::str#1 ) + to:print_str::@1 +print_str::@1: scope:[print_str] from print_str print_str::@2 + (byte*) char_cursor#42 ← phi( print_str/(byte*) char_cursor#51 print_str::@2/(byte*) char_cursor#1 ) + (byte*) print_str::str#3 ← phi( print_str/(byte*) print_str::str#5 print_str::@2/(byte*) print_str::str#0 ) + (boolean~) print_str::$0 ← *((byte*) print_str::str#3) != (byte) '@' + if((boolean~) print_str::$0) goto print_str::@2 + to:print_str::@return +print_str::@2: scope:[print_str] from print_str::@1 + (byte*) char_cursor#22 ← phi( print_str::@1/(byte*) char_cursor#42 ) + (byte*) print_str::str#4 ← phi( print_str::@1/(byte*) print_str::str#3 ) + *((byte*) char_cursor#22) ← *((byte*) print_str::str#4) + (byte*) char_cursor#1 ← ++ (byte*) char_cursor#22 + (byte*) print_str::str#0 ← ++ (byte*) print_str::str#4 + to:print_str::@1 +print_str::@return: scope:[print_str] from print_str::@1 + (byte*) char_cursor#23 ← phi( print_str::@1/(byte*) char_cursor#42 ) + (byte*) char_cursor#2 ← (byte*) char_cursor#23 + return + to:@return +print_sword: scope:[print_sword] from main::@2 + (byte*) char_cursor#52 ← phi( main::@2/(byte*) char_cursor#48 ) + (signed word) print_sword::w#2 ← phi( main::@2/(signed word) print_sword::w#1 ) + (boolean~) print_sword::$0 ← (signed word) print_sword::w#2 < (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) print_sword::$1 ← ! (boolean~) print_sword::$0 + if((boolean~) print_sword::$1) goto print_sword::@1 + to:print_sword::@2 +print_sword::@1: scope:[print_sword] from print_sword print_sword::@4 + (byte*) char_cursor#43 ← phi( print_sword/(byte*) char_cursor#52 print_sword::@4/(byte*) char_cursor#4 ) + (signed word) print_sword::w#3 ← phi( print_sword/(signed word) print_sword::w#2 print_sword::@4/(signed word) print_sword::w#0 ) + (word~) print_sword::$4 ← ((word)) (signed word) print_sword::w#3 + (word) print_word::w#0 ← (word~) print_sword::$4 + call print_word param-assignment + to:print_sword::@3 +print_sword::@3: scope:[print_sword] from print_sword::@1 + (byte*) char_cursor#24 ← phi( print_sword::@1/(byte*) char_cursor#8 ) + (byte*) char_cursor#3 ← (byte*) char_cursor#24 + to:print_sword::@return +print_sword::@2: scope:[print_sword] from print_sword + (signed word) print_sword::w#5 ← phi( print_sword/(signed word) print_sword::w#2 ) + (byte*) char_cursor#44 ← phi( print_sword/(byte*) char_cursor#52 ) + (byte) print_char::ch#0 ← (byte) '-' + call print_char param-assignment + to:print_sword::@4 +print_sword::@4: scope:[print_sword] from print_sword::@2 + (signed word) print_sword::w#4 ← phi( print_sword::@2/(signed word) print_sword::w#5 ) + (byte*) char_cursor#25 ← phi( print_sword::@2/(byte*) char_cursor#13 ) + (byte*) char_cursor#4 ← (byte*) char_cursor#25 + (signed word~) print_sword::$3 ← - (signed word) print_sword::w#4 + (signed word) print_sword::w#0 ← (signed word~) print_sword::$3 + to:print_sword::@1 +print_sword::@return: scope:[print_sword] from print_sword::@3 + (byte*) char_cursor#26 ← phi( print_sword::@3/(byte*) char_cursor#3 ) + (byte*) char_cursor#5 ← (byte*) char_cursor#26 + return + to:@return +print_word: scope:[print_word] from print_sword::@1 + (byte*) char_cursor#45 ← phi( print_sword::@1/(byte*) char_cursor#43 ) + (word) print_word::w#1 ← phi( print_sword::@1/(word) print_word::w#0 ) + (byte~) print_word::$0 ← > (word) print_word::w#1 + (byte) print_byte::b#0 ← (byte~) print_word::$0 + call print_byte param-assignment + to:print_word::@1 +print_word::@1: scope:[print_word] from print_word + (word) print_word::w#2 ← phi( print_word/(word) print_word::w#1 ) + (byte*) char_cursor#27 ← phi( print_word/(byte*) char_cursor#11 ) + (byte*) char_cursor#6 ← (byte*) char_cursor#27 + (byte~) print_word::$2 ← < (word) print_word::w#2 + (byte) print_byte::b#1 ← (byte~) print_word::$2 + call print_byte param-assignment + to:print_word::@2 +print_word::@2: scope:[print_word] from print_word::@1 + (byte*) char_cursor#28 ← phi( print_word::@1/(byte*) char_cursor#11 ) + (byte*) char_cursor#7 ← (byte*) char_cursor#28 + to:print_word::@return +print_word::@return: scope:[print_word] from print_word::@2 + (byte*) char_cursor#29 ← phi( print_word::@2/(byte*) char_cursor#7 ) + (byte*) char_cursor#8 ← (byte*) char_cursor#29 + return + to:@return +print_byte: scope:[print_byte] from print_word print_word::@1 + (byte*) char_cursor#46 ← phi( print_word/(byte*) char_cursor#45 print_word::@1/(byte*) char_cursor#6 ) + (byte) print_byte::b#2 ← phi( print_word/(byte) print_byte::b#0 print_word::@1/(byte) print_byte::b#1 ) + (byte[]) print_byte::hextab#0 ← (const string) print_byte::$4 + (byte~) print_byte::$0 ← (byte) print_byte::b#2 >> (byte/signed byte/word/signed word/dword/signed dword) 4 + (byte) print_char::ch#1 ← *((byte[]) print_byte::hextab#0 + (byte~) print_byte::$0) + call print_char param-assignment + to:print_byte::@1 +print_byte::@1: scope:[print_byte] from print_byte + (byte) print_byte::b#3 ← phi( print_byte/(byte) print_byte::b#2 ) + (byte*) char_cursor#30 ← phi( print_byte/(byte*) char_cursor#13 ) + (byte*) char_cursor#9 ← (byte*) char_cursor#30 + (byte~) print_byte::$2 ← (byte) print_byte::b#3 & (byte/signed byte/word/signed word/dword/signed dword) 15 + (byte) print_char::ch#2 ← *((byte[]) print_byte::hextab#0 + (byte~) print_byte::$2) + call print_char param-assignment + to:print_byte::@2 +print_byte::@2: scope:[print_byte] from print_byte::@1 + (byte*) char_cursor#31 ← phi( print_byte::@1/(byte*) char_cursor#13 ) + (byte*) char_cursor#10 ← (byte*) char_cursor#31 + to:print_byte::@return +print_byte::@return: scope:[print_byte] from print_byte::@2 + (byte*) char_cursor#32 ← phi( print_byte::@2/(byte*) char_cursor#10 ) + (byte*) char_cursor#11 ← (byte*) char_cursor#32 + return + to:@return +print_char: scope:[print_char] from print_byte print_byte::@1 print_sword::@2 + (byte*) char_cursor#33 ← phi( print_byte/(byte*) char_cursor#46 print_byte::@1/(byte*) char_cursor#9 print_sword::@2/(byte*) char_cursor#44 ) + (byte) print_char::ch#3 ← phi( print_byte/(byte) print_char::ch#1 print_byte::@1/(byte) print_char::ch#2 print_sword::@2/(byte) print_char::ch#0 ) + *((byte*) char_cursor#33) ← (byte) print_char::ch#3 + (byte*) char_cursor#12 ← ++ (byte*) char_cursor#33 + to:print_char::@return +print_char::@return: scope:[print_char] from print_char + (byte*) char_cursor#34 ← phi( print_char/(byte*) char_cursor#12 ) + (byte*) char_cursor#13 ← (byte*) char_cursor#34 + return + to:@return +print_cls: scope:[print_cls] from main::@6 + (byte*) print_cls::sc#0 ← (byte*) SCREEN#0 + to:print_cls::@1 +print_cls::@1: scope:[print_cls] from print_cls print_cls::@1 + (byte*) print_cls::sc#2 ← phi( print_cls/(byte*) print_cls::sc#0 print_cls::@1/(byte*) print_cls::sc#1 ) + *((byte*) print_cls::sc#2) ← (byte) ' ' + (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 + (byte*~) print_cls::$0 ← (byte*) SCREEN#0 + (word/signed word/dword/signed dword) 1000 + (boolean~) print_cls::$1 ← (byte*) print_cls::sc#1 != (byte*~) print_cls::$0 + if((boolean~) print_cls::$1) goto print_cls::@1 + to:print_cls::@2 +print_cls::@2: scope:[print_cls] from print_cls::@1 + (byte*) line_cursor#1 ← (byte*) SCREEN#0 + (byte*) char_cursor#14 ← (byte*) line_cursor#1 + to:print_cls::@return +print_cls::@return: scope:[print_cls] from print_cls::@2 + (byte*) char_cursor#35 ← phi( print_cls::@2/(byte*) char_cursor#14 ) + (byte*) line_cursor#6 ← phi( print_cls::@2/(byte*) line_cursor#1 ) + (byte*) line_cursor#2 ← (byte*) line_cursor#6 + (byte*) char_cursor#15 ← (byte*) char_cursor#35 + return + to:@return +main: scope:[main] from @31 + (byte*) char_cursor#55 ← phi( @31/(byte*) char_cursor#50 ) + (byte*) line_cursor#15 ← phi( @31/(byte*) line_cursor#12 ) + (word) rem16u#31 ← phi( @31/(word) rem16u#33 ) + (word) main::wavelength#0 ← (byte/signed byte/word/signed word/dword/signed dword) 120 + (signed word[120]) main::sintab1#0 ← { fill( 120, 0) } + (signed word[120]) main::sintab2#0 ← { fill( 120, 0) } + (signed word*) sin16s_gen::sintab#1 ← (signed word[120]) main::sintab1#0 + (word) sin16s_gen::wavelength#0 ← (word) main::wavelength#0 + call sin16s_gen param-assignment + to:main::@5 +main::@5: scope:[main] from main + (byte*) char_cursor#53 ← phi( main/(byte*) char_cursor#55 ) + (byte*) line_cursor#13 ← phi( main/(byte*) line_cursor#15 ) + (word) main::wavelength#1 ← phi( main/(word) main::wavelength#0 ) + (word) rem16u#22 ← phi( main/(word) rem16u#7 ) + (word) rem16u#10 ← (word) rem16u#22 + (signed word*) sin16s_genb::sintab#1 ← (signed word[120]) main::sintab2#0 + (word) sin16s_genb::wavelength#0 ← (word) main::wavelength#1 + call sin16s_genb param-assignment + to:main::@6 +main::@6: scope:[main] from main::@5 + (byte*) char_cursor#47 ← phi( main::@5/(byte*) char_cursor#53 ) + (byte*) line_cursor#10 ← phi( main::@5/(byte*) line_cursor#13 ) + (word) rem16u#23 ← phi( main::@5/(word) rem16u#9 ) + (word) rem16u#11 ← (word) rem16u#23 + call print_cls param-assignment + to:main::@7 +main::@7: scope:[main] from main::@6 + (word) rem16u#42 ← phi( main::@6/(word) rem16u#11 ) + (byte*) char_cursor#36 ← phi( main::@6/(byte*) char_cursor#15 ) + (byte*) line_cursor#7 ← phi( main::@6/(byte*) line_cursor#2 ) + (byte*) line_cursor#3 ← (byte*) line_cursor#7 + (byte*) char_cursor#16 ← (byte*) char_cursor#36 + (signed word*) main::st1#0 ← (signed word[120]) main::sintab1#0 + (signed word*) main::st2#0 ← (signed word[120]) main::sintab2#0 + (byte) main::i#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0 + to:main::@1 +main::@1: scope:[main] from main::@7 main::@9 + (byte*) line_cursor#17 ← phi( main::@7/(byte*) line_cursor#3 main::@9/(byte*) line_cursor#11 ) + (word) rem16u#40 ← phi( main::@7/(word) rem16u#42 main::@9/(word) rem16u#32 ) + (byte) main::i#5 ← phi( main::@7/(byte) main::i#0 main::@9/(byte) main::i#1 ) + (byte*) char_cursor#54 ← phi( main::@7/(byte*) char_cursor#16 main::@9/(byte*) char_cursor#18 ) + (signed word*) main::st2#2 ← phi( main::@7/(signed word*) main::st2#0 main::@9/(signed word*) main::st2#1 ) + (signed word*) main::st1#2 ← phi( main::@7/(signed word*) main::st1#0 main::@9/(signed word*) main::st1#1 ) + (signed word~) main::$3 ← *((signed word*) main::st1#2) - *((signed word*) main::st2#2) + (signed word) main::sw#0 ← (signed word~) main::$3 + (boolean~) main::$4 ← (signed word) main::sw#0 >= (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) main::$5 ← ! (boolean~) main::$4 + if((boolean~) main::$5) goto main::@2 + to:main::@3 +main::@2: scope:[main] from main::@1 main::@10 + (byte*) line_cursor#16 ← phi( main::@1/(byte*) line_cursor#17 main::@10/(byte*) line_cursor#18 ) + (word) rem16u#39 ← phi( main::@1/(word) rem16u#40 main::@10/(word) rem16u#41 ) + (byte) main::i#4 ← phi( main::@1/(byte) main::i#5 main::@10/(byte) main::i#6 ) + (signed word*) main::st2#5 ← phi( main::@1/(signed word*) main::st2#2 main::@10/(signed word*) main::st2#6 ) + (signed word*) main::st1#5 ← phi( main::@1/(signed word*) main::st1#2 main::@10/(signed word*) main::st1#6 ) + (byte*) char_cursor#48 ← phi( main::@1/(byte*) char_cursor#54 main::@10/(byte*) char_cursor#19 ) + (signed word) main::sw#1 ← phi( main::@1/(signed word) main::sw#0 main::@10/(signed word) main::sw#2 ) + (signed word) print_sword::w#1 ← (signed word) main::sw#1 + call print_sword param-assignment + to:main::@8 +main::@8: scope:[main] from main::@2 + (byte*) line_cursor#14 ← phi( main::@2/(byte*) line_cursor#16 ) + (word) rem16u#36 ← phi( main::@2/(word) rem16u#39 ) + (byte) main::i#3 ← phi( main::@2/(byte) main::i#4 ) + (signed word*) main::st2#4 ← phi( main::@2/(signed word*) main::st2#5 ) + (signed word*) main::st1#4 ← phi( main::@2/(signed word*) main::st1#5 ) + (byte*) char_cursor#37 ← phi( main::@2/(byte*) char_cursor#5 ) + (byte*) char_cursor#17 ← (byte*) char_cursor#37 + (byte*) print_str::str#1 ← (const string) main::str + call print_str param-assignment + to:main::@9 +main::@9: scope:[main] from main::@8 + (byte*) line_cursor#11 ← phi( main::@8/(byte*) line_cursor#14 ) + (word) rem16u#32 ← phi( main::@8/(word) rem16u#36 ) + (byte) main::i#2 ← phi( main::@8/(byte) main::i#3 ) + (signed word*) main::st2#3 ← phi( main::@8/(signed word*) main::st2#4 ) + (signed word*) main::st1#3 ← phi( main::@8/(signed word*) main::st1#4 ) + (byte*) char_cursor#38 ← phi( main::@8/(byte*) char_cursor#2 ) + (byte*) char_cursor#18 ← (byte*) char_cursor#38 + (signed word*~) main::$9 ← (signed word*) main::st1#3 + (byte/signed byte/word/signed word/dword/signed dword) 2 + (signed word*) main::st1#1 ← (signed word*~) main::$9 + (signed word*~) main::$10 ← (signed word*) main::st2#3 + (byte/signed byte/word/signed word/dword/signed dword) 2 + (signed word*) main::st2#1 ← (signed word*~) main::$10 + (byte) main::i#1 ← ++ (byte) main::i#2 + (boolean~) main::$11 ← (byte) main::i#1 != (byte/signed byte/word/signed word/dword/signed dword) 120 + if((boolean~) main::$11) goto main::@1 + to:main::@return +main::@3: scope:[main] from main::@1 + (byte*) line_cursor#19 ← phi( main::@1/(byte*) line_cursor#17 ) + (word) rem16u#43 ← phi( main::@1/(word) rem16u#40 ) + (byte) main::i#7 ← phi( main::@1/(byte) main::i#5 ) + (signed word*) main::st2#7 ← phi( main::@1/(signed word*) main::st2#2 ) + (signed word*) main::st1#7 ← phi( main::@1/(signed word*) main::st1#2 ) + (signed word) main::sw#3 ← phi( main::@1/(signed word) main::sw#0 ) + (byte*) char_cursor#49 ← phi( main::@1/(byte*) char_cursor#54 ) + (byte*) print_str::str#2 ← (const string) main::str1 + call print_str param-assignment + to:main::@10 +main::@10: scope:[main] from main::@3 + (byte*) line_cursor#18 ← phi( main::@3/(byte*) line_cursor#19 ) + (word) rem16u#41 ← phi( main::@3/(word) rem16u#43 ) + (byte) main::i#6 ← phi( main::@3/(byte) main::i#7 ) + (signed word*) main::st2#6 ← phi( main::@3/(signed word*) main::st2#7 ) + (signed word*) main::st1#6 ← phi( main::@3/(signed word*) main::st1#7 ) + (signed word) main::sw#2 ← phi( main::@3/(signed word) main::sw#3 ) + (byte*) char_cursor#39 ← phi( main::@3/(byte*) char_cursor#2 ) + (byte*) char_cursor#19 ← (byte*) char_cursor#39 + to:main::@2 +main::@return: scope:[main] from main::@9 + (byte*) char_cursor#40 ← phi( main::@9/(byte*) char_cursor#18 ) + (byte*) line_cursor#8 ← phi( main::@9/(byte*) line_cursor#11 ) + (word) rem16u#24 ← phi( main::@9/(word) rem16u#32 ) + (word) rem16u#12 ← (word) rem16u#24 + (byte*) line_cursor#4 ← (byte*) line_cursor#8 + (byte*) char_cursor#20 ← (byte*) char_cursor#40 + return + to:@return +@31: scope:[] from @20 + (byte*) char_cursor#50 ← phi( @20/(byte*) char_cursor#0 ) + (byte*) line_cursor#12 ← phi( @20/(byte*) line_cursor#0 ) + (word) rem16u#33 ← phi( @20/(word) rem16u#37 ) + call main param-assignment + to:@32 +@32: scope:[] from @31 + (byte*) char_cursor#41 ← phi( @31/(byte*) char_cursor#20 ) + (byte*) line_cursor#9 ← phi( @31/(byte*) line_cursor#4 ) + (word) rem16u#25 ← phi( @31/(word) rem16u#12 ) + (word) rem16u#13 ← (word) rem16u#25 + (byte*) line_cursor#5 ← (byte*) line_cursor#9 + (byte*) char_cursor#21 ← (byte*) char_cursor#41 + to:@end +@end: scope:[] from @32 + +SYMBOL TABLE SSA +(label) @12 +(label) @2 +(label) @20 +(label) @31 +(label) @32 +(label) @begin +(label) @end +(dword) PI2_u4f28 +(dword) PI2_u4f28#0 +(word) PI_HALF_u4f12 +(word) PI_HALF_u4f12#0 +(dword) PI_HALF_u4f28 +(dword) PI_HALF_u4f28#0 +(word) PI_u4f12 +(word) PI_u4f12#0 +(dword) PI_u4f28 +(dword) PI_u4f28#0 +(byte*) SCREEN +(byte*) SCREEN#0 +(byte*) char_cursor +(byte*) char_cursor#0 +(byte*) char_cursor#1 +(byte*) char_cursor#10 +(byte*) char_cursor#11 +(byte*) char_cursor#12 +(byte*) char_cursor#13 +(byte*) char_cursor#14 +(byte*) char_cursor#15 +(byte*) char_cursor#16 +(byte*) char_cursor#17 +(byte*) char_cursor#18 +(byte*) char_cursor#19 +(byte*) char_cursor#2 +(byte*) char_cursor#20 +(byte*) char_cursor#21 +(byte*) char_cursor#22 +(byte*) char_cursor#23 +(byte*) char_cursor#24 +(byte*) char_cursor#25 +(byte*) char_cursor#26 +(byte*) char_cursor#27 +(byte*) char_cursor#28 +(byte*) char_cursor#29 +(byte*) char_cursor#3 +(byte*) char_cursor#30 +(byte*) char_cursor#31 +(byte*) char_cursor#32 +(byte*) char_cursor#33 +(byte*) char_cursor#34 +(byte*) char_cursor#35 +(byte*) char_cursor#36 +(byte*) char_cursor#37 +(byte*) char_cursor#38 +(byte*) char_cursor#39 +(byte*) char_cursor#4 +(byte*) char_cursor#40 +(byte*) char_cursor#41 +(byte*) char_cursor#42 +(byte*) char_cursor#43 +(byte*) char_cursor#44 +(byte*) char_cursor#45 +(byte*) char_cursor#46 +(byte*) char_cursor#47 +(byte*) char_cursor#48 +(byte*) char_cursor#49 +(byte*) char_cursor#5 +(byte*) char_cursor#50 +(byte*) char_cursor#51 +(byte*) char_cursor#52 +(byte*) char_cursor#53 +(byte*) char_cursor#54 +(byte*) char_cursor#55 +(byte*) char_cursor#6 +(byte*) char_cursor#7 +(byte*) char_cursor#8 +(byte*) char_cursor#9 +(dword()) div32u16u((dword) div32u16u::dividend , (word) div32u16u::divisor) +(word~) div32u16u::$0 +(word~) div32u16u::$1 +(word~) div32u16u::$2 +(word~) div32u16u::$3 +(label) div32u16u::@2 +(label) div32u16u::@3 +(label) div32u16u::@return +(dword) div32u16u::dividend +(dword) div32u16u::dividend#0 +(dword) div32u16u::dividend#1 +(dword) div32u16u::dividend#2 +(dword) div32u16u::dividend#3 +(word) div32u16u::divisor +(word) div32u16u::divisor#0 +(word) div32u16u::divisor#1 +(word) div32u16u::divisor#2 +(word) div32u16u::divisor#3 +(dword) div32u16u::quotient +(dword) div32u16u::quotient#0 +(word) div32u16u::quotient_hi +(word) div32u16u::quotient_hi#0 +(word) div32u16u::quotient_hi#1 +(word) div32u16u::quotient_lo +(word) div32u16u::quotient_lo#0 +(dword) div32u16u::return +(dword) div32u16u::return#0 +(dword) div32u16u::return#1 +(dword) div32u16u::return#2 +(dword) div32u16u::return#3 +(dword) div32u16u::return#4 +(dword) div32u16u::return#5 +(dword) div32u16u::return#6 +(word()) divr16u((word) divr16u::dividend , (word) divr16u::divisor , (word) divr16u::rem) +(word~) divr16u::$0 +(byte~) divr16u::$1 +(word~) divr16u::$10 +(boolean~) divr16u::$11 +(byte~) divr16u::$2 +(boolean~) divr16u::$3 +(boolean~) divr16u::$4 +(word~) divr16u::$5 +(word~) divr16u::$6 +(word~) divr16u::$7 +(boolean~) divr16u::$8 +(boolean~) divr16u::$9 +(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 +(word) divr16u::dividend#1 +(word) divr16u::dividend#2 +(word) divr16u::dividend#3 +(word) divr16u::dividend#4 +(word) divr16u::dividend#5 +(word) divr16u::dividend#6 +(word) divr16u::dividend#7 +(word) divr16u::dividend#8 +(word) divr16u::divisor +(word) divr16u::divisor#0 +(word) divr16u::divisor#1 +(word) divr16u::divisor#2 +(word) divr16u::divisor#3 +(word) divr16u::divisor#4 +(word) divr16u::divisor#5 +(word) divr16u::divisor#6 +(word) divr16u::divisor#7 +(byte) divr16u::i +(byte) divr16u::i#0 +(byte) divr16u::i#1 +(byte) divr16u::i#2 +(byte) divr16u::i#3 +(byte) divr16u::i#4 +(byte) divr16u::i#5 +(byte) divr16u::i#6 +(word) divr16u::quotient +(word) divr16u::quotient#0 +(word) divr16u::quotient#1 +(word) divr16u::quotient#2 +(word) divr16u::quotient#3 +(word) divr16u::quotient#4 +(word) divr16u::quotient#5 +(word) divr16u::quotient#6 +(word) divr16u::quotient#7 +(word) divr16u::quotient#8 +(word) divr16u::rem +(word) divr16u::rem#0 +(word) divr16u::rem#1 +(word) divr16u::rem#10 +(word) divr16u::rem#11 +(word) divr16u::rem#2 +(word) divr16u::rem#3 +(word) divr16u::rem#4 +(word) divr16u::rem#5 +(word) divr16u::rem#6 +(word) divr16u::rem#7 +(word) divr16u::rem#8 +(word) divr16u::rem#9 +(word) divr16u::return +(word) divr16u::return#0 +(word) divr16u::return#1 +(word) divr16u::return#2 +(word) divr16u::return#3 +(word) divr16u::return#4 +(word) divr16u::return#5 +(word) divr16u::return#6 +(byte*) line_cursor +(byte*) line_cursor#0 +(byte*) line_cursor#1 +(byte*) line_cursor#10 +(byte*) line_cursor#11 +(byte*) line_cursor#12 +(byte*) line_cursor#13 +(byte*) line_cursor#14 +(byte*) line_cursor#15 +(byte*) line_cursor#16 +(byte*) line_cursor#17 +(byte*) line_cursor#18 +(byte*) line_cursor#19 +(byte*) line_cursor#2 +(byte*) line_cursor#3 +(byte*) line_cursor#4 +(byte*) line_cursor#5 +(byte*) line_cursor#6 +(byte*) line_cursor#7 +(byte*) line_cursor#8 +(byte*) line_cursor#9 +(void()) main() +(signed word*~) main::$10 +(boolean~) main::$11 +(signed word~) main::$3 +(boolean~) main::$4 +(boolean~) main::$5 +(signed word*~) main::$9 +(label) main::@1 +(label) main::@10 +(label) main::@2 +(label) main::@3 +(label) main::@5 +(label) main::@6 +(label) main::@7 +(label) main::@8 +(label) main::@9 +(label) main::@return +(byte) main::i +(byte) main::i#0 +(byte) main::i#1 +(byte) main::i#2 +(byte) main::i#3 +(byte) main::i#4 +(byte) main::i#5 +(byte) main::i#6 +(byte) main::i#7 +(signed word[120]) main::sintab1 +(signed word[120]) main::sintab1#0 +(signed word[120]) main::sintab2 +(signed word[120]) main::sintab2#0 +(signed word*) main::st1 +(signed word*) main::st1#0 +(signed word*) main::st1#1 +(signed word*) main::st1#2 +(signed word*) main::st1#3 +(signed word*) main::st1#4 +(signed word*) main::st1#5 +(signed word*) main::st1#6 +(signed word*) main::st1#7 +(signed word*) main::st2 +(signed word*) main::st2#0 +(signed word*) main::st2#1 +(signed word*) main::st2#2 +(signed word*) main::st2#3 +(signed word*) main::st2#4 +(signed word*) main::st2#5 +(signed word*) main::st2#6 +(signed word*) main::st2#7 +(const string) main::str = (string) " @" +(const string) main::str1 = (string) " @" +(signed word) main::sw +(signed word) main::sw#0 +(signed word) main::sw#1 +(signed word) main::sw#2 +(signed word) main::sw#3 +(word) main::wavelength +(word) main::wavelength#0 +(word) main::wavelength#1 +(dword()) mul16u((word) mul16u::a , (word) mul16u::b) +(boolean~) mul16u::$0 +(byte~) mul16u::$1 +(boolean~) mul16u::$2 +(boolean~) mul16u::$3 +(dword~) mul16u::$4 +(word~) mul16u::$5 +(dword~) mul16u::$6 +(label) mul16u::@1 +(label) mul16u::@2 +(label) mul16u::@3 +(label) mul16u::@4 +(label) mul16u::@7 +(label) mul16u::@return +(word) mul16u::a +(word) mul16u::a#0 +(word) mul16u::a#1 +(word) mul16u::a#2 +(word) mul16u::a#3 +(word) mul16u::a#4 +(word) mul16u::a#5 +(word) mul16u::a#6 +(word) mul16u::b +(word) mul16u::b#0 +(word) mul16u::b#1 +(dword) mul16u::mb +(dword) mul16u::mb#0 +(dword) mul16u::mb#1 +(dword) mul16u::mb#2 +(dword) mul16u::mb#3 +(dword) mul16u::mb#4 +(dword) mul16u::mb#5 +(dword) mul16u::res +(dword) mul16u::res#0 +(dword) mul16u::res#1 +(dword) mul16u::res#2 +(dword) mul16u::res#3 +(dword) mul16u::res#4 +(dword) mul16u::res#5 +(dword) mul16u::res#6 +(dword) mul16u::return +(dword) mul16u::return#0 +(dword) mul16u::return#1 +(dword) mul16u::return#2 +(dword) mul16u::return#3 +(dword) mul16u::return#4 +(word()) mulu16_sel((word) mulu16_sel::v1 , (word) mulu16_sel::v2 , (byte) mulu16_sel::select) +(dword~) mulu16_sel::$0 +(dword~) mulu16_sel::$1 +(word~) mulu16_sel::$2 +(label) mulu16_sel::@2 +(label) mulu16_sel::@return +(word) mulu16_sel::return +(word) mulu16_sel::return#0 +(word) mulu16_sel::return#1 +(word) mulu16_sel::return#10 +(word) mulu16_sel::return#11 +(word) mulu16_sel::return#12 +(word) mulu16_sel::return#13 +(word) mulu16_sel::return#14 +(word) mulu16_sel::return#15 +(word) mulu16_sel::return#16 +(word) mulu16_sel::return#17 +(word) mulu16_sel::return#18 +(word) mulu16_sel::return#19 +(word) mulu16_sel::return#2 +(word) mulu16_sel::return#20 +(word) mulu16_sel::return#21 +(word) mulu16_sel::return#22 +(word) mulu16_sel::return#3 +(word) mulu16_sel::return#4 +(word) mulu16_sel::return#5 +(word) mulu16_sel::return#6 +(word) mulu16_sel::return#7 +(word) mulu16_sel::return#8 +(word) mulu16_sel::return#9 +(byte) mulu16_sel::select +(byte) mulu16_sel::select#0 +(byte) mulu16_sel::select#1 +(byte) mulu16_sel::select#10 +(byte) mulu16_sel::select#11 +(byte) mulu16_sel::select#2 +(byte) mulu16_sel::select#3 +(byte) mulu16_sel::select#4 +(byte) mulu16_sel::select#5 +(byte) mulu16_sel::select#6 +(byte) mulu16_sel::select#7 +(byte) mulu16_sel::select#8 +(byte) mulu16_sel::select#9 +(word) mulu16_sel::v1 +(word) mulu16_sel::v1#0 +(word) mulu16_sel::v1#1 +(word) mulu16_sel::v1#10 +(word) mulu16_sel::v1#2 +(word) mulu16_sel::v1#3 +(word) mulu16_sel::v1#4 +(word) mulu16_sel::v1#5 +(word) mulu16_sel::v1#6 +(word) mulu16_sel::v1#7 +(word) mulu16_sel::v1#8 +(word) mulu16_sel::v1#9 +(word) mulu16_sel::v2 +(word) mulu16_sel::v2#0 +(word) mulu16_sel::v2#1 +(word) mulu16_sel::v2#10 +(word) mulu16_sel::v2#2 +(word) mulu16_sel::v2#3 +(word) mulu16_sel::v2#4 +(word) mulu16_sel::v2#5 +(word) mulu16_sel::v2#6 +(word) mulu16_sel::v2#7 +(word) mulu16_sel::v2#8 +(word) mulu16_sel::v2#9 +(void()) print_byte((byte) print_byte::b) +(byte~) print_byte::$0 +(byte~) print_byte::$2 +(const string) print_byte::$4 = (string) "0123456789abcdef" +(label) print_byte::@1 +(label) print_byte::@2 +(label) print_byte::@return +(byte) print_byte::b +(byte) print_byte::b#0 +(byte) print_byte::b#1 +(byte) print_byte::b#2 +(byte) print_byte::b#3 +(byte[]) print_byte::hextab +(byte[]) print_byte::hextab#0 +(void()) print_char((byte) print_char::ch) +(label) print_char::@return +(byte) print_char::ch +(byte) print_char::ch#0 +(byte) print_char::ch#1 +(byte) print_char::ch#2 +(byte) print_char::ch#3 +(void()) print_cls() +(byte*~) print_cls::$0 +(boolean~) print_cls::$1 +(label) print_cls::@1 +(label) print_cls::@2 +(label) print_cls::@return +(byte*) print_cls::sc +(byte*) print_cls::sc#0 +(byte*) print_cls::sc#1 +(byte*) print_cls::sc#2 +(void()) print_str((byte*) print_str::str) +(boolean~) print_str::$0 +(label) print_str::@1 +(label) print_str::@2 +(label) print_str::@return +(byte*) print_str::str +(byte*) print_str::str#0 +(byte*) print_str::str#1 +(byte*) print_str::str#2 +(byte*) print_str::str#3 +(byte*) print_str::str#4 +(byte*) print_str::str#5 +(void()) print_sword((signed word) print_sword::w) +(boolean~) print_sword::$0 +(boolean~) print_sword::$1 +(signed word~) print_sword::$3 +(word~) print_sword::$4 +(label) print_sword::@1 +(label) print_sword::@2 +(label) print_sword::@3 +(label) print_sword::@4 +(label) print_sword::@return +(signed word) print_sword::w +(signed word) print_sword::w#0 +(signed word) print_sword::w#1 +(signed word) print_sword::w#2 +(signed word) print_sword::w#3 +(signed word) print_sword::w#4 +(signed word) print_sword::w#5 +(void()) print_word((word) print_word::w) +(byte~) print_word::$0 +(byte~) print_word::$2 +(label) print_word::@1 +(label) print_word::@2 +(label) print_word::@return +(word) print_word::w +(word) print_word::w#0 +(word) print_word::w#1 +(word) print_word::w#2 +(word) rem16u +(word) rem16u#0 +(word) rem16u#1 +(word) rem16u#10 +(word) rem16u#11 +(word) rem16u#12 +(word) rem16u#13 +(word) rem16u#14 +(word) rem16u#15 +(word) rem16u#16 +(word) rem16u#17 +(word) rem16u#18 +(word) rem16u#19 +(word) rem16u#2 +(word) rem16u#20 +(word) rem16u#21 +(word) rem16u#22 +(word) rem16u#23 +(word) rem16u#24 +(word) rem16u#25 +(word) rem16u#26 +(word) rem16u#27 +(word) rem16u#28 +(word) rem16u#29 +(word) rem16u#3 +(word) rem16u#30 +(word) rem16u#31 +(word) rem16u#32 +(word) rem16u#33 +(word) rem16u#34 +(word) rem16u#35 +(word) rem16u#36 +(word) rem16u#37 +(word) rem16u#38 +(word) rem16u#39 +(word) rem16u#4 +(word) rem16u#40 +(word) rem16u#41 +(word) rem16u#42 +(word) rem16u#43 +(word) rem16u#5 +(word) rem16u#6 +(word) rem16u#7 +(word) rem16u#8 +(word) rem16u#9 +(signed word()) sin16s((dword) sin16s::x) +(boolean~) sin16s::$0 +(boolean~) sin16s::$1 +(word/signed word/dword/signed dword~) sin16s::$10 +(word~) sin16s::$11 +(word~) sin16s::$12 +(word~) sin16s::$13 +(word~) sin16s::$14 +(word~) sin16s::$15 +(word~) sin16s::$16 +(signed word~) sin16s::$17 +(boolean~) sin16s::$18 +(boolean~) sin16s::$19 +(dword~) sin16s::$2 +(signed word~) sin16s::$20 +(signed word~) sin16s::$21 +(boolean~) sin16s::$3 +(boolean~) sin16s::$4 +(dword~) sin16s::$5 +(dword~) sin16s::$6 +(word~) sin16s::$7 +(word~) sin16s::$8 +(word~) sin16s::$9 +(label) sin16s::@1 +(label) sin16s::@10 +(label) sin16s::@11 +(label) sin16s::@12 +(label) sin16s::@2 +(label) sin16s::@3 +(label) sin16s::@4 +(label) sin16s::@5 +(label) sin16s::@6 +(label) sin16s::@8 +(label) sin16s::@9 +(label) sin16s::@return +(byte) sin16s::isUpper +(byte) sin16s::isUpper#0 +(byte) sin16s::isUpper#1 +(byte) sin16s::isUpper#2 +(byte) sin16s::isUpper#3 +(byte) sin16s::isUpper#4 +(byte) sin16s::isUpper#5 +(byte) sin16s::isUpper#6 +(byte) sin16s::isUpper#7 +(byte) sin16s::isUpper#8 +(byte) sin16s::isUpper#9 +(signed word) sin16s::return +(signed word) sin16s::return#0 +(signed word) sin16s::return#1 +(signed word) sin16s::return#2 +(signed word) sin16s::return#3 +(signed word) sin16s::return#4 +(signed word) sin16s::sinx +(signed word) sin16s::sinx#0 +(signed word) sin16s::sinx#1 +(signed word) sin16s::sinx#2 +(word) sin16s::usinx +(word) sin16s::usinx#0 +(word) sin16s::usinx#1 +(word) sin16s::usinx#2 +(word) sin16s::usinx#3 +(word) sin16s::usinx#4 +(dword) sin16s::x +(dword) sin16s::x#0 +(dword) sin16s::x#1 +(dword) sin16s::x#2 +(dword) sin16s::x#3 +(dword) sin16s::x#4 +(dword) sin16s::x#5 +(dword) sin16s::x#6 +(dword) sin16s::x#7 +(word) sin16s::x1 +(word) sin16s::x1#0 +(word) sin16s::x1#1 +(word) sin16s::x1#2 +(word) sin16s::x1#3 +(word) sin16s::x1#4 +(word) sin16s::x2 +(word) sin16s::x2#0 +(word) sin16s::x3 +(word) sin16s::x3#0 +(word) sin16s::x3#1 +(word) sin16s::x3_6 +(word) sin16s::x3_6#0 +(word) sin16s::x4 +(word) sin16s::x4#0 +(word) sin16s::x5 +(word) sin16s::x5#0 +(word) sin16s::x5_128 +(word) sin16s::x5_128#0 +(void()) sin16s_gen((signed word*) sin16s_gen::sintab , (word) sin16s_gen::wavelength) +(dword~) sin16s_gen::$0 +(signed word~) sin16s_gen::$1 +(signed word*~) sin16s_gen::$2 +(dword~) sin16s_gen::$3 +(boolean~) sin16s_gen::$4 +(label) sin16s_gen::@1 +(label) sin16s_gen::@3 +(label) sin16s_gen::@4 +(label) sin16s_gen::@return +(word) sin16s_gen::i +(word) sin16s_gen::i#0 +(word) sin16s_gen::i#1 +(word) sin16s_gen::i#2 +(word) sin16s_gen::i#3 +(signed word*) sin16s_gen::sintab +(signed word*) sin16s_gen::sintab#0 +(signed word*) sin16s_gen::sintab#1 +(signed word*) sin16s_gen::sintab#2 +(signed word*) sin16s_gen::sintab#3 +(signed word*) sin16s_gen::sintab#4 +(signed word*) sin16s_gen::sintab#5 +(dword) sin16s_gen::step +(dword) sin16s_gen::step#0 +(dword) sin16s_gen::step#1 +(dword) sin16s_gen::step#2 +(word) sin16s_gen::wavelength +(word) sin16s_gen::wavelength#0 +(word) sin16s_gen::wavelength#1 +(word) sin16s_gen::wavelength#2 +(word) sin16s_gen::wavelength#3 +(word) sin16s_gen::wavelength#4 +(dword) sin16s_gen::x +(dword) sin16s_gen::x#0 +(dword) sin16s_gen::x#1 +(dword) sin16s_gen::x#2 +(dword) sin16s_gen::x#3 +(void()) sin16s_genb((signed word*) sin16s_genb::sintab , (word) sin16s_genb::wavelength) +(dword~) sin16s_genb::$0 +(word~) sin16s_genb::$1 +(signed word~) sin16s_genb::$2 +(signed word*~) sin16s_genb::$3 +(dword~) sin16s_genb::$4 +(boolean~) sin16s_genb::$5 +(label) sin16s_genb::@1 +(label) sin16s_genb::@3 +(label) sin16s_genb::@4 +(label) sin16s_genb::@return +(word) sin16s_genb::i +(word) sin16s_genb::i#0 +(word) sin16s_genb::i#1 +(word) sin16s_genb::i#2 +(word) sin16s_genb::i#3 +(signed word*) sin16s_genb::sintab +(signed word*) sin16s_genb::sintab#0 +(signed word*) sin16s_genb::sintab#1 +(signed word*) sin16s_genb::sintab#2 +(signed word*) sin16s_genb::sintab#3 +(signed word*) sin16s_genb::sintab#4 +(signed word*) sin16s_genb::sintab#5 +(dword) sin16s_genb::step +(dword) sin16s_genb::step#0 +(dword) sin16s_genb::step#1 +(dword) sin16s_genb::step#2 +(word) sin16s_genb::wavelength +(word) sin16s_genb::wavelength#0 +(word) sin16s_genb::wavelength#1 +(word) sin16s_genb::wavelength#2 +(word) sin16s_genb::wavelength#3 +(word) sin16s_genb::wavelength#4 +(dword) sin16s_genb::x +(dword) sin16s_genb::x#0 +(dword) sin16s_genb::x#1 +(dword) sin16s_genb::x#2 +(dword) sin16s_genb::x#3 +(signed word()) sin16sb((word) sin16sb::x) +(boolean~) sin16sb::$0 +(boolean~) sin16sb::$1 +(word~) sin16sb::$10 +(word~) sin16sb::$11 +(word~) sin16sb::$12 +(word~) sin16sb::$13 +(word~) sin16sb::$14 +(word~) sin16sb::$15 +(signed word~) sin16sb::$16 +(boolean~) sin16sb::$17 +(boolean~) sin16sb::$18 +(signed word~) sin16sb::$19 +(word~) sin16sb::$2 +(signed word~) sin16sb::$20 +(boolean~) sin16sb::$3 +(boolean~) sin16sb::$4 +(word~) sin16sb::$5 +(word~) sin16sb::$6 +(word~) sin16sb::$7 +(word~) sin16sb::$8 +(word/signed word/dword/signed dword~) sin16sb::$9 +(label) sin16sb::@1 +(label) sin16sb::@10 +(label) sin16sb::@11 +(label) sin16sb::@12 +(label) sin16sb::@2 +(label) sin16sb::@3 +(label) sin16sb::@4 +(label) sin16sb::@5 +(label) sin16sb::@6 +(label) sin16sb::@8 +(label) sin16sb::@9 +(label) sin16sb::@return +(byte) sin16sb::isUpper +(byte) sin16sb::isUpper#0 +(byte) sin16sb::isUpper#1 +(byte) sin16sb::isUpper#2 +(byte) sin16sb::isUpper#3 +(byte) sin16sb::isUpper#4 +(byte) sin16sb::isUpper#5 +(byte) sin16sb::isUpper#6 +(byte) sin16sb::isUpper#7 +(byte) sin16sb::isUpper#8 +(byte) sin16sb::isUpper#9 +(signed word) sin16sb::return +(signed word) sin16sb::return#0 +(signed word) sin16sb::return#1 +(signed word) sin16sb::return#2 +(signed word) sin16sb::return#3 +(signed word) sin16sb::return#4 +(signed word) sin16sb::sinx +(signed word) sin16sb::sinx#0 +(signed word) sin16sb::sinx#1 +(signed word) sin16sb::sinx#2 +(word) sin16sb::usinx +(word) sin16sb::usinx#0 +(word) sin16sb::usinx#1 +(word) sin16sb::usinx#2 +(word) sin16sb::usinx#3 +(word) sin16sb::usinx#4 +(word) sin16sb::x +(word) sin16sb::x#0 +(word) sin16sb::x#1 +(word) sin16sb::x#2 +(word) sin16sb::x#3 +(word) sin16sb::x#4 +(word) sin16sb::x#5 +(word) sin16sb::x#6 +(word) sin16sb::x#7 +(word) sin16sb::x1 +(word) sin16sb::x1#0 +(word) sin16sb::x1#1 +(word) sin16sb::x1#2 +(word) sin16sb::x1#3 +(word) sin16sb::x1#4 +(word) sin16sb::x2 +(word) sin16sb::x2#0 +(word) sin16sb::x3 +(word) sin16sb::x3#0 +(word) sin16sb::x3#1 +(word) sin16sb::x3_6 +(word) sin16sb::x3_6#0 +(word) sin16sb::x4 +(word) sin16sb::x4#0 +(word) sin16sb::x5 +(word) sin16sb::x5#0 +(word) sin16sb::x5_128 +(word) sin16sb::x5_128#0 + +OPTIMIZING CONTROL FLOW GRAPH +Inversing boolean not (boolean~) divr16u::$4 ← (byte~) divr16u::$2 == (byte/signed byte/word/signed word/dword/signed dword) 0 from (boolean~) divr16u::$3 ← (byte~) divr16u::$2 != (byte/signed byte/word/signed word/dword/signed dword) 0 +Inversing boolean not (boolean~) divr16u::$9 ← (word) divr16u::rem#6 < (word) divr16u::divisor#2 from (boolean~) divr16u::$8 ← (word) divr16u::rem#6 >= (word) divr16u::divisor#2 +Inversing boolean not (boolean~) mul16u::$3 ← (byte~) mul16u::$1 == (byte/signed byte/word/signed word/dword/signed dword) 0 from (boolean~) mul16u::$2 ← (byte~) mul16u::$1 != (byte/signed byte/word/signed word/dword/signed dword) 0 +Inversing boolean not (boolean~) sin16s::$1 ← (dword) sin16s::x#3 < (dword) PI_u4f28#0 from (boolean~) sin16s::$0 ← (dword) sin16s::x#3 >= (dword) PI_u4f28#0 +Inversing boolean not (boolean~) sin16s::$4 ← (dword) sin16s::x#4 < (dword) PI_HALF_u4f28#0 from (boolean~) sin16s::$3 ← (dword) sin16s::x#4 >= (dword) PI_HALF_u4f28#0 +Inversing boolean not (boolean~) sin16s::$19 ← (byte) sin16s::isUpper#2 == (byte/signed byte/word/signed word/dword/signed dword) 0 from (boolean~) sin16s::$18 ← (byte) sin16s::isUpper#2 != (byte/signed byte/word/signed word/dword/signed dword) 0 +Inversing boolean not (boolean~) sin16sb::$1 ← (word) sin16sb::x#3 < (word) PI_u4f12#0 from (boolean~) sin16sb::$0 ← (word) sin16sb::x#3 >= (word) PI_u4f12#0 +Inversing boolean not (boolean~) sin16sb::$4 ← (word) sin16sb::x#4 < (word) PI_HALF_u4f12#0 from (boolean~) sin16sb::$3 ← (word) sin16sb::x#4 >= (word) PI_HALF_u4f12#0 +Inversing boolean not (boolean~) sin16sb::$18 ← (byte) sin16sb::isUpper#2 == (byte/signed byte/word/signed word/dword/signed dword) 0 from (boolean~) sin16sb::$17 ← (byte) sin16sb::isUpper#2 != (byte/signed byte/word/signed word/dword/signed dword) 0 +Inversing boolean not (boolean~) print_sword::$1 ← (signed word) print_sword::w#2 >= (byte/signed byte/word/signed word/dword/signed dword) 0 from (boolean~) print_sword::$0 ← (signed word) print_sword::w#2 < (byte/signed byte/word/signed word/dword/signed dword) 0 +Inversing boolean not (boolean~) main::$5 ← (signed word) main::sw#0 < (byte/signed byte/word/signed word/dword/signed dword) 0 from (boolean~) main::$4 ← (signed word) main::sw#0 >= (byte/signed byte/word/signed word/dword/signed dword) 0 +Succesful SSA optimization Pass2UnaryNotSimplification +Not aliassing across scopes: divr16u::rem#10 divr16u::rem#3 +Not aliassing across scopes: divr16u::dividend#5 divr16u::dividend#1 +Not aliassing across scopes: divr16u::divisor#6 divr16u::divisor#0 +Not aliassing across scopes: rem16u#1 divr16u::rem#9 +Not aliassing across scopes: div32u16u::dividend#2 div32u16u::dividend#0 +Not aliassing across scopes: div32u16u::divisor#2 div32u16u::divisor#0 +Not aliassing across scopes: rem16u#26 rem16u#27 +Not aliassing across scopes: divr16u::divisor#0 div32u16u::divisor#2 +Not aliassing across scopes: divr16u::return#2 divr16u::return#1 +Not aliassing across scopes: rem16u#15 rem16u#2 +Not aliassing across scopes: div32u16u::$1 divr16u::return#5 +Not aliassing across scopes: divr16u::divisor#1 div32u16u::divisor#3 +Not aliassing across scopes: divr16u::rem#4 rem16u#3 +Not aliassing across scopes: divr16u::return#3 divr16u::return#1 +Not aliassing across scopes: rem16u#16 rem16u#2 +Not aliassing across scopes: div32u16u::$3 divr16u::return#6 +Not aliassing across scopes: mul16u::b#1 mul16u::b#0 +Not aliassing across scopes: mul16u::a#5 mul16u::a#1 +Not aliassing across scopes: sin16s_gen::wavelength#1 sin16s_gen::wavelength#0 +Not aliassing across scopes: rem16u#27 rem16u#31 +Not aliassing across scopes: sin16s_gen::sintab#5 sin16s_gen::sintab#1 +Not aliassing across scopes: div32u16u::dividend#0 PI2_u4f28#0 +Not aliassing across scopes: div32u16u::divisor#0 sin16s_gen::wavelength#1 +Not aliassing across scopes: div32u16u::return#2 div32u16u::return#1 +Not aliassing across scopes: rem16u#18 rem16u#5 +Not aliassing across scopes: sin16s_gen::$0 div32u16u::return#5 +Not aliassing across scopes: sin16s::x#0 sin16s_gen::x#2 +Not aliassing across scopes: sin16s::return#0 sin16s::return#2 +Not aliassing across scopes: sin16s_gen::$1 sin16s::return#3 +Not aliassing across scopes: sin16s::x#3 sin16s::x#0 +Not aliassing across scopes: mulu16_sel::v1#0 sin16s::x1#0 +Not aliassing across scopes: mulu16_sel::v2#0 sin16s::x1#0 +Not aliassing across scopes: mulu16_sel::return#0 mulu16_sel::return#6 +Not aliassing across scopes: sin16s::$8 mulu16_sel::return#12 +Not aliassing across scopes: mulu16_sel::v1#1 sin16s::x2#0 +Not aliassing across scopes: mulu16_sel::v2#1 sin16s::x1#1 +Not aliassing across scopes: mulu16_sel::return#1 mulu16_sel::return#6 +Not aliassing across scopes: sin16s::$9 mulu16_sel::return#13 +Not aliassing across scopes: mulu16_sel::v1#2 sin16s::x3#0 +Not aliassing across scopes: mulu16_sel::return#2 mulu16_sel::return#6 +Not aliassing across scopes: sin16s::$11 mulu16_sel::return#14 +Not aliassing across scopes: mulu16_sel::v1#3 sin16s::x3#1 +Not aliassing across scopes: mulu16_sel::v2#3 sin16s::x1#2 +Not aliassing across scopes: mulu16_sel::return#3 mulu16_sel::return#6 +Not aliassing across scopes: sin16s::$13 mulu16_sel::return#15 +Not aliassing across scopes: mulu16_sel::v1#4 sin16s::x4#0 +Not aliassing across scopes: mulu16_sel::v2#4 sin16s::x1#3 +Not aliassing across scopes: mulu16_sel::return#4 mulu16_sel::return#6 +Not aliassing across scopes: sin16s::$14 mulu16_sel::return#16 +Not aliassing across scopes: mulu16_sel::v1#10 mulu16_sel::v1#3 +Not aliassing across scopes: mulu16_sel::v2#10 mulu16_sel::v2#3 +Not aliassing across scopes: mulu16_sel::select#11 mulu16_sel::select#3 +Not aliassing across scopes: mul16u::a#1 mulu16_sel::v1#10 +Not aliassing across scopes: mul16u::b#0 mulu16_sel::v2#10 +Not aliassing across scopes: mul16u::return#2 mul16u::return#1 +Not aliassing across scopes: mulu16_sel::$0 mul16u::return#4 +Not aliassing across scopes: sin16s_genb::wavelength#1 sin16s_genb::wavelength#0 +Not aliassing across scopes: rem16u#29 rem16u#10 +Not aliassing across scopes: sin16s_genb::sintab#5 sin16s_genb::sintab#1 +Not aliassing across scopes: div32u16u::dividend#1 PI2_u4f28#0 +Not aliassing across scopes: div32u16u::divisor#1 sin16s_genb::wavelength#1 +Not aliassing across scopes: div32u16u::return#3 div32u16u::return#1 +Not aliassing across scopes: rem16u#20 rem16u#5 +Not aliassing across scopes: sin16s_genb::$0 div32u16u::return#6 +Not aliassing across scopes: sin16sb::return#0 sin16sb::return#2 +Not aliassing across scopes: sin16s_genb::$2 sin16sb::return#3 +Not aliassing across scopes: sin16sb::x#3 sin16sb::x#0 +Not aliassing across scopes: mulu16_sel::v1#5 sin16sb::x1#0 +Not aliassing across scopes: mulu16_sel::v2#5 sin16sb::x1#0 +Not aliassing across scopes: mulu16_sel::return#7 mulu16_sel::return#6 +Not aliassing across scopes: sin16sb::$7 mulu16_sel::return#18 +Not aliassing across scopes: mulu16_sel::v1#6 sin16sb::x2#0 +Not aliassing across scopes: mulu16_sel::v2#6 sin16sb::x1#1 +Not aliassing across scopes: mulu16_sel::return#8 mulu16_sel::return#6 +Not aliassing across scopes: sin16sb::$8 mulu16_sel::return#19 +Not aliassing across scopes: mulu16_sel::v1#7 sin16sb::x3#0 +Not aliassing across scopes: mulu16_sel::return#9 mulu16_sel::return#6 +Not aliassing across scopes: sin16sb::$10 mulu16_sel::return#20 +Not aliassing across scopes: mulu16_sel::v1#8 sin16sb::x3#1 +Not aliassing across scopes: mulu16_sel::v2#8 sin16sb::x1#2 +Not aliassing across scopes: mulu16_sel::return#10 mulu16_sel::return#6 +Not aliassing across scopes: sin16sb::$12 mulu16_sel::return#21 +Not aliassing across scopes: mulu16_sel::v1#9 sin16sb::x4#0 +Not aliassing across scopes: mulu16_sel::v2#9 sin16sb::x1#3 +Not aliassing across scopes: mulu16_sel::return#11 mulu16_sel::return#6 +Not aliassing across scopes: sin16sb::$13 mulu16_sel::return#22 +Not aliassing across scopes: print_str::str#5 print_str::str#2 +Not aliassing across scopes: char_cursor#51 char_cursor#49 +Not aliassing across scopes: print_sword::w#2 print_sword::w#1 +Not aliassing across scopes: char_cursor#52 char_cursor#48 +Not aliassing across scopes: char_cursor#24 char_cursor#8 +Not aliassing across scopes: char_cursor#25 char_cursor#13 +Not aliassing across scopes: print_word::w#1 print_word::w#0 +Not aliassing across scopes: char_cursor#45 char_cursor#43 +Not aliassing across scopes: char_cursor#27 char_cursor#11 +Not aliassing across scopes: char_cursor#28 char_cursor#11 +Not aliassing across scopes: print_byte::b#2 print_byte::b#0 +Not aliassing across scopes: char_cursor#46 char_cursor#45 +Not aliassing across scopes: char_cursor#30 char_cursor#13 +Not aliassing across scopes: char_cursor#31 char_cursor#13 +Not aliassing across scopes: print_char::ch#3 print_char::ch#1 +Not aliassing across scopes: char_cursor#33 char_cursor#46 +Not aliassing across scopes: print_cls::sc#0 SCREEN#0 +Not aliassing across scopes: line_cursor#1 SCREEN#0 +Not aliassing across scopes: rem16u#31 rem16u#33 +Not aliassing across scopes: line_cursor#15 line_cursor#12 +Not aliassing across scopes: char_cursor#55 char_cursor#50 +Not aliassing across scopes: sin16s_gen::sintab#1 main::sintab1#0 +Not aliassing across scopes: sin16s_gen::wavelength#0 main::wavelength#0 +Not aliassing across scopes: rem16u#22 rem16u#7 +Not aliassing across scopes: sin16s_genb::sintab#1 main::sintab2#0 +Not aliassing across scopes: sin16s_genb::wavelength#0 main::wavelength#1 +Not aliassing across scopes: rem16u#23 rem16u#9 +Not aliassing across scopes: line_cursor#7 line_cursor#2 +Not aliassing across scopes: char_cursor#36 char_cursor#15 +Not aliassing across scopes: print_sword::w#1 main::sw#1 +Not aliassing across scopes: char_cursor#37 char_cursor#5 +Not aliassing across scopes: char_cursor#38 char_cursor#2 +Not aliassing across scopes: char_cursor#39 char_cursor#2 +Not aliassing across scopes: rem16u#25 rem16u#12 +Not aliassing across scopes: line_cursor#9 line_cursor#4 +Not aliassing across scopes: char_cursor#41 char_cursor#20 +Alias (word) divr16u::rem#0 = (word~) divr16u::$0 (word) divr16u::rem#7 +Alias (word) divr16u::dividend#0 = (word~) divr16u::$6 (word) divr16u::dividend#8 +Alias (word) divr16u::quotient#1 = (word~) divr16u::$7 (word) divr16u::quotient#4 +Alias (word) divr16u::dividend#3 = (word) divr16u::dividend#7 +Alias (word) divr16u::quotient#6 = (word) divr16u::quotient#7 +Alias (word) divr16u::divisor#4 = (word) divr16u::divisor#5 +Alias (byte) divr16u::i#5 = (byte) divr16u::i#6 +Alias (word) divr16u::rem#1 = (word~) divr16u::$5 +Alias (word) divr16u::rem#6 = (word) divr16u::rem#8 +Alias (word) divr16u::divisor#2 = (word) divr16u::divisor#3 +Alias (byte) divr16u::i#3 = (byte) divr16u::i#4 +Alias (word) divr16u::rem#2 = (word~) divr16u::$10 +Alias (word) divr16u::rem#11 = (word) divr16u::rem#9 +Alias (word) divr16u::return#0 = (word) divr16u::quotient#5 (word) divr16u::quotient#8 (word) divr16u::return#4 (word) divr16u::return#1 +Alias (word) rem16u#1 = (word) rem16u#14 (word) rem16u#2 +Alias (word) divr16u::dividend#1 = (word~) div32u16u::$0 +Alias (word) divr16u::return#2 = (word) divr16u::return#5 +Alias (dword) div32u16u::dividend#2 = (dword) div32u16u::dividend#3 +Alias (word) div32u16u::divisor#2 = (word) div32u16u::divisor#3 +Alias (word) rem16u#15 = (word) rem16u#3 +Alias (word) div32u16u::quotient_hi#0 = (word~) div32u16u::$1 (word) div32u16u::quotient_hi#1 +Alias (word) divr16u::dividend#2 = (word~) div32u16u::$2 +Alias (word) divr16u::return#3 = (word) divr16u::return#6 +Alias (word) rem16u#16 = (word) rem16u#4 (word) rem16u#17 (word) rem16u#5 +Alias (word) div32u16u::quotient_lo#0 = (word~) div32u16u::$3 +Alias (dword) div32u16u::return#0 = (dword) div32u16u::quotient#0 (dword) div32u16u::return#4 (dword) div32u16u::return#1 +Alias (word) mul16u::a#2 = (word) mul16u::a#3 (word) mul16u::a#6 +Alias (dword) mul16u::mb#3 = (dword) mul16u::mb#4 (dword) mul16u::mb#5 +Alias (dword) mul16u::res#2 = (dword) mul16u::res#5 (dword) mul16u::res#4 (dword) mul16u::return#0 (dword) mul16u::res#3 (dword) mul16u::return#3 (dword) mul16u::return#1 +Alias (word) mul16u::a#0 = (word~) mul16u::$5 +Alias (dword) mul16u::mb#1 = (dword~) mul16u::$6 +Alias (dword) mul16u::res#1 = (dword~) mul16u::$4 +Alias (word) rem16u#0 = (word) rem16u#38 (word) rem16u#37 (word) rem16u#33 +Alias (dword) div32u16u::return#2 = (dword) div32u16u::return#5 +Alias (signed word*) sin16s_gen::sintab#4 = (signed word*) sin16s_gen::sintab#5 +Alias (word) sin16s_gen::wavelength#1 = (word) sin16s_gen::wavelength#4 +Alias (word) rem16u#18 = (word) rem16u#6 +Alias (dword) sin16s_gen::step#0 = (dword~) sin16s_gen::$0 +Alias (signed word) sin16s::return#0 = (signed word) sin16s::return#3 +Alias (signed word*) sin16s_gen::sintab#2 = (signed word*) sin16s_gen::sintab#3 +Alias (dword) sin16s_gen::x#2 = (dword) sin16s_gen::x#3 +Alias (dword) sin16s_gen::step#1 = (dword) sin16s_gen::step#2 +Alias (word) sin16s_gen::i#2 = (word) sin16s_gen::i#3 +Alias (word) sin16s_gen::wavelength#2 = (word) sin16s_gen::wavelength#3 +Alias (word) rem16u#19 = (word) rem16u#28 (word) rem16u#34 (word) rem16u#7 +Alias (signed word*) sin16s_gen::sintab#0 = (signed word*~) sin16s_gen::$2 +Alias (dword) sin16s_gen::x#1 = (dword~) sin16s_gen::$3 +Alias (dword) sin16s::x#3 = (dword) sin16s::x#5 +Alias (dword) sin16s::x#1 = (dword~) sin16s::$2 +Alias (word) sin16s::x1#0 = (word~) sin16s::$7 (word) sin16s::x1#1 (word) sin16s::x1#4 (word) sin16s::x1#2 (word) sin16s::x1#3 +Alias (word) mulu16_sel::return#0 = (word) mulu16_sel::return#12 +Alias (byte) sin16s::isUpper#2 = (byte) sin16s::isUpper#6 (byte) sin16s::isUpper#7 (byte) sin16s::isUpper#5 (byte) sin16s::isUpper#4 (byte) sin16s::isUpper#3 +Alias (word) sin16s::x2#0 = (word~) sin16s::$8 +Alias (word) mulu16_sel::return#1 = (word) mulu16_sel::return#13 +Alias (word) sin16s::x3#0 = (word~) sin16s::$9 (word) sin16s::x3#1 +Alias (word) mulu16_sel::v2#2 = (word/signed word/dword/signed dword~) sin16s::$10 +Alias (word) mulu16_sel::return#14 = (word) mulu16_sel::return#2 +Alias (word) sin16s::x3_6#0 = (word~) sin16s::$11 +Alias (word) sin16s::usinx#0 = (word~) sin16s::$12 (word) sin16s::usinx#4 (word) sin16s::usinx#2 +Alias (word) mulu16_sel::return#15 = (word) mulu16_sel::return#3 +Alias (word) sin16s::x4#0 = (word~) sin16s::$13 +Alias (word) mulu16_sel::return#16 = (word) mulu16_sel::return#4 +Alias (word) sin16s::x5#0 = (word~) sin16s::$14 +Alias (word) sin16s::x5_128#0 = (word~) sin16s::$15 +Alias (word) sin16s::usinx#1 = (word~) sin16s::$16 (word) sin16s::usinx#3 +Alias (signed word) sin16s::sinx#0 = (signed word~) sin16s::$17 +Alias (dword) sin16s::x#4 = (dword) sin16s::x#7 +Alias (byte) sin16s::isUpper#8 = (byte) sin16s::isUpper#9 +Alias (dword) sin16s::x#2 = (dword~) sin16s::$5 +Alias (signed word) sin16s::return#1 = (signed word) sin16s::sinx#2 (signed word) sin16s::return#4 (signed word) sin16s::return#2 +Alias (signed word) sin16s::sinx#1 = (signed word~) sin16s::$21 +Alias (dword) mul16u::return#2 = (dword) mul16u::return#4 +Alias (byte) mulu16_sel::select#10 = (byte) mulu16_sel::select#11 +Alias (word) mulu16_sel::return#17 = (word) mulu16_sel::return#5 (word~) mulu16_sel::$2 (word) mulu16_sel::return#6 +Alias (dword) div32u16u::return#3 = (dword) div32u16u::return#6 +Alias (signed word*) sin16s_genb::sintab#4 = (signed word*) sin16s_genb::sintab#5 +Alias (word) sin16s_genb::wavelength#1 = (word) sin16s_genb::wavelength#4 +Alias (word) rem16u#20 = (word) rem16u#8 +Alias (dword) sin16s_genb::step#0 = (dword~) sin16s_genb::$0 +Alias (word) sin16sb::x#0 = (word~) sin16s_genb::$1 +Alias (signed word) sin16sb::return#0 = (signed word) sin16sb::return#3 +Alias (signed word*) sin16s_genb::sintab#2 = (signed word*) sin16s_genb::sintab#3 +Alias (dword) sin16s_genb::x#2 = (dword) sin16s_genb::x#3 +Alias (dword) sin16s_genb::step#1 = (dword) sin16s_genb::step#2 +Alias (word) sin16s_genb::i#2 = (word) sin16s_genb::i#3 +Alias (word) sin16s_genb::wavelength#2 = (word) sin16s_genb::wavelength#3 +Alias (word) rem16u#21 = (word) rem16u#30 (word) rem16u#35 (word) rem16u#9 +Alias (signed word*) sin16s_genb::sintab#0 = (signed word*~) sin16s_genb::$3 +Alias (dword) sin16s_genb::x#1 = (dword~) sin16s_genb::$4 +Alias (word) sin16sb::x#3 = (word) sin16sb::x#5 +Alias (word) sin16sb::x#1 = (word~) sin16sb::$2 +Alias (word) sin16sb::x1#0 = (word~) sin16sb::$6 (word) sin16sb::x1#1 (word) sin16sb::x1#4 (word) sin16sb::x1#2 (word) sin16sb::x1#3 +Alias (word) mulu16_sel::return#18 = (word) mulu16_sel::return#7 +Alias (byte) sin16sb::isUpper#2 = (byte) sin16sb::isUpper#6 (byte) sin16sb::isUpper#7 (byte) sin16sb::isUpper#5 (byte) sin16sb::isUpper#4 (byte) sin16sb::isUpper#3 +Alias (word) sin16sb::x2#0 = (word~) sin16sb::$7 +Alias (word) mulu16_sel::return#19 = (word) mulu16_sel::return#8 +Alias (word) sin16sb::x3#0 = (word~) sin16sb::$8 (word) sin16sb::x3#1 +Alias (word) mulu16_sel::v2#7 = (word/signed word/dword/signed dword~) sin16sb::$9 +Alias (word) mulu16_sel::return#20 = (word) mulu16_sel::return#9 +Alias (word) sin16sb::x3_6#0 = (word~) sin16sb::$10 +Alias (word) sin16sb::usinx#0 = (word~) sin16sb::$11 (word) sin16sb::usinx#4 (word) sin16sb::usinx#2 +Alias (word) mulu16_sel::return#10 = (word) mulu16_sel::return#21 +Alias (word) sin16sb::x4#0 = (word~) sin16sb::$12 +Alias (word) mulu16_sel::return#11 = (word) mulu16_sel::return#22 +Alias (word) sin16sb::x5#0 = (word~) sin16sb::$13 +Alias (word) sin16sb::x5_128#0 = (word~) sin16sb::$14 +Alias (word) sin16sb::usinx#1 = (word~) sin16sb::$15 (word) sin16sb::usinx#3 +Alias (signed word) sin16sb::sinx#0 = (signed word~) sin16sb::$16 +Alias (word) sin16sb::x#4 = (word) sin16sb::x#7 +Alias (byte) sin16sb::isUpper#8 = (byte) sin16sb::isUpper#9 +Alias (word) sin16sb::x#2 = (word~) sin16sb::$5 +Alias (signed word) sin16sb::return#1 = (signed word) sin16sb::sinx#2 (signed word) sin16sb::return#4 (signed word) sin16sb::return#2 +Alias (signed word) sin16sb::sinx#1 = (signed word~) sin16sb::$20 +Alias (byte*) SCREEN#0 = (byte*) line_cursor#0 (byte*) char_cursor#0 (byte*) line_cursor#12 (byte*) char_cursor#50 +Alias (byte*) print_str::str#3 = (byte*) print_str::str#4 +Alias (byte*) char_cursor#2 = (byte*) char_cursor#22 (byte*) char_cursor#42 (byte*) char_cursor#23 +Alias (word) print_word::w#0 = (word~) print_sword::$4 +Alias (byte*) char_cursor#24 = (byte*) char_cursor#3 (byte*) char_cursor#26 (byte*) char_cursor#5 +Alias (byte*) char_cursor#44 = (byte*) char_cursor#52 +Alias (signed word) print_sword::w#2 = (signed word) print_sword::w#5 (signed word) print_sword::w#4 +Alias (byte*) char_cursor#25 = (byte*) char_cursor#4 +Alias (signed word) print_sword::w#0 = (signed word~) print_sword::$3 +Alias (byte) print_byte::b#0 = (byte~) print_word::$0 +Alias (word) print_word::w#1 = (word) print_word::w#2 +Alias (byte*) char_cursor#27 = (byte*) char_cursor#6 +Alias (byte) print_byte::b#1 = (byte~) print_word::$2 +Alias (byte*) char_cursor#28 = (byte*) char_cursor#7 (byte*) char_cursor#29 (byte*) char_cursor#8 +Alias (byte) print_byte::b#2 = (byte) print_byte::b#3 +Alias (byte*) char_cursor#30 = (byte*) char_cursor#9 +Alias (byte*) char_cursor#10 = (byte*) char_cursor#31 (byte*) char_cursor#32 (byte*) char_cursor#11 +Alias (byte*) char_cursor#12 = (byte*) char_cursor#34 (byte*) char_cursor#13 +Alias (byte*) line_cursor#1 = (byte*) char_cursor#14 (byte*) line_cursor#6 (byte*) char_cursor#35 (byte*) line_cursor#2 (byte*) char_cursor#15 +Alias (word) main::wavelength#0 = (word) main::wavelength#1 +Alias (byte*) line_cursor#10 = (byte*) line_cursor#13 (byte*) line_cursor#15 +Alias (byte*) char_cursor#47 = (byte*) char_cursor#53 (byte*) char_cursor#55 +Alias (word) rem16u#10 = (word) rem16u#22 +Alias (word) rem16u#11 = (word) rem16u#23 (word) rem16u#42 +Alias (byte*) line_cursor#3 = (byte*) line_cursor#7 +Alias (byte*) char_cursor#16 = (byte*) char_cursor#36 +Alias (signed word[120]) main::sintab1#0 = (signed word*) main::st1#0 +Alias (signed word[120]) main::sintab2#0 = (signed word*) main::st2#0 +Alias (signed word) main::sw#0 = (signed word~) main::$3 (signed word) main::sw#3 (signed word) main::sw#2 +Alias (signed word*) main::st1#3 = (signed word*) main::st1#4 (signed word*) main::st1#5 +Alias (signed word*) main::st2#3 = (signed word*) main::st2#4 (signed word*) main::st2#5 +Alias (byte) main::i#2 = (byte) main::i#3 (byte) main::i#4 +Alias (word) rem16u#12 = (word) rem16u#36 (word) rem16u#39 (word) rem16u#32 (word) rem16u#24 +Alias (byte*) line_cursor#11 = (byte*) line_cursor#14 (byte*) line_cursor#16 (byte*) line_cursor#8 (byte*) line_cursor#4 +Alias (byte*) char_cursor#17 = (byte*) char_cursor#37 +Alias (byte*) char_cursor#18 = (byte*) char_cursor#38 (byte*) char_cursor#40 (byte*) char_cursor#20 +Alias (signed word*) main::st1#1 = (signed word*~) main::$9 +Alias (signed word*) main::st2#1 = (signed word*~) main::$10 +Alias (byte*) char_cursor#49 = (byte*) char_cursor#54 +Alias (signed word*) main::st1#2 = (signed word*) main::st1#7 (signed word*) main::st1#6 +Alias (signed word*) main::st2#2 = (signed word*) main::st2#7 (signed word*) main::st2#6 +Alias (byte) main::i#5 = (byte) main::i#7 (byte) main::i#6 +Alias (word) rem16u#40 = (word) rem16u#43 (word) rem16u#41 +Alias (byte*) line_cursor#17 = (byte*) line_cursor#19 (byte*) line_cursor#18 +Alias (byte*) char_cursor#19 = (byte*) char_cursor#39 +Alias (word) rem16u#13 = (word) rem16u#25 +Alias (byte*) line_cursor#5 = (byte*) line_cursor#9 +Alias (byte*) char_cursor#21 = (byte*) char_cursor#41 +Succesful SSA optimization Pass2AliasElimination +Not aliassing across scopes: divr16u::rem#10 divr16u::rem#3 +Not aliassing across scopes: divr16u::dividend#5 divr16u::dividend#1 +Not aliassing across scopes: divr16u::divisor#6 divr16u::divisor#0 +Not aliassing across scopes: rem16u#1 divr16u::rem#11 +Not aliassing across scopes: div32u16u::dividend#2 div32u16u::dividend#0 +Not aliassing across scopes: div32u16u::divisor#2 div32u16u::divisor#0 +Not aliassing across scopes: rem16u#26 rem16u#27 +Not aliassing across scopes: divr16u::divisor#0 div32u16u::divisor#2 +Not aliassing across scopes: divr16u::return#2 divr16u::return#0 +Not aliassing across scopes: rem16u#15 rem16u#1 +Not aliassing across scopes: div32u16u::quotient_hi#0 divr16u::return#2 +Not aliassing across scopes: divr16u::divisor#1 div32u16u::divisor#2 +Not aliassing across scopes: divr16u::rem#4 rem16u#15 +Not aliassing across scopes: divr16u::return#3 divr16u::return#0 +Not aliassing across scopes: rem16u#16 rem16u#1 +Not aliassing across scopes: div32u16u::quotient_lo#0 divr16u::return#3 +Not aliassing across scopes: mul16u::b#1 mul16u::b#0 +Not aliassing across scopes: mul16u::a#5 mul16u::a#1 +Not aliassing across scopes: sin16s_gen::wavelength#1 sin16s_gen::wavelength#0 +Not aliassing across scopes: rem16u#27 rem16u#31 +Not aliassing across scopes: sin16s_gen::sintab#4 sin16s_gen::sintab#1 +Not aliassing across scopes: div32u16u::dividend#0 PI2_u4f28#0 +Not aliassing across scopes: div32u16u::divisor#0 sin16s_gen::wavelength#1 +Not aliassing across scopes: div32u16u::return#2 div32u16u::return#0 +Not aliassing across scopes: rem16u#18 rem16u#16 +Not aliassing across scopes: sin16s_gen::step#0 div32u16u::return#2 +Not aliassing across scopes: sin16s::x#0 sin16s_gen::x#2 +Not aliassing across scopes: sin16s::return#0 sin16s::return#1 +Not aliassing across scopes: sin16s_gen::$1 sin16s::return#0 +Not aliassing across scopes: sin16s::x#3 sin16s::x#0 +Not aliassing across scopes: mulu16_sel::v1#0 sin16s::x1#0 +Not aliassing across scopes: mulu16_sel::v2#0 sin16s::x1#0 +Not aliassing across scopes: mulu16_sel::return#0 mulu16_sel::return#17 +Not aliassing across scopes: sin16s::x2#0 mulu16_sel::return#0 +Not aliassing across scopes: mulu16_sel::v1#1 sin16s::x2#0 +Not aliassing across scopes: mulu16_sel::v2#1 sin16s::x1#0 +Not aliassing across scopes: mulu16_sel::return#1 mulu16_sel::return#17 +Not aliassing across scopes: sin16s::x3#0 mulu16_sel::return#1 +Not aliassing across scopes: mulu16_sel::v1#2 sin16s::x3#0 +Not aliassing across scopes: mulu16_sel::return#14 mulu16_sel::return#17 +Not aliassing across scopes: sin16s::x3_6#0 mulu16_sel::return#14 +Not aliassing across scopes: mulu16_sel::v1#3 sin16s::x3#0 +Not aliassing across scopes: mulu16_sel::v2#3 sin16s::x1#0 +Not aliassing across scopes: mulu16_sel::return#15 mulu16_sel::return#17 +Not aliassing across scopes: sin16s::x4#0 mulu16_sel::return#15 +Not aliassing across scopes: mulu16_sel::v1#4 sin16s::x4#0 +Not aliassing across scopes: mulu16_sel::v2#4 sin16s::x1#0 +Not aliassing across scopes: mulu16_sel::return#16 mulu16_sel::return#17 +Not aliassing across scopes: sin16s::x5#0 mulu16_sel::return#16 +Not aliassing across scopes: mulu16_sel::v1#10 mulu16_sel::v1#3 +Not aliassing across scopes: mulu16_sel::v2#10 mulu16_sel::v2#3 +Not aliassing across scopes: mulu16_sel::select#10 mulu16_sel::select#3 +Not aliassing across scopes: mul16u::a#1 mulu16_sel::v1#10 +Not aliassing across scopes: mul16u::b#0 mulu16_sel::v2#10 +Not aliassing across scopes: mul16u::return#2 mul16u::res#2 +Not aliassing across scopes: mulu16_sel::$0 mul16u::return#2 +Not aliassing across scopes: sin16s_genb::wavelength#1 sin16s_genb::wavelength#0 +Not aliassing across scopes: rem16u#29 rem16u#10 +Not aliassing across scopes: sin16s_genb::sintab#4 sin16s_genb::sintab#1 +Not aliassing across scopes: div32u16u::dividend#1 PI2_u4f28#0 +Not aliassing across scopes: div32u16u::divisor#1 sin16s_genb::wavelength#1 +Not aliassing across scopes: div32u16u::return#3 div32u16u::return#0 +Not aliassing across scopes: rem16u#20 rem16u#16 +Not aliassing across scopes: sin16s_genb::step#0 div32u16u::return#3 +Not aliassing across scopes: sin16sb::return#0 sin16sb::return#1 +Not aliassing across scopes: sin16s_genb::$2 sin16sb::return#0 +Not aliassing across scopes: sin16sb::x#3 sin16sb::x#0 +Not aliassing across scopes: mulu16_sel::v1#5 sin16sb::x1#0 +Not aliassing across scopes: mulu16_sel::v2#5 sin16sb::x1#0 +Not aliassing across scopes: mulu16_sel::return#18 mulu16_sel::return#17 +Not aliassing across scopes: sin16sb::x2#0 mulu16_sel::return#18 +Not aliassing across scopes: mulu16_sel::v1#6 sin16sb::x2#0 +Not aliassing across scopes: mulu16_sel::v2#6 sin16sb::x1#0 +Not aliassing across scopes: mulu16_sel::return#19 mulu16_sel::return#17 +Not aliassing across scopes: sin16sb::x3#0 mulu16_sel::return#19 +Not aliassing across scopes: mulu16_sel::v1#7 sin16sb::x3#0 +Not aliassing across scopes: mulu16_sel::return#20 mulu16_sel::return#17 +Not aliassing across scopes: sin16sb::x3_6#0 mulu16_sel::return#20 +Not aliassing across scopes: mulu16_sel::v1#8 sin16sb::x3#0 +Not aliassing across scopes: mulu16_sel::v2#8 sin16sb::x1#0 +Not aliassing across scopes: mulu16_sel::return#10 mulu16_sel::return#17 +Not aliassing across scopes: sin16sb::x4#0 mulu16_sel::return#10 +Not aliassing across scopes: mulu16_sel::v1#9 sin16sb::x4#0 +Not aliassing across scopes: mulu16_sel::v2#9 sin16sb::x1#0 +Not aliassing across scopes: mulu16_sel::return#11 mulu16_sel::return#17 +Not aliassing across scopes: sin16sb::x5#0 mulu16_sel::return#11 +Not aliassing across scopes: print_str::str#5 print_str::str#2 +Not aliassing across scopes: char_cursor#51 char_cursor#49 +Not aliassing across scopes: print_sword::w#2 print_sword::w#1 +Not aliassing across scopes: char_cursor#44 char_cursor#48 +Not aliassing across scopes: char_cursor#24 char_cursor#28 +Not aliassing across scopes: char_cursor#25 char_cursor#12 +Not aliassing across scopes: print_word::w#1 print_word::w#0 +Not aliassing across scopes: char_cursor#45 char_cursor#43 +Not aliassing across scopes: char_cursor#27 char_cursor#10 +Not aliassing across scopes: char_cursor#28 char_cursor#10 +Not aliassing across scopes: print_byte::b#2 print_byte::b#0 +Not aliassing across scopes: char_cursor#46 char_cursor#45 +Not aliassing across scopes: char_cursor#30 char_cursor#12 +Not aliassing across scopes: char_cursor#10 char_cursor#12 +Not aliassing across scopes: print_char::ch#3 print_char::ch#1 +Not aliassing across scopes: char_cursor#33 char_cursor#46 +Not aliassing across scopes: print_cls::sc#0 SCREEN#0 +Not aliassing across scopes: line_cursor#1 SCREEN#0 +Not aliassing across scopes: rem16u#31 rem16u#0 +Not aliassing across scopes: line_cursor#10 SCREEN#0 +Not aliassing across scopes: char_cursor#47 SCREEN#0 +Not aliassing across scopes: sin16s_gen::sintab#1 main::sintab1#0 +Not aliassing across scopes: sin16s_gen::wavelength#0 main::wavelength#0 +Not aliassing across scopes: rem16u#10 rem16u#19 +Not aliassing across scopes: sin16s_genb::sintab#1 main::sintab2#0 +Not aliassing across scopes: sin16s_genb::wavelength#0 main::wavelength#0 +Not aliassing across scopes: rem16u#11 rem16u#21 +Not aliassing across scopes: line_cursor#3 line_cursor#1 +Not aliassing across scopes: char_cursor#16 line_cursor#1 +Not aliassing across scopes: print_sword::w#1 main::sw#1 +Not aliassing across scopes: char_cursor#17 char_cursor#24 +Not aliassing across scopes: char_cursor#18 char_cursor#2 +Not aliassing across scopes: char_cursor#19 char_cursor#2 +Not aliassing across scopes: rem16u#13 rem16u#12 +Not aliassing across scopes: line_cursor#5 line_cursor#11 +Not aliassing across scopes: char_cursor#21 char_cursor#18 +Alias (word) divr16u::dividend#3 = (word) divr16u::dividend#4 +Alias (word) divr16u::quotient#3 = (word) divr16u::quotient#6 +Alias (word) divr16u::divisor#2 = (word) divr16u::divisor#4 (word) divr16u::divisor#7 +Alias (byte) divr16u::i#2 = (byte) divr16u::i#3 (byte) divr16u::i#5 +Alias (word) divr16u::dividend#0 = (word) divr16u::dividend#6 +Alias (word) mul16u::a#2 = (word) mul16u::a#4 +Alias (dword) mul16u::mb#2 = (dword) mul16u::mb#3 +Alias (byte) sin16s::isUpper#2 = (byte) sin16s::isUpper#8 +Alias (byte) sin16sb::isUpper#2 = (byte) sin16sb::isUpper#8 +Alias (signed word) main::sw#0 = (signed word) main::sw#1 +Alias (signed word*) main::st1#2 = (signed word*) main::st1#3 +Alias (signed word*) main::st2#2 = (signed word*) main::st2#3 +Alias (byte) main::i#2 = (byte) main::i#5 +Alias (word) rem16u#12 = (word) rem16u#40 +Alias (byte*) line_cursor#11 = (byte*) line_cursor#17 +Succesful SSA optimization Pass2AliasElimination +Not aliassing across scopes: divr16u::rem#10 divr16u::rem#3 +Not aliassing across scopes: divr16u::dividend#5 divr16u::dividend#1 +Not aliassing across scopes: divr16u::divisor#6 divr16u::divisor#0 +Not aliassing across scopes: rem16u#1 divr16u::rem#11 +Not aliassing across scopes: div32u16u::dividend#2 div32u16u::dividend#0 +Not aliassing across scopes: div32u16u::divisor#2 div32u16u::divisor#0 +Not aliassing across scopes: rem16u#26 rem16u#27 +Not aliassing across scopes: divr16u::divisor#0 div32u16u::divisor#2 +Not aliassing across scopes: divr16u::return#2 divr16u::return#0 +Not aliassing across scopes: rem16u#15 rem16u#1 +Not aliassing across scopes: div32u16u::quotient_hi#0 divr16u::return#2 +Not aliassing across scopes: divr16u::divisor#1 div32u16u::divisor#2 +Not aliassing across scopes: divr16u::rem#4 rem16u#15 +Not aliassing across scopes: divr16u::return#3 divr16u::return#0 +Not aliassing across scopes: rem16u#16 rem16u#1 +Not aliassing across scopes: div32u16u::quotient_lo#0 divr16u::return#3 +Not aliassing across scopes: mul16u::b#1 mul16u::b#0 +Not aliassing across scopes: mul16u::a#5 mul16u::a#1 +Not aliassing across scopes: sin16s_gen::wavelength#1 sin16s_gen::wavelength#0 +Not aliassing across scopes: rem16u#27 rem16u#31 +Not aliassing across scopes: sin16s_gen::sintab#4 sin16s_gen::sintab#1 +Not aliassing across scopes: div32u16u::dividend#0 PI2_u4f28#0 +Not aliassing across scopes: div32u16u::divisor#0 sin16s_gen::wavelength#1 +Not aliassing across scopes: div32u16u::return#2 div32u16u::return#0 +Not aliassing across scopes: rem16u#18 rem16u#16 +Not aliassing across scopes: sin16s_gen::step#0 div32u16u::return#2 +Not aliassing across scopes: sin16s::x#0 sin16s_gen::x#2 +Not aliassing across scopes: sin16s::return#0 sin16s::return#1 +Not aliassing across scopes: sin16s_gen::$1 sin16s::return#0 +Not aliassing across scopes: sin16s::x#3 sin16s::x#0 +Not aliassing across scopes: mulu16_sel::v1#0 sin16s::x1#0 +Not aliassing across scopes: mulu16_sel::v2#0 sin16s::x1#0 +Not aliassing across scopes: mulu16_sel::return#0 mulu16_sel::return#17 +Not aliassing across scopes: sin16s::x2#0 mulu16_sel::return#0 +Not aliassing across scopes: mulu16_sel::v1#1 sin16s::x2#0 +Not aliassing across scopes: mulu16_sel::v2#1 sin16s::x1#0 +Not aliassing across scopes: mulu16_sel::return#1 mulu16_sel::return#17 +Not aliassing across scopes: sin16s::x3#0 mulu16_sel::return#1 +Not aliassing across scopes: mulu16_sel::v1#2 sin16s::x3#0 +Not aliassing across scopes: mulu16_sel::return#14 mulu16_sel::return#17 +Not aliassing across scopes: sin16s::x3_6#0 mulu16_sel::return#14 +Not aliassing across scopes: mulu16_sel::v1#3 sin16s::x3#0 +Not aliassing across scopes: mulu16_sel::v2#3 sin16s::x1#0 +Not aliassing across scopes: mulu16_sel::return#15 mulu16_sel::return#17 +Not aliassing across scopes: sin16s::x4#0 mulu16_sel::return#15 +Not aliassing across scopes: mulu16_sel::v1#4 sin16s::x4#0 +Not aliassing across scopes: mulu16_sel::v2#4 sin16s::x1#0 +Not aliassing across scopes: mulu16_sel::return#16 mulu16_sel::return#17 +Not aliassing across scopes: sin16s::x5#0 mulu16_sel::return#16 +Not aliassing across scopes: mulu16_sel::v1#10 mulu16_sel::v1#3 +Not aliassing across scopes: mulu16_sel::v2#10 mulu16_sel::v2#3 +Not aliassing across scopes: mulu16_sel::select#10 mulu16_sel::select#3 +Not aliassing across scopes: mul16u::a#1 mulu16_sel::v1#10 +Not aliassing across scopes: mul16u::b#0 mulu16_sel::v2#10 +Not aliassing across scopes: mul16u::return#2 mul16u::res#2 +Not aliassing across scopes: mulu16_sel::$0 mul16u::return#2 +Not aliassing across scopes: sin16s_genb::wavelength#1 sin16s_genb::wavelength#0 +Not aliassing across scopes: rem16u#29 rem16u#10 +Not aliassing across scopes: sin16s_genb::sintab#4 sin16s_genb::sintab#1 +Not aliassing across scopes: div32u16u::dividend#1 PI2_u4f28#0 +Not aliassing across scopes: div32u16u::divisor#1 sin16s_genb::wavelength#1 +Not aliassing across scopes: div32u16u::return#3 div32u16u::return#0 +Not aliassing across scopes: rem16u#20 rem16u#16 +Not aliassing across scopes: sin16s_genb::step#0 div32u16u::return#3 +Not aliassing across scopes: sin16sb::return#0 sin16sb::return#1 +Not aliassing across scopes: sin16s_genb::$2 sin16sb::return#0 +Not aliassing across scopes: sin16sb::x#3 sin16sb::x#0 +Not aliassing across scopes: mulu16_sel::v1#5 sin16sb::x1#0 +Not aliassing across scopes: mulu16_sel::v2#5 sin16sb::x1#0 +Not aliassing across scopes: mulu16_sel::return#18 mulu16_sel::return#17 +Not aliassing across scopes: sin16sb::x2#0 mulu16_sel::return#18 +Not aliassing across scopes: mulu16_sel::v1#6 sin16sb::x2#0 +Not aliassing across scopes: mulu16_sel::v2#6 sin16sb::x1#0 +Not aliassing across scopes: mulu16_sel::return#19 mulu16_sel::return#17 +Not aliassing across scopes: sin16sb::x3#0 mulu16_sel::return#19 +Not aliassing across scopes: mulu16_sel::v1#7 sin16sb::x3#0 +Not aliassing across scopes: mulu16_sel::return#20 mulu16_sel::return#17 +Not aliassing across scopes: sin16sb::x3_6#0 mulu16_sel::return#20 +Not aliassing across scopes: mulu16_sel::v1#8 sin16sb::x3#0 +Not aliassing across scopes: mulu16_sel::v2#8 sin16sb::x1#0 +Not aliassing across scopes: mulu16_sel::return#10 mulu16_sel::return#17 +Not aliassing across scopes: sin16sb::x4#0 mulu16_sel::return#10 +Not aliassing across scopes: mulu16_sel::v1#9 sin16sb::x4#0 +Not aliassing across scopes: mulu16_sel::v2#9 sin16sb::x1#0 +Not aliassing across scopes: mulu16_sel::return#11 mulu16_sel::return#17 +Not aliassing across scopes: sin16sb::x5#0 mulu16_sel::return#11 +Not aliassing across scopes: print_str::str#5 print_str::str#2 +Not aliassing across scopes: char_cursor#51 char_cursor#49 +Not aliassing across scopes: print_sword::w#2 print_sword::w#1 +Not aliassing across scopes: char_cursor#44 char_cursor#48 +Not aliassing across scopes: char_cursor#24 char_cursor#28 +Not aliassing across scopes: char_cursor#25 char_cursor#12 +Not aliassing across scopes: print_word::w#1 print_word::w#0 +Not aliassing across scopes: char_cursor#45 char_cursor#43 +Not aliassing across scopes: char_cursor#27 char_cursor#10 +Not aliassing across scopes: char_cursor#28 char_cursor#10 +Not aliassing across scopes: print_byte::b#2 print_byte::b#0 +Not aliassing across scopes: char_cursor#46 char_cursor#45 +Not aliassing across scopes: char_cursor#30 char_cursor#12 +Not aliassing across scopes: char_cursor#10 char_cursor#12 +Not aliassing across scopes: print_char::ch#3 print_char::ch#1 +Not aliassing across scopes: char_cursor#33 char_cursor#46 +Not aliassing across scopes: print_cls::sc#0 SCREEN#0 +Not aliassing across scopes: line_cursor#1 SCREEN#0 +Not aliassing across scopes: rem16u#31 rem16u#0 +Not aliassing across scopes: line_cursor#10 SCREEN#0 +Not aliassing across scopes: char_cursor#47 SCREEN#0 +Not aliassing across scopes: sin16s_gen::sintab#1 main::sintab1#0 +Not aliassing across scopes: sin16s_gen::wavelength#0 main::wavelength#0 +Not aliassing across scopes: rem16u#10 rem16u#19 +Not aliassing across scopes: sin16s_genb::sintab#1 main::sintab2#0 +Not aliassing across scopes: sin16s_genb::wavelength#0 main::wavelength#0 +Not aliassing across scopes: rem16u#11 rem16u#21 +Not aliassing across scopes: line_cursor#3 line_cursor#1 +Not aliassing across scopes: char_cursor#16 line_cursor#1 +Not aliassing across scopes: print_sword::w#1 main::sw#0 +Not aliassing across scopes: char_cursor#17 char_cursor#24 +Not aliassing across scopes: char_cursor#18 char_cursor#2 +Not aliassing across scopes: char_cursor#19 char_cursor#2 +Not aliassing across scopes: rem16u#13 rem16u#12 +Not aliassing across scopes: line_cursor#5 line_cursor#11 +Not aliassing across scopes: char_cursor#21 char_cursor#18 +Self Phi Eliminated (word) divr16u::divisor#2 +Self Phi Eliminated (dword) sin16s_gen::step#1 +Self Phi Eliminated (word) sin16s_gen::wavelength#2 +Self Phi Eliminated (word) rem16u#19 +Self Phi Eliminated (dword) sin16s_genb::step#1 +Self Phi Eliminated (word) sin16s_genb::wavelength#2 +Self Phi Eliminated (word) rem16u#21 +Self Phi Eliminated (word) rem16u#12 +Self Phi Eliminated (byte*) line_cursor#11 +Succesful SSA optimization Pass2SelfPhiElimination +Redundant Phi (word) divr16u::divisor#2 (word) divr16u::divisor#6 +Redundant Phi (word) rem16u#15 (word) rem16u#1 +Redundant Phi (word) rem16u#16 (word) rem16u#1 +Redundant Phi (word) mul16u::b#1 (word) mul16u::b#0 +Redundant Phi (word) mul16u::a#5 (word) mul16u::a#1 +Redundant Phi (word) sin16s_gen::wavelength#1 (word) sin16s_gen::wavelength#0 +Redundant Phi (word) rem16u#27 (word) rem16u#31 +Redundant Phi (signed word*) sin16s_gen::sintab#4 (signed word*) sin16s_gen::sintab#1 +Redundant Phi (word) rem16u#18 (word) rem16u#16 +Redundant Phi (dword) sin16s_gen::step#1 (dword) sin16s_gen::step#0 +Redundant Phi (word) sin16s_gen::wavelength#2 (word) sin16s_gen::wavelength#1 +Redundant Phi (word) rem16u#19 (word) rem16u#18 +Redundant Phi (dword) sin16s::x#3 (dword) sin16s::x#0 +Redundant Phi (word) sin16s_genb::wavelength#1 (word) sin16s_genb::wavelength#0 +Redundant Phi (word) rem16u#29 (word) rem16u#10 +Redundant Phi (signed word*) sin16s_genb::sintab#4 (signed word*) sin16s_genb::sintab#1 +Redundant Phi (word) rem16u#20 (word) rem16u#16 +Redundant Phi (dword) sin16s_genb::step#1 (dword) sin16s_genb::step#0 +Redundant Phi (word) sin16s_genb::wavelength#2 (word) sin16s_genb::wavelength#1 +Redundant Phi (word) rem16u#21 (word) rem16u#20 +Redundant Phi (word) sin16sb::x#3 (word) sin16sb::x#0 +Redundant Phi (signed word) print_sword::w#2 (signed word) print_sword::w#1 +Redundant Phi (byte*) char_cursor#44 (byte*) char_cursor#48 +Redundant Phi (byte*) char_cursor#24 (byte*) char_cursor#28 +Redundant Phi (byte*) char_cursor#25 (byte*) char_cursor#12 +Redundant Phi (word) print_word::w#1 (word) print_word::w#0 +Redundant Phi (byte*) char_cursor#45 (byte*) char_cursor#43 +Redundant Phi (byte*) char_cursor#27 (byte*) char_cursor#10 +Redundant Phi (byte*) char_cursor#28 (byte*) char_cursor#10 +Redundant Phi (byte*) char_cursor#30 (byte*) char_cursor#12 +Redundant Phi (byte*) char_cursor#10 (byte*) char_cursor#12 +Redundant Phi (word) rem16u#31 (word) rem16u#0 +Redundant Phi (byte*) line_cursor#10 (byte*) SCREEN#0 +Redundant Phi (byte*) char_cursor#47 (byte*) SCREEN#0 +Redundant Phi (word) rem16u#10 (word) rem16u#19 +Redundant Phi (word) rem16u#11 (word) rem16u#21 +Redundant Phi (byte*) line_cursor#3 (byte*) line_cursor#1 +Redundant Phi (byte*) char_cursor#16 (byte*) line_cursor#1 +Redundant Phi (word) rem16u#12 (word) rem16u#11 +Redundant Phi (byte*) line_cursor#11 (byte*) line_cursor#3 +Redundant Phi (byte*) char_cursor#17 (byte*) char_cursor#24 +Redundant Phi (byte*) char_cursor#18 (byte*) char_cursor#2 +Redundant Phi (byte*) char_cursor#19 (byte*) char_cursor#2 +Redundant Phi (word) rem16u#13 (word) rem16u#12 +Redundant Phi (byte*) line_cursor#5 (byte*) line_cursor#11 +Redundant Phi (byte*) char_cursor#21 (byte*) char_cursor#18 +Succesful SSA optimization Pass2RedundantPhiElimination +Simple Condition (boolean~) divr16u::$4 if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 +Simple Condition (boolean~) divr16u::$9 if((word) divr16u::rem#6<(word) divr16u::divisor#6) goto divr16u::@3 +Simple Condition (boolean~) divr16u::$11 if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 +Simple Condition (boolean~) mul16u::$0 if((word) mul16u::a#2!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul16u::@2 +Simple Condition (boolean~) mul16u::$3 if((byte~) mul16u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul16u::@4 +Simple Condition (boolean~) sin16s_gen::$4 if((word) sin16s_gen::i#1<(word) sin16s_gen::wavelength#0) goto sin16s_gen::@1 +Simple Condition (boolean~) sin16s::$1 if((dword) sin16s::x#0<(dword) PI_u4f28#0) goto sin16s::@1 +Simple Condition (boolean~) sin16s::$4 if((dword) sin16s::x#4<(dword) PI_HALF_u4f28#0) goto sin16s::@2 +Simple Condition (boolean~) sin16s::$19 if((byte) sin16s::isUpper#2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin16s::@3 +Simple Condition (boolean~) sin16s_genb::$5 if((word) sin16s_genb::i#1<(word) sin16s_genb::wavelength#0) goto sin16s_genb::@1 +Simple Condition (boolean~) sin16sb::$1 if((word) sin16sb::x#0<(word) PI_u4f12#0) goto sin16sb::@1 +Simple Condition (boolean~) sin16sb::$4 if((word) sin16sb::x#4<(word) PI_HALF_u4f12#0) goto sin16sb::@2 +Simple Condition (boolean~) sin16sb::$18 if((byte) sin16sb::isUpper#2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin16sb::@3 +Simple Condition (boolean~) print_str::$0 if(*((byte*) print_str::str#3)!=(byte) '@') goto print_str::@2 +Simple Condition (boolean~) print_sword::$1 if((signed word) print_sword::w#1>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto print_sword::@1 +Simple Condition (boolean~) print_cls::$1 if((byte*) print_cls::sc#1!=(byte*~) print_cls::$0) goto print_cls::@1 +Simple Condition (boolean~) main::$5 if((signed word) main::sw#0<(byte/signed byte/word/signed word/dword/signed dword) 0) goto main::@2 +Simple Condition (boolean~) main::$11 if((byte) main::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 120) goto main::@1 +Succesful SSA optimization Pass2ConditionalJumpSimplification +Constant (const word) rem16u#0 = 0 +Constant (const word) divr16u::quotient#0 = 0 +Constant (const byte) divr16u::i#0 = 0 +Constant (const word) divr16u::rem#3 = 0 +Constant (const dword) mul16u::res#0 = 0 +Constant (const dword) PI2_u4f28#0 = 1686629713 +Constant (const dword) PI_u4f28#0 = 843314857 +Constant (const dword) PI_HALF_u4f28#0 = 421657428 +Constant (const word) PI_u4f12#0 = 12868 +Constant (const word) PI_HALF_u4f12#0 = 6434 +Constant (const dword) sin16s_gen::x#0 = 0 +Constant (const word) sin16s_gen::i#0 = 0 +Constant (const byte) sin16s::isUpper#0 = 0 +Constant (const byte) sin16s::isUpper#1 = 1 +Constant (const byte) mulu16_sel::select#0 = 0 +Constant (const byte) mulu16_sel::select#1 = 1 +Constant (const word) mulu16_sel::v2#2 = 65536/6 +Constant (const byte) mulu16_sel::select#2 = 1 +Constant (const byte) mulu16_sel::select#3 = 0 +Constant (const byte) mulu16_sel::select#4 = 0 +Constant (const dword) sin16s_genb::x#0 = 0 +Constant (const word) sin16s_genb::i#0 = 0 +Constant (const byte) sin16sb::isUpper#0 = 0 +Constant (const byte) sin16sb::isUpper#1 = 1 +Constant (const byte) mulu16_sel::select#5 = 0 +Constant (const byte) mulu16_sel::select#6 = 1 +Constant (const word) mulu16_sel::v2#7 = 65536/6 +Constant (const byte) mulu16_sel::select#7 = 1 +Constant (const byte) mulu16_sel::select#8 = 0 +Constant (const byte) mulu16_sel::select#9 = 0 +Constant (const byte*) SCREEN#0 = ((byte*))1024 +Constant (const byte) print_char::ch#0 = '-' +Constant (const string) print_byte::hextab#0 = print_byte::$4 +Constant (const word) main::wavelength#0 = 120 +Constant (const signed word[120]) main::sintab1#0 = { fill( 120, 0) } +Constant (const signed word[120]) main::sintab2#0 = { fill( 120, 0) } +Constant (const byte) main::i#0 = 0 +Constant (const string) print_str::str#1 = main::str +Constant (const string) print_str::str#2 = main::str1 +Succesful SSA optimization Pass2ConstantIdentification +Constant (const dword) div32u16u::dividend#0 = PI2_u4f28#0 +Constant (const dword) div32u16u::dividend#1 = PI2_u4f28#0 +Constant (const byte*) print_cls::sc#0 = SCREEN#0 +Constant (const byte*) print_cls::$0 = SCREEN#0+1000 +Constant (const byte*) line_cursor#1 = SCREEN#0 +Constant (const signed word[120]) sin16s_gen::sintab#1 = main::sintab1#0 +Constant (const word) sin16s_gen::wavelength#0 = main::wavelength#0 +Constant (const signed word[120]) sin16s_genb::sintab#1 = main::sintab2#0 +Constant (const word) sin16s_genb::wavelength#0 = main::wavelength#0 +Succesful SSA optimization Pass2ConstantIdentification +Constant (const word) div32u16u::divisor#0 = sin16s_gen::wavelength#0 +Constant (const word) div32u16u::divisor#1 = sin16s_genb::wavelength#0 +Succesful SSA optimization Pass2ConstantIdentification +Multiple usages for variable. Not optimizing sub-constant (signed word*) main::st1#2 +Multiple usages for variable. Not optimizing sub-constant (signed word*) main::st2#2 +Fixing inline constructor with div32u16u::$4 ← div32u16u::quotient_hi#0 dw= div32u16u::quotient_lo#0 +Succesful SSA optimization Pass2FixInlineConstructors +Eliminating Noop Cast (signed word) sin16s::sinx#0 ← ((signed word)) (word) sin16s::usinx#1 +Eliminating Noop Cast (signed word~) sin16s::$20 ← ((signed word)) (word) sin16s::usinx#1 +Eliminating Noop Cast (signed word) sin16sb::sinx#0 ← ((signed word)) (word) sin16sb::usinx#1 +Eliminating Noop Cast (signed word~) sin16sb::$19 ← ((signed word)) (word) sin16sb::usinx#1 +Eliminating Noop Cast (word) print_word::w#0 ← ((word)) (signed word) print_sword::w#3 +Succesful SSA optimization Pass2NopCastElimination +Culled Empty Block (label) @2 +Culled Empty Block (label) mul16u::@3 +Culled Empty Block (label) @12 +Culled Empty Block (label) @20 +Culled Empty Block (label) print_sword::@3 +Culled Empty Block (label) print_word::@2 +Culled Empty Block (label) print_byte::@2 +Culled Empty Block (label) print_cls::@2 +Culled Empty Block (label) main::@7 +Culled Empty Block (label) main::@10 +Culled Empty Block (label) @32 +Succesful SSA optimization Pass2CullEmptyBlocks +Not aliassing across scopes: divr16u::dividend#5 divr16u::dividend#1 +Not aliassing across scopes: divr16u::divisor#6 divr16u::divisor#0 +Not aliassing across scopes: rem16u#1 divr16u::rem#11 +Not aliassing across scopes: divr16u::divisor#0 div32u16u::divisor#2 +Not aliassing across scopes: divr16u::return#2 divr16u::return#0 +Not aliassing across scopes: div32u16u::quotient_hi#0 divr16u::return#2 +Not aliassing across scopes: divr16u::divisor#1 div32u16u::divisor#2 +Not aliassing across scopes: divr16u::rem#4 rem16u#1 +Not aliassing across scopes: divr16u::return#3 divr16u::return#0 +Not aliassing across scopes: div32u16u::quotient_lo#0 divr16u::return#3 +Not aliassing across scopes: mul16u::a#2 mul16u::a#1 +Not aliassing across scopes: div32u16u::return#2 div32u16u::return#0 +Not aliassing across scopes: sin16s_gen::step#0 div32u16u::return#2 +Not aliassing across scopes: sin16s::x#0 sin16s_gen::x#2 +Not aliassing across scopes: sin16s::return#0 sin16s::return#1 +Not aliassing across scopes: sin16s_gen::$1 sin16s::return#0 +Not aliassing across scopes: sin16s::x#4 sin16s::x#0 +Not aliassing across scopes: mulu16_sel::v1#0 sin16s::x1#0 +Not aliassing across scopes: mulu16_sel::v2#0 sin16s::x1#0 +Not aliassing across scopes: mulu16_sel::return#0 mulu16_sel::return#17 +Not aliassing across scopes: sin16s::x2#0 mulu16_sel::return#0 +Not aliassing across scopes: mulu16_sel::v1#1 sin16s::x2#0 +Not aliassing across scopes: mulu16_sel::v2#1 sin16s::x1#0 +Not aliassing across scopes: mulu16_sel::return#1 mulu16_sel::return#17 +Not aliassing across scopes: sin16s::x3#0 mulu16_sel::return#1 +Not aliassing across scopes: mulu16_sel::v1#2 sin16s::x3#0 +Not aliassing across scopes: mulu16_sel::return#14 mulu16_sel::return#17 +Not aliassing across scopes: sin16s::x3_6#0 mulu16_sel::return#14 +Not aliassing across scopes: mulu16_sel::v1#3 sin16s::x3#0 +Not aliassing across scopes: mulu16_sel::v2#3 sin16s::x1#0 +Not aliassing across scopes: mulu16_sel::return#15 mulu16_sel::return#17 +Not aliassing across scopes: sin16s::x4#0 mulu16_sel::return#15 +Not aliassing across scopes: mulu16_sel::v1#4 sin16s::x4#0 +Not aliassing across scopes: mulu16_sel::v2#4 sin16s::x1#0 +Not aliassing across scopes: mulu16_sel::return#16 mulu16_sel::return#17 +Not aliassing across scopes: sin16s::x5#0 mulu16_sel::return#16 +Not aliassing across scopes: mulu16_sel::v1#10 mulu16_sel::v1#3 +Not aliassing across scopes: mulu16_sel::v2#10 mulu16_sel::v2#3 +Not aliassing across scopes: mul16u::a#1 mulu16_sel::v1#10 +Not aliassing across scopes: mul16u::b#0 mulu16_sel::v2#10 +Not aliassing across scopes: mul16u::return#2 mul16u::res#2 +Not aliassing across scopes: mulu16_sel::$0 mul16u::return#2 +Not aliassing across scopes: div32u16u::return#3 div32u16u::return#0 +Not aliassing across scopes: sin16s_genb::step#0 div32u16u::return#3 +Not aliassing across scopes: sin16sb::return#0 sin16sb::return#1 +Not aliassing across scopes: sin16s_genb::$2 sin16sb::return#0 +Not aliassing across scopes: sin16sb::x#4 sin16sb::x#0 +Not aliassing across scopes: mulu16_sel::v1#5 sin16sb::x1#0 +Not aliassing across scopes: mulu16_sel::v2#5 sin16sb::x1#0 +Not aliassing across scopes: mulu16_sel::return#18 mulu16_sel::return#17 +Not aliassing across scopes: sin16sb::x2#0 mulu16_sel::return#18 +Not aliassing across scopes: mulu16_sel::v1#6 sin16sb::x2#0 +Not aliassing across scopes: mulu16_sel::v2#6 sin16sb::x1#0 +Not aliassing across scopes: mulu16_sel::return#19 mulu16_sel::return#17 +Not aliassing across scopes: sin16sb::x3#0 mulu16_sel::return#19 +Not aliassing across scopes: mulu16_sel::v1#7 sin16sb::x3#0 +Not aliassing across scopes: mulu16_sel::return#20 mulu16_sel::return#17 +Not aliassing across scopes: sin16sb::x3_6#0 mulu16_sel::return#20 +Not aliassing across scopes: mulu16_sel::v1#8 sin16sb::x3#0 +Not aliassing across scopes: mulu16_sel::v2#8 sin16sb::x1#0 +Not aliassing across scopes: mulu16_sel::return#10 mulu16_sel::return#17 +Not aliassing across scopes: sin16sb::x4#0 mulu16_sel::return#10 +Not aliassing across scopes: mulu16_sel::v1#9 sin16sb::x4#0 +Not aliassing across scopes: mulu16_sel::v2#9 sin16sb::x1#0 +Not aliassing across scopes: mulu16_sel::return#11 mulu16_sel::return#17 +Not aliassing across scopes: sin16sb::x5#0 mulu16_sel::return#11 +Not aliassing across scopes: char_cursor#51 char_cursor#49 +Not aliassing across scopes: print_sword::w#3 print_sword::w#1 +Not aliassing across scopes: char_cursor#43 char_cursor#48 +Not aliassing across scopes: print_byte::b#2 print_byte::b#0 +Not aliassing across scopes: char_cursor#46 char_cursor#43 +Not aliassing across scopes: print_char::ch#3 print_char::ch#1 +Not aliassing across scopes: char_cursor#33 char_cursor#46 +Not aliassing across scopes: print_sword::w#1 main::sw#0 +Alias (dword) div32u16u::return#0 = (dword~) div32u16u::$4 +Succesful SSA optimization Pass2AliasElimination +Not aliassing across scopes: divr16u::dividend#5 divr16u::dividend#1 +Not aliassing across scopes: divr16u::divisor#6 divr16u::divisor#0 +Not aliassing across scopes: rem16u#1 divr16u::rem#11 +Not aliassing across scopes: divr16u::divisor#0 div32u16u::divisor#2 +Not aliassing across scopes: divr16u::return#2 divr16u::return#0 +Not aliassing across scopes: div32u16u::quotient_hi#0 divr16u::return#2 +Not aliassing across scopes: divr16u::divisor#1 div32u16u::divisor#2 +Not aliassing across scopes: divr16u::rem#4 rem16u#1 +Not aliassing across scopes: divr16u::return#3 divr16u::return#0 +Not aliassing across scopes: div32u16u::quotient_lo#0 divr16u::return#3 +Not aliassing across scopes: mul16u::a#2 mul16u::a#1 +Not aliassing across scopes: div32u16u::return#2 div32u16u::return#0 +Not aliassing across scopes: sin16s_gen::step#0 div32u16u::return#2 +Not aliassing across scopes: sin16s::x#0 sin16s_gen::x#2 +Not aliassing across scopes: sin16s::return#0 sin16s::return#1 +Not aliassing across scopes: sin16s_gen::$1 sin16s::return#0 +Not aliassing across scopes: sin16s::x#4 sin16s::x#0 +Not aliassing across scopes: mulu16_sel::v1#0 sin16s::x1#0 +Not aliassing across scopes: mulu16_sel::v2#0 sin16s::x1#0 +Not aliassing across scopes: mulu16_sel::return#0 mulu16_sel::return#17 +Not aliassing across scopes: sin16s::x2#0 mulu16_sel::return#0 +Not aliassing across scopes: mulu16_sel::v1#1 sin16s::x2#0 +Not aliassing across scopes: mulu16_sel::v2#1 sin16s::x1#0 +Not aliassing across scopes: mulu16_sel::return#1 mulu16_sel::return#17 +Not aliassing across scopes: sin16s::x3#0 mulu16_sel::return#1 +Not aliassing across scopes: mulu16_sel::v1#2 sin16s::x3#0 +Not aliassing across scopes: mulu16_sel::return#14 mulu16_sel::return#17 +Not aliassing across scopes: sin16s::x3_6#0 mulu16_sel::return#14 +Not aliassing across scopes: mulu16_sel::v1#3 sin16s::x3#0 +Not aliassing across scopes: mulu16_sel::v2#3 sin16s::x1#0 +Not aliassing across scopes: mulu16_sel::return#15 mulu16_sel::return#17 +Not aliassing across scopes: sin16s::x4#0 mulu16_sel::return#15 +Not aliassing across scopes: mulu16_sel::v1#4 sin16s::x4#0 +Not aliassing across scopes: mulu16_sel::v2#4 sin16s::x1#0 +Not aliassing across scopes: mulu16_sel::return#16 mulu16_sel::return#17 +Not aliassing across scopes: sin16s::x5#0 mulu16_sel::return#16 +Not aliassing across scopes: mulu16_sel::v1#10 mulu16_sel::v1#3 +Not aliassing across scopes: mulu16_sel::v2#10 mulu16_sel::v2#3 +Not aliassing across scopes: mul16u::a#1 mulu16_sel::v1#10 +Not aliassing across scopes: mul16u::b#0 mulu16_sel::v2#10 +Not aliassing across scopes: mul16u::return#2 mul16u::res#2 +Not aliassing across scopes: mulu16_sel::$0 mul16u::return#2 +Not aliassing across scopes: div32u16u::return#3 div32u16u::return#0 +Not aliassing across scopes: sin16s_genb::step#0 div32u16u::return#3 +Not aliassing across scopes: sin16sb::return#0 sin16sb::return#1 +Not aliassing across scopes: sin16s_genb::$2 sin16sb::return#0 +Not aliassing across scopes: sin16sb::x#4 sin16sb::x#0 +Not aliassing across scopes: mulu16_sel::v1#5 sin16sb::x1#0 +Not aliassing across scopes: mulu16_sel::v2#5 sin16sb::x1#0 +Not aliassing across scopes: mulu16_sel::return#18 mulu16_sel::return#17 +Not aliassing across scopes: sin16sb::x2#0 mulu16_sel::return#18 +Not aliassing across scopes: mulu16_sel::v1#6 sin16sb::x2#0 +Not aliassing across scopes: mulu16_sel::v2#6 sin16sb::x1#0 +Not aliassing across scopes: mulu16_sel::return#19 mulu16_sel::return#17 +Not aliassing across scopes: sin16sb::x3#0 mulu16_sel::return#19 +Not aliassing across scopes: mulu16_sel::v1#7 sin16sb::x3#0 +Not aliassing across scopes: mulu16_sel::return#20 mulu16_sel::return#17 +Not aliassing across scopes: sin16sb::x3_6#0 mulu16_sel::return#20 +Not aliassing across scopes: mulu16_sel::v1#8 sin16sb::x3#0 +Not aliassing across scopes: mulu16_sel::v2#8 sin16sb::x1#0 +Not aliassing across scopes: mulu16_sel::return#10 mulu16_sel::return#17 +Not aliassing across scopes: sin16sb::x4#0 mulu16_sel::return#10 +Not aliassing across scopes: mulu16_sel::v1#9 sin16sb::x4#0 +Not aliassing across scopes: mulu16_sel::v2#9 sin16sb::x1#0 +Not aliassing across scopes: mulu16_sel::return#11 mulu16_sel::return#17 +Not aliassing across scopes: sin16sb::x5#0 mulu16_sel::return#11 +Not aliassing across scopes: char_cursor#51 char_cursor#49 +Not aliassing across scopes: print_sword::w#3 print_sword::w#1 +Not aliassing across scopes: char_cursor#43 char_cursor#48 +Not aliassing across scopes: print_byte::b#2 print_byte::b#0 +Not aliassing across scopes: char_cursor#46 char_cursor#43 +Not aliassing across scopes: print_char::ch#3 print_char::ch#1 +Not aliassing across scopes: char_cursor#33 char_cursor#46 +Not aliassing across scopes: print_sword::w#1 main::sw#0 +Multiple usages for variable. Not optimizing sub-constant (signed word*) main::st1#2 +Multiple usages for variable. Not optimizing sub-constant (signed word*) main::st2#2 +Not aliassing across scopes: divr16u::dividend#5 divr16u::dividend#1 +Not aliassing across scopes: divr16u::divisor#6 divr16u::divisor#0 +Not aliassing across scopes: rem16u#1 divr16u::rem#11 +Not aliassing across scopes: divr16u::divisor#0 div32u16u::divisor#2 +Not aliassing across scopes: divr16u::return#2 divr16u::return#0 +Not aliassing across scopes: div32u16u::quotient_hi#0 divr16u::return#2 +Not aliassing across scopes: divr16u::divisor#1 div32u16u::divisor#2 +Not aliassing across scopes: divr16u::rem#4 rem16u#1 +Not aliassing across scopes: divr16u::return#3 divr16u::return#0 +Not aliassing across scopes: div32u16u::quotient_lo#0 divr16u::return#3 +Not aliassing across scopes: mul16u::a#2 mul16u::a#1 +Not aliassing across scopes: div32u16u::return#2 div32u16u::return#0 +Not aliassing across scopes: sin16s_gen::step#0 div32u16u::return#2 +Not aliassing across scopes: sin16s::x#0 sin16s_gen::x#2 +Not aliassing across scopes: sin16s::return#0 sin16s::return#1 +Not aliassing across scopes: sin16s_gen::$1 sin16s::return#0 +Not aliassing across scopes: sin16s::x#4 sin16s::x#0 +Not aliassing across scopes: mulu16_sel::v1#0 sin16s::x1#0 +Not aliassing across scopes: mulu16_sel::v2#0 sin16s::x1#0 +Not aliassing across scopes: mulu16_sel::return#0 mulu16_sel::return#17 +Not aliassing across scopes: sin16s::x2#0 mulu16_sel::return#0 +Not aliassing across scopes: mulu16_sel::v1#1 sin16s::x2#0 +Not aliassing across scopes: mulu16_sel::v2#1 sin16s::x1#0 +Not aliassing across scopes: mulu16_sel::return#1 mulu16_sel::return#17 +Not aliassing across scopes: sin16s::x3#0 mulu16_sel::return#1 +Not aliassing across scopes: mulu16_sel::v1#2 sin16s::x3#0 +Not aliassing across scopes: mulu16_sel::return#14 mulu16_sel::return#17 +Not aliassing across scopes: sin16s::x3_6#0 mulu16_sel::return#14 +Not aliassing across scopes: mulu16_sel::v1#3 sin16s::x3#0 +Not aliassing across scopes: mulu16_sel::v2#3 sin16s::x1#0 +Not aliassing across scopes: mulu16_sel::return#15 mulu16_sel::return#17 +Not aliassing across scopes: sin16s::x4#0 mulu16_sel::return#15 +Not aliassing across scopes: mulu16_sel::v1#4 sin16s::x4#0 +Not aliassing across scopes: mulu16_sel::v2#4 sin16s::x1#0 +Not aliassing across scopes: mulu16_sel::return#16 mulu16_sel::return#17 +Not aliassing across scopes: sin16s::x5#0 mulu16_sel::return#16 +Not aliassing across scopes: mulu16_sel::v1#10 mulu16_sel::v1#3 +Not aliassing across scopes: mulu16_sel::v2#10 mulu16_sel::v2#3 +Not aliassing across scopes: mul16u::a#1 mulu16_sel::v1#10 +Not aliassing across scopes: mul16u::b#0 mulu16_sel::v2#10 +Not aliassing across scopes: mul16u::return#2 mul16u::res#2 +Not aliassing across scopes: mulu16_sel::$0 mul16u::return#2 +Not aliassing across scopes: div32u16u::return#3 div32u16u::return#0 +Not aliassing across scopes: sin16s_genb::step#0 div32u16u::return#3 +Not aliassing across scopes: sin16sb::return#0 sin16sb::return#1 +Not aliassing across scopes: sin16s_genb::$2 sin16sb::return#0 +Not aliassing across scopes: sin16sb::x#4 sin16sb::x#0 +Not aliassing across scopes: mulu16_sel::v1#5 sin16sb::x1#0 +Not aliassing across scopes: mulu16_sel::v2#5 sin16sb::x1#0 +Not aliassing across scopes: mulu16_sel::return#18 mulu16_sel::return#17 +Not aliassing across scopes: sin16sb::x2#0 mulu16_sel::return#18 +Not aliassing across scopes: mulu16_sel::v1#6 sin16sb::x2#0 +Not aliassing across scopes: mulu16_sel::v2#6 sin16sb::x1#0 +Not aliassing across scopes: mulu16_sel::return#19 mulu16_sel::return#17 +Not aliassing across scopes: sin16sb::x3#0 mulu16_sel::return#19 +Not aliassing across scopes: mulu16_sel::v1#7 sin16sb::x3#0 +Not aliassing across scopes: mulu16_sel::return#20 mulu16_sel::return#17 +Not aliassing across scopes: sin16sb::x3_6#0 mulu16_sel::return#20 +Not aliassing across scopes: mulu16_sel::v1#8 sin16sb::x3#0 +Not aliassing across scopes: mulu16_sel::v2#8 sin16sb::x1#0 +Not aliassing across scopes: mulu16_sel::return#10 mulu16_sel::return#17 +Not aliassing across scopes: sin16sb::x4#0 mulu16_sel::return#10 +Not aliassing across scopes: mulu16_sel::v1#9 sin16sb::x4#0 +Not aliassing across scopes: mulu16_sel::v2#9 sin16sb::x1#0 +Not aliassing across scopes: mulu16_sel::return#11 mulu16_sel::return#17 +Not aliassing across scopes: sin16sb::x5#0 mulu16_sel::return#11 +Not aliassing across scopes: char_cursor#51 char_cursor#49 +Not aliassing across scopes: print_sword::w#3 print_sword::w#1 +Not aliassing across scopes: char_cursor#43 char_cursor#48 +Not aliassing across scopes: print_byte::b#2 print_byte::b#0 +Not aliassing across scopes: char_cursor#46 char_cursor#43 +Not aliassing across scopes: print_char::ch#3 print_char::ch#1 +Not aliassing across scopes: char_cursor#33 char_cursor#46 +Not aliassing across scopes: print_sword::w#1 main::sw#0 +Multiple usages for variable. Not optimizing sub-constant (signed word*) main::st1#2 +Multiple usages for variable. Not optimizing sub-constant (signed word*) main::st2#2 +OPTIMIZING CONTROL FLOW GRAPH +Inlining constant with var siblings (const word) divr16u::quotient#0 +Inlining constant with var siblings (const word) divr16u::quotient#0 +Inlining constant with var siblings (const word) divr16u::quotient#0 +Inlining constant with var siblings (const byte) divr16u::i#0 +Inlining constant with var siblings (const byte) divr16u::i#0 +Inlining constant with var siblings (const word) divr16u::rem#3 +Inlining constant with var siblings (const word) divr16u::rem#3 +Inlining constant with var siblings (const word) divr16u::rem#3 +Inlining constant with var siblings (const word) divr16u::rem#3 +Inlining constant with var siblings (const word) divr16u::rem#3 +Inlining constant with var siblings (const word) divr16u::rem#3 +Inlining constant with var siblings (const word) divr16u::rem#3 +Inlining constant with var siblings (const word) divr16u::rem#3 +Inlining constant with var siblings (const dword) div32u16u::dividend#0 +Inlining constant with var siblings (const dword) div32u16u::dividend#1 +Inlining constant with var siblings (const word) div32u16u::divisor#0 +Inlining constant with var siblings (const word) div32u16u::divisor#1 +Inlining constant with var siblings (const dword) mul16u::res#0 +Inlining constant with var siblings (const dword) mul16u::res#0 +Inlining constant with var siblings (const dword) mul16u::res#0 +Inlining constant with var siblings (const dword) sin16s_gen::x#0 +Inlining constant with var siblings (const dword) sin16s_gen::x#0 +Inlining constant with var siblings (const word) sin16s_gen::i#0 +Inlining constant with var siblings (const word) sin16s_gen::i#0 +Inlining constant with var siblings (const signed word[120]) sin16s_gen::sintab#1 +Inlining constant with var siblings (const signed word[120]) sin16s_gen::sintab#1 +Inlining constant with var siblings (const byte) sin16s::isUpper#0 +Inlining constant with different constant siblings (const byte) sin16s::isUpper#0 +Inlining constant with var siblings (const byte) sin16s::isUpper#1 +Inlining constant with different constant siblings (const byte) sin16s::isUpper#1 +Inlining constant with var siblings (const byte) mulu16_sel::select#0 +Inlining constant with different constant siblings (const byte) mulu16_sel::select#0 +Inlining constant with different constant siblings (const byte) mulu16_sel::select#0 +Inlining constant with different constant siblings (const byte) mulu16_sel::select#0 +Inlining constant with different constant siblings (const byte) mulu16_sel::select#0 +Inlining constant with var siblings (const byte) mulu16_sel::select#1 +Inlining constant with different constant siblings (const byte) mulu16_sel::select#1 +Inlining constant with different constant siblings (const byte) mulu16_sel::select#1 +Inlining constant with different constant siblings (const byte) mulu16_sel::select#1 +Inlining constant with different constant siblings (const byte) mulu16_sel::select#1 +Inlining constant with different constant siblings (const byte) mulu16_sel::select#1 +Inlining constant with different constant siblings (const byte) mulu16_sel::select#1 +Inlining constant with var siblings (const word) mulu16_sel::v2#2 +Inlining constant with var siblings (const word) mulu16_sel::v2#2 +Inlining constant with var siblings (const word) mulu16_sel::v2#2 +Inlining constant with var siblings (const word) mulu16_sel::v2#2 +Inlining constant with var siblings (const word) mulu16_sel::v2#2 +Inlining constant with var siblings (const word) mulu16_sel::v2#2 +Inlining constant with var siblings (const word) mulu16_sel::v2#2 +Inlining constant with var siblings (const word) mulu16_sel::v2#2 +Inlining constant with var siblings (const word) mulu16_sel::v2#2 +Inlining constant with different constant siblings (const word) mulu16_sel::v2#2 +Inlining constant with var siblings (const byte) mulu16_sel::select#2 +Inlining constant with different constant siblings (const byte) mulu16_sel::select#2 +Inlining constant with different constant siblings (const byte) mulu16_sel::select#2 +Inlining constant with different constant siblings (const byte) mulu16_sel::select#2 +Inlining constant with different constant siblings (const byte) mulu16_sel::select#2 +Inlining constant with different constant siblings (const byte) mulu16_sel::select#2 +Inlining constant with different constant siblings (const byte) mulu16_sel::select#2 +Inlining constant with var siblings (const byte) mulu16_sel::select#3 +Inlining constant with different constant siblings (const byte) mulu16_sel::select#3 +Inlining constant with different constant siblings (const byte) mulu16_sel::select#3 +Inlining constant with different constant siblings (const byte) mulu16_sel::select#3 +Inlining constant with different constant siblings (const byte) mulu16_sel::select#3 +Inlining constant with var siblings (const byte) mulu16_sel::select#4 +Inlining constant with different constant siblings (const byte) mulu16_sel::select#4 +Inlining constant with different constant siblings (const byte) mulu16_sel::select#4 +Inlining constant with different constant siblings (const byte) mulu16_sel::select#4 +Inlining constant with different constant siblings (const byte) mulu16_sel::select#4 +Inlining constant with var siblings (const byte) mulu16_sel::select#5 +Inlining constant with different constant siblings (const byte) mulu16_sel::select#5 +Inlining constant with different constant siblings (const byte) mulu16_sel::select#5 +Inlining constant with different constant siblings (const byte) mulu16_sel::select#5 +Inlining constant with different constant siblings (const byte) mulu16_sel::select#5 +Inlining constant with var siblings (const byte) mulu16_sel::select#6 +Inlining constant with different constant siblings (const byte) mulu16_sel::select#6 +Inlining constant with different constant siblings (const byte) mulu16_sel::select#6 +Inlining constant with different constant siblings (const byte) mulu16_sel::select#6 +Inlining constant with different constant siblings (const byte) mulu16_sel::select#6 +Inlining constant with different constant siblings (const byte) mulu16_sel::select#6 +Inlining constant with different constant siblings (const byte) mulu16_sel::select#6 +Inlining constant with var siblings (const word) mulu16_sel::v2#7 +Inlining constant with var siblings (const word) mulu16_sel::v2#7 +Inlining constant with var siblings (const word) mulu16_sel::v2#7 +Inlining constant with var siblings (const word) mulu16_sel::v2#7 +Inlining constant with var siblings (const word) mulu16_sel::v2#7 +Inlining constant with var siblings (const word) mulu16_sel::v2#7 +Inlining constant with var siblings (const word) mulu16_sel::v2#7 +Inlining constant with var siblings (const word) mulu16_sel::v2#7 +Inlining constant with var siblings (const word) mulu16_sel::v2#7 +Inlining constant with different constant siblings (const word) mulu16_sel::v2#7 +Inlining constant with var siblings (const byte) mulu16_sel::select#7 +Inlining constant with different constant siblings (const byte) mulu16_sel::select#7 +Inlining constant with different constant siblings (const byte) mulu16_sel::select#7 +Inlining constant with different constant siblings (const byte) mulu16_sel::select#7 +Inlining constant with different constant siblings (const byte) mulu16_sel::select#7 +Inlining constant with different constant siblings (const byte) mulu16_sel::select#7 +Inlining constant with different constant siblings (const byte) mulu16_sel::select#7 +Inlining constant with var siblings (const byte) mulu16_sel::select#8 +Inlining constant with different constant siblings (const byte) mulu16_sel::select#8 +Inlining constant with different constant siblings (const byte) mulu16_sel::select#8 +Inlining constant with different constant siblings (const byte) mulu16_sel::select#8 +Inlining constant with different constant siblings (const byte) mulu16_sel::select#8 +Inlining constant with var siblings (const byte) mulu16_sel::select#9 +Inlining constant with different constant siblings (const byte) mulu16_sel::select#9 +Inlining constant with different constant siblings (const byte) mulu16_sel::select#9 +Inlining constant with different constant siblings (const byte) mulu16_sel::select#9 +Inlining constant with different constant siblings (const byte) mulu16_sel::select#9 +Inlining constant with var siblings (const dword) sin16s_genb::x#0 +Inlining constant with var siblings (const dword) sin16s_genb::x#0 +Inlining constant with var siblings (const word) sin16s_genb::i#0 +Inlining constant with var siblings (const word) sin16s_genb::i#0 +Inlining constant with var siblings (const signed word[120]) sin16s_genb::sintab#1 +Inlining constant with var siblings (const signed word[120]) sin16s_genb::sintab#1 +Inlining constant with var siblings (const byte) sin16sb::isUpper#0 +Inlining constant with different constant siblings (const byte) sin16sb::isUpper#0 +Inlining constant with var siblings (const byte) sin16sb::isUpper#1 +Inlining constant with different constant siblings (const byte) sin16sb::isUpper#1 +Inlining constant with var siblings (const string) print_str::str#1 +Inlining constant with var siblings (const string) print_str::str#1 +Inlining constant with var siblings (const string) print_str::str#1 +Inlining constant with var siblings (const string) print_str::str#2 +Inlining constant with var siblings (const string) print_str::str#2 +Inlining constant with var siblings (const string) print_str::str#2 +Inlining constant with var siblings (const byte) print_char::ch#0 +Inlining constant with var siblings (const byte) print_char::ch#0 +Inlining constant with var siblings (const byte) print_char::ch#0 +Inlining constant with var siblings (const byte*) print_cls::sc#0 +Inlining constant with var siblings (const byte*) print_cls::sc#0 +Inlining constant with var siblings (const byte) main::i#0 +Inlining constant with var siblings (const byte) main::i#0 +Inlining constant with var siblings (const word) rem16u#0 +Inlining constant with var siblings (const word) rem16u#0 +Constant inlined divr16u::rem#3 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined print_cls::$0 = (const byte*) SCREEN#0+(word/signed word/dword/signed dword) 1000 +Constant inlined divr16u::i#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined div32u16u::dividend#1 = (const dword) PI2_u4f28#0 +Constant inlined sin16s_gen::wavelength#0 = (const word) main::wavelength#0 +Constant inlined div32u16u::dividend#0 = (const dword) PI2_u4f28#0 +Constant inlined line_cursor#1 = (const byte*) SCREEN#0 +Constant inlined sin16s::isUpper#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined mulu16_sel::v2#7 = (dword/signed dword) 65536/(byte/signed byte/word/signed word/dword/signed dword) 6 +Constant inlined mulu16_sel::select#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined mulu16_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined divr16u::quotient#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined mulu16_sel::select#2 = (byte/signed byte/word/signed word/dword/signed dword) 1 +Constant inlined mulu16_sel::select#3 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined mul16u::res#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined mulu16_sel::select#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined sin16s::isUpper#1 = (byte/signed byte/word/signed word/dword/signed dword) 1 +Constant inlined mulu16_sel::select#1 = (byte/signed byte/word/signed word/dword/signed dword) 1 +Constant inlined sin16s_genb::sintab#1 = (const signed word[120]) main::sintab2#0 +Constant inlined main::i#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined sin16s_genb::x#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined sin16sb::isUpper#1 = (byte/signed byte/word/signed word/dword/signed dword) 1 +Constant inlined sin16s_genb::wavelength#0 = (const word) main::wavelength#0 +Constant inlined sin16sb::isUpper#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined sin16s_gen::i#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined sin16s_genb::i#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined rem16u#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined print_cls::sc#0 = (const byte*) SCREEN#0 +Constant inlined mulu16_sel::select#8 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined mulu16_sel::select#9 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined mulu16_sel::select#6 = (byte/signed byte/word/signed word/dword/signed dword) 1 +Constant inlined sin16s_gen::sintab#1 = (const signed word[120]) main::sintab1#0 +Constant inlined mulu16_sel::select#7 = (byte/signed byte/word/signed word/dword/signed dword) 1 +Constant inlined mulu16_sel::v2#2 = (dword/signed dword) 65536/(byte/signed byte/word/signed word/dword/signed dword) 6 +Constant inlined print_char::ch#0 = (byte) '-' +Constant inlined sin16s_gen::x#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined div32u16u::divisor#1 = (const word) main::wavelength#0 +Constant inlined print_str::str#2 = (const string) main::str1 +Constant inlined div32u16u::divisor#0 = (const word) main::wavelength#0 +Constant inlined print_str::str#1 = (const string) main::str +Constant inlined print_byte::$4 = (const string) print_byte::hextab#0 +Succesful SSA optimization Pass2ConstantInlining +Block Sequence Planned @begin @31 @end main main::@5 main::@6 main::@1 main::@3 main::@2 main::@8 main::@9 main::@return print_str print_str::@1 print_str::@return print_str::@2 print_sword print_sword::@2 print_sword::@4 print_sword::@1 print_sword::@return print_word print_word::@1 print_word::@return print_byte print_byte::@1 print_byte::@return print_char print_char::@return print_cls print_cls::@1 print_cls::@return sin16s_genb sin16s_genb::@3 sin16s_genb::@1 sin16s_genb::@4 sin16s_genb::@return sin16sb sin16sb::@4 sin16sb::@1 sin16sb::@5 sin16sb::@2 sin16sb::@8 sin16sb::@9 sin16sb::@10 sin16sb::@11 sin16sb::@12 sin16sb::@6 sin16sb::@3 sin16sb::@return mulu16_sel mulu16_sel::@2 mulu16_sel::@return mul16u mul16u::@1 mul16u::@return mul16u::@2 mul16u::@7 mul16u::@4 div32u16u div32u16u::@2 div32u16u::@3 div32u16u::@return divr16u divr16u::@1 divr16u::@4 divr16u::@2 divr16u::@5 divr16u::@3 divr16u::@6 divr16u::@return sin16s_gen sin16s_gen::@3 sin16s_gen::@1 sin16s_gen::@4 sin16s_gen::@return sin16s sin16s::@4 sin16s::@1 sin16s::@5 sin16s::@2 sin16s::@8 sin16s::@9 sin16s::@10 sin16s::@11 sin16s::@12 sin16s::@6 sin16s::@3 sin16s::@return +Added new block during phi lifting main::@11(between main::@9 and main::@1) +Added new block during phi lifting main::@12(between main::@1 and main::@2) +Added new block during phi lifting print_sword::@5(between print_sword and print_sword::@1) +Added new block during phi lifting print_cls::@3(between print_cls::@1 and print_cls::@1) +Added new block during phi lifting sin16s_genb::@5(between sin16s_genb::@4 and sin16s_genb::@1) +Added new block during phi lifting sin16sb::@13(between sin16sb and sin16sb::@1) +Fixing phi predecessor for sin16sb::isUpper#2 to new block ( sin16sb -> sin16sb::@13 ) during phi lifting. +Added new block during phi lifting sin16sb::@14(between sin16sb::@1 and sin16sb::@2) +Added new block during phi lifting sin16sb::@15(between sin16sb::@12 and sin16sb::@3) +Added new block during phi lifting mul16u::@10(between mul16u::@2 and mul16u::@4) +Added new block during phi lifting divr16u::@8(between divr16u::@3 and divr16u::@1) +Added new block during phi lifting divr16u::@9(between divr16u::@1 and divr16u::@2) +Added new block during phi lifting divr16u::@10(between divr16u::@2 and divr16u::@3) +Added new block during phi lifting sin16s_gen::@5(between sin16s_gen::@4 and sin16s_gen::@1) +Added new block during phi lifting sin16s::@13(between sin16s and sin16s::@1) +Fixing phi predecessor for sin16s::isUpper#2 to new block ( sin16s -> sin16s::@13 ) during phi lifting. +Added new block during phi lifting sin16s::@14(between sin16s::@1 and sin16s::@2) +Added new block during phi lifting sin16s::@15(between sin16s::@12 and sin16s::@3) +Block Sequence Planned @begin @31 @end main main::@5 main::@6 main::@1 main::@3 main::@2 main::@8 main::@9 main::@return main::@11 main::@12 print_str print_str::@1 print_str::@return print_str::@2 print_sword print_sword::@2 print_sword::@4 print_sword::@1 print_sword::@return print_sword::@5 print_word print_word::@1 print_word::@return print_byte print_byte::@1 print_byte::@return print_char print_char::@return print_cls print_cls::@1 print_cls::@return print_cls::@3 sin16s_genb sin16s_genb::@3 sin16s_genb::@1 sin16s_genb::@4 sin16s_genb::@return sin16s_genb::@5 sin16sb sin16sb::@4 sin16sb::@1 sin16sb::@5 sin16sb::@2 sin16sb::@8 sin16sb::@9 sin16sb::@10 sin16sb::@11 sin16sb::@12 sin16sb::@6 sin16sb::@3 sin16sb::@return sin16sb::@15 sin16sb::@14 sin16sb::@13 mulu16_sel mulu16_sel::@2 mulu16_sel::@return mul16u mul16u::@1 mul16u::@return mul16u::@2 mul16u::@7 mul16u::@4 mul16u::@10 div32u16u div32u16u::@2 div32u16u::@3 div32u16u::@return divr16u divr16u::@1 divr16u::@4 divr16u::@2 divr16u::@5 divr16u::@3 divr16u::@6 divr16u::@return divr16u::@8 divr16u::@10 divr16u::@9 sin16s_gen sin16s_gen::@3 sin16s_gen::@1 sin16s_gen::@4 sin16s_gen::@return sin16s_gen::@5 sin16s sin16s::@4 sin16s::@1 sin16s::@5 sin16s::@2 sin16s::@8 sin16s::@9 sin16s::@10 sin16s::@11 sin16s::@12 sin16s::@6 sin16s::@3 sin16s::@return sin16s::@15 sin16s::@14 sin16s::@13 +Adding NOP phi() at start of @begin +Adding NOP phi() at start of @31 +Adding NOP phi() at start of @end +Adding NOP phi() at start of main +Adding NOP phi() at start of main::@5 +Adding NOP phi() at start of main::@6 +Adding NOP phi() at start of print_cls +Adding NOP phi() at start of sin16s_gen +CALL GRAPH +Calls in [] to main:2 +Calls in [main] to sin16s_gen:5 sin16s_genb:7 print_cls:9 print_str:14 print_sword:18 print_str:20 +Calls in [print_sword] to print_char:44 print_word:49 +Calls in [print_word] to print_byte:56 print_byte:60 +Calls in [print_byte] to print_char:67 print_char:72 +Calls in [sin16s_genb] to div32u16u:86 sin16sb:91 +Calls in [sin16sb] to mulu16_sel:116 mulu16_sel:123 mulu16_sel:128 mulu16_sel:136 mulu16_sel:143 +Calls in [mulu16_sel] to mul16u:159 +Calls in [div32u16u] to divr16u:187 divr16u:196 +Calls in [sin16s_gen] to div32u16u:232 sin16s:237 +Calls in [sin16s] to mulu16_sel:263 mulu16_sel:270 mulu16_sel:275 mulu16_sel:283 mulu16_sel:290 + +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Created 50 initial phi equivalence classes +Coalesced [13] char_cursor#59 ← char_cursor#49 +Coalesced [15] char_cursor#58 ← char_cursor#2 +Coalesced [19] char_cursor#60 ← char_cursor#12 +Coalesced [26] main::st1#8 ← main::st1#1 +Coalesced [27] main::st2#8 ← main::st2#1 +Coalesced [28] char_cursor#56 ← char_cursor#2 +Coalesced [29] main::i#8 ← main::i#1 +Coalesced (already) [30] char_cursor#57 ← char_cursor#49 +Coalesced [32] print_str::str#6 ← print_str::str#5 +Coalesced (already) [33] char_cursor#61 ← char_cursor#51 +Coalesced [40] print_str::str#7 ← print_str::str#0 +Coalesced [41] char_cursor#62 ← char_cursor#1 +Coalesced [43] char_cursor#69 ← char_cursor#48 +Coalesced [46] print_sword::w#7 ← print_sword::w#0 +Coalesced [47] char_cursor#64 ← char_cursor#12 +Coalesced [51] print_sword::w#6 ← print_sword::w#1 +Coalesced (already) [52] char_cursor#63 ← char_cursor#48 +Coalesced [54] print_byte::b#4 ← print_byte::b#0 +Coalesced [55] char_cursor#65 ← char_cursor#43 +Coalesced [58] print_byte::b#5 ← print_byte::b#1 +Coalesced (already) [59] char_cursor#66 ← char_cursor#12 +Coalesced [65] print_char::ch#4 ← print_char::ch#1 +Coalesced (already) [66] char_cursor#67 ← char_cursor#46 +Coalesced [70] print_char::ch#5 ← print_char::ch#2 +Coalesced (already) [71] char_cursor#68 ← char_cursor#12 +Coalesced [84] print_cls::sc#3 ← print_cls::sc#1 +Coalesced [85] rem16u#44 ← rem16u#1 +Coalesced [100] sin16s_genb::x#4 ← sin16s_genb::x#1 +Coalesced [101] sin16s_genb::sintab#6 ← sin16s_genb::sintab#0 +Coalesced [102] sin16s_genb::i#4 ← sin16s_genb::i#1 +Coalesced [105] sin16sb::x#9 ← sin16sb::x#1 +Coalesced [109] sin16sb::x#11 ← sin16sb::x#2 +Coalesced [114] mulu16_sel::v1#18 ← mulu16_sel::v1#5 +Coalesced [115] mulu16_sel::v2#17 ← mulu16_sel::v2#5 +Coalesced [121] mulu16_sel::v1#19 ← mulu16_sel::v1#6 +Coalesced [122] mulu16_sel::v2#18 ← mulu16_sel::v2#6 +Coalesced [127] mulu16_sel::v1#20 ← mulu16_sel::v1#7 +Coalesced [134] mulu16_sel::v1#16 ← mulu16_sel::v1#8 +Coalesced [135] mulu16_sel::v2#15 ← mulu16_sel::v2#8 +Coalesced [141] mulu16_sel::v1#17 ← mulu16_sel::v1#9 +Coalesced [142] mulu16_sel::v2#16 ← mulu16_sel::v2#9 +Coalesced [150] sin16sb::return#6 ← sin16sb::sinx#1 +Coalesced [154] sin16sb::x#10 ← sin16sb::x#4 +Coalesced [155] sin16sb::x#8 ← sin16sb::x#0 +Coalesced [166] mul16u::a#7 ← mul16u::a#1 +Coalesced [167] mul16u::mb#6 ← mul16u::mb#0 +Coalesced [174] mul16u::res#9 ← mul16u::res#1 +Coalesced [178] mul16u::a#8 ← mul16u::a#0 +Coalesced [179] mul16u::res#7 ← mul16u::res#6 +Coalesced [180] mul16u::mb#7 ← mul16u::mb#1 +Coalesced (already) [181] mul16u::res#8 ← mul16u::res#2 +Coalesced [185] divr16u::dividend#9 ← divr16u::dividend#1 +Coalesced [186] divr16u::divisor#8 ← divr16u::divisor#0 +Coalesced [193] divr16u::rem#12 ← divr16u::rem#4 +Coalesced [194] divr16u::dividend#10 ← divr16u::dividend#2 +Coalesced [195] divr16u::divisor#9 ← divr16u::divisor#1 +Coalesced [202] divr16u::rem#13 ← divr16u::rem#10 +Coalesced [203] divr16u::dividend#11 ← divr16u::dividend#5 +Coalesced [210] divr16u::rem#16 ← divr16u::rem#1 +Coalesced [217] divr16u::rem#18 ← divr16u::rem#2 +Coalesced [218] divr16u::return#8 ← divr16u::quotient#2 +Coalesced [222] rem16u#1 ← divr16u::rem#11 +Coalesced [224] divr16u::rem#14 ← divr16u::rem#11 +Coalesced [225] divr16u::dividend#12 ← divr16u::dividend#0 +Coalesced [226] divr16u::quotient#9 ← divr16u::return#0 +Coalesced [227] divr16u::i#7 ← divr16u::i#1 +Coalesced [228] divr16u::rem#17 ← divr16u::rem#6 +Coalesced [229] divr16u::return#7 ← divr16u::quotient#1 +Coalesced [230] divr16u::rem#15 ← divr16u::rem#0 +Coalesced [246] sin16s_gen::x#4 ← sin16s_gen::x#1 +Coalesced [247] sin16s_gen::sintab#6 ← sin16s_gen::sintab#0 +Coalesced [248] sin16s_gen::i#4 ← sin16s_gen::i#1 +Coalesced [251] sin16s::x#9 ← sin16s::x#1 +Coalesced [255] sin16s::x#11 ← sin16s::x#2 +Coalesced [261] mulu16_sel::v1#13 ← mulu16_sel::v1#0 +Coalesced [262] mulu16_sel::v2#13 ← mulu16_sel::v2#0 +Coalesced [268] mulu16_sel::v1#14 ← mulu16_sel::v1#1 +Coalesced [269] mulu16_sel::v2#14 ← mulu16_sel::v2#1 +Coalesced [274] mulu16_sel::v1#15 ← mulu16_sel::v1#2 +Coalesced [281] mulu16_sel::v1#11 ← mulu16_sel::v1#3 +Coalesced [282] mulu16_sel::v2#11 ← mulu16_sel::v2#3 +Coalesced [288] mulu16_sel::v1#12 ← mulu16_sel::v1#4 +Coalesced [289] mulu16_sel::v2#12 ← mulu16_sel::v2#4 +Coalesced [297] sin16s::return#6 ← sin16s::sinx#1 +Coalesced [301] sin16s::x#10 ← sin16s::x#4 +Coalesced [302] sin16s::x#8 ← sin16s::x#0 +Coalesced down to 34 phi equivalence classes +Culled Empty Block (label) main::@11 +Culled Empty Block (label) main::@12 +Culled Empty Block (label) print_sword::@5 +Culled Empty Block (label) print_cls::@3 +Culled Empty Block (label) sin16s_genb::@5 +Culled Empty Block (label) sin16sb::@14 +Culled Empty Block (label) sin16sb::@13 +Culled Empty Block (label) mul16u::@10 +Culled Empty Block (label) divr16u::@6 +Culled Empty Block (label) divr16u::@8 +Culled Empty Block (label) divr16u::@10 +Culled Empty Block (label) divr16u::@9 +Culled Empty Block (label) sin16s_gen::@5 +Culled Empty Block (label) sin16s::@14 +Culled Empty Block (label) sin16s::@13 +Block Sequence Planned @begin @31 @end main main::@5 main::@6 main::@1 main::@3 main::@2 main::@8 main::@9 main::@return print_str print_str::@1 print_str::@return print_str::@2 print_sword print_sword::@2 print_sword::@4 print_sword::@1 print_sword::@return print_word print_word::@1 print_word::@return print_byte print_byte::@1 print_byte::@return print_char print_char::@return print_cls print_cls::@1 print_cls::@return sin16s_genb sin16s_genb::@3 sin16s_genb::@1 sin16s_genb::@4 sin16s_genb::@return sin16sb sin16sb::@4 sin16sb::@1 sin16sb::@5 sin16sb::@2 sin16sb::@8 sin16sb::@9 sin16sb::@10 sin16sb::@11 sin16sb::@12 sin16sb::@6 sin16sb::@3 sin16sb::@return sin16sb::@15 mulu16_sel mulu16_sel::@2 mulu16_sel::@return mul16u mul16u::@1 mul16u::@return mul16u::@2 mul16u::@7 mul16u::@4 div32u16u div32u16u::@2 div32u16u::@3 div32u16u::@return divr16u divr16u::@1 divr16u::@4 divr16u::@2 divr16u::@5 divr16u::@3 divr16u::@return sin16s_gen sin16s_gen::@3 sin16s_gen::@1 sin16s_gen::@4 sin16s_gen::@return sin16s sin16s::@4 sin16s::@1 sin16s::@5 sin16s::@2 sin16s::@8 sin16s::@9 sin16s::@10 sin16s::@11 sin16s::@12 sin16s::@6 sin16s::@3 sin16s::@return sin16s::@15 +Adding NOP phi() at start of @begin +Adding NOP phi() at start of @31 +Adding NOP phi() at start of @end +Adding NOP phi() at start of main +Adding NOP phi() at start of main::@5 +Adding NOP phi() at start of main::@6 +Adding NOP phi() at start of main::@3 +Adding NOP phi() at start of main::@8 +Adding NOP phi() at start of print_sword::@2 +Adding NOP phi() at start of print_cls +Adding NOP phi() at start of sin16s_genb +Adding NOP phi() at start of sin16s_gen +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... + +FINAL CONTROL FLOW GRAPH +@begin: scope:[] from + [0] phi() [ ] ( ) + to:@31 +@31: scope:[] from @begin + [1] phi() [ ] ( ) + [2] call main param-assignment [ ] ( ) + to:@end +@end: scope:[] from @31 + [3] phi() [ ] ( ) +main: scope:[main] from @31 + [4] phi() [ ] ( main:2 [ ] ) + [5] call sin16s_gen param-assignment [ divr16u::rem#11 ] ( main:2 [ divr16u::rem#11 ] ) + to:main::@5 +main::@5: scope:[main] from main + [6] phi() [ divr16u::rem#11 ] ( main:2 [ divr16u::rem#11 ] ) + [7] call sin16s_genb param-assignment [ ] ( main:2 [ ] ) + to:main::@6 +main::@6: scope:[main] from main::@5 + [8] phi() [ ] ( main:2 [ ] ) + [9] call print_cls param-assignment [ ] ( main:2 [ ] ) + to:main::@1 +main::@1: scope:[main] from main::@6 main::@9 + [10] (byte) main::i#2 ← phi( main::@6/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@9/(byte) main::i#1 ) [ main::st1#2 main::st2#2 char_cursor#49 main::i#2 ] ( main:2 [ main::st1#2 main::st2#2 char_cursor#49 main::i#2 ] ) + [10] (byte*) char_cursor#49 ← phi( main::@6/(const byte*) SCREEN#0 main::@9/(byte*) char_cursor#2 ) [ main::st1#2 main::st2#2 char_cursor#49 main::i#2 ] ( main:2 [ main::st1#2 main::st2#2 char_cursor#49 main::i#2 ] ) + [10] (signed word*) main::st2#2 ← phi( main::@6/(const signed word[120]) main::sintab2#0 main::@9/(signed word*) main::st2#1 ) [ main::st1#2 main::st2#2 char_cursor#49 main::i#2 ] ( main:2 [ main::st1#2 main::st2#2 char_cursor#49 main::i#2 ] ) + [10] (signed word*) main::st1#2 ← phi( main::@6/(const signed word[120]) main::sintab1#0 main::@9/(signed word*) main::st1#1 ) [ main::st1#2 main::st2#2 char_cursor#49 main::i#2 ] ( main:2 [ main::st1#2 main::st2#2 char_cursor#49 main::i#2 ] ) + [11] (signed word) main::sw#0 ← *((signed word*) main::st1#2) - *((signed word*) main::st2#2) [ main::st1#2 main::st2#2 char_cursor#49 main::i#2 main::sw#0 ] ( main:2 [ main::st1#2 main::st2#2 char_cursor#49 main::i#2 main::sw#0 ] ) + [12] if((signed word) main::sw#0<(byte/signed byte/word/signed word/dword/signed dword) 0) goto main::@2 [ main::st1#2 main::st2#2 char_cursor#49 main::i#2 main::sw#0 ] ( main:2 [ main::st1#2 main::st2#2 char_cursor#49 main::i#2 main::sw#0 ] ) + to:main::@3 +main::@3: scope:[main] from main::@1 + [13] phi() [ main::st1#2 main::st2#2 char_cursor#49 main::i#2 main::sw#0 ] ( main:2 [ main::st1#2 main::st2#2 char_cursor#49 main::i#2 main::sw#0 ] ) + [14] call print_str param-assignment [ main::st1#2 main::st2#2 main::i#2 char_cursor#2 main::sw#0 ] ( main:2 [ main::st1#2 main::st2#2 main::i#2 char_cursor#2 main::sw#0 ] ) + to:main::@2 +main::@2: scope:[main] from main::@1 main::@3 + [15] (byte*) char_cursor#48 ← phi( main::@1/(byte*) char_cursor#49 main::@3/(byte*) char_cursor#2 ) [ main::st1#2 main::st2#2 main::i#2 main::sw#0 char_cursor#48 ] ( main:2 [ main::st1#2 main::st2#2 main::i#2 main::sw#0 char_cursor#48 ] ) + [16] (signed word) print_sword::w#1 ← (signed word) main::sw#0 [ main::st1#2 main::st2#2 main::i#2 char_cursor#48 print_sword::w#1 ] ( main:2 [ main::st1#2 main::st2#2 main::i#2 char_cursor#48 print_sword::w#1 ] ) + [17] call print_sword param-assignment [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 ] ( main:2 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 ] ) + to:main::@8 +main::@8: scope:[main] from main::@2 + [18] phi() [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 ] ( main:2 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 ] ) + [19] call print_str param-assignment [ main::st1#2 main::st2#2 main::i#2 char_cursor#2 ] ( main:2 [ main::st1#2 main::st2#2 main::i#2 char_cursor#2 ] ) + to:main::@9 +main::@9: scope:[main] from main::@8 + [20] (signed word*) main::st1#1 ← (signed word*) main::st1#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ main::st2#2 main::i#2 main::st1#1 char_cursor#2 ] ( main:2 [ main::st2#2 main::i#2 main::st1#1 char_cursor#2 ] ) + [21] (signed word*) main::st2#1 ← (signed word*) main::st2#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ main::i#2 main::st1#1 main::st2#1 char_cursor#2 ] ( main:2 [ main::i#2 main::st1#1 main::st2#1 char_cursor#2 ] ) + [22] (byte) main::i#1 ← ++ (byte) main::i#2 [ main::st1#1 main::st2#1 char_cursor#2 main::i#1 ] ( main:2 [ main::st1#1 main::st2#1 char_cursor#2 main::i#1 ] ) + [23] if((byte) main::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 120) goto main::@1 [ main::st1#1 main::st2#1 char_cursor#2 main::i#1 ] ( main:2 [ main::st1#1 main::st2#1 char_cursor#2 main::i#1 ] ) + to:main::@return +main::@return: scope:[main] from main::@9 + [24] return [ ] ( main:2 [ ] ) + to:@return +print_str: scope:[print_str] from main::@3 main::@8 + [25] (byte*) char_cursor#51 ← phi( main::@3/(byte*) char_cursor#49 main::@8/(byte*) char_cursor#12 ) [ print_str::str#5 char_cursor#51 ] ( main:2::print_str:14 [ main::st1#2 main::st2#2 main::i#2 main::sw#0 print_str::str#5 char_cursor#51 ] main:2::print_str:19 [ main::st1#2 main::st2#2 main::i#2 print_str::str#5 char_cursor#51 ] ) + [25] (byte*) print_str::str#5 ← phi( main::@3/(const string) main::str1 main::@8/(const string) main::str ) [ print_str::str#5 char_cursor#51 ] ( main:2::print_str:14 [ main::st1#2 main::st2#2 main::i#2 main::sw#0 print_str::str#5 char_cursor#51 ] main:2::print_str:19 [ main::st1#2 main::st2#2 main::i#2 print_str::str#5 char_cursor#51 ] ) + to:print_str::@1 +print_str::@1: scope:[print_str] from print_str print_str::@2 + [26] (byte*) char_cursor#2 ← phi( print_str/(byte*) char_cursor#51 print_str::@2/(byte*) char_cursor#1 ) [ char_cursor#2 print_str::str#3 ] ( main:2::print_str:14 [ main::st1#2 main::st2#2 main::i#2 main::sw#0 char_cursor#2 print_str::str#3 ] main:2::print_str:19 [ main::st1#2 main::st2#2 main::i#2 char_cursor#2 print_str::str#3 ] ) + [26] (byte*) print_str::str#3 ← phi( print_str/(byte*) print_str::str#5 print_str::@2/(byte*) print_str::str#0 ) [ char_cursor#2 print_str::str#3 ] ( main:2::print_str:14 [ main::st1#2 main::st2#2 main::i#2 main::sw#0 char_cursor#2 print_str::str#3 ] main:2::print_str:19 [ main::st1#2 main::st2#2 main::i#2 char_cursor#2 print_str::str#3 ] ) + [27] if(*((byte*) print_str::str#3)!=(byte) '@') goto print_str::@2 [ char_cursor#2 print_str::str#3 ] ( main:2::print_str:14 [ main::st1#2 main::st2#2 main::i#2 main::sw#0 char_cursor#2 print_str::str#3 ] main:2::print_str:19 [ main::st1#2 main::st2#2 main::i#2 char_cursor#2 print_str::str#3 ] ) + to:print_str::@return +print_str::@return: scope:[print_str] from print_str::@1 + [28] return [ char_cursor#2 ] ( main:2::print_str:14 [ main::st1#2 main::st2#2 main::i#2 main::sw#0 char_cursor#2 ] main:2::print_str:19 [ main::st1#2 main::st2#2 main::i#2 char_cursor#2 ] ) + to:@return +print_str::@2: scope:[print_str] from print_str::@1 + [29] *((byte*) char_cursor#2) ← *((byte*) print_str::str#3) [ char_cursor#2 print_str::str#3 ] ( main:2::print_str:14 [ main::st1#2 main::st2#2 main::i#2 main::sw#0 char_cursor#2 print_str::str#3 ] main:2::print_str:19 [ main::st1#2 main::st2#2 main::i#2 char_cursor#2 print_str::str#3 ] ) + [30] (byte*) char_cursor#1 ← ++ (byte*) char_cursor#2 [ print_str::str#3 char_cursor#1 ] ( main:2::print_str:14 [ main::st1#2 main::st2#2 main::i#2 main::sw#0 print_str::str#3 char_cursor#1 ] main:2::print_str:19 [ main::st1#2 main::st2#2 main::i#2 print_str::str#3 char_cursor#1 ] ) + [31] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#3 [ print_str::str#0 char_cursor#1 ] ( main:2::print_str:14 [ main::st1#2 main::st2#2 main::i#2 main::sw#0 print_str::str#0 char_cursor#1 ] main:2::print_str:19 [ main::st1#2 main::st2#2 main::i#2 print_str::str#0 char_cursor#1 ] ) + to:print_str::@1 +print_sword: scope:[print_sword] from main::@2 + [32] if((signed word) print_sword::w#1>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto print_sword::@1 [ char_cursor#48 print_sword::w#1 ] ( main:2::print_sword:17 [ main::st1#2 main::st2#2 main::i#2 char_cursor#48 print_sword::w#1 ] ) + to:print_sword::@2 +print_sword::@2: scope:[print_sword] from print_sword + [33] phi() [ char_cursor#48 print_sword::w#1 ] ( main:2::print_sword:17 [ main::st1#2 main::st2#2 main::i#2 char_cursor#48 print_sword::w#1 ] ) + [34] call print_char param-assignment [ print_sword::w#1 char_cursor#12 ] ( main:2::print_sword:17 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#1 char_cursor#12 ] ) + to:print_sword::@4 +print_sword::@4: scope:[print_sword] from print_sword::@2 + [35] (signed word) print_sword::w#0 ← - (signed word) print_sword::w#1 [ char_cursor#12 print_sword::w#0 ] ( main:2::print_sword:17 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 print_sword::w#0 ] ) + to:print_sword::@1 +print_sword::@1: scope:[print_sword] from print_sword print_sword::@4 + [36] (byte*) char_cursor#43 ← phi( print_sword/(byte*) char_cursor#48 print_sword::@4/(byte*) char_cursor#12 ) [ print_sword::w#3 char_cursor#43 ] ( main:2::print_sword:17 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 char_cursor#43 ] ) + [36] (signed word) print_sword::w#3 ← phi( print_sword/(signed word) print_sword::w#1 print_sword::@4/(signed word) print_sword::w#0 ) [ print_sword::w#3 char_cursor#43 ] ( main:2::print_sword:17 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 char_cursor#43 ] ) + [37] call print_word param-assignment [ char_cursor#12 ] ( main:2::print_sword:17 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 ] ) + to:print_sword::@return +print_sword::@return: scope:[print_sword] from print_sword::@1 + [38] return [ char_cursor#12 ] ( main:2::print_sword:17 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 ] ) + to:@return +print_word: scope:[print_word] from print_sword::@1 + [39] (byte) print_byte::b#0 ← > (word)(signed word) print_sword::w#3 [ print_sword::w#3 char_cursor#43 print_byte::b#0 ] ( main:2::print_sword:17::print_word:37 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 char_cursor#43 print_byte::b#0 ] ) + [40] call print_byte param-assignment [ char_cursor#12 print_sword::w#3 ] ( main:2::print_sword:17::print_word:37 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 print_sword::w#3 ] ) + to:print_word::@1 +print_word::@1: scope:[print_word] from print_word + [41] (byte) print_byte::b#1 ← < (word)(signed word) print_sword::w#3 [ char_cursor#12 print_byte::b#1 ] ( main:2::print_sword:17::print_word:37 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 print_byte::b#1 ] ) + [42] call print_byte param-assignment [ char_cursor#12 ] ( main:2::print_sword:17::print_word:37 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 ] ) + to:print_word::@return +print_word::@return: scope:[print_word] from print_word::@1 + [43] return [ char_cursor#12 ] ( main:2::print_sword:17::print_word:37 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 ] ) + to:@return +print_byte: scope:[print_byte] from print_word print_word::@1 + [44] (byte*) char_cursor#46 ← phi( print_word/(byte*) char_cursor#43 print_word::@1/(byte*) char_cursor#12 ) [ print_byte::b#2 char_cursor#46 ] ( main:2::print_sword:17::print_word:37::print_byte:40 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 print_byte::b#2 char_cursor#46 ] main:2::print_sword:17::print_word:37::print_byte:42 [ main::st1#2 main::st2#2 main::i#2 print_byte::b#2 char_cursor#46 ] ) + [44] (byte) print_byte::b#2 ← phi( print_word/(byte) print_byte::b#0 print_word::@1/(byte) print_byte::b#1 ) [ print_byte::b#2 char_cursor#46 ] ( main:2::print_sword:17::print_word:37::print_byte:40 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 print_byte::b#2 char_cursor#46 ] main:2::print_sword:17::print_word:37::print_byte:42 [ main::st1#2 main::st2#2 main::i#2 print_byte::b#2 char_cursor#46 ] ) + [45] (byte~) print_byte::$0 ← (byte) print_byte::b#2 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ print_byte::b#2 char_cursor#46 print_byte::$0 ] ( main:2::print_sword:17::print_word:37::print_byte:40 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 print_byte::b#2 char_cursor#46 print_byte::$0 ] main:2::print_sword:17::print_word:37::print_byte:42 [ main::st1#2 main::st2#2 main::i#2 print_byte::b#2 char_cursor#46 print_byte::$0 ] ) + [46] (byte) print_char::ch#1 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$0) [ print_byte::b#2 char_cursor#46 print_char::ch#1 ] ( main:2::print_sword:17::print_word:37::print_byte:40 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 print_byte::b#2 char_cursor#46 print_char::ch#1 ] main:2::print_sword:17::print_word:37::print_byte:42 [ main::st1#2 main::st2#2 main::i#2 print_byte::b#2 char_cursor#46 print_char::ch#1 ] ) + [47] call print_char param-assignment [ char_cursor#12 print_byte::b#2 ] ( main:2::print_sword:17::print_word:37::print_byte:40 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 char_cursor#12 print_byte::b#2 ] main:2::print_sword:17::print_word:37::print_byte:42 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 print_byte::b#2 ] ) + to:print_byte::@1 +print_byte::@1: scope:[print_byte] from print_byte + [48] (byte~) print_byte::$2 ← (byte) print_byte::b#2 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ char_cursor#12 print_byte::$2 ] ( main:2::print_sword:17::print_word:37::print_byte:40 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 char_cursor#12 print_byte::$2 ] main:2::print_sword:17::print_word:37::print_byte:42 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 print_byte::$2 ] ) + [49] (byte) print_char::ch#2 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$2) [ char_cursor#12 print_char::ch#2 ] ( main:2::print_sword:17::print_word:37::print_byte:40 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 char_cursor#12 print_char::ch#2 ] main:2::print_sword:17::print_word:37::print_byte:42 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 print_char::ch#2 ] ) + [50] call print_char param-assignment [ char_cursor#12 ] ( main:2::print_sword:17::print_word:37::print_byte:40 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 char_cursor#12 ] main:2::print_sword:17::print_word:37::print_byte:42 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 ] ) + to:print_byte::@return +print_byte::@return: scope:[print_byte] from print_byte::@1 + [51] return [ char_cursor#12 ] ( main:2::print_sword:17::print_word:37::print_byte:40 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 char_cursor#12 ] main:2::print_sword:17::print_word:37::print_byte:42 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 ] ) + to:@return +print_char: scope:[print_char] from print_byte print_byte::@1 print_sword::@2 + [52] (byte*) char_cursor#33 ← phi( print_byte/(byte*) char_cursor#46 print_byte::@1/(byte*) char_cursor#12 print_sword::@2/(byte*) char_cursor#48 ) [ print_char::ch#3 char_cursor#33 ] ( main:2::print_sword:17::print_char:34 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#1 print_char::ch#3 char_cursor#33 ] main:2::print_sword:17::print_word:37::print_byte:40::print_char:47 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 print_byte::b#2 print_char::ch#3 char_cursor#33 ] main:2::print_sword:17::print_word:37::print_byte:42::print_char:47 [ main::st1#2 main::st2#2 main::i#2 print_byte::b#2 print_char::ch#3 char_cursor#33 ] main:2::print_sword:17::print_word:37::print_byte:40::print_char:50 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 print_char::ch#3 char_cursor#33 ] main:2::print_sword:17::print_word:37::print_byte:42::print_char:50 [ main::st1#2 main::st2#2 main::i#2 print_char::ch#3 char_cursor#33 ] ) + [52] (byte) print_char::ch#3 ← phi( print_byte/(byte) print_char::ch#1 print_byte::@1/(byte) print_char::ch#2 print_sword::@2/(byte) '-' ) [ print_char::ch#3 char_cursor#33 ] ( main:2::print_sword:17::print_char:34 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#1 print_char::ch#3 char_cursor#33 ] main:2::print_sword:17::print_word:37::print_byte:40::print_char:47 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 print_byte::b#2 print_char::ch#3 char_cursor#33 ] main:2::print_sword:17::print_word:37::print_byte:42::print_char:47 [ main::st1#2 main::st2#2 main::i#2 print_byte::b#2 print_char::ch#3 char_cursor#33 ] main:2::print_sword:17::print_word:37::print_byte:40::print_char:50 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 print_char::ch#3 char_cursor#33 ] main:2::print_sword:17::print_word:37::print_byte:42::print_char:50 [ main::st1#2 main::st2#2 main::i#2 print_char::ch#3 char_cursor#33 ] ) + [53] *((byte*) char_cursor#33) ← (byte) print_char::ch#3 [ char_cursor#33 ] ( main:2::print_sword:17::print_char:34 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#1 char_cursor#33 ] main:2::print_sword:17::print_word:37::print_byte:40::print_char:47 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 print_byte::b#2 char_cursor#33 ] main:2::print_sword:17::print_word:37::print_byte:42::print_char:47 [ main::st1#2 main::st2#2 main::i#2 print_byte::b#2 char_cursor#33 ] main:2::print_sword:17::print_word:37::print_byte:40::print_char:50 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 char_cursor#33 ] main:2::print_sword:17::print_word:37::print_byte:42::print_char:50 [ main::st1#2 main::st2#2 main::i#2 char_cursor#33 ] ) + [54] (byte*) char_cursor#12 ← ++ (byte*) char_cursor#33 [ char_cursor#12 ] ( main:2::print_sword:17::print_char:34 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#1 char_cursor#12 ] main:2::print_sword:17::print_word:37::print_byte:40::print_char:47 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 print_byte::b#2 char_cursor#12 ] main:2::print_sword:17::print_word:37::print_byte:42::print_char:47 [ main::st1#2 main::st2#2 main::i#2 print_byte::b#2 char_cursor#12 ] main:2::print_sword:17::print_word:37::print_byte:40::print_char:50 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 char_cursor#12 ] main:2::print_sword:17::print_word:37::print_byte:42::print_char:50 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 ] ) + to:print_char::@return +print_char::@return: scope:[print_char] from print_char + [55] return [ char_cursor#12 ] ( main:2::print_sword:17::print_char:34 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#1 char_cursor#12 ] main:2::print_sword:17::print_word:37::print_byte:40::print_char:47 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 print_byte::b#2 char_cursor#12 ] main:2::print_sword:17::print_word:37::print_byte:42::print_char:47 [ main::st1#2 main::st2#2 main::i#2 print_byte::b#2 char_cursor#12 ] main:2::print_sword:17::print_word:37::print_byte:40::print_char:50 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 char_cursor#12 ] main:2::print_sword:17::print_word:37::print_byte:42::print_char:50 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 ] ) + to:@return +print_cls: scope:[print_cls] from main::@6 + [56] phi() [ ] ( main:2::print_cls:9 [ ] ) + to:print_cls::@1 +print_cls::@1: scope:[print_cls] from print_cls print_cls::@1 + [57] (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 ] ) + [58] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:9 [ print_cls::sc#2 ] ) + [59] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::print_cls:9 [ print_cls::sc#1 ] ) + [60] 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 ] ) + to:print_cls::@return +print_cls::@return: scope:[print_cls] from print_cls::@1 + [61] return [ ] ( main:2::print_cls:9 [ ] ) + to:@return +sin16s_genb: scope:[sin16s_genb] from main::@5 + [62] phi() [ divr16u::rem#11 ] ( main:2::sin16s_genb:7 [ divr16u::rem#11 ] ) + [63] call div32u16u param-assignment [ div32u16u::return#0 ] ( main:2::sin16s_genb:7 [ div32u16u::return#0 ] ) + [64] (dword) div32u16u::return#3 ← (dword) div32u16u::return#0 [ div32u16u::return#3 ] ( main:2::sin16s_genb:7 [ div32u16u::return#3 ] ) + to:sin16s_genb::@3 +sin16s_genb::@3: scope:[sin16s_genb] from sin16s_genb + [65] (dword) sin16s_genb::step#0 ← (dword) div32u16u::return#3 [ sin16s_genb::step#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 ] ) + to:sin16s_genb::@1 +sin16s_genb::@1: scope:[sin16s_genb] from sin16s_genb::@3 sin16s_genb::@4 + [66] (word) sin16s_genb::i#2 ← phi( sin16s_genb::@3/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s_genb::@4/(word) sin16s_genb::i#1 ) [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 ] ) + [66] (signed word*) sin16s_genb::sintab#2 ← phi( sin16s_genb::@3/(const signed word[120]) main::sintab2#0 sin16s_genb::@4/(signed word*) sin16s_genb::sintab#0 ) [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 ] ) + [66] (dword) sin16s_genb::x#2 ← phi( sin16s_genb::@3/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s_genb::@4/(dword) sin16s_genb::x#1 ) [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 ] ) + [67] (word) sin16sb::x#0 ← > (dword) sin16s_genb::x#2 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#0 ] ) + [68] call sin16sb param-assignment [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#1 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#1 ] ) + [69] (signed word) sin16sb::return#0 ← (signed word) sin16sb::return#1 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#0 ] ) + to:sin16s_genb::@4 +sin16s_genb::@4: scope:[sin16s_genb] from sin16s_genb::@1 + [70] (signed word~) sin16s_genb::$2 ← (signed word) sin16sb::return#0 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16s_genb::$2 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16s_genb::$2 ] ) + [71] *((signed word*) sin16s_genb::sintab#2) ← (signed word~) sin16s_genb::$2 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 ] ) + [72] (signed word*) sin16s_genb::sintab#0 ← (signed word*) sin16s_genb::sintab#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::i#2 sin16s_genb::sintab#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::i#2 sin16s_genb::sintab#0 ] ) + [73] (dword) sin16s_genb::x#1 ← (dword) sin16s_genb::x#2 + (dword) sin16s_genb::step#0 [ sin16s_genb::step#0 sin16s_genb::i#2 sin16s_genb::x#1 sin16s_genb::sintab#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::i#2 sin16s_genb::x#1 sin16s_genb::sintab#0 ] ) + [74] (word) sin16s_genb::i#1 ← ++ (word) sin16s_genb::i#2 [ sin16s_genb::step#0 sin16s_genb::x#1 sin16s_genb::sintab#0 sin16s_genb::i#1 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#1 sin16s_genb::sintab#0 sin16s_genb::i#1 ] ) + [75] if((word) sin16s_genb::i#1<(const word) main::wavelength#0) goto sin16s_genb::@1 [ sin16s_genb::step#0 sin16s_genb::x#1 sin16s_genb::sintab#0 sin16s_genb::i#1 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#1 sin16s_genb::sintab#0 sin16s_genb::i#1 ] ) + to:sin16s_genb::@return +sin16s_genb::@return: scope:[sin16s_genb] from sin16s_genb::@4 + [76] return [ ] ( main:2::sin16s_genb:7 [ ] ) + to:@return +sin16sb: scope:[sin16sb] from sin16s_genb::@1 + [77] if((word) sin16sb::x#0<(const word) PI_u4f12#0) goto sin16sb::@1 [ sin16sb::x#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#0 ] ) + to:sin16sb::@4 +sin16sb::@4: scope:[sin16sb] from sin16sb + [78] (word) sin16sb::x#1 ← (word) sin16sb::x#0 - (const word) PI_u4f12#0 [ sin16sb::x#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#1 ] ) + to:sin16sb::@1 +sin16sb::@1: scope:[sin16sb] from sin16sb sin16sb::@4 + [79] (byte) sin16sb::isUpper#2 ← phi( sin16sb/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16sb::@4/(byte/signed byte/word/signed word/dword/signed dword) 1 ) [ sin16sb::x#4 sin16sb::isUpper#2 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#4 sin16sb::isUpper#2 ] ) + [79] (word) sin16sb::x#4 ← phi( sin16sb/(word) sin16sb::x#0 sin16sb::@4/(word) sin16sb::x#1 ) [ sin16sb::x#4 sin16sb::isUpper#2 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#4 sin16sb::isUpper#2 ] ) + [80] if((word) sin16sb::x#4<(const word) PI_HALF_u4f12#0) goto sin16sb::@2 [ sin16sb::x#4 sin16sb::isUpper#2 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#4 sin16sb::isUpper#2 ] ) + to:sin16sb::@5 +sin16sb::@5: scope:[sin16sb] from sin16sb::@1 + [81] (word) sin16sb::x#2 ← (const word) PI_u4f12#0 - (word) sin16sb::x#4 [ sin16sb::isUpper#2 sin16sb::x#2 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x#2 ] ) + to:sin16sb::@2 +sin16sb::@2: scope:[sin16sb] from sin16sb::@1 sin16sb::@5 + [82] (word) sin16sb::x#6 ← phi( sin16sb::@1/(word) sin16sb::x#4 sin16sb::@5/(word) sin16sb::x#2 ) [ sin16sb::isUpper#2 sin16sb::x#6 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x#6 ] ) + [83] (word) sin16sb::x1#0 ← (word) sin16sb::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin16sb::isUpper#2 sin16sb::x1#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 ] ) + [84] (word) mulu16_sel::v1#5 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#5 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#5 ] ) + [85] (word) mulu16_sel::v2#5 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#5 mulu16_sel::v2#5 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#5 mulu16_sel::v2#5 ] ) + [86] call mulu16_sel param-assignment [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] ) + [87] (word) mulu16_sel::return#18 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#18 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#18 ] ) + to:sin16sb::@8 +sin16sb::@8: scope:[sin16sb] from sin16sb::@2 + [88] (word) sin16sb::x2#0 ← (word) mulu16_sel::return#18 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x2#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x2#0 ] ) + [89] (word) mulu16_sel::v1#6 ← (word) sin16sb::x2#0 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#6 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#6 ] ) + [90] (word) mulu16_sel::v2#6 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#6 mulu16_sel::v2#6 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#6 mulu16_sel::v2#6 ] ) + [91] call mulu16_sel param-assignment [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] ) + [92] (word) mulu16_sel::return#19 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#19 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#19 ] ) + to:sin16sb::@9 +sin16sb::@9: scope:[sin16sb] from sin16sb::@8 + [93] (word) sin16sb::x3#0 ← (word) mulu16_sel::return#19 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 ] ) + [94] (word) mulu16_sel::v1#7 ← (word) sin16sb::x3#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v1#7 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v1#7 ] ) + [95] call mulu16_sel param-assignment [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 sin16sb::x3#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 sin16sb::x3#0 ] ) + [96] (word) mulu16_sel::return#20 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#20 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#20 ] ) + to:sin16sb::@10 +sin16sb::@10: scope:[sin16sb] from sin16sb::@9 + [97] (word) sin16sb::x3_6#0 ← (word) mulu16_sel::return#20 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 sin16sb::x3_6#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 sin16sb::x3_6#0 ] ) + [98] (word) sin16sb::usinx#0 ← (word) sin16sb::x1#0 - (word) sin16sb::x3_6#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 sin16sb::usinx#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 sin16sb::usinx#0 ] ) + [99] (word) mulu16_sel::v1#8 ← (word) sin16sb::x3#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#8 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#8 ] ) + [100] (word) mulu16_sel::v2#8 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#8 mulu16_sel::v2#8 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#8 mulu16_sel::v2#8 ] ) + [101] call mulu16_sel param-assignment [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 sin16sb::usinx#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 sin16sb::usinx#0 ] ) + [102] (word) mulu16_sel::return#10 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#10 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#10 ] ) + to:sin16sb::@11 +sin16sb::@11: scope:[sin16sb] from sin16sb::@10 + [103] (word) sin16sb::x4#0 ← (word) mulu16_sel::return#10 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 sin16sb::x4#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 sin16sb::x4#0 ] ) + [104] (word) mulu16_sel::v1#9 ← (word) sin16sb::x4#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#9 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#9 ] ) + [105] (word) mulu16_sel::v2#9 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v1#9 mulu16_sel::v2#9 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v1#9 mulu16_sel::v2#9 ] ) + [106] call mulu16_sel param-assignment [ sin16sb::isUpper#2 mulu16_sel::return#17 sin16sb::usinx#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 mulu16_sel::return#17 sin16sb::usinx#0 ] ) + [107] (word) mulu16_sel::return#11 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#11 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#11 ] ) + to:sin16sb::@12 +sin16sb::@12: scope:[sin16sb] from sin16sb::@11 + [108] (word) sin16sb::x5#0 ← (word) mulu16_sel::return#11 [ sin16sb::isUpper#2 sin16sb::usinx#0 sin16sb::x5#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 sin16sb::x5#0 ] ) + [109] (word) sin16sb::x5_128#0 ← (word) sin16sb::x5#0 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ sin16sb::isUpper#2 sin16sb::usinx#0 sin16sb::x5_128#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 sin16sb::x5_128#0 ] ) + [110] (word) sin16sb::usinx#1 ← (word) sin16sb::usinx#0 + (word) sin16sb::x5_128#0 [ sin16sb::isUpper#2 sin16sb::usinx#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#1 ] ) + [111] if((byte) sin16sb::isUpper#2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin16sb::@15 [ sin16sb::usinx#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::usinx#1 ] ) + to:sin16sb::@6 +sin16sb::@6: scope:[sin16sb] from sin16sb::@12 + [112] (signed word) sin16sb::sinx#1 ← - (signed word)(word) sin16sb::usinx#1 [ sin16sb::sinx#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::sinx#1 ] ) + to:sin16sb::@3 +sin16sb::@3: scope:[sin16sb] from sin16sb::@15 sin16sb::@6 + [113] (signed word) sin16sb::return#1 ← phi( sin16sb::@15/(signed word~) sin16sb::return#5 sin16sb::@6/(signed word) sin16sb::sinx#1 ) [ sin16sb::return#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#1 ] ) + to:sin16sb::@return +sin16sb::@return: scope:[sin16sb] from sin16sb::@3 + [114] return [ sin16sb::return#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#1 ] ) + to:@return +sin16sb::@15: scope:[sin16sb] from sin16sb::@12 + [115] (signed word~) sin16sb::return#5 ← (signed word)(word) sin16sb::usinx#1 [ sin16sb::return#5 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#5 ] ) + to:sin16sb::@3 +mulu16_sel: scope:[mulu16_sel] from sin16s::@10 sin16s::@11 sin16s::@2 sin16s::@8 sin16s::@9 sin16sb::@10 sin16sb::@11 sin16sb::@2 sin16sb::@8 sin16sb::@9 + [116] (byte) mulu16_sel::select#10 ← phi( sin16s::@10/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s::@11/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s::@2/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s::@8/(byte/signed byte/word/signed word/dword/signed dword) 1 sin16s::@9/(byte/signed byte/word/signed word/dword/signed dword) 1 sin16sb::@10/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16sb::@11/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16sb::@2/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16sb::@8/(byte/signed byte/word/signed word/dword/signed dword) 1 sin16sb::@9/(byte/signed byte/word/signed word/dword/signed dword) 1 ) [ mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] ) + [116] (word) mulu16_sel::v2#10 ← phi( sin16s::@10/(word) mulu16_sel::v2#3 sin16s::@11/(word) mulu16_sel::v2#4 sin16s::@2/(word) mulu16_sel::v2#0 sin16s::@8/(word) mulu16_sel::v2#1 sin16s::@9/(dword/signed dword) 65536/(byte/signed byte/word/signed word/dword/signed dword) 6 sin16sb::@10/(word) mulu16_sel::v2#8 sin16sb::@11/(word) mulu16_sel::v2#9 sin16sb::@2/(word) mulu16_sel::v2#5 sin16sb::@8/(word) mulu16_sel::v2#6 sin16sb::@9/(dword/signed dword) 65536/(byte/signed byte/word/signed word/dword/signed dword) 6 ) [ mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] ) + [116] (word) mulu16_sel::v1#10 ← phi( sin16s::@10/(word) mulu16_sel::v1#3 sin16s::@11/(word) mulu16_sel::v1#4 sin16s::@2/(word) mulu16_sel::v1#0 sin16s::@8/(word) mulu16_sel::v1#1 sin16s::@9/(word) mulu16_sel::v1#2 sin16sb::@10/(word) mulu16_sel::v1#8 sin16sb::@11/(word) mulu16_sel::v1#9 sin16sb::@2/(word) mulu16_sel::v1#5 sin16sb::@8/(word) mulu16_sel::v1#6 sin16sb::@9/(word) mulu16_sel::v1#7 ) [ mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::v1#10 mulu16_sel::v2#10 mulu16_sel::select#10 ] ) + [117] (word) mul16u::a#1 ← (word) mulu16_sel::v1#10 [ mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] ) + [118] (word) mul16u::b#0 ← (word) mulu16_sel::v2#10 [ mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] ) + [119] call mul16u param-assignment [ mulu16_sel::select#10 mul16u::res#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] ) + [120] (dword) mul16u::return#2 ← (dword) mul16u::res#2 [ mulu16_sel::select#10 mul16u::return#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] ) + to:mulu16_sel::@2 +mulu16_sel::@2: scope:[mulu16_sel] from mulu16_sel + [121] (dword~) mulu16_sel::$0 ← (dword) mul16u::return#2 [ mulu16_sel::select#10 mulu16_sel::$0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] ) + [122] (dword~) mulu16_sel::$1 ← (dword~) mulu16_sel::$0 << (byte) mulu16_sel::select#10 [ mulu16_sel::$1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::$1 ] ) + [123] (word) mulu16_sel::return#17 ← > (dword~) mulu16_sel::$1 [ mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#17 ] ) + to:mulu16_sel::@return +mulu16_sel::@return: scope:[mulu16_sel] from mulu16_sel::@2 + [124] return [ mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#17 ] ) + to:@return +mul16u: scope:[mul16u] from mulu16_sel + [125] (dword) mul16u::mb#0 ← ((dword)) (word) mul16u::b#0 [ mul16u::a#1 mul16u::mb#0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] ) + to:mul16u::@1 +mul16u::@1: scope:[mul16u] from mul16u mul16u::@4 + [126] (dword) mul16u::mb#2 ← phi( mul16u/(dword) mul16u::mb#0 mul16u::@4/(dword) mul16u::mb#1 ) [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ) + [126] (dword) mul16u::res#2 ← phi( mul16u/(byte/signed byte/word/signed word/dword/signed dword) 0 mul16u::@4/(dword) mul16u::res#6 ) [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ) + [126] (word) mul16u::a#2 ← phi( mul16u/(word) mul16u::a#1 mul16u::@4/(word) mul16u::a#0 ) [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ) + [127] if((word) mul16u::a#2!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul16u::@2 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ) + to:mul16u::@return +mul16u::@return: scope:[mul16u] from mul16u::@1 + [128] return [ mul16u::res#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] ) + to:@return +mul16u::@2: scope:[mul16u] from mul16u::@1 + [129] (byte~) mul16u::$1 ← (word) mul16u::a#2 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] ) + [130] if((byte~) mul16u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul16u::@4 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ) + to:mul16u::@7 +mul16u::@7: scope:[mul16u] from mul16u::@2 + [131] (dword) mul16u::res#1 ← (dword) mul16u::res#2 + (dword) mul16u::mb#2 [ mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] ) + to:mul16u::@4 +mul16u::@4: scope:[mul16u] from mul16u::@2 mul16u::@7 + [132] (dword) mul16u::res#6 ← phi( mul16u::@2/(dword) mul16u::res#2 mul16u::@7/(dword) mul16u::res#1 ) [ mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] ) + [133] (word) mul16u::a#0 ← (word) mul16u::a#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] ) + [134] (dword) mul16u::mb#1 ← (dword) mul16u::mb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] ) + to:mul16u::@1 +div32u16u: scope:[div32u16u] from sin16s_gen sin16s_genb + [135] (word) rem16u#26 ← phi( sin16s_gen/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s_genb/(word) divr16u::rem#11 ) [ div32u16u::dividend#2 div32u16u::divisor#2 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::dividend#2 div32u16u::divisor#2 ] ) + [135] (word) div32u16u::divisor#2 ← phi( sin16s_gen/(const word) main::wavelength#0 sin16s_genb/(const word) main::wavelength#0 ) [ div32u16u::dividend#2 div32u16u::divisor#2 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::dividend#2 div32u16u::divisor#2 ] ) + [135] (dword) div32u16u::dividend#2 ← phi( sin16s_gen/(const dword) PI2_u4f28#0 sin16s_genb/(const dword) PI2_u4f28#0 ) [ div32u16u::dividend#2 div32u16u::divisor#2 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::dividend#2 div32u16u::divisor#2 ] ) + [136] (word) divr16u::dividend#1 ← > (dword) div32u16u::dividend#2 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 ] ) + [137] (word) divr16u::divisor#0 ← (word) div32u16u::divisor#2 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 divr16u::divisor#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 divr16u::divisor#0 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 divr16u::divisor#0 ] ) + [138] call divr16u param-assignment [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#0 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#0 ] ) + [139] (word) divr16u::return#2 ← (word) divr16u::return#0 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#2 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#2 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#2 ] ) + to:div32u16u::@2 +div32u16u::@2: scope:[div32u16u] from div32u16u + [140] (word) div32u16u::quotient_hi#0 ← (word) divr16u::return#2 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 div32u16u::quotient_hi#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 div32u16u::quotient_hi#0 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 div32u16u::quotient_hi#0 ] ) + [141] (word) divr16u::dividend#2 ← < (dword) div32u16u::dividend#2 [ div32u16u::divisor#2 divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::dividend#2 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::divisor#2 divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::dividend#2 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::divisor#2 divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::dividend#2 ] ) + [142] (word) divr16u::divisor#1 ← (word) div32u16u::divisor#2 [ divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 ] main:2::sin16s_gen:5::div32u16u:167 [ divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 ] ) + [143] (word) divr16u::rem#4 ← (word) divr16u::rem#11 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 divr16u::rem#4 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 divr16u::rem#4 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 divr16u::rem#4 ] ) + [144] call divr16u param-assignment [ divr16u::rem#11 divr16u::return#0 div32u16u::quotient_hi#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ divr16u::rem#11 divr16u::return#0 div32u16u::quotient_hi#0 ] main:2::sin16s_gen:5::div32u16u:167 [ divr16u::rem#11 divr16u::return#0 div32u16u::quotient_hi#0 ] ) + [145] (word) divr16u::return#3 ← (word) divr16u::return#0 [ divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::return#3 ] ( main:2::sin16s_genb:7::div32u16u:63 [ divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::return#3 ] main:2::sin16s_gen:5::div32u16u:167 [ divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::return#3 ] ) + to:div32u16u::@3 +div32u16u::@3: scope:[div32u16u] from div32u16u::@2 + [146] (word) div32u16u::quotient_lo#0 ← (word) divr16u::return#3 [ divr16u::rem#11 div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ divr16u::rem#11 div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] main:2::sin16s_gen:5::div32u16u:167 [ divr16u::rem#11 div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ) + [147] (dword) div32u16u::return#0 ← (word) div32u16u::quotient_hi#0 dw= (word) div32u16u::quotient_lo#0 [ div32u16u::return#0 divr16u::rem#11 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::return#0 divr16u::rem#11 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::return#0 divr16u::rem#11 ] ) + to:div32u16u::@return +div32u16u::@return: scope:[div32u16u] from div32u16u::@3 + [148] return [ div32u16u::return#0 divr16u::rem#11 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::return#0 divr16u::rem#11 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::return#0 divr16u::rem#11 ] ) + to:@return +divr16u: scope:[divr16u] from div32u16u div32u16u::@2 + [149] (word) divr16u::divisor#6 ← phi( div32u16u/(word) divr16u::divisor#0 div32u16u::@2/(word) divr16u::divisor#1 ) [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ) + [149] (word) divr16u::dividend#5 ← phi( div32u16u/(word) divr16u::dividend#1 div32u16u::@2/(word) divr16u::dividend#2 ) [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ) + [149] (word) divr16u::rem#10 ← phi( div32u16u/(byte/signed byte/word/signed word/dword/signed dword) 0 div32u16u::@2/(word) divr16u::rem#4 ) [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ) + to:divr16u::@1 +divr16u::@1: scope:[divr16u] from divr16u divr16u::@3 + [150] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ) + [150] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ) + [150] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ) + [150] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ) + [151] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) + [152] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) + [153] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) + [154] 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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#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 + [155] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#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 + [156] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] ) + [157] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ) + [158] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) + [159] 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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#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 + [160] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] ) + [161] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#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 + [162] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 ] ) + [162] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 ] ) + [163] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] ) + [164] 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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#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 + [165] return [ divr16u::rem#11 divr16u::return#0 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#0 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#0 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#11 divr16u::return#0 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#11 divr16u::return#0 ] ) + to:@return +sin16s_gen: scope:[sin16s_gen] from main + [166] phi() [ ] ( main:2::sin16s_gen:5 [ ] ) + [167] call div32u16u param-assignment [ div32u16u::return#0 divr16u::rem#11 ] ( main:2::sin16s_gen:5 [ div32u16u::return#0 divr16u::rem#11 ] ) + [168] (dword) div32u16u::return#2 ← (dword) div32u16u::return#0 [ divr16u::rem#11 div32u16u::return#2 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 div32u16u::return#2 ] ) + to:sin16s_gen::@3 +sin16s_gen::@3: scope:[sin16s_gen] from sin16s_gen + [169] (dword) sin16s_gen::step#0 ← (dword) div32u16u::return#2 [ divr16u::rem#11 sin16s_gen::step#0 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 ] ) + to:sin16s_gen::@1 +sin16s_gen::@1: scope:[sin16s_gen] from sin16s_gen::@3 sin16s_gen::@4 + [170] (word) sin16s_gen::i#2 ← phi( sin16s_gen::@3/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s_gen::@4/(word) sin16s_gen::i#1 ) [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ) + [170] (signed word*) sin16s_gen::sintab#2 ← phi( sin16s_gen::@3/(const signed word[120]) main::sintab1#0 sin16s_gen::@4/(signed word*) sin16s_gen::sintab#0 ) [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ) + [170] (dword) sin16s_gen::x#2 ← phi( sin16s_gen::@3/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s_gen::@4/(dword) sin16s_gen::x#1 ) [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ) + [171] (dword) sin16s::x#0 ← (dword) sin16s_gen::x#2 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ) + [172] call sin16s param-assignment [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#1 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#1 ] ) + [173] (signed word) sin16s::return#0 ← (signed word) sin16s::return#1 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#0 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#0 ] ) + to:sin16s_gen::@4 +sin16s_gen::@4: scope:[sin16s_gen] from sin16s_gen::@1 + [174] (signed word~) sin16s_gen::$1 ← (signed word) sin16s::return#0 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s_gen::$1 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s_gen::$1 ] ) + [175] *((signed word*) sin16s_gen::sintab#2) ← (signed word~) sin16s_gen::$1 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ) + [176] (signed word*) sin16s_gen::sintab#0 ← (signed word*) sin16s_gen::sintab#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::i#2 sin16s_gen::sintab#0 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::i#2 sin16s_gen::sintab#0 ] ) + [177] (dword) sin16s_gen::x#1 ← (dword) sin16s_gen::x#2 + (dword) sin16s_gen::step#0 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::i#2 sin16s_gen::x#1 sin16s_gen::sintab#0 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::i#2 sin16s_gen::x#1 sin16s_gen::sintab#0 ] ) + [178] (word) sin16s_gen::i#1 ← ++ (word) sin16s_gen::i#2 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ) + [179] if((word) sin16s_gen::i#1<(const word) main::wavelength#0) goto sin16s_gen::@1 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ) + to:sin16s_gen::@return +sin16s_gen::@return: scope:[sin16s_gen] from sin16s_gen::@4 + [180] return [ divr16u::rem#11 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 ] ) + to:@return +sin16s: scope:[sin16s] from sin16s_gen::@1 + [181] if((dword) sin16s::x#0<(const dword) PI_u4f28#0) goto sin16s::@1 [ sin16s::x#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ) + to:sin16s::@4 +sin16s::@4: scope:[sin16s] from sin16s + [182] (dword) sin16s::x#1 ← (dword) sin16s::x#0 - (const dword) PI_u4f28#0 [ sin16s::x#1 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#1 ] ) + to:sin16s::@1 +sin16s::@1: scope:[sin16s] from sin16s sin16s::@4 + [183] (byte) sin16s::isUpper#2 ← phi( sin16s/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s::@4/(byte/signed byte/word/signed word/dword/signed dword) 1 ) [ sin16s::x#4 sin16s::isUpper#2 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#4 sin16s::isUpper#2 ] ) + [183] (dword) sin16s::x#4 ← phi( sin16s/(dword) sin16s::x#0 sin16s::@4/(dword) sin16s::x#1 ) [ sin16s::x#4 sin16s::isUpper#2 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#4 sin16s::isUpper#2 ] ) + [184] if((dword) sin16s::x#4<(const dword) PI_HALF_u4f28#0) goto sin16s::@2 [ sin16s::x#4 sin16s::isUpper#2 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#4 sin16s::isUpper#2 ] ) + to:sin16s::@5 +sin16s::@5: scope:[sin16s] from sin16s::@1 + [185] (dword) sin16s::x#2 ← (const dword) PI_u4f28#0 - (dword) sin16s::x#4 [ sin16s::isUpper#2 sin16s::x#2 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x#2 ] ) + to:sin16s::@2 +sin16s::@2: scope:[sin16s] from sin16s::@1 sin16s::@5 + [186] (dword) sin16s::x#6 ← phi( sin16s::@1/(dword) sin16s::x#4 sin16s::@5/(dword) sin16s::x#2 ) [ sin16s::isUpper#2 sin16s::x#6 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x#6 ] ) + [187] (dword~) sin16s::$6 ← (dword) sin16s::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin16s::isUpper#2 sin16s::$6 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::$6 ] ) + [188] (word) sin16s::x1#0 ← > (dword~) sin16s::$6 [ sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 ] ) + [189] (word) mulu16_sel::v1#0 ← (word) sin16s::x1#0 [ mulu16_sel::v1#0 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#0 sin16s::isUpper#2 sin16s::x1#0 ] ) + [190] (word) mulu16_sel::v2#0 ← (word) sin16s::x1#0 [ mulu16_sel::v1#0 mulu16_sel::v2#0 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#0 mulu16_sel::v2#0 sin16s::isUpper#2 sin16s::x1#0 ] ) + [191] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ) + [192] (word) mulu16_sel::return#0 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#0 ] ) + to:sin16s::@8 +sin16s::@8: scope:[sin16s] from sin16s::@2 + [193] (word) sin16s::x2#0 ← (word) mulu16_sel::return#0 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x2#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x2#0 ] ) + [194] (word) mulu16_sel::v1#1 ← (word) sin16s::x2#0 [ mulu16_sel::v1#1 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#1 sin16s::isUpper#2 sin16s::x1#0 ] ) + [195] (word) mulu16_sel::v2#1 ← (word) sin16s::x1#0 [ mulu16_sel::v1#1 mulu16_sel::v2#1 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#1 mulu16_sel::v2#1 sin16s::isUpper#2 sin16s::x1#0 ] ) + [196] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ) + [197] (word) mulu16_sel::return#1 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#1 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#1 ] ) + to:sin16s::@9 +sin16s::@9: scope:[sin16s] from sin16s::@8 + [198] (word) sin16s::x3#0 ← (word) mulu16_sel::return#1 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) + [199] (word) mulu16_sel::v1#2 ← (word) sin16s::x3#0 [ mulu16_sel::v1#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) + [200] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) + [201] (word) mulu16_sel::return#14 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#14 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#14 ] ) + to:sin16s::@10 +sin16s::@10: scope:[sin16s] from sin16s::@9 + [202] (word) sin16s::x3_6#0 ← (word) mulu16_sel::return#14 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::x3_6#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::x3_6#0 ] ) + [203] (word) sin16s::usinx#0 ← (word) sin16s::x1#0 - (word) sin16s::x3_6#0 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::usinx#0 ] ) + [204] (word) mulu16_sel::v1#3 ← (word) sin16s::x3#0 [ mulu16_sel::v1#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) + [205] (word) mulu16_sel::v2#3 ← (word) sin16s::x1#0 [ mulu16_sel::v1#3 mulu16_sel::v2#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#3 mulu16_sel::v2#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) + [206] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) + [207] (word) mulu16_sel::return#15 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#15 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#15 ] ) + to:sin16s::@11 +sin16s::@11: scope:[sin16s] from sin16s::@10 + [208] (word) sin16s::x4#0 ← (word) mulu16_sel::return#15 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 sin16s::x4#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 sin16s::x4#0 ] ) + [209] (word) mulu16_sel::v1#4 ← (word) sin16s::x4#0 [ mulu16_sel::v1#4 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#4 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) + [210] (word) mulu16_sel::v2#4 ← (word) sin16s::x1#0 [ mulu16_sel::v1#4 mulu16_sel::v2#4 sin16s::isUpper#2 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#4 mulu16_sel::v2#4 sin16s::isUpper#2 sin16s::usinx#0 ] ) + [211] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::usinx#0 ] ) + [212] (word) mulu16_sel::return#16 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#16 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#16 ] ) + to:sin16s::@12 +sin16s::@12: scope:[sin16s] from sin16s::@11 + [213] (word) sin16s::x5#0 ← (word) mulu16_sel::return#16 [ sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5#0 ] ) + [214] (word) sin16s::x5_128#0 ← (word) sin16s::x5#0 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5_128#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5_128#0 ] ) + [215] (word) sin16s::usinx#1 ← (word) sin16s::usinx#0 + (word) sin16s::x5_128#0 [ sin16s::isUpper#2 sin16s::usinx#1 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#1 ] ) + [216] if((byte) sin16s::isUpper#2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin16s::@15 [ sin16s::usinx#1 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::usinx#1 ] ) + to:sin16s::@6 +sin16s::@6: scope:[sin16s] from sin16s::@12 + [217] (signed word) sin16s::sinx#1 ← - (signed word)(word) sin16s::usinx#1 [ sin16s::sinx#1 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::sinx#1 ] ) + to:sin16s::@3 +sin16s::@3: scope:[sin16s] from sin16s::@15 sin16s::@6 + [218] (signed word) sin16s::return#1 ← phi( sin16s::@15/(signed word~) sin16s::return#5 sin16s::@6/(signed word) sin16s::sinx#1 ) [ sin16s::return#1 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#1 ] ) + to:sin16s::@return +sin16s::@return: scope:[sin16s] from sin16s::@3 + [219] return [ sin16s::return#1 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#1 ] ) + to:@return +sin16s::@15: scope:[sin16s] from sin16s::@12 + [220] (signed word~) sin16s::return#5 ← (signed word)(word) sin16s::usinx#1 [ sin16s::return#5 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#5 ] ) + to:sin16s::@3 + +DOMINATORS +@begin dominated by @begin +@31 dominated by @31 @begin +@end dominated by @end @31 @begin +main dominated by main @31 @begin +main::@5 dominated by main main::@5 @31 @begin +main::@6 dominated by main main::@5 main::@6 @31 @begin +main::@1 dominated by main main::@1 main::@5 main::@6 @31 @begin +main::@3 dominated by main main::@1 main::@5 main::@6 @31 main::@3 @begin +main::@2 dominated by main main::@1 main::@2 main::@5 main::@6 @31 @begin +main::@8 dominated by main::@8 main main::@1 main::@2 main::@5 main::@6 @31 @begin +main::@9 dominated by main::@9 main::@8 main main::@1 main::@2 main::@5 main::@6 @31 @begin +main::@return dominated by main::@9 main::@8 main main::@1 main::@2 main::@5 main::@6 @31 @begin main::@return +print_str dominated by main main::@1 main::@5 main::@6 @31 @begin print_str +print_str::@1 dominated by main main::@1 main::@5 main::@6 @31 @begin print_str::@1 print_str +print_str::@return dominated by main main::@1 main::@5 main::@6 @31 @begin print_str::@return print_str::@1 print_str +print_str::@2 dominated by main main::@1 main::@5 main::@6 @31 @begin print_str::@1 print_str::@2 print_str +print_sword dominated by main main::@1 main::@2 main::@5 main::@6 @31 @begin print_sword +print_sword::@2 dominated by print_sword::@2 main main::@1 main::@2 main::@5 main::@6 @31 @begin print_sword +print_sword::@4 dominated by print_sword::@2 print_sword::@4 main main::@1 main::@2 main::@5 main::@6 @31 @begin print_sword +print_sword::@1 dominated by print_sword::@1 main main::@1 main::@2 main::@5 main::@6 @31 @begin print_sword +print_sword::@return dominated by print_sword::@1 main main::@1 main::@2 main::@5 main::@6 @31 @begin print_sword::@return print_sword +print_word dominated by print_sword::@1 main print_word main::@1 main::@2 main::@5 main::@6 @31 @begin print_sword +print_word::@1 dominated by print_sword::@1 main print_word main::@1 main::@2 main::@5 main::@6 @31 @begin print_word::@1 print_sword +print_word::@return dominated by print_sword::@1 main print_word main::@1 main::@2 main::@5 main::@6 @31 @begin print_word::@return print_word::@1 print_sword +print_byte dominated by print_sword::@1 main print_word main::@1 main::@2 main::@5 main::@6 @31 @begin print_byte print_sword +print_byte::@1 dominated by print_sword::@1 main print_word main::@1 main::@2 main::@5 main::@6 @31 @begin print_byte::@1 print_byte print_sword +print_byte::@return dominated by print_sword::@1 main print_word main::@1 main::@2 main::@5 main::@6 @31 @begin print_byte::@return print_byte::@1 print_byte print_sword +print_char dominated by main print_char main::@1 main::@2 main::@5 main::@6 @31 @begin print_sword +print_char::@return dominated by main print_char main::@1 main::@2 main::@5 main::@6 @31 print_char::@return @begin print_sword +print_cls dominated by main main::@5 main::@6 @31 @begin print_cls +print_cls::@1 dominated by main main::@5 main::@6 @31 @begin print_cls::@1 print_cls +print_cls::@return dominated by main main::@5 main::@6 @31 @begin print_cls::@return print_cls::@1 print_cls +sin16s_genb dominated by main sin16s_genb main::@5 @31 @begin +sin16s_genb::@3 dominated by main sin16s_genb main::@5 @31 @begin sin16s_genb::@3 +sin16s_genb::@1 dominated by main sin16s_genb main::@5 @31 @begin sin16s_genb::@3 sin16s_genb::@1 +sin16s_genb::@4 dominated by main sin16s_genb main::@5 @31 @begin sin16s_genb::@3 sin16s_genb::@4 sin16s_genb::@1 +sin16s_genb::@return dominated by sin16s_genb::@return main sin16s_genb main::@5 @31 @begin sin16s_genb::@3 sin16s_genb::@4 sin16s_genb::@1 +sin16sb dominated by main sin16s_genb main::@5 @31 @begin sin16sb sin16s_genb::@3 sin16s_genb::@1 +sin16sb::@4 dominated by main sin16s_genb main::@5 @31 @begin sin16sb sin16s_genb::@3 sin16s_genb::@1 sin16sb::@4 +sin16sb::@1 dominated by main sin16s_genb sin16sb::@1 main::@5 @31 @begin sin16sb sin16s_genb::@3 sin16s_genb::@1 +sin16sb::@5 dominated by main sin16s_genb sin16sb::@1 main::@5 @31 @begin sin16sb sin16s_genb::@3 sin16s_genb::@1 sin16sb::@5 +sin16sb::@2 dominated by main sin16s_genb sin16sb::@2 sin16sb::@1 main::@5 @31 @begin sin16sb sin16s_genb::@3 sin16s_genb::@1 +sin16sb::@8 dominated by main sin16s_genb sin16sb::@2 sin16sb::@1 main::@5 @31 @begin sin16sb sin16s_genb::@3 sin16s_genb::@1 sin16sb::@8 +sin16sb::@9 dominated by main sin16s_genb sin16sb::@2 sin16sb::@1 main::@5 @31 @begin sin16sb sin16s_genb::@3 sin16s_genb::@1 sin16sb::@9 sin16sb::@8 +sin16sb::@10 dominated by main sin16s_genb sin16sb::@2 sin16sb::@1 main::@5 @31 @begin sin16sb::@10 sin16sb sin16s_genb::@3 sin16s_genb::@1 sin16sb::@9 sin16sb::@8 +sin16sb::@11 dominated by main sin16s_genb sin16sb::@2 sin16sb::@1 main::@5 @31 sin16sb::@11 @begin sin16sb::@10 sin16sb sin16s_genb::@3 sin16s_genb::@1 sin16sb::@9 sin16sb::@8 +sin16sb::@12 dominated by main sin16s_genb sin16sb::@2 sin16sb::@1 main::@5 @31 sin16sb::@11 @begin sin16sb::@12 sin16sb::@10 sin16sb sin16s_genb::@3 sin16s_genb::@1 sin16sb::@9 sin16sb::@8 +sin16sb::@6 dominated by main sin16s_genb sin16sb::@2 sin16sb::@1 main::@5 @31 sin16sb::@11 @begin sin16sb::@12 sin16sb::@10 sin16sb sin16s_genb::@3 sin16s_genb::@1 sin16sb::@6 sin16sb::@9 sin16sb::@8 +sin16sb::@3 dominated by main sin16s_genb sin16sb::@3 sin16sb::@2 sin16sb::@1 main::@5 @31 sin16sb::@11 @begin sin16sb::@12 sin16sb::@10 sin16sb sin16s_genb::@3 sin16s_genb::@1 sin16sb::@9 sin16sb::@8 +sin16sb::@return dominated by main sin16s_genb sin16sb::@3 sin16sb::@2 sin16sb::@1 main::@5 @31 sin16sb::@11 @begin sin16sb::@12 sin16sb::@10 sin16sb sin16sb::@return sin16s_genb::@3 sin16s_genb::@1 sin16sb::@9 sin16sb::@8 +sin16sb::@15 dominated by main sin16s_genb sin16sb::@2 sin16sb::@1 main::@5 @31 sin16sb::@11 @begin sin16sb::@12 sin16sb::@10 sin16sb::@15 sin16sb sin16s_genb::@3 sin16s_genb::@1 sin16sb::@9 sin16sb::@8 +mulu16_sel dominated by main @31 @begin mulu16_sel +mulu16_sel::@2 dominated by main @31 @begin mulu16_sel mulu16_sel::@2 +mulu16_sel::@return dominated by main @31 @begin mulu16_sel mulu16_sel::@return mulu16_sel::@2 +mul16u dominated by main mul16u @31 @begin mulu16_sel +mul16u::@1 dominated by main mul16u mul16u::@1 @31 @begin mulu16_sel +mul16u::@return dominated by main mul16u mul16u::@1 @31 @begin mulu16_sel mul16u::@return +mul16u::@2 dominated by main mul16u mul16u::@1 mul16u::@2 @31 @begin mulu16_sel +mul16u::@7 dominated by main mul16u mul16u::@1 mul16u::@2 @31 @begin mul16u::@7 mulu16_sel +mul16u::@4 dominated by main mul16u mul16u::@1 mul16u::@2 @31 @begin mul16u::@4 mulu16_sel +div32u16u dominated by main @31 @begin div32u16u +div32u16u::@2 dominated by main div32u16u::@2 @31 @begin div32u16u +div32u16u::@3 dominated by main div32u16u::@2 @31 div32u16u::@3 @begin div32u16u +div32u16u::@return dominated by main div32u16u::@2 @31 div32u16u::@3 @begin div32u16u div32u16u::@return +divr16u dominated by divr16u main @31 @begin div32u16u +divr16u::@1 dominated by divr16u divr16u::@1 main @31 @begin div32u16u +divr16u::@4 dominated by divr16u divr16u::@1 main divr16u::@4 @31 @begin div32u16u +divr16u::@2 dominated by divr16u divr16u::@2 divr16u::@1 main @31 @begin div32u16u +divr16u::@5 dominated by divr16u divr16u::@2 divr16u::@1 main divr16u::@5 @31 @begin div32u16u +divr16u::@3 dominated by divr16u divr16u::@2 divr16u::@1 main divr16u::@3 @31 @begin div32u16u +divr16u::@return dominated by divr16u divr16u::@2 divr16u::@1 main divr16u::@3 @31 @begin div32u16u divr16u::@return +sin16s_gen dominated by main @31 @begin sin16s_gen +sin16s_gen::@3 dominated by main @31 @begin sin16s_gen sin16s_gen::@3 +sin16s_gen::@1 dominated by main @31 @begin sin16s_gen sin16s_gen::@3 sin16s_gen::@1 +sin16s_gen::@4 dominated by main @31 @begin sin16s_gen sin16s_gen::@3 sin16s_gen::@4 sin16s_gen::@1 +sin16s_gen::@return dominated by main @31 sin16s_gen::@return @begin sin16s_gen sin16s_gen::@3 sin16s_gen::@4 sin16s_gen::@1 +sin16s dominated by main @31 sin16s @begin sin16s_gen sin16s_gen::@3 sin16s_gen::@1 +sin16s::@4 dominated by main @31 sin16s @begin sin16s_gen sin16s_gen::@3 sin16s_gen::@1 sin16s::@4 +sin16s::@1 dominated by main @31 sin16s @begin sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 +sin16s::@5 dominated by main @31 sin16s @begin sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 sin16s::@5 +sin16s::@2 dominated by main @31 sin16s @begin sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 sin16s::@2 +sin16s::@8 dominated by main @31 sin16s @begin sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 sin16s::@8 sin16s::@2 +sin16s::@9 dominated by main @31 sin16s @begin sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 sin16s::@9 sin16s::@8 sin16s::@2 +sin16s::@10 dominated by main @31 sin16s @begin sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 sin16s::@9 sin16s::@8 sin16s::@10 sin16s::@2 +sin16s::@11 dominated by main @31 sin16s @begin sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 sin16s::@9 sin16s::@8 sin16s::@11 sin16s::@10 sin16s::@2 +sin16s::@12 dominated by main @31 sin16s @begin sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 sin16s::@9 sin16s::@8 sin16s::@12 sin16s::@11 sin16s::@10 sin16s::@2 +sin16s::@6 dominated by main @31 sin16s @begin sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 sin16s::@9 sin16s::@8 sin16s::@6 sin16s::@12 sin16s::@11 sin16s::@10 sin16s::@2 +sin16s::@3 dominated by main @31 sin16s @begin sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 sin16s::@9 sin16s::@8 sin16s::@12 sin16s::@11 sin16s::@10 sin16s::@3 sin16s::@2 +sin16s::@return dominated by main @31 sin16s @begin sin16s::@return sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 sin16s::@9 sin16s::@8 sin16s::@12 sin16s::@11 sin16s::@10 sin16s::@3 sin16s::@2 +sin16s::@15 dominated by main @31 sin16s @begin sin16s_gen sin16s_gen::@3 sin16s::@1 sin16s_gen::@1 sin16s::@9 sin16s::@8 sin16s::@15 sin16s::@12 sin16s::@11 sin16s::@10 sin16s::@2 + +NATURAL LOOPS +Found back edge: Loop head: main::@1 tails: main::@9 blocks: null +Found back edge: Loop head: print_str::@1 tails: print_str::@2 blocks: null +Found back edge: Loop head: print_cls::@1 tails: print_cls::@1 blocks: null +Found back edge: Loop head: sin16s_genb::@1 tails: sin16s_genb::@4 blocks: null +Found back edge: Loop head: mul16u::@1 tails: mul16u::@4 blocks: null +Found back edge: Loop head: divr16u::@1 tails: divr16u::@3 blocks: null +Found back edge: Loop head: sin16s_gen::@1 tails: sin16s_gen::@4 blocks: null +Populated: Loop head: main::@1 tails: main::@9 blocks: main::@9 main::@8 main::@2 main::@1 main::@3 +Populated: Loop head: print_str::@1 tails: print_str::@2 blocks: print_str::@2 print_str::@1 +Populated: Loop head: print_cls::@1 tails: print_cls::@1 blocks: print_cls::@1 +Populated: Loop head: sin16s_genb::@1 tails: sin16s_genb::@4 blocks: sin16s_genb::@4 sin16s_genb::@1 +Populated: Loop head: mul16u::@1 tails: mul16u::@4 blocks: mul16u::@4 mul16u::@2 mul16u::@7 mul16u::@1 +Populated: Loop head: divr16u::@1 tails: divr16u::@3 blocks: divr16u::@3 divr16u::@2 divr16u::@5 divr16u::@1 divr16u::@4 +Populated: Loop head: sin16s_gen::@1 tails: sin16s_gen::@4 blocks: sin16s_gen::@4 sin16s_gen::@1 +Loop head: main::@1 tails: main::@9 blocks: main::@9 main::@8 main::@2 main::@1 main::@3 +Loop head: print_str::@1 tails: print_str::@2 blocks: print_str::@2 print_str::@1 +Loop head: print_cls::@1 tails: print_cls::@1 blocks: print_cls::@1 +Loop head: sin16s_genb::@1 tails: sin16s_genb::@4 blocks: sin16s_genb::@4 sin16s_genb::@1 +Loop head: mul16u::@1 tails: mul16u::@4 blocks: mul16u::@4 mul16u::@2 mul16u::@7 mul16u::@1 +Loop head: divr16u::@1 tails: divr16u::@3 blocks: divr16u::@3 divr16u::@2 divr16u::@5 divr16u::@1 divr16u::@4 +Loop head: sin16s_gen::@1 tails: sin16s_gen::@4 blocks: sin16s_gen::@4 sin16s_gen::@1 + +NATURAL LOOPS WITH DEPTH +Found 0 loops in scope [] +Found 1 loops in scope [main] + Loop head: main::@1 tails: main::@9 blocks: main::@9 main::@8 main::@2 main::@1 main::@3 +Found 1 loops in scope [sin16s_gen] + Loop head: sin16s_gen::@1 tails: sin16s_gen::@4 blocks: sin16s_gen::@4 sin16s_gen::@1 +Found 1 loops in scope [sin16s_genb] + Loop head: sin16s_genb::@1 tails: sin16s_genb::@4 blocks: sin16s_genb::@4 sin16s_genb::@1 +Found 1 loops in scope [print_cls] + Loop head: print_cls::@1 tails: print_cls::@1 blocks: print_cls::@1 +Found 1 loops in scope [print_str] + Loop head: print_str::@1 tails: print_str::@2 blocks: print_str::@2 print_str::@1 +Found 0 loops in scope [print_sword] +Found 0 loops in scope [div32u16u] +Found 0 loops in scope [sin16s] +Found 0 loops in scope [sin16sb] +Found 0 loops in scope [print_char] +Found 0 loops in scope [print_word] +Found 1 loops in scope [divr16u] + Loop head: divr16u::@1 tails: divr16u::@3 blocks: divr16u::@3 divr16u::@2 divr16u::@5 divr16u::@1 divr16u::@4 +Found 0 loops in scope [mulu16_sel] +Found 0 loops in scope [print_byte] +Found 1 loops in scope [mul16u] + Loop head: mul16u::@1 tails: mul16u::@4 blocks: mul16u::@4 mul16u::@2 mul16u::@7 mul16u::@1 +Loop head: main::@1 tails: main::@9 blocks: main::@9 main::@8 main::@2 main::@1 main::@3 depth: 1 +Loop head: print_str::@1 tails: print_str::@2 blocks: print_str::@2 print_str::@1 depth: 2 +Loop head: print_cls::@1 tails: print_cls::@1 blocks: print_cls::@1 depth: 1 +Loop head: sin16s_genb::@1 tails: sin16s_genb::@4 blocks: sin16s_genb::@4 sin16s_genb::@1 depth: 1 +Loop head: mul16u::@1 tails: mul16u::@4 blocks: mul16u::@4 mul16u::@2 mul16u::@7 mul16u::@1 depth: 2 +Loop head: divr16u::@1 tails: divr16u::@3 blocks: divr16u::@3 divr16u::@2 divr16u::@5 divr16u::@1 divr16u::@4 depth: 1 +Loop head: sin16s_gen::@1 tails: sin16s_gen::@4 blocks: sin16s_gen::@4 sin16s_gen::@1 depth: 1 + + +VARIABLE REGISTER WEIGHTS +(dword) PI2_u4f28 +(word) PI_HALF_u4f12 +(dword) PI_HALF_u4f28 +(word) PI_u4f12 +(dword) PI_u4f28 +(byte*) SCREEN +(byte*) char_cursor +(byte*) char_cursor#1 101.0 +(byte*) char_cursor#12 1.1176470588235294 +(byte*) char_cursor#2 32.7 +(byte*) char_cursor#33 5.0 +(byte*) char_cursor#43 3.0 +(byte*) char_cursor#46 2.0 +(byte*) char_cursor#48 6.5 +(byte*) char_cursor#49 8.25 +(byte*) char_cursor#51 24.0 +(dword()) div32u16u((dword) div32u16u::dividend , (word) div32u16u::divisor) +(dword) div32u16u::dividend +(dword) div32u16u::dividend#2 0.6666666666666666 +(word) div32u16u::divisor +(word) div32u16u::divisor#2 0.5714285714285714 +(dword) div32u16u::quotient +(word) div32u16u::quotient_hi +(word) div32u16u::quotient_hi#0 0.5714285714285714 +(word) div32u16u::quotient_lo +(word) div32u16u::quotient_lo#0 4.0 +(dword) div32u16u::return +(dword) div32u16u::return#0 1.5 +(dword) div32u16u::return#2 4.0 +(dword) div32u16u::return#3 4.0 +(word()) divr16u((word) divr16u::dividend , (word) divr16u::divisor , (word) divr16u::rem) +(byte~) divr16u::$1 22.0 +(byte~) divr16u::$2 22.0 +(word) divr16u::dividend +(word) divr16u::dividend#0 2.75 +(word) divr16u::dividend#1 2.0 +(word) divr16u::dividend#2 1.3333333333333333 +(word) divr16u::dividend#3 5.0 +(word) divr16u::dividend#5 6.0 +(word) divr16u::divisor +(word) divr16u::divisor#0 4.0 +(word) divr16u::divisor#1 2.0 +(word) divr16u::divisor#6 1.625 +(byte) divr16u::i +(byte) divr16u::i#1 16.5 +(byte) divr16u::i#2 1.6923076923076923 +(word) divr16u::quotient +(word) divr16u::quotient#1 16.5 +(word) divr16u::quotient#2 11.0 +(word) divr16u::quotient#3 2.75 +(word) divr16u::rem +(word) divr16u::rem#0 8.25 +(word) divr16u::rem#1 22.0 +(word) divr16u::rem#10 4.0 +(word) divr16u::rem#11 1.1935483870967742 +(word) divr16u::rem#2 22.0 +(word) divr16u::rem#4 4.0 +(word) divr16u::rem#5 24.0 +(word) divr16u::rem#6 11.0 +(word) divr16u::return +(word) divr16u::return#0 6.166666666666666 +(word) divr16u::return#2 4.0 +(word) divr16u::return#3 4.0 +(byte*) line_cursor +(void()) main() +(byte) main::i +(byte) main::i#1 16.5 +(byte) main::i#2 1.8333333333333333 +(signed word[120]) main::sintab1 +(signed word[120]) main::sintab2 +(signed word*) main::st1 +(signed word*) main::st1#1 5.5 +(signed word*) main::st1#2 3.3000000000000003 +(signed word*) main::st2 +(signed word*) main::st2#1 7.333333333333333 +(signed word*) main::st2#2 3.0 +(signed word) main::sw +(signed word) main::sw#0 6.6000000000000005 +(word) main::wavelength +(dword()) mul16u((word) mul16u::a , (word) mul16u::b) +(byte~) mul16u::$1 202.0 +(word) mul16u::a +(word) mul16u::a#0 101.0 +(word) mul16u::a#1 1.3333333333333333 +(word) mul16u::a#2 67.66666666666666 +(word) mul16u::b +(word) mul16u::b#0 4.0 +(dword) mul16u::mb +(dword) mul16u::mb#0 4.0 +(dword) mul16u::mb#1 202.0 +(dword) mul16u::mb#2 43.57142857142858 +(dword) mul16u::res +(dword) mul16u::res#1 202.0 +(dword) mul16u::res#2 50.83333333333333 +(dword) mul16u::res#6 101.0 +(dword) mul16u::return +(dword) mul16u::return#2 4.0 +(word()) mulu16_sel((word) mulu16_sel::v1 , (word) mulu16_sel::v2 , (byte) mulu16_sel::select) +(dword~) mulu16_sel::$0 4.0 +(dword~) mulu16_sel::$1 4.0 +(word) mulu16_sel::return +(word) mulu16_sel::return#0 4.0 +(word) mulu16_sel::return#1 4.0 +(word) mulu16_sel::return#10 4.0 +(word) mulu16_sel::return#11 4.0 +(word) mulu16_sel::return#14 4.0 +(word) mulu16_sel::return#15 4.0 +(word) mulu16_sel::return#16 4.0 +(word) mulu16_sel::return#17 1.8333333333333335 +(word) mulu16_sel::return#18 4.0 +(word) mulu16_sel::return#19 4.0 +(word) mulu16_sel::return#20 4.0 +(byte) mulu16_sel::select +(byte) mulu16_sel::select#10 0.3333333333333333 +(word) mulu16_sel::v1 +(word) mulu16_sel::v1#0 2.0 +(word) mulu16_sel::v1#1 2.0 +(word) mulu16_sel::v1#10 22.0 +(word) mulu16_sel::v1#2 4.0 +(word) mulu16_sel::v1#3 2.0 +(word) mulu16_sel::v1#4 2.0 +(word) mulu16_sel::v1#5 2.0 +(word) mulu16_sel::v1#6 2.0 +(word) mulu16_sel::v1#7 4.0 +(word) mulu16_sel::v1#8 2.0 +(word) mulu16_sel::v1#9 2.0 +(word) mulu16_sel::v2 +(word) mulu16_sel::v2#0 4.0 +(word) mulu16_sel::v2#1 4.0 +(word) mulu16_sel::v2#10 9.0 +(word) mulu16_sel::v2#3 4.0 +(word) mulu16_sel::v2#4 4.0 +(word) mulu16_sel::v2#5 4.0 +(word) mulu16_sel::v2#6 4.0 +(word) mulu16_sel::v2#8 4.0 +(word) mulu16_sel::v2#9 4.0 +(void()) print_byte((byte) print_byte::b) +(byte~) print_byte::$0 4.0 +(byte~) print_byte::$2 4.0 +(byte) print_byte::b +(byte) print_byte::b#0 4.0 +(byte) print_byte::b#1 4.0 +(byte) print_byte::b#2 2.0 +(byte[]) print_byte::hextab +(void()) print_char((byte) print_char::ch) +(byte) print_char::ch +(byte) print_char::ch#1 4.0 +(byte) print_char::ch#2 4.0 +(byte) print_char::ch#3 6.0 +(void()) print_cls() +(byte*) print_cls::sc +(byte*) print_cls::sc#1 16.5 +(byte*) print_cls::sc#2 16.5 +(void()) print_str((byte*) print_str::str) +(byte*) print_str::str +(byte*) print_str::str#0 202.0 +(byte*) print_str::str#3 101.5 +(byte*) print_str::str#5 2.0 +(void()) print_sword((signed word) print_sword::w) +(signed word) print_sword::w +(signed word) print_sword::w#0 4.0 +(signed word) print_sword::w#1 4.25 +(signed word) print_sword::w#3 1.3333333333333333 +(void()) print_word((word) print_word::w) +(word) print_word::w +(word) rem16u +(word) rem16u#26 20.0 +(signed word()) sin16s((dword) sin16s::x) +(dword~) sin16s::$6 4.0 +(byte) sin16s::isUpper +(byte) sin16s::isUpper#2 0.06060606060606061 +(signed word) sin16s::return +(signed word) sin16s::return#0 22.0 +(signed word) sin16s::return#1 5.0 +(signed word~) sin16s::return#5 4.0 +(signed word) sin16s::sinx +(signed word) sin16s::sinx#1 4.0 +(word) sin16s::usinx +(word) sin16s::usinx#0 0.3333333333333333 +(word) sin16s::usinx#1 1.0 +(dword) sin16s::x +(dword) sin16s::x#0 8.5 +(dword) sin16s::x#1 4.0 +(dword) sin16s::x#2 4.0 +(dword) sin16s::x#4 5.0 +(dword) sin16s::x#6 6.0 +(word) sin16s::x1 +(word) sin16s::x1#0 0.6363636363636365 +(word) sin16s::x2 +(word) sin16s::x2#0 4.0 +(word) sin16s::x3 +(word) sin16s::x3#0 1.0 +(word) sin16s::x3_6 +(word) sin16s::x3_6#0 4.0 +(word) sin16s::x4 +(word) sin16s::x4#0 4.0 +(word) sin16s::x5 +(word) sin16s::x5#0 4.0 +(word) sin16s::x5_128 +(word) sin16s::x5_128#0 4.0 +(void()) sin16s_gen((signed word*) sin16s_gen::sintab , (word) sin16s_gen::wavelength) +(signed word~) sin16s_gen::$1 22.0 +(word) sin16s_gen::i +(word) sin16s_gen::i#1 16.5 +(word) sin16s_gen::i#2 2.75 +(signed word*) sin16s_gen::sintab +(signed word*) sin16s_gen::sintab#0 5.5 +(signed word*) sin16s_gen::sintab#2 5.5 +(dword) sin16s_gen::step +(dword) sin16s_gen::step#0 1.1818181818181819 +(word) sin16s_gen::wavelength +(dword) sin16s_gen::x +(dword) sin16s_gen::x#1 7.333333333333333 +(dword) sin16s_gen::x#2 4.714285714285714 +(void()) sin16s_genb((signed word*) sin16s_genb::sintab , (word) sin16s_genb::wavelength) +(signed word~) sin16s_genb::$2 22.0 +(word) sin16s_genb::i +(word) sin16s_genb::i#1 16.5 +(word) sin16s_genb::i#2 2.75 +(signed word*) sin16s_genb::sintab +(signed word*) sin16s_genb::sintab#0 5.5 +(signed word*) sin16s_genb::sintab#2 5.5 +(dword) sin16s_genb::step +(dword) sin16s_genb::step#0 1.1818181818181819 +(word) sin16s_genb::wavelength +(dword) sin16s_genb::x +(dword) sin16s_genb::x#1 7.333333333333333 +(dword) sin16s_genb::x#2 4.714285714285714 +(signed word()) sin16sb((word) sin16sb::x) +(byte) sin16sb::isUpper +(byte) sin16sb::isUpper#2 0.0625 +(signed word) sin16sb::return +(signed word) sin16sb::return#0 22.0 +(signed word) sin16sb::return#1 5.0 +(signed word~) sin16sb::return#5 4.0 +(signed word) sin16sb::sinx +(signed word) sin16sb::sinx#1 4.0 +(word) sin16sb::usinx +(word) sin16sb::usinx#0 0.3333333333333333 +(word) sin16sb::usinx#1 1.0 +(word) sin16sb::x +(word) sin16sb::x#0 8.5 +(word) sin16sb::x#1 4.0 +(word) sin16sb::x#2 4.0 +(word) sin16sb::x#4 5.0 +(word) sin16sb::x#6 6.0 +(word) sin16sb::x1 +(word) sin16sb::x1#0 0.6363636363636365 +(word) sin16sb::x2 +(word) sin16sb::x2#0 4.0 +(word) sin16sb::x3 +(word) sin16sb::x3#0 1.0 +(word) sin16sb::x3_6 +(word) sin16sb::x3_6#0 4.0 +(word) sin16sb::x4 +(word) sin16sb::x4#0 4.0 +(word) sin16sb::x5 +(word) sin16sb::x5#0 4.0 +(word) sin16sb::x5_128 +(word) sin16sb::x5_128#0 4.0 + +Initial phi equivalence classes +[ main::st1#2 main::st1#1 ] +[ main::st2#2 main::st2#1 ] +[ main::i#2 main::i#1 ] +[ print_str::str#3 print_str::str#5 print_str::str#0 ] +[ print_sword::w#3 print_sword::w#1 print_sword::w#0 ] +[ print_byte::b#2 print_byte::b#0 print_byte::b#1 ] +[ print_char::ch#3 print_char::ch#1 print_char::ch#2 ] +[ char_cursor#33 char_cursor#46 char_cursor#43 char_cursor#51 char_cursor#48 char_cursor#49 char_cursor#2 char_cursor#12 char_cursor#1 ] +[ print_cls::sc#2 print_cls::sc#1 ] +[ sin16s_genb::x#2 sin16s_genb::x#1 ] +[ sin16s_genb::sintab#2 sin16s_genb::sintab#0 ] +[ sin16s_genb::i#2 sin16s_genb::i#1 ] +[ sin16sb::isUpper#2 ] +[ sin16sb::x#6 sin16sb::x#4 sin16sb::x#0 sin16sb::x#1 sin16sb::x#2 ] +[ sin16sb::return#1 sin16sb::return#5 sin16sb::sinx#1 ] +[ mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 ] +[ mulu16_sel::v2#10 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 mulu16_sel::v2#8 mulu16_sel::v2#9 mulu16_sel::v2#5 mulu16_sel::v2#6 ] +[ mulu16_sel::select#10 ] +[ mul16u::a#2 mul16u::a#1 mul16u::a#0 ] +[ mul16u::res#2 mul16u::res#6 mul16u::res#1 ] +[ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ] +[ div32u16u::dividend#2 ] +[ div32u16u::divisor#2 ] +[ divr16u::divisor#6 divr16u::divisor#0 divr16u::divisor#1 ] +[ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 rem16u#26 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] +[ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#1 divr16u::dividend#2 divr16u::dividend#0 ] +[ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] +[ divr16u::i#2 divr16u::i#1 ] +[ sin16s_gen::x#2 sin16s_gen::x#1 ] +[ sin16s_gen::sintab#2 sin16s_gen::sintab#0 ] +[ sin16s_gen::i#2 sin16s_gen::i#1 ] +[ sin16s::isUpper#2 ] +[ sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 ] +[ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 ] +Added variable main::sw#0 to zero page equivalence class [ main::sw#0 ] +Added variable print_byte::$0 to zero page equivalence class [ print_byte::$0 ] +Added variable print_byte::$2 to zero page equivalence class [ print_byte::$2 ] +Added variable div32u16u::return#3 to zero page equivalence class [ div32u16u::return#3 ] +Added variable sin16s_genb::step#0 to zero page equivalence class [ sin16s_genb::step#0 ] +Added variable sin16sb::return#0 to zero page equivalence class [ sin16sb::return#0 ] +Added variable sin16s_genb::$2 to zero page equivalence class [ sin16s_genb::$2 ] +Added variable sin16sb::x1#0 to zero page equivalence class [ sin16sb::x1#0 ] +Added variable mulu16_sel::return#18 to zero page equivalence class [ mulu16_sel::return#18 ] +Added variable sin16sb::x2#0 to zero page equivalence class [ sin16sb::x2#0 ] +Added variable mulu16_sel::return#19 to zero page equivalence class [ mulu16_sel::return#19 ] +Added variable sin16sb::x3#0 to zero page equivalence class [ sin16sb::x3#0 ] +Added variable mulu16_sel::return#20 to zero page equivalence class [ mulu16_sel::return#20 ] +Added variable sin16sb::x3_6#0 to zero page equivalence class [ sin16sb::x3_6#0 ] +Added variable sin16sb::usinx#0 to zero page equivalence class [ sin16sb::usinx#0 ] +Added variable mulu16_sel::return#10 to zero page equivalence class [ mulu16_sel::return#10 ] +Added variable sin16sb::x4#0 to zero page equivalence class [ sin16sb::x4#0 ] +Added variable mulu16_sel::return#11 to zero page equivalence class [ mulu16_sel::return#11 ] +Added variable sin16sb::x5#0 to zero page equivalence class [ sin16sb::x5#0 ] +Added variable sin16sb::x5_128#0 to zero page equivalence class [ sin16sb::x5_128#0 ] +Added variable sin16sb::usinx#1 to zero page equivalence class [ sin16sb::usinx#1 ] +Added variable mul16u::b#0 to zero page equivalence class [ mul16u::b#0 ] +Added variable mul16u::return#2 to zero page equivalence class [ mul16u::return#2 ] +Added variable mulu16_sel::$0 to zero page equivalence class [ mulu16_sel::$0 ] +Added variable mulu16_sel::$1 to zero page equivalence class [ mulu16_sel::$1 ] +Added variable mulu16_sel::return#17 to zero page equivalence class [ mulu16_sel::return#17 ] +Added variable mul16u::$1 to zero page equivalence class [ mul16u::$1 ] +Added variable divr16u::return#2 to zero page equivalence class [ divr16u::return#2 ] +Added variable div32u16u::quotient_hi#0 to zero page equivalence class [ div32u16u::quotient_hi#0 ] +Added variable divr16u::return#3 to zero page equivalence class [ divr16u::return#3 ] +Added variable div32u16u::quotient_lo#0 to zero page equivalence class [ div32u16u::quotient_lo#0 ] +Added variable div32u16u::return#0 to zero page equivalence class [ div32u16u::return#0 ] +Added variable divr16u::$1 to zero page equivalence class [ divr16u::$1 ] +Added variable divr16u::$2 to zero page equivalence class [ divr16u::$2 ] +Added variable div32u16u::return#2 to zero page equivalence class [ div32u16u::return#2 ] +Added variable sin16s_gen::step#0 to zero page equivalence class [ sin16s_gen::step#0 ] +Added variable sin16s::return#0 to zero page equivalence class [ sin16s::return#0 ] +Added variable sin16s_gen::$1 to zero page equivalence class [ sin16s_gen::$1 ] +Added variable sin16s::$6 to zero page equivalence class [ sin16s::$6 ] +Added variable sin16s::x1#0 to zero page equivalence class [ sin16s::x1#0 ] +Added variable mulu16_sel::return#0 to zero page equivalence class [ mulu16_sel::return#0 ] +Added variable sin16s::x2#0 to zero page equivalence class [ sin16s::x2#0 ] +Added variable mulu16_sel::return#1 to zero page equivalence class [ mulu16_sel::return#1 ] +Added variable sin16s::x3#0 to zero page equivalence class [ sin16s::x3#0 ] +Added variable mulu16_sel::return#14 to zero page equivalence class [ mulu16_sel::return#14 ] +Added variable sin16s::x3_6#0 to zero page equivalence class [ sin16s::x3_6#0 ] +Added variable sin16s::usinx#0 to zero page equivalence class [ sin16s::usinx#0 ] +Added variable mulu16_sel::return#15 to zero page equivalence class [ mulu16_sel::return#15 ] +Added variable sin16s::x4#0 to zero page equivalence class [ sin16s::x4#0 ] +Added variable mulu16_sel::return#16 to zero page equivalence class [ mulu16_sel::return#16 ] +Added variable sin16s::x5#0 to zero page equivalence class [ sin16s::x5#0 ] +Added variable sin16s::x5_128#0 to zero page equivalence class [ sin16s::x5_128#0 ] +Added variable sin16s::usinx#1 to zero page equivalence class [ sin16s::usinx#1 ] +Complete equivalence classes +[ main::st1#2 main::st1#1 ] +[ main::st2#2 main::st2#1 ] +[ main::i#2 main::i#1 ] +[ print_str::str#3 print_str::str#5 print_str::str#0 ] +[ print_sword::w#3 print_sword::w#1 print_sword::w#0 ] +[ print_byte::b#2 print_byte::b#0 print_byte::b#1 ] +[ print_char::ch#3 print_char::ch#1 print_char::ch#2 ] +[ char_cursor#33 char_cursor#46 char_cursor#43 char_cursor#51 char_cursor#48 char_cursor#49 char_cursor#2 char_cursor#12 char_cursor#1 ] +[ print_cls::sc#2 print_cls::sc#1 ] +[ sin16s_genb::x#2 sin16s_genb::x#1 ] +[ sin16s_genb::sintab#2 sin16s_genb::sintab#0 ] +[ sin16s_genb::i#2 sin16s_genb::i#1 ] +[ sin16sb::isUpper#2 ] +[ sin16sb::x#6 sin16sb::x#4 sin16sb::x#0 sin16sb::x#1 sin16sb::x#2 ] +[ sin16sb::return#1 sin16sb::return#5 sin16sb::sinx#1 ] +[ mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 ] +[ mulu16_sel::v2#10 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 mulu16_sel::v2#8 mulu16_sel::v2#9 mulu16_sel::v2#5 mulu16_sel::v2#6 ] +[ mulu16_sel::select#10 ] +[ mul16u::a#2 mul16u::a#1 mul16u::a#0 ] +[ mul16u::res#2 mul16u::res#6 mul16u::res#1 ] +[ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ] +[ div32u16u::dividend#2 ] +[ div32u16u::divisor#2 ] +[ divr16u::divisor#6 divr16u::divisor#0 divr16u::divisor#1 ] +[ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 rem16u#26 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] +[ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#1 divr16u::dividend#2 divr16u::dividend#0 ] +[ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] +[ divr16u::i#2 divr16u::i#1 ] +[ sin16s_gen::x#2 sin16s_gen::x#1 ] +[ sin16s_gen::sintab#2 sin16s_gen::sintab#0 ] +[ sin16s_gen::i#2 sin16s_gen::i#1 ] +[ sin16s::isUpper#2 ] +[ sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 ] +[ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 ] +[ main::sw#0 ] +[ print_byte::$0 ] +[ print_byte::$2 ] +[ div32u16u::return#3 ] +[ sin16s_genb::step#0 ] +[ sin16sb::return#0 ] +[ sin16s_genb::$2 ] +[ sin16sb::x1#0 ] +[ mulu16_sel::return#18 ] +[ sin16sb::x2#0 ] +[ mulu16_sel::return#19 ] +[ sin16sb::x3#0 ] +[ mulu16_sel::return#20 ] +[ sin16sb::x3_6#0 ] +[ sin16sb::usinx#0 ] +[ mulu16_sel::return#10 ] +[ sin16sb::x4#0 ] +[ mulu16_sel::return#11 ] +[ sin16sb::x5#0 ] +[ sin16sb::x5_128#0 ] +[ sin16sb::usinx#1 ] +[ mul16u::b#0 ] +[ mul16u::return#2 ] +[ mulu16_sel::$0 ] +[ mulu16_sel::$1 ] +[ mulu16_sel::return#17 ] +[ mul16u::$1 ] +[ divr16u::return#2 ] +[ div32u16u::quotient_hi#0 ] +[ divr16u::return#3 ] +[ div32u16u::quotient_lo#0 ] +[ div32u16u::return#0 ] +[ divr16u::$1 ] +[ divr16u::$2 ] +[ div32u16u::return#2 ] +[ sin16s_gen::step#0 ] +[ sin16s::return#0 ] +[ sin16s_gen::$1 ] +[ sin16s::$6 ] +[ sin16s::x1#0 ] +[ mulu16_sel::return#0 ] +[ sin16s::x2#0 ] +[ mulu16_sel::return#1 ] +[ sin16s::x3#0 ] +[ mulu16_sel::return#14 ] +[ sin16s::x3_6#0 ] +[ sin16s::usinx#0 ] +[ mulu16_sel::return#15 ] +[ sin16s::x4#0 ] +[ mulu16_sel::return#16 ] +[ sin16s::x5#0 ] +[ sin16s::x5_128#0 ] +[ sin16s::usinx#1 ] +Allocated zp ZP_WORD:2 [ main::st1#2 main::st1#1 ] +Allocated zp ZP_WORD:4 [ main::st2#2 main::st2#1 ] +Allocated zp ZP_BYTE:6 [ main::i#2 main::i#1 ] +Allocated zp ZP_WORD:7 [ print_str::str#3 print_str::str#5 print_str::str#0 ] +Allocated zp ZP_WORD:9 [ print_sword::w#3 print_sword::w#1 print_sword::w#0 ] +Allocated zp ZP_BYTE:11 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ] +Allocated zp ZP_BYTE:12 [ print_char::ch#3 print_char::ch#1 print_char::ch#2 ] +Allocated zp ZP_WORD:13 [ char_cursor#33 char_cursor#46 char_cursor#43 char_cursor#51 char_cursor#48 char_cursor#49 char_cursor#2 char_cursor#12 char_cursor#1 ] +Allocated zp ZP_WORD:15 [ print_cls::sc#2 print_cls::sc#1 ] +Allocated zp ZP_DWORD:17 [ sin16s_genb::x#2 sin16s_genb::x#1 ] +Allocated zp ZP_WORD:21 [ sin16s_genb::sintab#2 sin16s_genb::sintab#0 ] +Allocated zp ZP_WORD:23 [ sin16s_genb::i#2 sin16s_genb::i#1 ] +Allocated zp ZP_BYTE:25 [ sin16sb::isUpper#2 ] +Allocated zp ZP_WORD:26 [ sin16sb::x#6 sin16sb::x#4 sin16sb::x#0 sin16sb::x#1 sin16sb::x#2 ] +Allocated zp ZP_WORD:28 [ sin16sb::return#1 sin16sb::return#5 sin16sb::sinx#1 ] +Allocated zp ZP_WORD:30 [ mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 ] +Allocated zp ZP_WORD:32 [ mulu16_sel::v2#10 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 mulu16_sel::v2#8 mulu16_sel::v2#9 mulu16_sel::v2#5 mulu16_sel::v2#6 ] +Allocated zp ZP_BYTE:34 [ mulu16_sel::select#10 ] +Allocated zp ZP_WORD:35 [ mul16u::a#2 mul16u::a#1 mul16u::a#0 ] +Allocated zp ZP_DWORD:37 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 ] +Allocated zp ZP_DWORD:41 [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ] +Allocated zp ZP_DWORD:45 [ div32u16u::dividend#2 ] +Allocated zp ZP_WORD:49 [ div32u16u::divisor#2 ] +Allocated zp ZP_WORD:51 [ divr16u::divisor#6 divr16u::divisor#0 divr16u::divisor#1 ] +Allocated zp ZP_WORD:53 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 rem16u#26 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] +Allocated zp ZP_WORD:55 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#1 divr16u::dividend#2 divr16u::dividend#0 ] +Allocated zp ZP_WORD:57 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] +Allocated zp ZP_BYTE:59 [ divr16u::i#2 divr16u::i#1 ] +Allocated zp ZP_DWORD:60 [ sin16s_gen::x#2 sin16s_gen::x#1 ] +Allocated zp ZP_WORD:64 [ sin16s_gen::sintab#2 sin16s_gen::sintab#0 ] +Allocated zp ZP_WORD:66 [ sin16s_gen::i#2 sin16s_gen::i#1 ] +Allocated zp ZP_BYTE:68 [ sin16s::isUpper#2 ] +Allocated zp ZP_DWORD:69 [ sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 ] +Allocated zp ZP_WORD:73 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 ] +Allocated zp ZP_WORD:75 [ main::sw#0 ] +Allocated zp ZP_BYTE:77 [ print_byte::$0 ] +Allocated zp ZP_BYTE:78 [ print_byte::$2 ] +Allocated zp ZP_DWORD:79 [ div32u16u::return#3 ] +Allocated zp ZP_DWORD:83 [ sin16s_genb::step#0 ] +Allocated zp ZP_WORD:87 [ sin16sb::return#0 ] +Allocated zp ZP_WORD:89 [ sin16s_genb::$2 ] +Allocated zp ZP_WORD:91 [ sin16sb::x1#0 ] +Allocated zp ZP_WORD:93 [ mulu16_sel::return#18 ] +Allocated zp ZP_WORD:95 [ sin16sb::x2#0 ] +Allocated zp ZP_WORD:97 [ mulu16_sel::return#19 ] +Allocated zp ZP_WORD:99 [ sin16sb::x3#0 ] +Allocated zp ZP_WORD:101 [ mulu16_sel::return#20 ] +Allocated zp ZP_WORD:103 [ sin16sb::x3_6#0 ] +Allocated zp ZP_WORD:105 [ sin16sb::usinx#0 ] +Allocated zp ZP_WORD:107 [ mulu16_sel::return#10 ] +Allocated zp ZP_WORD:109 [ sin16sb::x4#0 ] +Allocated zp ZP_WORD:111 [ mulu16_sel::return#11 ] +Allocated zp ZP_WORD:113 [ sin16sb::x5#0 ] +Allocated zp ZP_WORD:115 [ sin16sb::x5_128#0 ] +Allocated zp ZP_WORD:117 [ sin16sb::usinx#1 ] +Allocated zp ZP_WORD:119 [ mul16u::b#0 ] +Allocated zp ZP_DWORD:121 [ mul16u::return#2 ] +Allocated zp ZP_DWORD:125 [ mulu16_sel::$0 ] +Allocated zp ZP_DWORD:129 [ mulu16_sel::$1 ] +Allocated zp ZP_WORD:133 [ mulu16_sel::return#17 ] +Allocated zp ZP_BYTE:135 [ mul16u::$1 ] +Allocated zp ZP_WORD:136 [ divr16u::return#2 ] +Allocated zp ZP_WORD:138 [ div32u16u::quotient_hi#0 ] +Allocated zp ZP_WORD:140 [ divr16u::return#3 ] +Allocated zp ZP_WORD:142 [ div32u16u::quotient_lo#0 ] +Allocated zp ZP_DWORD:144 [ div32u16u::return#0 ] +Allocated zp ZP_BYTE:148 [ divr16u::$1 ] +Allocated zp ZP_BYTE:149 [ divr16u::$2 ] +Allocated zp ZP_DWORD:150 [ div32u16u::return#2 ] +Allocated zp ZP_DWORD:154 [ sin16s_gen::step#0 ] +Allocated zp ZP_WORD:158 [ sin16s::return#0 ] +Allocated zp ZP_WORD:160 [ sin16s_gen::$1 ] +Allocated zp ZP_DWORD:162 [ sin16s::$6 ] +Allocated zp ZP_WORD:166 [ sin16s::x1#0 ] +Allocated zp ZP_WORD:168 [ mulu16_sel::return#0 ] +Allocated zp ZP_WORD:170 [ sin16s::x2#0 ] +Allocated zp ZP_WORD:172 [ mulu16_sel::return#1 ] +Allocated zp ZP_WORD:174 [ sin16s::x3#0 ] +Allocated zp ZP_WORD:176 [ mulu16_sel::return#14 ] +Allocated zp ZP_WORD:178 [ sin16s::x3_6#0 ] +Allocated zp ZP_WORD:180 [ sin16s::usinx#0 ] +Allocated zp ZP_WORD:182 [ mulu16_sel::return#15 ] +Allocated zp ZP_WORD:184 [ sin16s::x4#0 ] +Allocated zp ZP_WORD:186 [ mulu16_sel::return#16 ] +Allocated zp ZP_WORD:188 [ sin16s::x5#0 ] +Allocated zp ZP_WORD:190 [ sin16s::x5_128#0 ] +Allocated zp ZP_WORD:192 [ sin16s::usinx#1 ] + +INITIAL ASM +//SEG0 Basic Upstart +.pc = $801 "Basic" +:BasicUpstart(main) +.pc = $80d "Program" +//SEG1 Global Constants & labels + .const PI2_u4f28 = $6487ed51 + .const PI_u4f28 = $3243f6a9 + .const PI_HALF_u4f28 = $1921fb54 + .const PI_u4f12 = $3244 + .const PI_HALF_u4f12 = $1922 + .label SCREEN = $400 + .label char_cursor = $d + .label rem16u = $35 +//SEG2 @begin +bbegin: +//SEG3 [1] phi from @begin to @31 [phi:@begin->@31] +b31_from_bbegin: + jmp b31 +//SEG4 @31 +b31: +//SEG5 [2] call main param-assignment [ ] ( ) +//SEG6 [4] phi from @31 to main [phi:@31->main] +main_from_b31: + jsr main +//SEG7 [3] phi from @31 to @end [phi:@31->@end] +bend_from_b31: + jmp bend +//SEG8 @end +bend: +//SEG9 main +main: { + .label wavelength = $78 + .label sw = $4b + .label st1 = 2 + .label st2 = 4 + .label i = 6 + //SEG10 [5] call sin16s_gen param-assignment [ divr16u::rem#11 ] ( main:2 [ divr16u::rem#11 ] ) + //SEG11 [166] phi from main to sin16s_gen [phi:main->sin16s_gen] + sin16s_gen_from_main: + jsr sin16s_gen + //SEG12 [6] phi from main to main::@5 [phi:main->main::@5] + b5_from_main: + jmp b5 + //SEG13 main::@5 + b5: + //SEG14 [7] call sin16s_genb param-assignment [ ] ( main:2 [ ] ) + //SEG15 [62] phi from main::@5 to sin16s_genb [phi:main::@5->sin16s_genb] + sin16s_genb_from_b5: + jsr sin16s_genb + //SEG16 [8] phi from main::@5 to main::@6 [phi:main::@5->main::@6] + b6_from_b5: + jmp b6 + //SEG17 main::@6 + b6: + //SEG18 [9] call print_cls param-assignment [ ] ( main:2 [ ] ) + //SEG19 [56] phi from main::@6 to print_cls [phi:main::@6->print_cls] + print_cls_from_b6: + jsr print_cls + //SEG20 [10] phi from main::@6 to main::@1 [phi:main::@6->main::@1] + b1_from_b6: + //SEG21 [10] phi (byte) main::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@6->main::@1#0] -- vbuz1=vbuc1 + lda #0 + sta i + //SEG22 [10] phi (byte*) char_cursor#49 = (const byte*) SCREEN#0 [phi:main::@6->main::@1#1] -- pbuz1=pbuc1 + lda #SCREEN + sta char_cursor+1 + //SEG23 [10] phi (signed word*) main::st2#2 = (const signed word[120]) main::sintab2#0 [phi:main::@6->main::@1#2] -- pwsz1=pwsc1 + lda #sintab2 + sta st2+1 + //SEG24 [10] phi (signed word*) main::st1#2 = (const signed word[120]) main::sintab1#0 [phi:main::@6->main::@1#3] -- pwsz1=pwsc1 + lda #sintab1 + sta st1+1 + jmp b1 + //SEG25 [10] phi from main::@9 to main::@1 [phi:main::@9->main::@1] + b1_from_b9: + //SEG26 [10] phi (byte) main::i#2 = (byte) main::i#1 [phi:main::@9->main::@1#0] -- register_copy + //SEG27 [10] phi (byte*) char_cursor#49 = (byte*) char_cursor#2 [phi:main::@9->main::@1#1] -- register_copy + //SEG28 [10] phi (signed word*) main::st2#2 = (signed word*) main::st2#1 [phi:main::@9->main::@1#2] -- register_copy + //SEG29 [10] phi (signed word*) main::st1#2 = (signed word*) main::st1#1 [phi:main::@9->main::@1#3] -- register_copy + jmp b1 + //SEG30 main::@1 + b1: + //SEG31 [11] (signed word) main::sw#0 ← *((signed word*) main::st1#2) - *((signed word*) main::st2#2) [ main::st1#2 main::st2#2 char_cursor#49 main::i#2 main::sw#0 ] ( main:2 [ main::st1#2 main::st2#2 char_cursor#49 main::i#2 main::sw#0 ] ) -- vwsz1=_deref_pwsz2_minus__deref_pwsz3 + ldy #0 + sec + lda (st1),y + sbc (st2),y + sta sw + iny + lda (st1),y + sbc (st2),y + sta sw+1 + //SEG32 [12] if((signed word) main::sw#0<(byte/signed byte/word/signed word/dword/signed dword) 0) goto main::@2 [ main::st1#2 main::st2#2 char_cursor#49 main::i#2 main::sw#0 ] ( main:2 [ main::st1#2 main::st2#2 char_cursor#49 main::i#2 main::sw#0 ] ) -- vwsz1_lt_0_then_la1 + lda sw+1 + bmi b2_from_b1 + //SEG33 [13] phi from main::@1 to main::@3 [phi:main::@1->main::@3] + b3_from_b1: + jmp b3 + //SEG34 main::@3 + b3: + //SEG35 [14] call print_str param-assignment [ main::st1#2 main::st2#2 main::i#2 char_cursor#2 main::sw#0 ] ( main:2 [ main::st1#2 main::st2#2 main::i#2 char_cursor#2 main::sw#0 ] ) + //SEG36 [25] phi from main::@3 to print_str [phi:main::@3->print_str] + print_str_from_b3: + //SEG37 [25] phi (byte*) char_cursor#51 = (byte*) char_cursor#49 [phi:main::@3->print_str#0] -- register_copy + //SEG38 [25] phi (byte*) print_str::str#5 = (const string) main::str1 [phi:main::@3->print_str#1] -- pbuz1=pbuc1 + lda #str1 + sta print_str.str+1 + jsr print_str + //SEG39 [15] phi from main::@1 main::@3 to main::@2 [phi:main::@1/main::@3->main::@2] + b2_from_b1: + b2_from_b3: + //SEG40 [15] phi (byte*) char_cursor#48 = (byte*) char_cursor#49 [phi:main::@1/main::@3->main::@2#0] -- register_copy + jmp b2 + //SEG41 main::@2 + b2: + //SEG42 [16] (signed word) print_sword::w#1 ← (signed word) main::sw#0 [ main::st1#2 main::st2#2 main::i#2 char_cursor#48 print_sword::w#1 ] ( main:2 [ main::st1#2 main::st2#2 main::i#2 char_cursor#48 print_sword::w#1 ] ) -- vwsz1=vwsz2 + lda sw + sta print_sword.w + lda sw+1 + sta print_sword.w+1 + //SEG43 [17] call print_sword param-assignment [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 ] ( main:2 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 ] ) + jsr print_sword + //SEG44 [18] phi from main::@2 to main::@8 [phi:main::@2->main::@8] + b8_from_b2: + jmp b8 + //SEG45 main::@8 + b8: + //SEG46 [19] call print_str param-assignment [ main::st1#2 main::st2#2 main::i#2 char_cursor#2 ] ( main:2 [ main::st1#2 main::st2#2 main::i#2 char_cursor#2 ] ) + //SEG47 [25] phi from main::@8 to print_str [phi:main::@8->print_str] + print_str_from_b8: + //SEG48 [25] phi (byte*) char_cursor#51 = (byte*) char_cursor#12 [phi:main::@8->print_str#0] -- register_copy + //SEG49 [25] phi (byte*) print_str::str#5 = (const string) main::str [phi:main::@8->print_str#1] -- pbuz1=pbuc1 + lda #str + sta print_str.str+1 + jsr print_str + jmp b9 + //SEG50 main::@9 + b9: + //SEG51 [20] (signed word*) main::st1#1 ← (signed word*) main::st1#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ main::st2#2 main::i#2 main::st1#1 char_cursor#2 ] ( main:2 [ main::st2#2 main::i#2 main::st1#1 char_cursor#2 ] ) -- pwsz1=pwsz1_plus_vbuc1 + clc + lda st1 + adc #<2 + sta st1 + lda st1+1 + adc #>2 + sta st1+1 + //SEG52 [21] (signed word*) main::st2#1 ← (signed word*) main::st2#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ main::i#2 main::st1#1 main::st2#1 char_cursor#2 ] ( main:2 [ main::i#2 main::st1#1 main::st2#1 char_cursor#2 ] ) -- pwsz1=pwsz1_plus_vbuc1 + clc + lda st2 + adc #<2 + sta st2 + lda st2+1 + adc #>2 + sta st2+1 + //SEG53 [22] (byte) main::i#1 ← ++ (byte) main::i#2 [ main::st1#1 main::st2#1 char_cursor#2 main::i#1 ] ( main:2 [ main::st1#1 main::st2#1 char_cursor#2 main::i#1 ] ) -- vbuz1=_inc_vbuz1 + inc i + //SEG54 [23] if((byte) main::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 120) goto main::@1 [ main::st1#1 main::st2#1 char_cursor#2 main::i#1 ] ( main:2 [ main::st1#1 main::st2#1 char_cursor#2 main::i#1 ] ) -- vbuz1_neq_vbuc1_then_la1 + lda i + cmp #$78 + bne b1_from_b9 + jmp breturn + //SEG55 main::@return + breturn: + //SEG56 [24] return [ ] ( main:2 [ ] ) + rts + str: .text " @" + str1: .text " @" + sintab1: .fill $f0, 0 + sintab2: .fill $f0, 0 +} +//SEG57 print_str +print_str: { + .label str = 7 + //SEG58 [26] phi from print_str print_str::@2 to print_str::@1 [phi:print_str/print_str::@2->print_str::@1] + b1_from_print_str: + b1_from_b2: + //SEG59 [26] phi (byte*) char_cursor#2 = (byte*) char_cursor#51 [phi:print_str/print_str::@2->print_str::@1#0] -- register_copy + //SEG60 [26] phi (byte*) print_str::str#3 = (byte*) print_str::str#5 [phi:print_str/print_str::@2->print_str::@1#1] -- register_copy + jmp b1 + //SEG61 print_str::@1 + b1: + //SEG62 [27] if(*((byte*) print_str::str#3)!=(byte) '@') goto print_str::@2 [ char_cursor#2 print_str::str#3 ] ( main:2::print_str:14 [ main::st1#2 main::st2#2 main::i#2 main::sw#0 char_cursor#2 print_str::str#3 ] main:2::print_str:19 [ main::st1#2 main::st2#2 main::i#2 char_cursor#2 print_str::str#3 ] ) -- _deref_pbuz1_neq_vbuc1_then_la1 + ldy #0 + lda (str),y + cmp #'@' + bne b2 + jmp breturn + //SEG63 print_str::@return + breturn: + //SEG64 [28] return [ char_cursor#2 ] ( main:2::print_str:14 [ main::st1#2 main::st2#2 main::i#2 main::sw#0 char_cursor#2 ] main:2::print_str:19 [ main::st1#2 main::st2#2 main::i#2 char_cursor#2 ] ) + rts + //SEG65 print_str::@2 + b2: + //SEG66 [29] *((byte*) char_cursor#2) ← *((byte*) print_str::str#3) [ char_cursor#2 print_str::str#3 ] ( main:2::print_str:14 [ main::st1#2 main::st2#2 main::i#2 main::sw#0 char_cursor#2 print_str::str#3 ] main:2::print_str:19 [ main::st1#2 main::st2#2 main::i#2 char_cursor#2 print_str::str#3 ] ) -- _deref_pbuz1=_deref_pbuz2 + ldy #0 + lda (str),y + ldy #0 + sta (char_cursor),y + //SEG67 [30] (byte*) char_cursor#1 ← ++ (byte*) char_cursor#2 [ print_str::str#3 char_cursor#1 ] ( main:2::print_str:14 [ main::st1#2 main::st2#2 main::i#2 main::sw#0 print_str::str#3 char_cursor#1 ] main:2::print_str:19 [ main::st1#2 main::st2#2 main::i#2 print_str::str#3 char_cursor#1 ] ) -- pbuz1=_inc_pbuz1 + inc char_cursor + bne !+ + inc char_cursor+1 + !: + //SEG68 [31] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#3 [ print_str::str#0 char_cursor#1 ] ( main:2::print_str:14 [ main::st1#2 main::st2#2 main::i#2 main::sw#0 print_str::str#0 char_cursor#1 ] main:2::print_str:19 [ main::st1#2 main::st2#2 main::i#2 print_str::str#0 char_cursor#1 ] ) -- pbuz1=_inc_pbuz1 + inc str + bne !+ + inc str+1 + !: + jmp b1_from_b2 +} +//SEG69 print_sword +print_sword: { + .label w = 9 + //SEG70 [32] if((signed word) print_sword::w#1>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto print_sword::@1 [ char_cursor#48 print_sword::w#1 ] ( main:2::print_sword:17 [ main::st1#2 main::st2#2 main::i#2 char_cursor#48 print_sword::w#1 ] ) -- vwsz1_ge_0_then_la1 + lda w+1 + bpl b1_from_print_sword + //SEG71 [33] phi from print_sword to print_sword::@2 [phi:print_sword->print_sword::@2] + b2_from_print_sword: + jmp b2 + //SEG72 print_sword::@2 + b2: + //SEG73 [34] call print_char param-assignment [ print_sword::w#1 char_cursor#12 ] ( main:2::print_sword:17 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#1 char_cursor#12 ] ) + //SEG74 [52] phi from print_sword::@2 to print_char [phi:print_sword::@2->print_char] + print_char_from_b2: + //SEG75 [52] phi (byte*) char_cursor#33 = (byte*) char_cursor#48 [phi:print_sword::@2->print_char#0] -- register_copy + //SEG76 [52] phi (byte) print_char::ch#3 = (byte) '-' [phi:print_sword::@2->print_char#1] -- vbuz1=vbuc1 + lda #'-' + sta print_char.ch + jsr print_char + jmp b4 + //SEG77 print_sword::@4 + b4: + //SEG78 [35] (signed word) print_sword::w#0 ← - (signed word) print_sword::w#1 [ char_cursor#12 print_sword::w#0 ] ( main:2::print_sword:17 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 print_sword::w#0 ] ) -- vwsz1=_neg_vwsz1 + sec + lda w + eor #$ff + adc #0 + sta w + lda w+1 + eor #$ff + adc #0 + sta w+1 + //SEG79 [36] phi from print_sword print_sword::@4 to print_sword::@1 [phi:print_sword/print_sword::@4->print_sword::@1] + b1_from_print_sword: + b1_from_b4: + //SEG80 [36] phi (byte*) char_cursor#43 = (byte*) char_cursor#48 [phi:print_sword/print_sword::@4->print_sword::@1#0] -- register_copy + //SEG81 [36] phi (signed word) print_sword::w#3 = (signed word) print_sword::w#1 [phi:print_sword/print_sword::@4->print_sword::@1#1] -- register_copy + jmp b1 + //SEG82 print_sword::@1 + b1: + //SEG83 [37] call print_word param-assignment [ char_cursor#12 ] ( main:2::print_sword:17 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 ] ) + jsr print_word + jmp breturn + //SEG84 print_sword::@return + breturn: + //SEG85 [38] return [ char_cursor#12 ] ( main:2::print_sword:17 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 ] ) + rts +} +//SEG86 print_word +print_word: { + //SEG87 [39] (byte) print_byte::b#0 ← > (word)(signed word) print_sword::w#3 [ print_sword::w#3 char_cursor#43 print_byte::b#0 ] ( main:2::print_sword:17::print_word:37 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 char_cursor#43 print_byte::b#0 ] ) -- vbuz1=_hi_vwuz2 + lda print_sword.w+1 + sta print_byte.b + //SEG88 [40] call print_byte param-assignment [ char_cursor#12 print_sword::w#3 ] ( main:2::print_sword:17::print_word:37 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 print_sword::w#3 ] ) + //SEG89 [44] phi from print_word to print_byte [phi:print_word->print_byte] + print_byte_from_print_word: + //SEG90 [44] phi (byte*) char_cursor#46 = (byte*) char_cursor#43 [phi:print_word->print_byte#0] -- register_copy + //SEG91 [44] phi (byte) print_byte::b#2 = (byte) print_byte::b#0 [phi:print_word->print_byte#1] -- register_copy + jsr print_byte + jmp b1 + //SEG92 print_word::@1 + b1: + //SEG93 [41] (byte) print_byte::b#1 ← < (word)(signed word) print_sword::w#3 [ char_cursor#12 print_byte::b#1 ] ( main:2::print_sword:17::print_word:37 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 print_byte::b#1 ] ) -- vbuz1=_lo_vwuz2 + lda print_sword.w + sta print_byte.b + //SEG94 [42] call print_byte param-assignment [ char_cursor#12 ] ( main:2::print_sword:17::print_word:37 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 ] ) + //SEG95 [44] phi from print_word::@1 to print_byte [phi:print_word::@1->print_byte] + print_byte_from_b1: + //SEG96 [44] phi (byte*) char_cursor#46 = (byte*) char_cursor#12 [phi:print_word::@1->print_byte#0] -- register_copy + //SEG97 [44] phi (byte) print_byte::b#2 = (byte) print_byte::b#1 [phi:print_word::@1->print_byte#1] -- register_copy + jsr print_byte + jmp breturn + //SEG98 print_word::@return + breturn: + //SEG99 [43] return [ char_cursor#12 ] ( main:2::print_sword:17::print_word:37 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 ] ) + rts +} +//SEG100 print_byte +print_byte: { + .label _0 = $4d + .label _2 = $4e + .label b = $b + //SEG101 [45] (byte~) print_byte::$0 ← (byte) print_byte::b#2 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ print_byte::b#2 char_cursor#46 print_byte::$0 ] ( main:2::print_sword:17::print_word:37::print_byte:40 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 print_byte::b#2 char_cursor#46 print_byte::$0 ] main:2::print_sword:17::print_word:37::print_byte:42 [ main::st1#2 main::st2#2 main::i#2 print_byte::b#2 char_cursor#46 print_byte::$0 ] ) -- vbuz1=vbuz2_ror_4 + lda b + lsr + lsr + lsr + lsr + sta _0 + //SEG102 [46] (byte) print_char::ch#1 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$0) [ print_byte::b#2 char_cursor#46 print_char::ch#1 ] ( main:2::print_sword:17::print_word:37::print_byte:40 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 print_byte::b#2 char_cursor#46 print_char::ch#1 ] main:2::print_sword:17::print_word:37::print_byte:42 [ main::st1#2 main::st2#2 main::i#2 print_byte::b#2 char_cursor#46 print_char::ch#1 ] ) -- vbuz1=pbuc1_derefidx_vbuz2 + ldy _0 + lda hextab,y + sta print_char.ch + //SEG103 [47] call print_char param-assignment [ char_cursor#12 print_byte::b#2 ] ( main:2::print_sword:17::print_word:37::print_byte:40 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 char_cursor#12 print_byte::b#2 ] main:2::print_sword:17::print_word:37::print_byte:42 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 print_byte::b#2 ] ) + //SEG104 [52] phi from print_byte to print_char [phi:print_byte->print_char] + print_char_from_print_byte: + //SEG105 [52] phi (byte*) char_cursor#33 = (byte*) char_cursor#46 [phi:print_byte->print_char#0] -- register_copy + //SEG106 [52] phi (byte) print_char::ch#3 = (byte) print_char::ch#1 [phi:print_byte->print_char#1] -- register_copy + jsr print_char + jmp b1 + //SEG107 print_byte::@1 + b1: + //SEG108 [48] (byte~) print_byte::$2 ← (byte) print_byte::b#2 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ char_cursor#12 print_byte::$2 ] ( main:2::print_sword:17::print_word:37::print_byte:40 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 char_cursor#12 print_byte::$2 ] main:2::print_sword:17::print_word:37::print_byte:42 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 print_byte::$2 ] ) -- vbuz1=vbuz2_band_vbuc1 + lda #$f + and b + sta _2 + //SEG109 [49] (byte) print_char::ch#2 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$2) [ char_cursor#12 print_char::ch#2 ] ( main:2::print_sword:17::print_word:37::print_byte:40 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 char_cursor#12 print_char::ch#2 ] main:2::print_sword:17::print_word:37::print_byte:42 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 print_char::ch#2 ] ) -- vbuz1=pbuc1_derefidx_vbuz2 + ldy _2 + lda hextab,y + sta print_char.ch + //SEG110 [50] call print_char param-assignment [ char_cursor#12 ] ( main:2::print_sword:17::print_word:37::print_byte:40 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 char_cursor#12 ] main:2::print_sword:17::print_word:37::print_byte:42 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 ] ) + //SEG111 [52] phi from print_byte::@1 to print_char [phi:print_byte::@1->print_char] + print_char_from_b1: + //SEG112 [52] phi (byte*) char_cursor#33 = (byte*) char_cursor#12 [phi:print_byte::@1->print_char#0] -- register_copy + //SEG113 [52] phi (byte) print_char::ch#3 = (byte) print_char::ch#2 [phi:print_byte::@1->print_char#1] -- register_copy + jsr print_char + jmp breturn + //SEG114 print_byte::@return + breturn: + //SEG115 [51] return [ char_cursor#12 ] ( main:2::print_sword:17::print_word:37::print_byte:40 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 char_cursor#12 ] main:2::print_sword:17::print_word:37::print_byte:42 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 ] ) + rts + hextab: .text "0123456789abcdef" +} +//SEG116 print_char +print_char: { + .label ch = $c + //SEG117 [53] *((byte*) char_cursor#33) ← (byte) print_char::ch#3 [ char_cursor#33 ] ( main:2::print_sword:17::print_char:34 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#1 char_cursor#33 ] main:2::print_sword:17::print_word:37::print_byte:40::print_char:47 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 print_byte::b#2 char_cursor#33 ] main:2::print_sword:17::print_word:37::print_byte:42::print_char:47 [ main::st1#2 main::st2#2 main::i#2 print_byte::b#2 char_cursor#33 ] main:2::print_sword:17::print_word:37::print_byte:40::print_char:50 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 char_cursor#33 ] main:2::print_sword:17::print_word:37::print_byte:42::print_char:50 [ main::st1#2 main::st2#2 main::i#2 char_cursor#33 ] ) -- _deref_pbuz1=vbuz2 + lda ch + ldy #0 + sta (char_cursor),y + //SEG118 [54] (byte*) char_cursor#12 ← ++ (byte*) char_cursor#33 [ char_cursor#12 ] ( main:2::print_sword:17::print_char:34 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#1 char_cursor#12 ] main:2::print_sword:17::print_word:37::print_byte:40::print_char:47 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 print_byte::b#2 char_cursor#12 ] main:2::print_sword:17::print_word:37::print_byte:42::print_char:47 [ main::st1#2 main::st2#2 main::i#2 print_byte::b#2 char_cursor#12 ] main:2::print_sword:17::print_word:37::print_byte:40::print_char:50 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 char_cursor#12 ] main:2::print_sword:17::print_word:37::print_byte:42::print_char:50 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 ] ) -- pbuz1=_inc_pbuz1 + inc char_cursor + bne !+ + inc char_cursor+1 + !: + jmp breturn + //SEG119 print_char::@return + breturn: + //SEG120 [55] return [ char_cursor#12 ] ( main:2::print_sword:17::print_char:34 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#1 char_cursor#12 ] main:2::print_sword:17::print_word:37::print_byte:40::print_char:47 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 print_byte::b#2 char_cursor#12 ] main:2::print_sword:17::print_word:37::print_byte:42::print_char:47 [ main::st1#2 main::st2#2 main::i#2 print_byte::b#2 char_cursor#12 ] main:2::print_sword:17::print_word:37::print_byte:40::print_char:50 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 char_cursor#12 ] main:2::print_sword:17::print_word:37::print_byte:42::print_char:50 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 ] ) + rts +} +//SEG121 print_cls +print_cls: { + .label sc = $f + //SEG122 [57] phi from print_cls to print_cls::@1 [phi:print_cls->print_cls::@1] + b1_from_print_cls: + //SEG123 [57] phi (byte*) print_cls::sc#2 = (const byte*) SCREEN#0 [phi:print_cls->print_cls::@1#0] -- pbuz1=pbuc1 + lda #SCREEN + sta sc+1 + jmp b1 + //SEG124 [57] phi from print_cls::@1 to print_cls::@1 [phi:print_cls::@1->print_cls::@1] + b1_from_b1: + //SEG125 [57] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#1 [phi:print_cls::@1->print_cls::@1#0] -- register_copy + jmp b1 + //SEG126 print_cls::@1 + b1: + //SEG127 [58] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:9 [ print_cls::sc#2 ] ) -- _deref_pbuz1=vbuc1 + lda #' ' + ldy #0 + sta (sc),y + //SEG128 [59] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::print_cls:9 [ print_cls::sc#1 ] ) -- pbuz1=_inc_pbuz1 + inc sc + bne !+ + inc sc+1 + !: + //SEG129 [60] 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 ] ) -- pbuz1_neq_pbuc1_then_la1 + lda sc+1 + cmp #>SCREEN+$3e8 + bne b1_from_b1 + lda sc + cmp #div32u16u] + div32u16u_from_sin16s_genb: + //SEG135 [135] phi (word) rem16u#26 = (word) divr16u::rem#11 [phi:sin16s_genb->div32u16u#0] -- register_copy + //SEG136 [135] phi (word) div32u16u::divisor#2 = (const word) main::wavelength#0 [phi:sin16s_genb->div32u16u#1] -- vwuz1=vwuc1 + lda #main.wavelength + sta div32u16u.divisor+1 + //SEG137 [135] phi (dword) div32u16u::dividend#2 = (const dword) PI2_u4f28#0 [phi:sin16s_genb->div32u16u#2] -- vduz1=vduc1 + lda #PI2_u4f28 + sta div32u16u.dividend+1 + lda #>$10 + sta div32u16u.dividend+2 + lda #>PI2_u4f28>>$10 + sta div32u16u.dividend+3 + jsr div32u16u + //SEG138 [64] (dword) div32u16u::return#3 ← (dword) div32u16u::return#0 [ div32u16u::return#3 ] ( main:2::sin16s_genb:7 [ div32u16u::return#3 ] ) -- vduz1=vduz2 + lda div32u16u.return + sta div32u16u.return_3 + lda div32u16u.return+1 + sta div32u16u.return_3+1 + lda div32u16u.return+2 + sta div32u16u.return_3+2 + lda div32u16u.return+3 + sta div32u16u.return_3+3 + jmp b3 + //SEG139 sin16s_genb::@3 + b3: + //SEG140 [65] (dword) sin16s_genb::step#0 ← (dword) div32u16u::return#3 [ sin16s_genb::step#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 ] ) -- vduz1=vduz2 + lda div32u16u.return_3 + sta step + lda div32u16u.return_3+1 + sta step+1 + lda div32u16u.return_3+2 + sta step+2 + lda div32u16u.return_3+3 + sta step+3 + //SEG141 [66] phi from sin16s_genb::@3 to sin16s_genb::@1 [phi:sin16s_genb::@3->sin16s_genb::@1] + b1_from_b3: + //SEG142 [66] phi (word) sin16s_genb::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s_genb::@3->sin16s_genb::@1#0] -- vwuz1=vbuc1 + lda #<0 + sta i + lda #>0 + sta i+1 + //SEG143 [66] phi (signed word*) sin16s_genb::sintab#2 = (const signed word[120]) main::sintab2#0 [phi:sin16s_genb::@3->sin16s_genb::@1#1] -- pwsz1=pwsc1 + lda #main.sintab2 + sta sintab+1 + //SEG144 [66] phi (dword) sin16s_genb::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s_genb::@3->sin16s_genb::@1#2] -- vduz1=vbuc1 + lda #0 + sta x + lda #0 + sta x+1 + sta x+2 + sta x+3 + jmp b1 + //SEG145 [66] phi from sin16s_genb::@4 to sin16s_genb::@1 [phi:sin16s_genb::@4->sin16s_genb::@1] + b1_from_b4: + //SEG146 [66] phi (word) sin16s_genb::i#2 = (word) sin16s_genb::i#1 [phi:sin16s_genb::@4->sin16s_genb::@1#0] -- register_copy + //SEG147 [66] phi (signed word*) sin16s_genb::sintab#2 = (signed word*) sin16s_genb::sintab#0 [phi:sin16s_genb::@4->sin16s_genb::@1#1] -- register_copy + //SEG148 [66] phi (dword) sin16s_genb::x#2 = (dword) sin16s_genb::x#1 [phi:sin16s_genb::@4->sin16s_genb::@1#2] -- register_copy + jmp b1 + //SEG149 sin16s_genb::@1 + b1: + //SEG150 [67] (word) sin16sb::x#0 ← > (dword) sin16s_genb::x#2 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#0 ] ) -- vwuz1=_hi_vduz2 + lda x+2 + sta sin16sb.x + lda x+3 + sta sin16sb.x+1 + //SEG151 [68] call sin16sb param-assignment [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#1 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#1 ] ) + jsr sin16sb + //SEG152 [69] (signed word) sin16sb::return#0 ← (signed word) sin16sb::return#1 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#0 ] ) -- vwsz1=vwsz2 + lda sin16sb.return_1 + sta sin16sb.return + lda sin16sb.return_1+1 + sta sin16sb.return+1 + jmp b4 + //SEG153 sin16s_genb::@4 + b4: + //SEG154 [70] (signed word~) sin16s_genb::$2 ← (signed word) sin16sb::return#0 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16s_genb::$2 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16s_genb::$2 ] ) -- vwsz1=vwsz2 + lda sin16sb.return + sta _2 + lda sin16sb.return+1 + sta _2+1 + //SEG155 [71] *((signed word*) sin16s_genb::sintab#2) ← (signed word~) sin16s_genb::$2 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 ] ) -- _deref_pwsz1=vwsz2 + ldy #0 + lda _2 + sta (sintab),y + iny + lda _2+1 + sta (sintab),y + //SEG156 [72] (signed word*) sin16s_genb::sintab#0 ← (signed word*) sin16s_genb::sintab#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::i#2 sin16s_genb::sintab#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::i#2 sin16s_genb::sintab#0 ] ) -- pwsz1=pwsz1_plus_vbuc1 + clc + lda sintab + adc #<2 + sta sintab + lda sintab+1 + adc #>2 + sta sintab+1 + //SEG157 [73] (dword) sin16s_genb::x#1 ← (dword) sin16s_genb::x#2 + (dword) sin16s_genb::step#0 [ sin16s_genb::step#0 sin16s_genb::i#2 sin16s_genb::x#1 sin16s_genb::sintab#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::i#2 sin16s_genb::x#1 sin16s_genb::sintab#0 ] ) -- vduz1=vduz1_plus_vduz2 + 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 + //SEG158 [74] (word) sin16s_genb::i#1 ← ++ (word) sin16s_genb::i#2 [ sin16s_genb::step#0 sin16s_genb::x#1 sin16s_genb::sintab#0 sin16s_genb::i#1 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#1 sin16s_genb::sintab#0 sin16s_genb::i#1 ] ) -- vwuz1=_inc_vwuz1 + inc i + bne !+ + inc i+1 + !: + //SEG159 [75] if((word) sin16s_genb::i#1<(const word) main::wavelength#0) goto sin16s_genb::@1 [ sin16s_genb::step#0 sin16s_genb::x#1 sin16s_genb::sintab#0 sin16s_genb::i#1 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#1 sin16s_genb::sintab#0 sin16s_genb::i#1 ] ) -- vwuz1_lt_vwuc1_then_la1 + lda i+1 + cmp #>main.wavelength + bcc b1_from_b4 + bne !+ + lda i + cmp #PI_u4f12 + bcc b1_from_sin16sb + bne !+ + lda x + cmp #PI_u4f12 + sta x+1 + //SEG166 [79] phi from sin16sb::@4 to sin16sb::@1 [phi:sin16sb::@4->sin16sb::@1] + b1_from_b4: + //SEG167 [79] phi (byte) sin16sb::isUpper#2 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin16sb::@4->sin16sb::@1#0] -- vbuz1=vbuc1 + lda #1 + sta isUpper + //SEG168 [79] phi (word) sin16sb::x#4 = (word) sin16sb::x#1 [phi:sin16sb::@4->sin16sb::@1#1] -- register_copy + jmp b1 + //SEG169 [79] phi from sin16sb to sin16sb::@1 [phi:sin16sb->sin16sb::@1] + b1_from_sin16sb: + //SEG170 [79] phi (byte) sin16sb::isUpper#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16sb->sin16sb::@1#0] -- vbuz1=vbuc1 + lda #0 + sta isUpper + //SEG171 [79] phi (word) sin16sb::x#4 = (word) sin16sb::x#0 [phi:sin16sb->sin16sb::@1#1] -- register_copy + jmp b1 + //SEG172 sin16sb::@1 + b1: + //SEG173 [80] if((word) sin16sb::x#4<(const word) PI_HALF_u4f12#0) goto sin16sb::@2 [ sin16sb::x#4 sin16sb::isUpper#2 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#4 sin16sb::isUpper#2 ] ) -- vwuz1_lt_vwuc1_then_la1 + lda x+1 + cmp #>PI_HALF_u4f12 + bcc b2_from_b1 + bne !+ + lda x + cmp #PI_u4f12 + sbc x+1 + sta x+1 + //SEG176 [82] phi from sin16sb::@1 sin16sb::@5 to sin16sb::@2 [phi:sin16sb::@1/sin16sb::@5->sin16sb::@2] + b2_from_b1: + b2_from_b5: + //SEG177 [82] phi (word) sin16sb::x#6 = (word) sin16sb::x#4 [phi:sin16sb::@1/sin16sb::@5->sin16sb::@2#0] -- register_copy + jmp b2 + //SEG178 sin16sb::@2 + b2: + //SEG179 [83] (word) sin16sb::x1#0 ← (word) sin16sb::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin16sb::isUpper#2 sin16sb::x1#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 ] ) -- vwuz1=vwuz2_rol_3 + lda x + asl + sta x1 + lda x+1 + rol + sta x1+1 + asl x1 + rol x1+1 + asl x1 + rol x1+1 + //SEG180 [84] (word) mulu16_sel::v1#5 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#5 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#5 ] ) -- vwuz1=vwuz2 + lda x1 + sta mulu16_sel.v1 + lda x1+1 + sta mulu16_sel.v1+1 + //SEG181 [85] (word) mulu16_sel::v2#5 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#5 mulu16_sel::v2#5 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#5 mulu16_sel::v2#5 ] ) -- vwuz1=vwuz2 + lda x1 + sta mulu16_sel.v2 + lda x1+1 + sta mulu16_sel.v2+1 + //SEG182 [86] call mulu16_sel param-assignment [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] ) + //SEG183 [116] phi from sin16sb::@2 to mulu16_sel [phi:sin16sb::@2->mulu16_sel] + mulu16_sel_from_b2: + //SEG184 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16sb::@2->mulu16_sel#0] -- vbuz1=vbuc1 + lda #0 + sta mulu16_sel.select + //SEG185 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#5 [phi:sin16sb::@2->mulu16_sel#1] -- register_copy + //SEG186 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#5 [phi:sin16sb::@2->mulu16_sel#2] -- register_copy + jsr mulu16_sel + //SEG187 [87] (word) mulu16_sel::return#18 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#18 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#18 ] ) -- vwuz1=vwuz2 + lda mulu16_sel.return_17 + sta mulu16_sel.return_18 + lda mulu16_sel.return_17+1 + sta mulu16_sel.return_18+1 + jmp b8 + //SEG188 sin16sb::@8 + b8: + //SEG189 [88] (word) sin16sb::x2#0 ← (word) mulu16_sel::return#18 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x2#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x2#0 ] ) -- vwuz1=vwuz2 + lda mulu16_sel.return_18 + sta x2 + lda mulu16_sel.return_18+1 + sta x2+1 + //SEG190 [89] (word) mulu16_sel::v1#6 ← (word) sin16sb::x2#0 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#6 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#6 ] ) -- vwuz1=vwuz2 + lda x2 + sta mulu16_sel.v1 + lda x2+1 + sta mulu16_sel.v1+1 + //SEG191 [90] (word) mulu16_sel::v2#6 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#6 mulu16_sel::v2#6 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#6 mulu16_sel::v2#6 ] ) -- vwuz1=vwuz2 + lda x1 + sta mulu16_sel.v2 + lda x1+1 + sta mulu16_sel.v2+1 + //SEG192 [91] call mulu16_sel param-assignment [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] ) + //SEG193 [116] phi from sin16sb::@8 to mulu16_sel [phi:sin16sb::@8->mulu16_sel] + mulu16_sel_from_b8: + //SEG194 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin16sb::@8->mulu16_sel#0] -- vbuz1=vbuc1 + lda #1 + sta mulu16_sel.select + //SEG195 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#6 [phi:sin16sb::@8->mulu16_sel#1] -- register_copy + //SEG196 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#6 [phi:sin16sb::@8->mulu16_sel#2] -- register_copy + jsr mulu16_sel + //SEG197 [92] (word) mulu16_sel::return#19 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#19 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#19 ] ) -- vwuz1=vwuz2 + lda mulu16_sel.return_17 + sta mulu16_sel.return_19 + lda mulu16_sel.return_17+1 + sta mulu16_sel.return_19+1 + jmp b9 + //SEG198 sin16sb::@9 + b9: + //SEG199 [93] (word) sin16sb::x3#0 ← (word) mulu16_sel::return#19 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 ] ) -- vwuz1=vwuz2 + lda mulu16_sel.return_19 + sta x3 + lda mulu16_sel.return_19+1 + sta x3+1 + //SEG200 [94] (word) mulu16_sel::v1#7 ← (word) sin16sb::x3#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v1#7 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v1#7 ] ) -- vwuz1=vwuz2 + lda x3 + sta mulu16_sel.v1 + lda x3+1 + sta mulu16_sel.v1+1 + //SEG201 [95] call mulu16_sel param-assignment [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 sin16sb::x3#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 sin16sb::x3#0 ] ) + //SEG202 [116] phi from sin16sb::@9 to mulu16_sel [phi:sin16sb::@9->mulu16_sel] + mulu16_sel_from_b9: + //SEG203 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin16sb::@9->mulu16_sel#0] -- vbuz1=vbuc1 + lda #1 + sta mulu16_sel.select + //SEG204 [116] phi (word) mulu16_sel::v2#10 = (dword/signed dword) 65536/(byte/signed byte/word/signed word/dword/signed dword) 6 [phi:sin16sb::@9->mulu16_sel#1] -- vwuz1=vwuc1 + lda #<$10000/6 + sta mulu16_sel.v2 + lda #>$10000/6 + sta mulu16_sel.v2+1 + //SEG205 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#7 [phi:sin16sb::@9->mulu16_sel#2] -- register_copy + jsr mulu16_sel + //SEG206 [96] (word) mulu16_sel::return#20 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#20 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#20 ] ) -- vwuz1=vwuz2 + lda mulu16_sel.return_17 + sta mulu16_sel.return_20 + lda mulu16_sel.return_17+1 + sta mulu16_sel.return_20+1 + jmp b10 + //SEG207 sin16sb::@10 + b10: + //SEG208 [97] (word) sin16sb::x3_6#0 ← (word) mulu16_sel::return#20 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 sin16sb::x3_6#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 sin16sb::x3_6#0 ] ) -- vwuz1=vwuz2 + lda mulu16_sel.return_20 + sta x3_6 + lda mulu16_sel.return_20+1 + sta x3_6+1 + //SEG209 [98] (word) sin16sb::usinx#0 ← (word) sin16sb::x1#0 - (word) sin16sb::x3_6#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 sin16sb::usinx#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 sin16sb::usinx#0 ] ) -- vwuz1=vwuz2_minus_vwuz3 + lda x1 + sec + sbc x3_6 + sta usinx + lda x1+1 + sbc x3_6+1 + sta usinx+1 + //SEG210 [99] (word) mulu16_sel::v1#8 ← (word) sin16sb::x3#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#8 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#8 ] ) -- vwuz1=vwuz2 + lda x3 + sta mulu16_sel.v1 + lda x3+1 + sta mulu16_sel.v1+1 + //SEG211 [100] (word) mulu16_sel::v2#8 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#8 mulu16_sel::v2#8 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#8 mulu16_sel::v2#8 ] ) -- vwuz1=vwuz2 + lda x1 + sta mulu16_sel.v2 + lda x1+1 + sta mulu16_sel.v2+1 + //SEG212 [101] call mulu16_sel param-assignment [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 sin16sb::usinx#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 sin16sb::usinx#0 ] ) + //SEG213 [116] phi from sin16sb::@10 to mulu16_sel [phi:sin16sb::@10->mulu16_sel] + mulu16_sel_from_b10: + //SEG214 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16sb::@10->mulu16_sel#0] -- vbuz1=vbuc1 + lda #0 + sta mulu16_sel.select + //SEG215 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#8 [phi:sin16sb::@10->mulu16_sel#1] -- register_copy + //SEG216 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#8 [phi:sin16sb::@10->mulu16_sel#2] -- register_copy + jsr mulu16_sel + //SEG217 [102] (word) mulu16_sel::return#10 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#10 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#10 ] ) -- vwuz1=vwuz2 + lda mulu16_sel.return_17 + sta mulu16_sel.return_10 + lda mulu16_sel.return_17+1 + sta mulu16_sel.return_10+1 + jmp b11 + //SEG218 sin16sb::@11 + b11: + //SEG219 [103] (word) sin16sb::x4#0 ← (word) mulu16_sel::return#10 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 sin16sb::x4#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 sin16sb::x4#0 ] ) -- vwuz1=vwuz2 + lda mulu16_sel.return_10 + sta x4 + lda mulu16_sel.return_10+1 + sta x4+1 + //SEG220 [104] (word) mulu16_sel::v1#9 ← (word) sin16sb::x4#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#9 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#9 ] ) -- vwuz1=vwuz2 + lda x4 + sta mulu16_sel.v1 + lda x4+1 + sta mulu16_sel.v1+1 + //SEG221 [105] (word) mulu16_sel::v2#9 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v1#9 mulu16_sel::v2#9 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v1#9 mulu16_sel::v2#9 ] ) -- vwuz1=vwuz2 + lda x1 + sta mulu16_sel.v2 + lda x1+1 + sta mulu16_sel.v2+1 + //SEG222 [106] call mulu16_sel param-assignment [ sin16sb::isUpper#2 mulu16_sel::return#17 sin16sb::usinx#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 mulu16_sel::return#17 sin16sb::usinx#0 ] ) + //SEG223 [116] phi from sin16sb::@11 to mulu16_sel [phi:sin16sb::@11->mulu16_sel] + mulu16_sel_from_b11: + //SEG224 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16sb::@11->mulu16_sel#0] -- vbuz1=vbuc1 + lda #0 + sta mulu16_sel.select + //SEG225 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#9 [phi:sin16sb::@11->mulu16_sel#1] -- register_copy + //SEG226 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#9 [phi:sin16sb::@11->mulu16_sel#2] -- register_copy + jsr mulu16_sel + //SEG227 [107] (word) mulu16_sel::return#11 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#11 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#11 ] ) -- vwuz1=vwuz2 + lda mulu16_sel.return_17 + sta mulu16_sel.return_11 + lda mulu16_sel.return_17+1 + sta mulu16_sel.return_11+1 + jmp b12 + //SEG228 sin16sb::@12 + b12: + //SEG229 [108] (word) sin16sb::x5#0 ← (word) mulu16_sel::return#11 [ sin16sb::isUpper#2 sin16sb::usinx#0 sin16sb::x5#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 sin16sb::x5#0 ] ) -- vwuz1=vwuz2 + lda mulu16_sel.return_11 + sta x5 + lda mulu16_sel.return_11+1 + sta x5+1 + //SEG230 [109] (word) sin16sb::x5_128#0 ← (word) sin16sb::x5#0 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ sin16sb::isUpper#2 sin16sb::usinx#0 sin16sb::x5_128#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 sin16sb::x5_128#0 ] ) -- vwuz1=vwuz2_ror_4 + lda x5+1 + sta x5_128+1 + lda x5 + sta x5_128 + ldy #4 + !: + lsr x5_128+1 + ror x5_128 + dey + bne !- + //SEG231 [110] (word) sin16sb::usinx#1 ← (word) sin16sb::usinx#0 + (word) sin16sb::x5_128#0 [ sin16sb::isUpper#2 sin16sb::usinx#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#1 ] ) -- vwuz1=vwuz2_plus_vwuz3 + lda usinx_1 + clc + adc usinx + sta x5_128 + lda usinx_1+1 + adc usinx+1 + sta x5_128+1 + //SEG232 [111] if((byte) sin16sb::isUpper#2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin16sb::@15 [ sin16sb::usinx#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::usinx#1 ] ) -- vbuz1_eq_0_then_la1 + lda isUpper + beq b15 + jmp b6 + //SEG233 sin16sb::@6 + b6: + //SEG234 [112] (signed word) sin16sb::sinx#1 ← - (signed word)(word) sin16sb::usinx#1 [ sin16sb::sinx#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::sinx#1 ] ) -- vwsz1=_neg_vwsz2 + sec + lda usinx_1 + eor #$ff + adc #0 + sta sinx + lda usinx_1+1 + eor #$ff + adc #0 + sta sinx+1 + //SEG235 [113] phi from sin16sb::@15 sin16sb::@6 to sin16sb::@3 [phi:sin16sb::@15/sin16sb::@6->sin16sb::@3] + b3_from_b15: + b3_from_b6: + //SEG236 [113] phi (signed word) sin16sb::return#1 = (signed word~) sin16sb::return#5 [phi:sin16sb::@15/sin16sb::@6->sin16sb::@3#0] -- register_copy + jmp b3 + //SEG237 sin16sb::@3 + b3: + jmp breturn + //SEG238 sin16sb::@return + breturn: + //SEG239 [114] return [ sin16sb::return#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#1 ] ) + rts + //SEG240 sin16sb::@15 + b15: + //SEG241 [115] (signed word~) sin16sb::return#5 ← (signed word)(word) sin16sb::usinx#1 [ sin16sb::return#5 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#5 ] ) -- vwsz1=vwsz2 + lda usinx_1 + sta return_5 + lda usinx_1+1 + sta return_5+1 + jmp b3_from_b15 +} +//SEG242 mulu16_sel +mulu16_sel: { + .label _0 = $7d + .label _1 = $81 + .label v1 = $1e + .label v2 = $20 + .label return = $a8 + .label return_1 = $ac + .label return_10 = $6b + .label return_11 = $6f + .label return_14 = $b0 + .label return_15 = $b6 + .label return_16 = $ba + .label select = $22 + .label return_17 = $85 + .label return_18 = $5d + .label return_19 = $61 + .label return_20 = $65 + //SEG243 [117] (word) mul16u::a#1 ← (word) mulu16_sel::v1#10 [ mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] ) -- vwuz1=vwuz2 + lda v1 + sta mul16u.a + lda v1+1 + sta mul16u.a+1 + //SEG244 [118] (word) mul16u::b#0 ← (word) mulu16_sel::v2#10 [ mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] ) -- vwuz1=vwuz2 + lda v2 + sta mul16u.b + lda v2+1 + sta mul16u.b+1 + //SEG245 [119] call mul16u param-assignment [ mulu16_sel::select#10 mul16u::res#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] ) + jsr mul16u + //SEG246 [120] (dword) mul16u::return#2 ← (dword) mul16u::res#2 [ mulu16_sel::select#10 mul16u::return#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] ) -- vduz1=vduz2 + lda mul16u.res + sta mul16u.return + lda mul16u.res+1 + sta mul16u.return+1 + lda mul16u.res+2 + sta mul16u.return+2 + lda mul16u.res+3 + sta mul16u.return+3 + jmp b2 + //SEG247 mulu16_sel::@2 + b2: + //SEG248 [121] (dword~) mulu16_sel::$0 ← (dword) mul16u::return#2 [ mulu16_sel::select#10 mulu16_sel::$0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] ) -- vduz1=vduz2 + lda mul16u.return + sta _0 + lda mul16u.return+1 + sta _0+1 + lda mul16u.return+2 + sta _0+2 + lda mul16u.return+3 + sta _0+3 + //SEG249 [122] (dword~) mulu16_sel::$1 ← (dword~) mulu16_sel::$0 << (byte) mulu16_sel::select#10 [ mulu16_sel::$1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::$1 ] ) -- vduz1=vduz2_rol_vbuz3 + lda _0 + sta _1 + lda _0+1 + sta _1+1 + lda _0+2 + sta _1+2 + lda _0+3 + sta _1+3 + ldx select + beq !e+ + !: + asl _1 + rol _1+1 + rol _1+2 + rol _1+3 + dex + bne !- + !e: + //SEG250 [123] (word) mulu16_sel::return#17 ← > (dword~) mulu16_sel::$1 [ mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#17 ] ) -- vwuz1=_hi_vduz2 + lda _1+2 + sta return_17 + lda _1+3 + sta return_17+1 + jmp breturn + //SEG251 mulu16_sel::@return + breturn: + //SEG252 [124] return [ mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#17 ] ) + rts +} +//SEG253 mul16u +mul16u: { + .label _1 = $87 + .label mb = $29 + .label a = $23 + .label res = $25 + .label b = $77 + .label return = $79 + //SEG254 [125] (dword) mul16u::mb#0 ← ((dword)) (word) mul16u::b#0 [ mul16u::a#1 mul16u::mb#0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] ) -- vduz1=_dword_vwuz2 + lda b + sta mb + lda b+1 + sta mb+1 + lda #0 + sta mb+2 + sta mb+3 + //SEG255 [126] phi from mul16u to mul16u::@1 [phi:mul16u->mul16u::@1] + b1_from_mul16u: + //SEG256 [126] phi (dword) mul16u::mb#2 = (dword) mul16u::mb#0 [phi:mul16u->mul16u::@1#0] -- register_copy + //SEG257 [126] phi (dword) mul16u::res#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mul16u->mul16u::@1#1] -- vduz1=vbuc1 + lda #0 + sta res + lda #0 + sta res+1 + sta res+2 + sta res+3 + //SEG258 [126] phi (word) mul16u::a#2 = (word) mul16u::a#1 [phi:mul16u->mul16u::@1#2] -- register_copy + jmp b1 + //SEG259 mul16u::@1 + b1: + //SEG260 [127] if((word) mul16u::a#2!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul16u::@2 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ) -- vwuz1_neq_0_then_la1 + lda a + bne b2 + lda a+1 + bne b2 + jmp breturn + //SEG261 mul16u::@return + breturn: + //SEG262 [128] return [ mul16u::res#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] ) + rts + //SEG263 mul16u::@2 + b2: + //SEG264 [129] (byte~) mul16u::$1 ← (word) mul16u::a#2 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] ) -- vbuz1=vwuz2_band_vbuc1 + lda a + and #1 + sta _1 + //SEG265 [130] if((byte~) mul16u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul16u::@4 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ) -- vbuz1_eq_0_then_la1 + lda _1 + beq b4_from_b2 + jmp b7 + //SEG266 mul16u::@7 + b7: + //SEG267 [131] (dword) mul16u::res#1 ← (dword) mul16u::res#2 + (dword) mul16u::mb#2 [ mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] ) -- vduz1=vduz1_plus_vduz2 + 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 + //SEG268 [132] phi from mul16u::@2 mul16u::@7 to mul16u::@4 [phi:mul16u::@2/mul16u::@7->mul16u::@4] + b4_from_b2: + b4_from_b7: + //SEG269 [132] phi (dword) mul16u::res#6 = (dword) mul16u::res#2 [phi:mul16u::@2/mul16u::@7->mul16u::@4#0] -- register_copy + jmp b4 + //SEG270 mul16u::@4 + b4: + //SEG271 [133] (word) mul16u::a#0 ← (word) mul16u::a#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] ) -- vwuz1=vwuz1_ror_1 + clc + ror a+1 + ror a + //SEG272 [134] (dword) mul16u::mb#1 ← (dword) mul16u::mb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] ) -- vduz1=vduz1_rol_1 + asl mb + rol mb+1 + rol mb+2 + rol mb+3 + //SEG273 [126] phi from mul16u::@4 to mul16u::@1 [phi:mul16u::@4->mul16u::@1] + b1_from_b4: + //SEG274 [126] phi (dword) mul16u::mb#2 = (dword) mul16u::mb#1 [phi:mul16u::@4->mul16u::@1#0] -- register_copy + //SEG275 [126] phi (dword) mul16u::res#2 = (dword) mul16u::res#6 [phi:mul16u::@4->mul16u::@1#1] -- register_copy + //SEG276 [126] phi (word) mul16u::a#2 = (word) mul16u::a#0 [phi:mul16u::@4->mul16u::@1#2] -- register_copy + jmp b1 +} +//SEG277 div32u16u +div32u16u: { + .label quotient_hi = $8a + .label quotient_lo = $8e + .label return = $90 + .label return_2 = $96 + .label return_3 = $4f + .label dividend = $2d + .label divisor = $31 + //SEG278 [136] (word) divr16u::dividend#1 ← > (dword) div32u16u::dividend#2 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 ] ) -- vwuz1=_hi_vduz2 + lda dividend+2 + sta divr16u.dividend + lda dividend+3 + sta divr16u.dividend+1 + //SEG279 [137] (word) divr16u::divisor#0 ← (word) div32u16u::divisor#2 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 divr16u::divisor#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 divr16u::divisor#0 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 divr16u::divisor#0 ] ) -- vwuz1=vwuz2 + lda divisor + sta divr16u.divisor + lda divisor+1 + sta divr16u.divisor+1 + //SEG280 [138] call divr16u param-assignment [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#0 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#0 ] ) + //SEG281 [149] phi from div32u16u to divr16u [phi:div32u16u->divr16u] + divr16u_from_div32u16u: + //SEG282 [149] phi (word) divr16u::divisor#6 = (word) divr16u::divisor#0 [phi:div32u16u->divr16u#0] -- register_copy + //SEG283 [149] phi (word) divr16u::dividend#5 = (word) divr16u::dividend#1 [phi:div32u16u->divr16u#1] -- register_copy + //SEG284 [149] phi (word) divr16u::rem#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:div32u16u->divr16u#2] -- vwuz1=vbuc1 + lda #<0 + sta divr16u.rem + lda #>0 + sta divr16u.rem+1 + jsr divr16u + //SEG285 [139] (word) divr16u::return#2 ← (word) divr16u::return#0 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#2 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#2 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#2 ] ) -- vwuz1=vwuz2 + lda divr16u.return + sta divr16u.return_2 + lda divr16u.return+1 + sta divr16u.return_2+1 + jmp b2 + //SEG286 div32u16u::@2 + b2: + //SEG287 [140] (word) div32u16u::quotient_hi#0 ← (word) divr16u::return#2 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 div32u16u::quotient_hi#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 div32u16u::quotient_hi#0 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 div32u16u::quotient_hi#0 ] ) -- vwuz1=vwuz2 + lda divr16u.return_2 + sta quotient_hi + lda divr16u.return_2+1 + sta quotient_hi+1 + //SEG288 [141] (word) divr16u::dividend#2 ← < (dword) div32u16u::dividend#2 [ div32u16u::divisor#2 divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::dividend#2 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::divisor#2 divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::dividend#2 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::divisor#2 divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::dividend#2 ] ) -- vwuz1=_lo_vduz2 + lda dividend + sta divr16u.dividend + lda dividend+1 + sta divr16u.dividend+1 + //SEG289 [142] (word) divr16u::divisor#1 ← (word) div32u16u::divisor#2 [ divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 ] main:2::sin16s_gen:5::div32u16u:167 [ divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 ] ) -- vwuz1=vwuz2 + lda divisor + sta divr16u.divisor + lda divisor+1 + sta divr16u.divisor+1 + //SEG290 [143] (word) divr16u::rem#4 ← (word) divr16u::rem#11 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 divr16u::rem#4 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 divr16u::rem#4 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 divr16u::rem#4 ] ) + // (word) divr16u::rem#4 = (word) divr16u::rem#11 // register copy zp ZP_WORD:53 + //SEG291 [144] call divr16u param-assignment [ divr16u::rem#11 divr16u::return#0 div32u16u::quotient_hi#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ divr16u::rem#11 divr16u::return#0 div32u16u::quotient_hi#0 ] main:2::sin16s_gen:5::div32u16u:167 [ divr16u::rem#11 divr16u::return#0 div32u16u::quotient_hi#0 ] ) + //SEG292 [149] phi from div32u16u::@2 to divr16u [phi:div32u16u::@2->divr16u] + divr16u_from_b2: + //SEG293 [149] phi (word) divr16u::divisor#6 = (word) divr16u::divisor#1 [phi:div32u16u::@2->divr16u#0] -- register_copy + //SEG294 [149] phi (word) divr16u::dividend#5 = (word) divr16u::dividend#2 [phi:div32u16u::@2->divr16u#1] -- register_copy + //SEG295 [149] phi (word) divr16u::rem#10 = (word) divr16u::rem#4 [phi:div32u16u::@2->divr16u#2] -- register_copy + jsr divr16u + //SEG296 [145] (word) divr16u::return#3 ← (word) divr16u::return#0 [ divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::return#3 ] ( main:2::sin16s_genb:7::div32u16u:63 [ divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::return#3 ] main:2::sin16s_gen:5::div32u16u:167 [ divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::return#3 ] ) -- vwuz1=vwuz2 + lda divr16u.return + sta divr16u.return_3 + lda divr16u.return+1 + sta divr16u.return_3+1 + jmp b3 + //SEG297 div32u16u::@3 + b3: + //SEG298 [146] (word) div32u16u::quotient_lo#0 ← (word) divr16u::return#3 [ divr16u::rem#11 div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ divr16u::rem#11 div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] main:2::sin16s_gen:5::div32u16u:167 [ divr16u::rem#11 div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ) -- vwuz1=vwuz2 + lda divr16u.return_3 + sta quotient_lo + lda divr16u.return_3+1 + sta quotient_lo+1 + //SEG299 [147] (dword) div32u16u::return#0 ← (word) div32u16u::quotient_hi#0 dw= (word) div32u16u::quotient_lo#0 [ div32u16u::return#0 divr16u::rem#11 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::return#0 divr16u::rem#11 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::return#0 divr16u::rem#11 ] ) -- vduz1=vwuz2_dword_vwuz3 + lda quotient_hi + sta return+2 + lda quotient_hi+1 + sta return+3 + lda quotient_lo + sta return + lda quotient_lo+1 + sta return+1 + jmp breturn + //SEG300 div32u16u::@return + breturn: + //SEG301 [148] return [ div32u16u::return#0 divr16u::rem#11 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::return#0 divr16u::rem#11 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::return#0 divr16u::rem#11 ] ) + rts +} +//SEG302 divr16u +divr16u: { + .label _1 = $94 + .label _2 = $95 + .label rem = $35 + .label dividend = $37 + .label quotient = $39 + .label i = $3b + .label return = $39 + .label divisor = $33 + .label return_2 = $88 + .label return_3 = $8c + //SEG303 [150] phi from divr16u to divr16u::@1 [phi:divr16u->divr16u::@1] + b1_from_divr16u: + //SEG304 [150] phi (byte) divr16u::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#0] -- vbuz1=vbuc1 + lda #0 + sta i + //SEG305 [150] phi (word) divr16u::quotient#3 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#1] -- vwuz1=vbuc1 + lda #<0 + sta quotient + lda #>0 + sta quotient+1 + //SEG306 [150] phi (word) divr16u::dividend#3 = (word) divr16u::dividend#5 [phi:divr16u->divr16u::@1#2] -- register_copy + //SEG307 [150] phi (word) divr16u::rem#5 = (word) divr16u::rem#10 [phi:divr16u->divr16u::@1#3] -- register_copy + jmp b1 + //SEG308 [150] phi from divr16u::@3 to divr16u::@1 [phi:divr16u::@3->divr16u::@1] + b1_from_b3: + //SEG309 [150] phi (byte) divr16u::i#2 = (byte) divr16u::i#1 [phi:divr16u::@3->divr16u::@1#0] -- register_copy + //SEG310 [150] phi (word) divr16u::quotient#3 = (word) divr16u::return#0 [phi:divr16u::@3->divr16u::@1#1] -- register_copy + //SEG311 [150] phi (word) divr16u::dividend#3 = (word) divr16u::dividend#0 [phi:divr16u::@3->divr16u::@1#2] -- register_copy + //SEG312 [150] phi (word) divr16u::rem#5 = (word) divr16u::rem#11 [phi:divr16u::@3->divr16u::@1#3] -- register_copy + jmp b1 + //SEG313 divr16u::@1 + b1: + //SEG314 [151] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vwuz1=vwuz1_rol_1 + asl rem + rol rem+1 + //SEG315 [152] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) -- vbuz1=_hi_vwuz2 + lda dividend+1 + sta _1 + //SEG316 [153] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) -- vbuz1=vbuz2_band_vbuc1 + lda #$80 + and _1 + sta _2 + //SEG317 [154] 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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vbuz1_eq_0_then_la1 + lda _2 + beq b2_from_b1 + jmp b4 + //SEG318 divr16u::@4 + b4: + //SEG319 [155] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) -- vwuz1=vwuz1_bor_vbuc1 + lda #1 + ora rem + sta rem + //SEG320 [156] phi from divr16u::@1 divr16u::@4 to divr16u::@2 [phi:divr16u::@1/divr16u::@4->divr16u::@2] + b2_from_b1: + b2_from_b4: + //SEG321 [156] phi (word) divr16u::rem#6 = (word) divr16u::rem#0 [phi:divr16u::@1/divr16u::@4->divr16u::@2#0] -- register_copy + jmp b2 + //SEG322 divr16u::@2 + b2: + //SEG323 [157] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ) -- vwuz1=vwuz1_rol_1 + asl dividend + rol dividend+1 + //SEG324 [158] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) -- vwuz1=vwuz1_rol_1 + asl quotient + rol quotient+1 + //SEG325 [159] 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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) -- vwuz1_lt_vwuz2_then_la1 + lda rem+1 + cmp divisor+1 + bcc b3_from_b2 + bne !+ + lda rem + cmp divisor + bcc b3_from_b2 + !: + jmp b5 + //SEG326 divr16u::@5 + b5: + //SEG327 [160] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] ) -- vwuz1=_inc_vwuz1 + inc quotient + bne !+ + inc quotient+1 + !: + //SEG328 [161] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) -- vwuz1=vwuz1_minus_vwuz2 + lda rem + sec + sbc divisor + sta rem + lda rem+1 + sbc divisor+1 + sta rem+1 + //SEG329 [162] phi from divr16u::@2 divr16u::@5 to divr16u::@3 [phi:divr16u::@2/divr16u::@5->divr16u::@3] + b3_from_b2: + b3_from_b5: + //SEG330 [162] phi (word) divr16u::return#0 = (word) divr16u::quotient#1 [phi:divr16u::@2/divr16u::@5->divr16u::@3#0] -- register_copy + //SEG331 [162] phi (word) divr16u::rem#11 = (word) divr16u::rem#6 [phi:divr16u::@2/divr16u::@5->divr16u::@3#1] -- register_copy + jmp b3 + //SEG332 divr16u::@3 + b3: + //SEG333 [163] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuz1=_inc_vbuz1 + inc i + //SEG334 [164] 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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuz1_neq_vbuc1_then_la1 + lda i + cmp #$10 + bne b1_from_b3 + jmp breturn + //SEG335 divr16u::@return + breturn: + //SEG336 [165] return [ divr16u::rem#11 divr16u::return#0 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#0 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#0 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#11 divr16u::return#0 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#11 divr16u::return#0 ] ) + rts +} +//SEG337 sin16s_gen +sin16s_gen: { + .label _1 = $a0 + .label step = $9a + .label sintab = $40 + .label x = $3c + .label i = $42 + //SEG338 [167] call div32u16u param-assignment [ div32u16u::return#0 divr16u::rem#11 ] ( main:2::sin16s_gen:5 [ div32u16u::return#0 divr16u::rem#11 ] ) + //SEG339 [135] phi from sin16s_gen to div32u16u [phi:sin16s_gen->div32u16u] + div32u16u_from_sin16s_gen: + //SEG340 [135] phi (word) rem16u#26 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s_gen->div32u16u#0] -- vwuz1=vbuc1 + lda #<0 + sta rem16u + lda #>0 + sta rem16u+1 + //SEG341 [135] phi (word) div32u16u::divisor#2 = (const word) main::wavelength#0 [phi:sin16s_gen->div32u16u#1] -- vwuz1=vwuc1 + lda #main.wavelength + sta div32u16u.divisor+1 + //SEG342 [135] phi (dword) div32u16u::dividend#2 = (const dword) PI2_u4f28#0 [phi:sin16s_gen->div32u16u#2] -- vduz1=vduc1 + lda #PI2_u4f28 + sta div32u16u.dividend+1 + lda #>$10 + sta div32u16u.dividend+2 + lda #>PI2_u4f28>>$10 + sta div32u16u.dividend+3 + jsr div32u16u + //SEG343 [168] (dword) div32u16u::return#2 ← (dword) div32u16u::return#0 [ divr16u::rem#11 div32u16u::return#2 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 div32u16u::return#2 ] ) -- vduz1=vduz2 + lda div32u16u.return + sta div32u16u.return_2 + lda div32u16u.return+1 + sta div32u16u.return_2+1 + lda div32u16u.return+2 + sta div32u16u.return_2+2 + lda div32u16u.return+3 + sta div32u16u.return_2+3 + jmp b3 + //SEG344 sin16s_gen::@3 + b3: + //SEG345 [169] (dword) sin16s_gen::step#0 ← (dword) div32u16u::return#2 [ divr16u::rem#11 sin16s_gen::step#0 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 ] ) -- vduz1=vduz2 + lda div32u16u.return_2 + sta step + lda div32u16u.return_2+1 + sta step+1 + lda div32u16u.return_2+2 + sta step+2 + lda div32u16u.return_2+3 + sta step+3 + //SEG346 [170] phi from sin16s_gen::@3 to sin16s_gen::@1 [phi:sin16s_gen::@3->sin16s_gen::@1] + b1_from_b3: + //SEG347 [170] phi (word) sin16s_gen::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s_gen::@3->sin16s_gen::@1#0] -- vwuz1=vbuc1 + lda #<0 + sta i + lda #>0 + sta i+1 + //SEG348 [170] phi (signed word*) sin16s_gen::sintab#2 = (const signed word[120]) main::sintab1#0 [phi:sin16s_gen::@3->sin16s_gen::@1#1] -- pwsz1=pwsc1 + lda #main.sintab1 + sta sintab+1 + //SEG349 [170] phi (dword) sin16s_gen::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s_gen::@3->sin16s_gen::@1#2] -- vduz1=vbuc1 + lda #0 + sta x + lda #0 + sta x+1 + sta x+2 + sta x+3 + jmp b1 + //SEG350 [170] phi from sin16s_gen::@4 to sin16s_gen::@1 [phi:sin16s_gen::@4->sin16s_gen::@1] + b1_from_b4: + //SEG351 [170] phi (word) sin16s_gen::i#2 = (word) sin16s_gen::i#1 [phi:sin16s_gen::@4->sin16s_gen::@1#0] -- register_copy + //SEG352 [170] phi (signed word*) sin16s_gen::sintab#2 = (signed word*) sin16s_gen::sintab#0 [phi:sin16s_gen::@4->sin16s_gen::@1#1] -- register_copy + //SEG353 [170] phi (dword) sin16s_gen::x#2 = (dword) sin16s_gen::x#1 [phi:sin16s_gen::@4->sin16s_gen::@1#2] -- register_copy + jmp b1 + //SEG354 sin16s_gen::@1 + b1: + //SEG355 [171] (dword) sin16s::x#0 ← (dword) sin16s_gen::x#2 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ) -- vduz1=vduz2 + lda x + sta sin16s.x + lda x+1 + sta sin16s.x+1 + lda x+2 + sta sin16s.x+2 + lda x+3 + sta sin16s.x+3 + //SEG356 [172] call sin16s param-assignment [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#1 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#1 ] ) + jsr sin16s + //SEG357 [173] (signed word) sin16s::return#0 ← (signed word) sin16s::return#1 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#0 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#0 ] ) -- vwsz1=vwsz2 + lda sin16s.return_1 + sta sin16s.return + lda sin16s.return_1+1 + sta sin16s.return+1 + jmp b4 + //SEG358 sin16s_gen::@4 + b4: + //SEG359 [174] (signed word~) sin16s_gen::$1 ← (signed word) sin16s::return#0 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s_gen::$1 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s_gen::$1 ] ) -- vwsz1=vwsz2 + lda sin16s.return + sta _1 + lda sin16s.return+1 + sta _1+1 + //SEG360 [175] *((signed word*) sin16s_gen::sintab#2) ← (signed word~) sin16s_gen::$1 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ) -- _deref_pwsz1=vwsz2 + ldy #0 + lda _1 + sta (sintab),y + iny + lda _1+1 + sta (sintab),y + //SEG361 [176] (signed word*) sin16s_gen::sintab#0 ← (signed word*) sin16s_gen::sintab#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::i#2 sin16s_gen::sintab#0 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::i#2 sin16s_gen::sintab#0 ] ) -- pwsz1=pwsz1_plus_vbuc1 + clc + lda sintab + adc #<2 + sta sintab + lda sintab+1 + adc #>2 + sta sintab+1 + //SEG362 [177] (dword) sin16s_gen::x#1 ← (dword) sin16s_gen::x#2 + (dword) sin16s_gen::step#0 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::i#2 sin16s_gen::x#1 sin16s_gen::sintab#0 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::i#2 sin16s_gen::x#1 sin16s_gen::sintab#0 ] ) -- vduz1=vduz1_plus_vduz2 + 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 + //SEG363 [178] (word) sin16s_gen::i#1 ← ++ (word) sin16s_gen::i#2 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ) -- vwuz1=_inc_vwuz1 + inc i + bne !+ + inc i+1 + !: + //SEG364 [179] if((word) sin16s_gen::i#1<(const word) main::wavelength#0) goto sin16s_gen::@1 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ) -- vwuz1_lt_vwuc1_then_la1 + lda i+1 + cmp #>main.wavelength + bcc b1_from_b4 + bne !+ + lda i + cmp #PI_u4f28>>$10 + bcc b1_from_sin16s + bne !+ + lda x+2 + cmp #>$10 + bcc b1_from_sin16s + bne !+ + lda x+1 + cmp #>PI_u4f28 + bcc b1_from_sin16s + bne !+ + lda x + cmp #PI_u4f28 + sta x+1 + lda x+2 + sbc #>$10 + sta x+2 + lda x+3 + sbc #>PI_u4f28>>$10 + sta x+3 + //SEG371 [183] phi from sin16s::@4 to sin16s::@1 [phi:sin16s::@4->sin16s::@1] + b1_from_b4: + //SEG372 [183] phi (byte) sin16s::isUpper#2 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin16s::@4->sin16s::@1#0] -- vbuz1=vbuc1 + lda #1 + sta isUpper + //SEG373 [183] phi (dword) sin16s::x#4 = (dword) sin16s::x#1 [phi:sin16s::@4->sin16s::@1#1] -- register_copy + jmp b1 + //SEG374 [183] phi from sin16s to sin16s::@1 [phi:sin16s->sin16s::@1] + b1_from_sin16s: + //SEG375 [183] phi (byte) sin16s::isUpper#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s->sin16s::@1#0] -- vbuz1=vbuc1 + lda #0 + sta isUpper + //SEG376 [183] phi (dword) sin16s::x#4 = (dword) sin16s::x#0 [phi:sin16s->sin16s::@1#1] -- register_copy + jmp b1 + //SEG377 sin16s::@1 + b1: + //SEG378 [184] if((dword) sin16s::x#4<(const dword) PI_HALF_u4f28#0) goto sin16s::@2 [ sin16s::x#4 sin16s::isUpper#2 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#4 sin16s::isUpper#2 ] ) -- vduz1_lt_vduc1_then_la1 + lda x+3 + cmp #>PI_HALF_u4f28>>$10 + bcc b2_from_b1 + bne !+ + lda x+2 + cmp #>$10 + bcc b2_from_b1 + bne !+ + lda x+1 + cmp #>PI_HALF_u4f28 + bcc b2_from_b1 + bne !+ + lda x + cmp #PI_u4f28 + sbc x+1 + sta x+1 + lda #>$10 + sbc x+2 + sta x+2 + lda #>PI_u4f28>>$10 + sbc x+3 + sta x+3 + //SEG381 [186] phi from sin16s::@1 sin16s::@5 to sin16s::@2 [phi:sin16s::@1/sin16s::@5->sin16s::@2] + b2_from_b1: + b2_from_b5: + //SEG382 [186] phi (dword) sin16s::x#6 = (dword) sin16s::x#4 [phi:sin16s::@1/sin16s::@5->sin16s::@2#0] -- register_copy + jmp b2 + //SEG383 sin16s::@2 + b2: + //SEG384 [187] (dword~) sin16s::$6 ← (dword) sin16s::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin16s::isUpper#2 sin16s::$6 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::$6 ] ) -- vduz1=vduz2_rol_3 + lda x + sta _6 + lda x+1 + sta _6+1 + lda x+2 + sta _6+2 + lda x+3 + sta _6+3 + ldy #3 + !: + asl _6 + rol _6+1 + rol _6+2 + rol _6+3 + dey + bne !- + //SEG385 [188] (word) sin16s::x1#0 ← > (dword~) sin16s::$6 [ sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 ] ) -- vwuz1=_hi_vduz2 + lda _6+2 + sta x1 + lda _6+3 + sta x1+1 + //SEG386 [189] (word) mulu16_sel::v1#0 ← (word) sin16s::x1#0 [ mulu16_sel::v1#0 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#0 sin16s::isUpper#2 sin16s::x1#0 ] ) -- vwuz1=vwuz2 + lda x1 + sta mulu16_sel.v1 + lda x1+1 + sta mulu16_sel.v1+1 + //SEG387 [190] (word) mulu16_sel::v2#0 ← (word) sin16s::x1#0 [ mulu16_sel::v1#0 mulu16_sel::v2#0 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#0 mulu16_sel::v2#0 sin16s::isUpper#2 sin16s::x1#0 ] ) -- vwuz1=vwuz2 + lda x1 + sta mulu16_sel.v2 + lda x1+1 + sta mulu16_sel.v2+1 + //SEG388 [191] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ) + //SEG389 [116] phi from sin16s::@2 to mulu16_sel [phi:sin16s::@2->mulu16_sel] + mulu16_sel_from_b2: + //SEG390 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s::@2->mulu16_sel#0] -- vbuz1=vbuc1 + lda #0 + sta mulu16_sel.select + //SEG391 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#0 [phi:sin16s::@2->mulu16_sel#1] -- register_copy + //SEG392 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#0 [phi:sin16s::@2->mulu16_sel#2] -- register_copy + jsr mulu16_sel + //SEG393 [192] (word) mulu16_sel::return#0 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#0 ] ) -- vwuz1=vwuz2 + lda mulu16_sel.return_17 + sta mulu16_sel.return + lda mulu16_sel.return_17+1 + sta mulu16_sel.return+1 + jmp b8 + //SEG394 sin16s::@8 + b8: + //SEG395 [193] (word) sin16s::x2#0 ← (word) mulu16_sel::return#0 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x2#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x2#0 ] ) -- vwuz1=vwuz2 + lda mulu16_sel.return + sta x2 + lda mulu16_sel.return+1 + sta x2+1 + //SEG396 [194] (word) mulu16_sel::v1#1 ← (word) sin16s::x2#0 [ mulu16_sel::v1#1 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#1 sin16s::isUpper#2 sin16s::x1#0 ] ) -- vwuz1=vwuz2 + lda x2 + sta mulu16_sel.v1 + lda x2+1 + sta mulu16_sel.v1+1 + //SEG397 [195] (word) mulu16_sel::v2#1 ← (word) sin16s::x1#0 [ mulu16_sel::v1#1 mulu16_sel::v2#1 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#1 mulu16_sel::v2#1 sin16s::isUpper#2 sin16s::x1#0 ] ) -- vwuz1=vwuz2 + lda x1 + sta mulu16_sel.v2 + lda x1+1 + sta mulu16_sel.v2+1 + //SEG398 [196] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ) + //SEG399 [116] phi from sin16s::@8 to mulu16_sel [phi:sin16s::@8->mulu16_sel] + mulu16_sel_from_b8: + //SEG400 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin16s::@8->mulu16_sel#0] -- vbuz1=vbuc1 + lda #1 + sta mulu16_sel.select + //SEG401 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#1 [phi:sin16s::@8->mulu16_sel#1] -- register_copy + //SEG402 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#1 [phi:sin16s::@8->mulu16_sel#2] -- register_copy + jsr mulu16_sel + //SEG403 [197] (word) mulu16_sel::return#1 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#1 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#1 ] ) -- vwuz1=vwuz2 + lda mulu16_sel.return_17 + sta mulu16_sel.return_1 + lda mulu16_sel.return_17+1 + sta mulu16_sel.return_1+1 + jmp b9 + //SEG404 sin16s::@9 + b9: + //SEG405 [198] (word) sin16s::x3#0 ← (word) mulu16_sel::return#1 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) -- vwuz1=vwuz2 + lda mulu16_sel.return_1 + sta x3 + lda mulu16_sel.return_1+1 + sta x3+1 + //SEG406 [199] (word) mulu16_sel::v1#2 ← (word) sin16s::x3#0 [ mulu16_sel::v1#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) -- vwuz1=vwuz2 + lda x3 + sta mulu16_sel.v1 + lda x3+1 + sta mulu16_sel.v1+1 + //SEG407 [200] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) + //SEG408 [116] phi from sin16s::@9 to mulu16_sel [phi:sin16s::@9->mulu16_sel] + mulu16_sel_from_b9: + //SEG409 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin16s::@9->mulu16_sel#0] -- vbuz1=vbuc1 + lda #1 + sta mulu16_sel.select + //SEG410 [116] phi (word) mulu16_sel::v2#10 = (dword/signed dword) 65536/(byte/signed byte/word/signed word/dword/signed dword) 6 [phi:sin16s::@9->mulu16_sel#1] -- vwuz1=vwuc1 + lda #<$10000/6 + sta mulu16_sel.v2 + lda #>$10000/6 + sta mulu16_sel.v2+1 + //SEG411 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#2 [phi:sin16s::@9->mulu16_sel#2] -- register_copy + jsr mulu16_sel + //SEG412 [201] (word) mulu16_sel::return#14 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#14 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#14 ] ) -- vwuz1=vwuz2 + lda mulu16_sel.return_17 + sta mulu16_sel.return_14 + lda mulu16_sel.return_17+1 + sta mulu16_sel.return_14+1 + jmp b10 + //SEG413 sin16s::@10 + b10: + //SEG414 [202] (word) sin16s::x3_6#0 ← (word) mulu16_sel::return#14 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::x3_6#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::x3_6#0 ] ) -- vwuz1=vwuz2 + lda mulu16_sel.return_14 + sta x3_6 + lda mulu16_sel.return_14+1 + sta x3_6+1 + //SEG415 [203] (word) sin16s::usinx#0 ← (word) sin16s::x1#0 - (word) sin16s::x3_6#0 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::usinx#0 ] ) -- vwuz1=vwuz2_minus_vwuz3 + lda x1 + sec + sbc x3_6 + sta usinx + lda x1+1 + sbc x3_6+1 + sta usinx+1 + //SEG416 [204] (word) mulu16_sel::v1#3 ← (word) sin16s::x3#0 [ mulu16_sel::v1#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) -- vwuz1=vwuz2 + lda x3 + sta mulu16_sel.v1 + lda x3+1 + sta mulu16_sel.v1+1 + //SEG417 [205] (word) mulu16_sel::v2#3 ← (word) sin16s::x1#0 [ mulu16_sel::v1#3 mulu16_sel::v2#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#3 mulu16_sel::v2#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) -- vwuz1=vwuz2 + lda x1 + sta mulu16_sel.v2 + lda x1+1 + sta mulu16_sel.v2+1 + //SEG418 [206] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) + //SEG419 [116] phi from sin16s::@10 to mulu16_sel [phi:sin16s::@10->mulu16_sel] + mulu16_sel_from_b10: + //SEG420 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s::@10->mulu16_sel#0] -- vbuz1=vbuc1 + lda #0 + sta mulu16_sel.select + //SEG421 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#3 [phi:sin16s::@10->mulu16_sel#1] -- register_copy + //SEG422 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#3 [phi:sin16s::@10->mulu16_sel#2] -- register_copy + jsr mulu16_sel + //SEG423 [207] (word) mulu16_sel::return#15 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#15 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#15 ] ) -- vwuz1=vwuz2 + lda mulu16_sel.return_17 + sta mulu16_sel.return_15 + lda mulu16_sel.return_17+1 + sta mulu16_sel.return_15+1 + jmp b11 + //SEG424 sin16s::@11 + b11: + //SEG425 [208] (word) sin16s::x4#0 ← (word) mulu16_sel::return#15 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 sin16s::x4#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 sin16s::x4#0 ] ) -- vwuz1=vwuz2 + lda mulu16_sel.return_15 + sta x4 + lda mulu16_sel.return_15+1 + sta x4+1 + //SEG426 [209] (word) mulu16_sel::v1#4 ← (word) sin16s::x4#0 [ mulu16_sel::v1#4 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#4 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) -- vwuz1=vwuz2 + lda x4 + sta mulu16_sel.v1 + lda x4+1 + sta mulu16_sel.v1+1 + //SEG427 [210] (word) mulu16_sel::v2#4 ← (word) sin16s::x1#0 [ mulu16_sel::v1#4 mulu16_sel::v2#4 sin16s::isUpper#2 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#4 mulu16_sel::v2#4 sin16s::isUpper#2 sin16s::usinx#0 ] ) -- vwuz1=vwuz2 + lda x1 + sta mulu16_sel.v2 + lda x1+1 + sta mulu16_sel.v2+1 + //SEG428 [211] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::usinx#0 ] ) + //SEG429 [116] phi from sin16s::@11 to mulu16_sel [phi:sin16s::@11->mulu16_sel] + mulu16_sel_from_b11: + //SEG430 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s::@11->mulu16_sel#0] -- vbuz1=vbuc1 + lda #0 + sta mulu16_sel.select + //SEG431 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#4 [phi:sin16s::@11->mulu16_sel#1] -- register_copy + //SEG432 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#4 [phi:sin16s::@11->mulu16_sel#2] -- register_copy + jsr mulu16_sel + //SEG433 [212] (word) mulu16_sel::return#16 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#16 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#16 ] ) -- vwuz1=vwuz2 + lda mulu16_sel.return_17 + sta mulu16_sel.return_16 + lda mulu16_sel.return_17+1 + sta mulu16_sel.return_16+1 + jmp b12 + //SEG434 sin16s::@12 + b12: + //SEG435 [213] (word) sin16s::x5#0 ← (word) mulu16_sel::return#16 [ sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5#0 ] ) -- vwuz1=vwuz2 + lda mulu16_sel.return_16 + sta x5 + lda mulu16_sel.return_16+1 + sta x5+1 + //SEG436 [214] (word) sin16s::x5_128#0 ← (word) sin16s::x5#0 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5_128#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5_128#0 ] ) -- vwuz1=vwuz2_ror_4 + lda x5+1 + sta x5_128+1 + lda x5 + sta x5_128 + ldy #4 + !: + lsr x5_128+1 + ror x5_128 + dey + bne !- + //SEG437 [215] (word) sin16s::usinx#1 ← (word) sin16s::usinx#0 + (word) sin16s::x5_128#0 [ sin16s::isUpper#2 sin16s::usinx#1 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#1 ] ) -- vwuz1=vwuz2_plus_vwuz3 + lda usinx_1 + clc + adc usinx + sta x5_128 + lda usinx_1+1 + adc usinx+1 + sta x5_128+1 + //SEG438 [216] if((byte) sin16s::isUpper#2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin16s::@15 [ sin16s::usinx#1 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::usinx#1 ] ) -- vbuz1_eq_0_then_la1 + lda isUpper + beq b15 + jmp b6 + //SEG439 sin16s::@6 + b6: + //SEG440 [217] (signed word) sin16s::sinx#1 ← - (signed word)(word) sin16s::usinx#1 [ sin16s::sinx#1 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::sinx#1 ] ) -- vwsz1=_neg_vwsz2 + sec + lda usinx_1 + eor #$ff + adc #0 + sta sinx + lda usinx_1+1 + eor #$ff + adc #0 + sta sinx+1 + //SEG441 [218] phi from sin16s::@15 sin16s::@6 to sin16s::@3 [phi:sin16s::@15/sin16s::@6->sin16s::@3] + b3_from_b15: + b3_from_b6: + //SEG442 [218] phi (signed word) sin16s::return#1 = (signed word~) sin16s::return#5 [phi:sin16s::@15/sin16s::@6->sin16s::@3#0] -- register_copy + jmp b3 + //SEG443 sin16s::@3 + b3: + jmp breturn + //SEG444 sin16s::@return + breturn: + //SEG445 [219] return [ sin16s::return#1 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#1 ] ) + rts + //SEG446 sin16s::@15 + b15: + //SEG447 [220] (signed word~) sin16s::return#5 ← (signed word)(word) sin16s::usinx#1 [ sin16s::return#5 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#5 ] ) -- vwsz1=vwsz2 + lda usinx_1 + sta return_5 + lda usinx_1+1 + sta return_5+1 + jmp b3_from_b15 +} + +REGISTER UPLIFT POTENTIAL REGISTERS +Statement [11] (signed word) main::sw#0 ← *((signed word*) main::st1#2) - *((signed word*) main::st2#2) [ main::st1#2 main::st2#2 char_cursor#49 main::i#2 main::sw#0 ] ( main:2 [ main::st1#2 main::st2#2 char_cursor#49 main::i#2 main::sw#0 ] ) always clobbers reg byte a reg byte y +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:6 [ main::i#2 main::i#1 ] +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:6 [ main::i#2 main::i#1 ] +Statement [12] if((signed word) main::sw#0<(byte/signed byte/word/signed word/dword/signed dword) 0) goto main::@2 [ main::st1#2 main::st2#2 char_cursor#49 main::i#2 main::sw#0 ] ( main:2 [ main::st1#2 main::st2#2 char_cursor#49 main::i#2 main::sw#0 ] ) always clobbers reg byte a +Statement [16] (signed word) print_sword::w#1 ← (signed word) main::sw#0 [ main::st1#2 main::st2#2 main::i#2 char_cursor#48 print_sword::w#1 ] ( main:2 [ main::st1#2 main::st2#2 main::i#2 char_cursor#48 print_sword::w#1 ] ) always clobbers reg byte a +Statement [20] (signed word*) main::st1#1 ← (signed word*) main::st1#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ main::st2#2 main::i#2 main::st1#1 char_cursor#2 ] ( main:2 [ main::st2#2 main::i#2 main::st1#1 char_cursor#2 ] ) always clobbers reg byte a +Statement [21] (signed word*) main::st2#1 ← (signed word*) main::st2#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ main::i#2 main::st1#1 main::st2#1 char_cursor#2 ] ( main:2 [ main::i#2 main::st1#1 main::st2#1 char_cursor#2 ] ) always clobbers reg byte a +Statement [27] if(*((byte*) print_str::str#3)!=(byte) '@') goto print_str::@2 [ char_cursor#2 print_str::str#3 ] ( main:2::print_str:14 [ main::st1#2 main::st2#2 main::i#2 main::sw#0 char_cursor#2 print_str::str#3 ] main:2::print_str:19 [ main::st1#2 main::st2#2 main::i#2 char_cursor#2 print_str::str#3 ] ) always clobbers reg byte a reg byte y +Statement [29] *((byte*) char_cursor#2) ← *((byte*) print_str::str#3) [ char_cursor#2 print_str::str#3 ] ( main:2::print_str:14 [ main::st1#2 main::st2#2 main::i#2 main::sw#0 char_cursor#2 print_str::str#3 ] main:2::print_str:19 [ main::st1#2 main::st2#2 main::i#2 char_cursor#2 print_str::str#3 ] ) always clobbers reg byte a reg byte y +Statement [32] if((signed word) print_sword::w#1>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto print_sword::@1 [ char_cursor#48 print_sword::w#1 ] ( main:2::print_sword:17 [ main::st1#2 main::st2#2 main::i#2 char_cursor#48 print_sword::w#1 ] ) always clobbers reg byte a +Statement [35] (signed word) print_sword::w#0 ← - (signed word) print_sword::w#1 [ char_cursor#12 print_sword::w#0 ] ( main:2::print_sword:17 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 print_sword::w#0 ] ) always clobbers reg byte a +Statement [39] (byte) print_byte::b#0 ← > (word)(signed word) print_sword::w#3 [ print_sword::w#3 char_cursor#43 print_byte::b#0 ] ( main:2::print_sword:17::print_word:37 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 char_cursor#43 print_byte::b#0 ] ) always clobbers reg byte a +Statement [41] (byte) print_byte::b#1 ← < (word)(signed word) print_sword::w#3 [ char_cursor#12 print_byte::b#1 ] ( main:2::print_sword:17::print_word:37 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 print_byte::b#1 ] ) always clobbers reg byte a +Statement [48] (byte~) print_byte::$2 ← (byte) print_byte::b#2 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ char_cursor#12 print_byte::$2 ] ( main:2::print_sword:17::print_word:37::print_byte:40 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 char_cursor#12 print_byte::$2 ] main:2::print_sword:17::print_word:37::print_byte:42 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 print_byte::$2 ] ) always clobbers reg byte a +Statement [53] *((byte*) char_cursor#33) ← (byte) print_char::ch#3 [ char_cursor#33 ] ( main:2::print_sword:17::print_char:34 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#1 char_cursor#33 ] main:2::print_sword:17::print_word:37::print_byte:40::print_char:47 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 print_byte::b#2 char_cursor#33 ] main:2::print_sword:17::print_word:37::print_byte:42::print_char:47 [ main::st1#2 main::st2#2 main::i#2 print_byte::b#2 char_cursor#33 ] main:2::print_sword:17::print_word:37::print_byte:40::print_char:50 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 char_cursor#33 ] main:2::print_sword:17::print_word:37::print_byte:42::print_char:50 [ main::st1#2 main::st2#2 main::i#2 char_cursor#33 ] ) always clobbers reg byte y +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:11 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ] +Statement [58] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:9 [ print_cls::sc#2 ] ) always clobbers reg byte a reg byte y +Statement [60] 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 ] ) always clobbers reg byte a +Statement [64] (dword) div32u16u::return#3 ← (dword) div32u16u::return#0 [ div32u16u::return#3 ] ( main:2::sin16s_genb:7 [ div32u16u::return#3 ] ) always clobbers reg byte a +Statement [65] (dword) sin16s_genb::step#0 ← (dword) div32u16u::return#3 [ sin16s_genb::step#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 ] ) always clobbers reg byte a +Statement [67] (word) sin16sb::x#0 ← > (dword) sin16s_genb::x#2 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#0 ] ) always clobbers reg byte a +Statement [69] (signed word) sin16sb::return#0 ← (signed word) sin16sb::return#1 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#0 ] ) always clobbers reg byte a +Statement [70] (signed word~) sin16s_genb::$2 ← (signed word) sin16sb::return#0 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16s_genb::$2 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16s_genb::$2 ] ) always clobbers reg byte a +Statement [71] *((signed word*) sin16s_genb::sintab#2) ← (signed word~) sin16s_genb::$2 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 ] ) always clobbers reg byte a reg byte y +Statement [72] (signed word*) sin16s_genb::sintab#0 ← (signed word*) sin16s_genb::sintab#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::i#2 sin16s_genb::sintab#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::i#2 sin16s_genb::sintab#0 ] ) always clobbers reg byte a +Statement [73] (dword) sin16s_genb::x#1 ← (dword) sin16s_genb::x#2 + (dword) sin16s_genb::step#0 [ sin16s_genb::step#0 sin16s_genb::i#2 sin16s_genb::x#1 sin16s_genb::sintab#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::i#2 sin16s_genb::x#1 sin16s_genb::sintab#0 ] ) always clobbers reg byte a +Statement [75] if((word) sin16s_genb::i#1<(const word) main::wavelength#0) goto sin16s_genb::@1 [ sin16s_genb::step#0 sin16s_genb::x#1 sin16s_genb::sintab#0 sin16s_genb::i#1 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#1 sin16s_genb::sintab#0 sin16s_genb::i#1 ] ) always clobbers reg byte a +Statement [77] if((word) sin16sb::x#0<(const word) PI_u4f12#0) goto sin16sb::@1 [ sin16sb::x#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#0 ] ) always clobbers reg byte a +Statement [78] (word) sin16sb::x#1 ← (word) sin16sb::x#0 - (const word) PI_u4f12#0 [ sin16sb::x#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#1 ] ) always clobbers reg byte a +Statement [80] if((word) sin16sb::x#4<(const word) PI_HALF_u4f12#0) goto sin16sb::@2 [ sin16sb::x#4 sin16sb::isUpper#2 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#4 sin16sb::isUpper#2 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:25 [ sin16sb::isUpper#2 ] +Statement [81] (word) sin16sb::x#2 ← (const word) PI_u4f12#0 - (word) sin16sb::x#4 [ sin16sb::isUpper#2 sin16sb::x#2 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x#2 ] ) always clobbers reg byte a +Statement [83] (word) sin16sb::x1#0 ← (word) sin16sb::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin16sb::isUpper#2 sin16sb::x1#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 ] ) always clobbers reg byte a +Statement [84] (word) mulu16_sel::v1#5 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#5 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#5 ] ) always clobbers reg byte a +Statement [85] (word) mulu16_sel::v2#5 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#5 mulu16_sel::v2#5 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#5 mulu16_sel::v2#5 ] ) always clobbers reg byte a +Statement [87] (word) mulu16_sel::return#18 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#18 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#18 ] ) always clobbers reg byte a +Statement [88] (word) sin16sb::x2#0 ← (word) mulu16_sel::return#18 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x2#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x2#0 ] ) always clobbers reg byte a +Statement [89] (word) mulu16_sel::v1#6 ← (word) sin16sb::x2#0 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#6 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#6 ] ) always clobbers reg byte a +Statement [90] (word) mulu16_sel::v2#6 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#6 mulu16_sel::v2#6 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#6 mulu16_sel::v2#6 ] ) always clobbers reg byte a +Statement [92] (word) mulu16_sel::return#19 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#19 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#19 ] ) always clobbers reg byte a +Statement [93] (word) sin16sb::x3#0 ← (word) mulu16_sel::return#19 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 ] ) always clobbers reg byte a +Statement [94] (word) mulu16_sel::v1#7 ← (word) sin16sb::x3#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v1#7 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v1#7 ] ) always clobbers reg byte a +Statement [96] (word) mulu16_sel::return#20 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#20 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#20 ] ) always clobbers reg byte a +Statement [97] (word) sin16sb::x3_6#0 ← (word) mulu16_sel::return#20 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 sin16sb::x3_6#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 sin16sb::x3_6#0 ] ) always clobbers reg byte a +Statement [98] (word) sin16sb::usinx#0 ← (word) sin16sb::x1#0 - (word) sin16sb::x3_6#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 sin16sb::usinx#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 sin16sb::usinx#0 ] ) always clobbers reg byte a +Statement [99] (word) mulu16_sel::v1#8 ← (word) sin16sb::x3#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#8 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#8 ] ) always clobbers reg byte a +Statement [100] (word) mulu16_sel::v2#8 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#8 mulu16_sel::v2#8 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#8 mulu16_sel::v2#8 ] ) always clobbers reg byte a +Statement [102] (word) mulu16_sel::return#10 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#10 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#10 ] ) always clobbers reg byte a +Statement [103] (word) sin16sb::x4#0 ← (word) mulu16_sel::return#10 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 sin16sb::x4#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 sin16sb::x4#0 ] ) always clobbers reg byte a +Statement [104] (word) mulu16_sel::v1#9 ← (word) sin16sb::x4#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#9 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#9 ] ) always clobbers reg byte a +Statement [105] (word) mulu16_sel::v2#9 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v1#9 mulu16_sel::v2#9 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v1#9 mulu16_sel::v2#9 ] ) always clobbers reg byte a +Statement [107] (word) mulu16_sel::return#11 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#11 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#11 ] ) always clobbers reg byte a +Statement [108] (word) sin16sb::x5#0 ← (word) mulu16_sel::return#11 [ sin16sb::isUpper#2 sin16sb::usinx#0 sin16sb::x5#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 sin16sb::x5#0 ] ) always clobbers reg byte a +Statement [109] (word) sin16sb::x5_128#0 ← (word) sin16sb::x5#0 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ sin16sb::isUpper#2 sin16sb::usinx#0 sin16sb::x5_128#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 sin16sb::x5_128#0 ] ) always clobbers reg byte a reg byte y +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:25 [ sin16sb::isUpper#2 ] +Statement [110] (word) sin16sb::usinx#1 ← (word) sin16sb::usinx#0 + (word) sin16sb::x5_128#0 [ sin16sb::isUpper#2 sin16sb::usinx#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#1 ] ) always clobbers reg byte a +Statement [112] (signed word) sin16sb::sinx#1 ← - (signed word)(word) sin16sb::usinx#1 [ sin16sb::sinx#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::sinx#1 ] ) always clobbers reg byte a +Statement [115] (signed word~) sin16sb::return#5 ← (signed word)(word) sin16sb::usinx#1 [ sin16sb::return#5 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#5 ] ) always clobbers reg byte a +Statement [117] (word) mul16u::a#1 ← (word) mulu16_sel::v1#10 [ mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:34 [ mulu16_sel::select#10 ] +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:68 [ sin16s::isUpper#2 ] +Statement [118] (word) mul16u::b#0 ← (word) mulu16_sel::v2#10 [ mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] ) always clobbers reg byte a +Statement [120] (dword) mul16u::return#2 ← (dword) mul16u::res#2 [ mulu16_sel::select#10 mul16u::return#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] ) always clobbers reg byte a +Statement [121] (dword~) mulu16_sel::$0 ← (dword) mul16u::return#2 [ mulu16_sel::select#10 mulu16_sel::$0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] ) always clobbers reg byte a +Statement [122] (dword~) mulu16_sel::$1 ← (dword~) mulu16_sel::$0 << (byte) mulu16_sel::select#10 [ mulu16_sel::$1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::$1 ] ) always clobbers reg byte a reg byte x +Removing always clobbered register reg byte x as potential for zp ZP_BYTE:25 [ sin16sb::isUpper#2 ] +Removing always clobbered register reg byte x as potential for zp ZP_BYTE:68 [ sin16s::isUpper#2 ] +Statement [123] (word) mulu16_sel::return#17 ← > (dword~) mulu16_sel::$1 [ mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#17 ] ) always clobbers reg byte a +Statement [125] (dword) mul16u::mb#0 ← ((dword)) (word) mul16u::b#0 [ mul16u::a#1 mul16u::mb#0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] ) always clobbers reg byte a +Statement [127] if((word) mul16u::a#2!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul16u::@2 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ) always clobbers reg byte a +Statement [129] (byte~) mul16u::$1 ← (word) mul16u::a#2 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] ) always clobbers reg byte a +Statement [131] (dword) mul16u::res#1 ← (dword) mul16u::res#2 + (dword) mul16u::mb#2 [ mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] ) always clobbers reg byte a +Statement [136] (word) divr16u::dividend#1 ← > (dword) div32u16u::dividend#2 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 ] ) always clobbers reg byte a +Statement [137] (word) divr16u::divisor#0 ← (word) div32u16u::divisor#2 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 divr16u::divisor#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 divr16u::divisor#0 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 divr16u::divisor#0 ] ) always clobbers reg byte a +Statement [139] (word) divr16u::return#2 ← (word) divr16u::return#0 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#2 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#2 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#2 ] ) always clobbers reg byte a +Statement [140] (word) div32u16u::quotient_hi#0 ← (word) divr16u::return#2 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 div32u16u::quotient_hi#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 div32u16u::quotient_hi#0 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 div32u16u::quotient_hi#0 ] ) always clobbers reg byte a +Statement [141] (word) divr16u::dividend#2 ← < (dword) div32u16u::dividend#2 [ div32u16u::divisor#2 divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::dividend#2 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::divisor#2 divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::dividend#2 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::divisor#2 divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::dividend#2 ] ) always clobbers reg byte a +Statement [142] (word) divr16u::divisor#1 ← (word) div32u16u::divisor#2 [ divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 ] main:2::sin16s_gen:5::div32u16u:167 [ divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 ] ) always clobbers reg byte a +Statement [145] (word) divr16u::return#3 ← (word) divr16u::return#0 [ divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::return#3 ] ( main:2::sin16s_genb:7::div32u16u:63 [ divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::return#3 ] main:2::sin16s_gen:5::div32u16u:167 [ divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::return#3 ] ) always clobbers reg byte a +Statement [146] (word) div32u16u::quotient_lo#0 ← (word) divr16u::return#3 [ divr16u::rem#11 div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ divr16u::rem#11 div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] main:2::sin16s_gen:5::div32u16u:167 [ divr16u::rem#11 div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ) always clobbers reg byte a +Statement [147] (dword) div32u16u::return#0 ← (word) div32u16u::quotient_hi#0 dw= (word) div32u16u::quotient_lo#0 [ div32u16u::return#0 divr16u::rem#11 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::return#0 divr16u::rem#11 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::return#0 divr16u::rem#11 ] ) always clobbers reg byte a +Statement [152] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:59 [ divr16u::i#2 divr16u::i#1 ] +Statement [153] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) always clobbers reg byte a +Statement [155] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) always clobbers reg byte a +Statement [159] 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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) always clobbers reg byte a +Statement [161] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) always clobbers reg byte a +Statement [168] (dword) div32u16u::return#2 ← (dword) div32u16u::return#0 [ divr16u::rem#11 div32u16u::return#2 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 div32u16u::return#2 ] ) always clobbers reg byte a +Statement [169] (dword) sin16s_gen::step#0 ← (dword) div32u16u::return#2 [ divr16u::rem#11 sin16s_gen::step#0 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 ] ) always clobbers reg byte a +Statement [171] (dword) sin16s::x#0 ← (dword) sin16s_gen::x#2 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ) always clobbers reg byte a +Statement [173] (signed word) sin16s::return#0 ← (signed word) sin16s::return#1 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#0 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#0 ] ) always clobbers reg byte a +Statement [174] (signed word~) sin16s_gen::$1 ← (signed word) sin16s::return#0 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s_gen::$1 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s_gen::$1 ] ) always clobbers reg byte a +Statement [175] *((signed word*) sin16s_gen::sintab#2) ← (signed word~) sin16s_gen::$1 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ) always clobbers reg byte a reg byte y +Statement [176] (signed word*) sin16s_gen::sintab#0 ← (signed word*) sin16s_gen::sintab#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::i#2 sin16s_gen::sintab#0 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::i#2 sin16s_gen::sintab#0 ] ) always clobbers reg byte a +Statement [177] (dword) sin16s_gen::x#1 ← (dword) sin16s_gen::x#2 + (dword) sin16s_gen::step#0 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::i#2 sin16s_gen::x#1 sin16s_gen::sintab#0 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::i#2 sin16s_gen::x#1 sin16s_gen::sintab#0 ] ) always clobbers reg byte a +Statement [179] if((word) sin16s_gen::i#1<(const word) main::wavelength#0) goto sin16s_gen::@1 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ) always clobbers reg byte a +Statement [181] if((dword) sin16s::x#0<(const dword) PI_u4f28#0) goto sin16s::@1 [ sin16s::x#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ) always clobbers reg byte a +Statement [182] (dword) sin16s::x#1 ← (dword) sin16s::x#0 - (const dword) PI_u4f28#0 [ sin16s::x#1 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#1 ] ) always clobbers reg byte a +Statement [184] if((dword) sin16s::x#4<(const dword) PI_HALF_u4f28#0) goto sin16s::@2 [ sin16s::x#4 sin16s::isUpper#2 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#4 sin16s::isUpper#2 ] ) always clobbers reg byte a +Statement [185] (dword) sin16s::x#2 ← (const dword) PI_u4f28#0 - (dword) sin16s::x#4 [ sin16s::isUpper#2 sin16s::x#2 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x#2 ] ) always clobbers reg byte a +Statement [187] (dword~) sin16s::$6 ← (dword) sin16s::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin16s::isUpper#2 sin16s::$6 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::$6 ] ) always clobbers reg byte a reg byte y +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:68 [ sin16s::isUpper#2 ] +Statement [188] (word) sin16s::x1#0 ← > (dword~) sin16s::$6 [ sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 ] ) always clobbers reg byte a +Statement [189] (word) mulu16_sel::v1#0 ← (word) sin16s::x1#0 [ mulu16_sel::v1#0 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#0 sin16s::isUpper#2 sin16s::x1#0 ] ) always clobbers reg byte a +Statement [190] (word) mulu16_sel::v2#0 ← (word) sin16s::x1#0 [ mulu16_sel::v1#0 mulu16_sel::v2#0 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#0 mulu16_sel::v2#0 sin16s::isUpper#2 sin16s::x1#0 ] ) always clobbers reg byte a +Statement [192] (word) mulu16_sel::return#0 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#0 ] ) always clobbers reg byte a +Statement [193] (word) sin16s::x2#0 ← (word) mulu16_sel::return#0 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x2#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x2#0 ] ) always clobbers reg byte a +Statement [194] (word) mulu16_sel::v1#1 ← (word) sin16s::x2#0 [ mulu16_sel::v1#1 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#1 sin16s::isUpper#2 sin16s::x1#0 ] ) always clobbers reg byte a +Statement [195] (word) mulu16_sel::v2#1 ← (word) sin16s::x1#0 [ mulu16_sel::v1#1 mulu16_sel::v2#1 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#1 mulu16_sel::v2#1 sin16s::isUpper#2 sin16s::x1#0 ] ) always clobbers reg byte a +Statement [197] (word) mulu16_sel::return#1 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#1 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#1 ] ) always clobbers reg byte a +Statement [198] (word) sin16s::x3#0 ← (word) mulu16_sel::return#1 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) always clobbers reg byte a +Statement [199] (word) mulu16_sel::v1#2 ← (word) sin16s::x3#0 [ mulu16_sel::v1#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) always clobbers reg byte a +Statement [201] (word) mulu16_sel::return#14 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#14 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#14 ] ) always clobbers reg byte a +Statement [202] (word) sin16s::x3_6#0 ← (word) mulu16_sel::return#14 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::x3_6#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::x3_6#0 ] ) always clobbers reg byte a +Statement [203] (word) sin16s::usinx#0 ← (word) sin16s::x1#0 - (word) sin16s::x3_6#0 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::usinx#0 ] ) always clobbers reg byte a +Statement [204] (word) mulu16_sel::v1#3 ← (word) sin16s::x3#0 [ mulu16_sel::v1#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) always clobbers reg byte a +Statement [205] (word) mulu16_sel::v2#3 ← (word) sin16s::x1#0 [ mulu16_sel::v1#3 mulu16_sel::v2#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#3 mulu16_sel::v2#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) always clobbers reg byte a +Statement [207] (word) mulu16_sel::return#15 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#15 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#15 ] ) always clobbers reg byte a +Statement [208] (word) sin16s::x4#0 ← (word) mulu16_sel::return#15 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 sin16s::x4#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 sin16s::x4#0 ] ) always clobbers reg byte a +Statement [209] (word) mulu16_sel::v1#4 ← (word) sin16s::x4#0 [ mulu16_sel::v1#4 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#4 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) always clobbers reg byte a +Statement [210] (word) mulu16_sel::v2#4 ← (word) sin16s::x1#0 [ mulu16_sel::v1#4 mulu16_sel::v2#4 sin16s::isUpper#2 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#4 mulu16_sel::v2#4 sin16s::isUpper#2 sin16s::usinx#0 ] ) always clobbers reg byte a +Statement [212] (word) mulu16_sel::return#16 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#16 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#16 ] ) always clobbers reg byte a +Statement [213] (word) sin16s::x5#0 ← (word) mulu16_sel::return#16 [ sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5#0 ] ) always clobbers reg byte a +Statement [214] (word) sin16s::x5_128#0 ← (word) sin16s::x5#0 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5_128#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5_128#0 ] ) always clobbers reg byte a reg byte y +Statement [215] (word) sin16s::usinx#1 ← (word) sin16s::usinx#0 + (word) sin16s::x5_128#0 [ sin16s::isUpper#2 sin16s::usinx#1 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#1 ] ) always clobbers reg byte a +Statement [216] if((byte) sin16s::isUpper#2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin16s::@15 [ sin16s::usinx#1 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::usinx#1 ] ) always clobbers reg byte a +Statement [217] (signed word) sin16s::sinx#1 ← - (signed word)(word) sin16s::usinx#1 [ sin16s::sinx#1 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::sinx#1 ] ) always clobbers reg byte a +Statement [220] (signed word~) sin16s::return#5 ← (signed word)(word) sin16s::usinx#1 [ sin16s::return#5 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#5 ] ) always clobbers reg byte a +Statement [11] (signed word) main::sw#0 ← *((signed word*) main::st1#2) - *((signed word*) main::st2#2) [ main::st1#2 main::st2#2 char_cursor#49 main::i#2 main::sw#0 ] ( main:2 [ main::st1#2 main::st2#2 char_cursor#49 main::i#2 main::sw#0 ] ) always clobbers reg byte a reg byte y +Statement [12] if((signed word) main::sw#0<(byte/signed byte/word/signed word/dword/signed dword) 0) goto main::@2 [ main::st1#2 main::st2#2 char_cursor#49 main::i#2 main::sw#0 ] ( main:2 [ main::st1#2 main::st2#2 char_cursor#49 main::i#2 main::sw#0 ] ) always clobbers reg byte a +Statement [16] (signed word) print_sword::w#1 ← (signed word) main::sw#0 [ main::st1#2 main::st2#2 main::i#2 char_cursor#48 print_sword::w#1 ] ( main:2 [ main::st1#2 main::st2#2 main::i#2 char_cursor#48 print_sword::w#1 ] ) always clobbers reg byte a +Statement [20] (signed word*) main::st1#1 ← (signed word*) main::st1#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ main::st2#2 main::i#2 main::st1#1 char_cursor#2 ] ( main:2 [ main::st2#2 main::i#2 main::st1#1 char_cursor#2 ] ) always clobbers reg byte a +Statement [21] (signed word*) main::st2#1 ← (signed word*) main::st2#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ main::i#2 main::st1#1 main::st2#1 char_cursor#2 ] ( main:2 [ main::i#2 main::st1#1 main::st2#1 char_cursor#2 ] ) always clobbers reg byte a +Statement [27] if(*((byte*) print_str::str#3)!=(byte) '@') goto print_str::@2 [ char_cursor#2 print_str::str#3 ] ( main:2::print_str:14 [ main::st1#2 main::st2#2 main::i#2 main::sw#0 char_cursor#2 print_str::str#3 ] main:2::print_str:19 [ main::st1#2 main::st2#2 main::i#2 char_cursor#2 print_str::str#3 ] ) always clobbers reg byte a reg byte y +Statement [29] *((byte*) char_cursor#2) ← *((byte*) print_str::str#3) [ char_cursor#2 print_str::str#3 ] ( main:2::print_str:14 [ main::st1#2 main::st2#2 main::i#2 main::sw#0 char_cursor#2 print_str::str#3 ] main:2::print_str:19 [ main::st1#2 main::st2#2 main::i#2 char_cursor#2 print_str::str#3 ] ) always clobbers reg byte a reg byte y +Statement [32] if((signed word) print_sword::w#1>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto print_sword::@1 [ char_cursor#48 print_sword::w#1 ] ( main:2::print_sword:17 [ main::st1#2 main::st2#2 main::i#2 char_cursor#48 print_sword::w#1 ] ) always clobbers reg byte a +Statement [35] (signed word) print_sword::w#0 ← - (signed word) print_sword::w#1 [ char_cursor#12 print_sword::w#0 ] ( main:2::print_sword:17 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 print_sword::w#0 ] ) always clobbers reg byte a +Statement [39] (byte) print_byte::b#0 ← > (word)(signed word) print_sword::w#3 [ print_sword::w#3 char_cursor#43 print_byte::b#0 ] ( main:2::print_sword:17::print_word:37 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 char_cursor#43 print_byte::b#0 ] ) always clobbers reg byte a +Statement [41] (byte) print_byte::b#1 ← < (word)(signed word) print_sword::w#3 [ char_cursor#12 print_byte::b#1 ] ( main:2::print_sword:17::print_word:37 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 print_byte::b#1 ] ) always clobbers reg byte a +Statement [48] (byte~) print_byte::$2 ← (byte) print_byte::b#2 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ char_cursor#12 print_byte::$2 ] ( main:2::print_sword:17::print_word:37::print_byte:40 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 char_cursor#12 print_byte::$2 ] main:2::print_sword:17::print_word:37::print_byte:42 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 print_byte::$2 ] ) always clobbers reg byte a +Statement [53] *((byte*) char_cursor#33) ← (byte) print_char::ch#3 [ char_cursor#33 ] ( main:2::print_sword:17::print_char:34 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#1 char_cursor#33 ] main:2::print_sword:17::print_word:37::print_byte:40::print_char:47 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 print_byte::b#2 char_cursor#33 ] main:2::print_sword:17::print_word:37::print_byte:42::print_char:47 [ main::st1#2 main::st2#2 main::i#2 print_byte::b#2 char_cursor#33 ] main:2::print_sword:17::print_word:37::print_byte:40::print_char:50 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 char_cursor#33 ] main:2::print_sword:17::print_word:37::print_byte:42::print_char:50 [ main::st1#2 main::st2#2 main::i#2 char_cursor#33 ] ) always clobbers reg byte y +Statement [58] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:9 [ print_cls::sc#2 ] ) always clobbers reg byte a reg byte y +Statement [60] 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 ] ) always clobbers reg byte a +Statement [64] (dword) div32u16u::return#3 ← (dword) div32u16u::return#0 [ div32u16u::return#3 ] ( main:2::sin16s_genb:7 [ div32u16u::return#3 ] ) always clobbers reg byte a +Statement [65] (dword) sin16s_genb::step#0 ← (dword) div32u16u::return#3 [ sin16s_genb::step#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 ] ) always clobbers reg byte a +Statement [67] (word) sin16sb::x#0 ← > (dword) sin16s_genb::x#2 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#0 ] ) always clobbers reg byte a +Statement [69] (signed word) sin16sb::return#0 ← (signed word) sin16sb::return#1 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#0 ] ) always clobbers reg byte a +Statement [70] (signed word~) sin16s_genb::$2 ← (signed word) sin16sb::return#0 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16s_genb::$2 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16s_genb::$2 ] ) always clobbers reg byte a +Statement [71] *((signed word*) sin16s_genb::sintab#2) ← (signed word~) sin16s_genb::$2 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 ] ) always clobbers reg byte a reg byte y +Statement [72] (signed word*) sin16s_genb::sintab#0 ← (signed word*) sin16s_genb::sintab#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::i#2 sin16s_genb::sintab#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::i#2 sin16s_genb::sintab#0 ] ) always clobbers reg byte a +Statement [73] (dword) sin16s_genb::x#1 ← (dword) sin16s_genb::x#2 + (dword) sin16s_genb::step#0 [ sin16s_genb::step#0 sin16s_genb::i#2 sin16s_genb::x#1 sin16s_genb::sintab#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::i#2 sin16s_genb::x#1 sin16s_genb::sintab#0 ] ) always clobbers reg byte a +Statement [75] if((word) sin16s_genb::i#1<(const word) main::wavelength#0) goto sin16s_genb::@1 [ sin16s_genb::step#0 sin16s_genb::x#1 sin16s_genb::sintab#0 sin16s_genb::i#1 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#1 sin16s_genb::sintab#0 sin16s_genb::i#1 ] ) always clobbers reg byte a +Statement [77] if((word) sin16sb::x#0<(const word) PI_u4f12#0) goto sin16sb::@1 [ sin16sb::x#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#0 ] ) always clobbers reg byte a +Statement [78] (word) sin16sb::x#1 ← (word) sin16sb::x#0 - (const word) PI_u4f12#0 [ sin16sb::x#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#1 ] ) always clobbers reg byte a +Statement [80] if((word) sin16sb::x#4<(const word) PI_HALF_u4f12#0) goto sin16sb::@2 [ sin16sb::x#4 sin16sb::isUpper#2 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#4 sin16sb::isUpper#2 ] ) always clobbers reg byte a +Statement [81] (word) sin16sb::x#2 ← (const word) PI_u4f12#0 - (word) sin16sb::x#4 [ sin16sb::isUpper#2 sin16sb::x#2 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x#2 ] ) always clobbers reg byte a +Statement [83] (word) sin16sb::x1#0 ← (word) sin16sb::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin16sb::isUpper#2 sin16sb::x1#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 ] ) always clobbers reg byte a +Statement [84] (word) mulu16_sel::v1#5 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#5 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#5 ] ) always clobbers reg byte a +Statement [85] (word) mulu16_sel::v2#5 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#5 mulu16_sel::v2#5 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#5 mulu16_sel::v2#5 ] ) always clobbers reg byte a +Statement [87] (word) mulu16_sel::return#18 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#18 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#18 ] ) always clobbers reg byte a +Statement [88] (word) sin16sb::x2#0 ← (word) mulu16_sel::return#18 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x2#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x2#0 ] ) always clobbers reg byte a +Statement [89] (word) mulu16_sel::v1#6 ← (word) sin16sb::x2#0 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#6 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#6 ] ) always clobbers reg byte a +Statement [90] (word) mulu16_sel::v2#6 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#6 mulu16_sel::v2#6 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#6 mulu16_sel::v2#6 ] ) always clobbers reg byte a +Statement [92] (word) mulu16_sel::return#19 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#19 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#19 ] ) always clobbers reg byte a +Statement [93] (word) sin16sb::x3#0 ← (word) mulu16_sel::return#19 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 ] ) always clobbers reg byte a +Statement [94] (word) mulu16_sel::v1#7 ← (word) sin16sb::x3#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v1#7 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v1#7 ] ) always clobbers reg byte a +Statement [96] (word) mulu16_sel::return#20 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#20 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#20 ] ) always clobbers reg byte a +Statement [97] (word) sin16sb::x3_6#0 ← (word) mulu16_sel::return#20 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 sin16sb::x3_6#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 sin16sb::x3_6#0 ] ) always clobbers reg byte a +Statement [98] (word) sin16sb::usinx#0 ← (word) sin16sb::x1#0 - (word) sin16sb::x3_6#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 sin16sb::usinx#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 sin16sb::usinx#0 ] ) always clobbers reg byte a +Statement [99] (word) mulu16_sel::v1#8 ← (word) sin16sb::x3#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#8 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#8 ] ) always clobbers reg byte a +Statement [100] (word) mulu16_sel::v2#8 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#8 mulu16_sel::v2#8 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#8 mulu16_sel::v2#8 ] ) always clobbers reg byte a +Statement [102] (word) mulu16_sel::return#10 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#10 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#10 ] ) always clobbers reg byte a +Statement [103] (word) sin16sb::x4#0 ← (word) mulu16_sel::return#10 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 sin16sb::x4#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 sin16sb::x4#0 ] ) always clobbers reg byte a +Statement [104] (word) mulu16_sel::v1#9 ← (word) sin16sb::x4#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#9 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#9 ] ) always clobbers reg byte a +Statement [105] (word) mulu16_sel::v2#9 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v1#9 mulu16_sel::v2#9 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v1#9 mulu16_sel::v2#9 ] ) always clobbers reg byte a +Statement [107] (word) mulu16_sel::return#11 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#11 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#11 ] ) always clobbers reg byte a +Statement [108] (word) sin16sb::x5#0 ← (word) mulu16_sel::return#11 [ sin16sb::isUpper#2 sin16sb::usinx#0 sin16sb::x5#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 sin16sb::x5#0 ] ) always clobbers reg byte a +Statement [109] (word) sin16sb::x5_128#0 ← (word) sin16sb::x5#0 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ sin16sb::isUpper#2 sin16sb::usinx#0 sin16sb::x5_128#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 sin16sb::x5_128#0 ] ) always clobbers reg byte a reg byte y +Statement [110] (word) sin16sb::usinx#1 ← (word) sin16sb::usinx#0 + (word) sin16sb::x5_128#0 [ sin16sb::isUpper#2 sin16sb::usinx#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#1 ] ) always clobbers reg byte a +Statement [111] if((byte) sin16sb::isUpper#2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin16sb::@15 [ sin16sb::usinx#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::usinx#1 ] ) always clobbers reg byte a +Statement [112] (signed word) sin16sb::sinx#1 ← - (signed word)(word) sin16sb::usinx#1 [ sin16sb::sinx#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::sinx#1 ] ) always clobbers reg byte a +Statement [115] (signed word~) sin16sb::return#5 ← (signed word)(word) sin16sb::usinx#1 [ sin16sb::return#5 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#5 ] ) always clobbers reg byte a +Statement [117] (word) mul16u::a#1 ← (word) mulu16_sel::v1#10 [ mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] ) always clobbers reg byte a +Statement [118] (word) mul16u::b#0 ← (word) mulu16_sel::v2#10 [ mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] ) always clobbers reg byte a +Statement [120] (dword) mul16u::return#2 ← (dword) mul16u::res#2 [ mulu16_sel::select#10 mul16u::return#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] ) always clobbers reg byte a +Statement [121] (dword~) mulu16_sel::$0 ← (dword) mul16u::return#2 [ mulu16_sel::select#10 mulu16_sel::$0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] ) always clobbers reg byte a +Statement [122] (dword~) mulu16_sel::$1 ← (dword~) mulu16_sel::$0 << (byte) mulu16_sel::select#10 [ mulu16_sel::$1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::$1 ] ) always clobbers reg byte a reg byte x +Statement [123] (word) mulu16_sel::return#17 ← > (dword~) mulu16_sel::$1 [ mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#17 ] ) always clobbers reg byte a +Statement [125] (dword) mul16u::mb#0 ← ((dword)) (word) mul16u::b#0 [ mul16u::a#1 mul16u::mb#0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] ) always clobbers reg byte a +Statement [127] if((word) mul16u::a#2!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul16u::@2 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ) always clobbers reg byte a +Statement [129] (byte~) mul16u::$1 ← (word) mul16u::a#2 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] ) always clobbers reg byte a +Statement [131] (dword) mul16u::res#1 ← (dword) mul16u::res#2 + (dword) mul16u::mb#2 [ mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] ) always clobbers reg byte a +Statement [136] (word) divr16u::dividend#1 ← > (dword) div32u16u::dividend#2 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 ] ) always clobbers reg byte a +Statement [137] (word) divr16u::divisor#0 ← (word) div32u16u::divisor#2 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 divr16u::divisor#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 divr16u::divisor#0 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 divr16u::divisor#0 ] ) always clobbers reg byte a +Statement [139] (word) divr16u::return#2 ← (word) divr16u::return#0 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#2 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#2 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#2 ] ) always clobbers reg byte a +Statement [140] (word) div32u16u::quotient_hi#0 ← (word) divr16u::return#2 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 div32u16u::quotient_hi#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 div32u16u::quotient_hi#0 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 div32u16u::quotient_hi#0 ] ) always clobbers reg byte a +Statement [141] (word) divr16u::dividend#2 ← < (dword) div32u16u::dividend#2 [ div32u16u::divisor#2 divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::dividend#2 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::divisor#2 divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::dividend#2 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::divisor#2 divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::dividend#2 ] ) always clobbers reg byte a +Statement [142] (word) divr16u::divisor#1 ← (word) div32u16u::divisor#2 [ divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 ] main:2::sin16s_gen:5::div32u16u:167 [ divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 ] ) always clobbers reg byte a +Statement [145] (word) divr16u::return#3 ← (word) divr16u::return#0 [ divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::return#3 ] ( main:2::sin16s_genb:7::div32u16u:63 [ divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::return#3 ] main:2::sin16s_gen:5::div32u16u:167 [ divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::return#3 ] ) always clobbers reg byte a +Statement [146] (word) div32u16u::quotient_lo#0 ← (word) divr16u::return#3 [ divr16u::rem#11 div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ divr16u::rem#11 div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] main:2::sin16s_gen:5::div32u16u:167 [ divr16u::rem#11 div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ) always clobbers reg byte a +Statement [147] (dword) div32u16u::return#0 ← (word) div32u16u::quotient_hi#0 dw= (word) div32u16u::quotient_lo#0 [ div32u16u::return#0 divr16u::rem#11 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::return#0 divr16u::rem#11 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::return#0 divr16u::rem#11 ] ) always clobbers reg byte a +Statement [152] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) always clobbers reg byte a +Statement [153] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) always clobbers reg byte a +Statement [155] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) always clobbers reg byte a +Statement [159] 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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) always clobbers reg byte a +Statement [161] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) always clobbers reg byte a +Statement [168] (dword) div32u16u::return#2 ← (dword) div32u16u::return#0 [ divr16u::rem#11 div32u16u::return#2 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 div32u16u::return#2 ] ) always clobbers reg byte a +Statement [169] (dword) sin16s_gen::step#0 ← (dword) div32u16u::return#2 [ divr16u::rem#11 sin16s_gen::step#0 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 ] ) always clobbers reg byte a +Statement [171] (dword) sin16s::x#0 ← (dword) sin16s_gen::x#2 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ) always clobbers reg byte a +Statement [173] (signed word) sin16s::return#0 ← (signed word) sin16s::return#1 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#0 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#0 ] ) always clobbers reg byte a +Statement [174] (signed word~) sin16s_gen::$1 ← (signed word) sin16s::return#0 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s_gen::$1 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s_gen::$1 ] ) always clobbers reg byte a +Statement [175] *((signed word*) sin16s_gen::sintab#2) ← (signed word~) sin16s_gen::$1 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ) always clobbers reg byte a reg byte y +Statement [176] (signed word*) sin16s_gen::sintab#0 ← (signed word*) sin16s_gen::sintab#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::i#2 sin16s_gen::sintab#0 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::i#2 sin16s_gen::sintab#0 ] ) always clobbers reg byte a +Statement [177] (dword) sin16s_gen::x#1 ← (dword) sin16s_gen::x#2 + (dword) sin16s_gen::step#0 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::i#2 sin16s_gen::x#1 sin16s_gen::sintab#0 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::i#2 sin16s_gen::x#1 sin16s_gen::sintab#0 ] ) always clobbers reg byte a +Statement [179] if((word) sin16s_gen::i#1<(const word) main::wavelength#0) goto sin16s_gen::@1 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ) always clobbers reg byte a +Statement [181] if((dword) sin16s::x#0<(const dword) PI_u4f28#0) goto sin16s::@1 [ sin16s::x#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ) always clobbers reg byte a +Statement [182] (dword) sin16s::x#1 ← (dword) sin16s::x#0 - (const dword) PI_u4f28#0 [ sin16s::x#1 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#1 ] ) always clobbers reg byte a +Statement [184] if((dword) sin16s::x#4<(const dword) PI_HALF_u4f28#0) goto sin16s::@2 [ sin16s::x#4 sin16s::isUpper#2 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#4 sin16s::isUpper#2 ] ) always clobbers reg byte a +Statement [185] (dword) sin16s::x#2 ← (const dword) PI_u4f28#0 - (dword) sin16s::x#4 [ sin16s::isUpper#2 sin16s::x#2 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x#2 ] ) always clobbers reg byte a +Statement [187] (dword~) sin16s::$6 ← (dword) sin16s::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin16s::isUpper#2 sin16s::$6 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::$6 ] ) always clobbers reg byte a reg byte y +Statement [188] (word) sin16s::x1#0 ← > (dword~) sin16s::$6 [ sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 ] ) always clobbers reg byte a +Statement [189] (word) mulu16_sel::v1#0 ← (word) sin16s::x1#0 [ mulu16_sel::v1#0 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#0 sin16s::isUpper#2 sin16s::x1#0 ] ) always clobbers reg byte a +Statement [190] (word) mulu16_sel::v2#0 ← (word) sin16s::x1#0 [ mulu16_sel::v1#0 mulu16_sel::v2#0 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#0 mulu16_sel::v2#0 sin16s::isUpper#2 sin16s::x1#0 ] ) always clobbers reg byte a +Statement [192] (word) mulu16_sel::return#0 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#0 ] ) always clobbers reg byte a +Statement [193] (word) sin16s::x2#0 ← (word) mulu16_sel::return#0 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x2#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x2#0 ] ) always clobbers reg byte a +Statement [194] (word) mulu16_sel::v1#1 ← (word) sin16s::x2#0 [ mulu16_sel::v1#1 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#1 sin16s::isUpper#2 sin16s::x1#0 ] ) always clobbers reg byte a +Statement [195] (word) mulu16_sel::v2#1 ← (word) sin16s::x1#0 [ mulu16_sel::v1#1 mulu16_sel::v2#1 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#1 mulu16_sel::v2#1 sin16s::isUpper#2 sin16s::x1#0 ] ) always clobbers reg byte a +Statement [197] (word) mulu16_sel::return#1 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#1 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#1 ] ) always clobbers reg byte a +Statement [198] (word) sin16s::x3#0 ← (word) mulu16_sel::return#1 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) always clobbers reg byte a +Statement [199] (word) mulu16_sel::v1#2 ← (word) sin16s::x3#0 [ mulu16_sel::v1#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) always clobbers reg byte a +Statement [201] (word) mulu16_sel::return#14 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#14 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#14 ] ) always clobbers reg byte a +Statement [202] (word) sin16s::x3_6#0 ← (word) mulu16_sel::return#14 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::x3_6#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::x3_6#0 ] ) always clobbers reg byte a +Statement [203] (word) sin16s::usinx#0 ← (word) sin16s::x1#0 - (word) sin16s::x3_6#0 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::usinx#0 ] ) always clobbers reg byte a +Statement [204] (word) mulu16_sel::v1#3 ← (word) sin16s::x3#0 [ mulu16_sel::v1#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) always clobbers reg byte a +Statement [205] (word) mulu16_sel::v2#3 ← (word) sin16s::x1#0 [ mulu16_sel::v1#3 mulu16_sel::v2#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#3 mulu16_sel::v2#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) always clobbers reg byte a +Statement [207] (word) mulu16_sel::return#15 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#15 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#15 ] ) always clobbers reg byte a +Statement [208] (word) sin16s::x4#0 ← (word) mulu16_sel::return#15 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 sin16s::x4#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 sin16s::x4#0 ] ) always clobbers reg byte a +Statement [209] (word) mulu16_sel::v1#4 ← (word) sin16s::x4#0 [ mulu16_sel::v1#4 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#4 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) always clobbers reg byte a +Statement [210] (word) mulu16_sel::v2#4 ← (word) sin16s::x1#0 [ mulu16_sel::v1#4 mulu16_sel::v2#4 sin16s::isUpper#2 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#4 mulu16_sel::v2#4 sin16s::isUpper#2 sin16s::usinx#0 ] ) always clobbers reg byte a +Statement [212] (word) mulu16_sel::return#16 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#16 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#16 ] ) always clobbers reg byte a +Statement [213] (word) sin16s::x5#0 ← (word) mulu16_sel::return#16 [ sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5#0 ] ) always clobbers reg byte a +Statement [214] (word) sin16s::x5_128#0 ← (word) sin16s::x5#0 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5_128#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5_128#0 ] ) always clobbers reg byte a reg byte y +Statement [215] (word) sin16s::usinx#1 ← (word) sin16s::usinx#0 + (word) sin16s::x5_128#0 [ sin16s::isUpper#2 sin16s::usinx#1 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#1 ] ) always clobbers reg byte a +Statement [216] if((byte) sin16s::isUpper#2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin16s::@15 [ sin16s::usinx#1 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::usinx#1 ] ) always clobbers reg byte a +Statement [217] (signed word) sin16s::sinx#1 ← - (signed word)(word) sin16s::usinx#1 [ sin16s::sinx#1 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::sinx#1 ] ) always clobbers reg byte a +Statement [220] (signed word~) sin16s::return#5 ← (signed word)(word) sin16s::usinx#1 [ sin16s::return#5 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#5 ] ) always clobbers reg byte a +Potential registers zp ZP_WORD:2 [ main::st1#2 main::st1#1 ] : zp ZP_WORD:2 , +Potential registers zp ZP_WORD:4 [ main::st2#2 main::st2#1 ] : zp ZP_WORD:4 , +Potential registers zp ZP_BYTE:6 [ main::i#2 main::i#1 ] : zp ZP_BYTE:6 , reg byte x , +Potential registers zp ZP_WORD:7 [ print_str::str#3 print_str::str#5 print_str::str#0 ] : zp ZP_WORD:7 , +Potential registers zp ZP_WORD:9 [ print_sword::w#3 print_sword::w#1 print_sword::w#0 ] : zp ZP_WORD:9 , +Potential registers zp ZP_BYTE:11 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ] : zp ZP_BYTE:11 , reg byte a , reg byte x , +Potential registers zp ZP_BYTE:12 [ print_char::ch#3 print_char::ch#1 print_char::ch#2 ] : zp ZP_BYTE:12 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_WORD:13 [ char_cursor#33 char_cursor#46 char_cursor#43 char_cursor#51 char_cursor#48 char_cursor#49 char_cursor#2 char_cursor#12 char_cursor#1 ] : zp ZP_WORD:13 , +Potential registers zp ZP_WORD:15 [ print_cls::sc#2 print_cls::sc#1 ] : zp ZP_WORD:15 , +Potential registers zp ZP_DWORD:17 [ sin16s_genb::x#2 sin16s_genb::x#1 ] : zp ZP_DWORD:17 , +Potential registers zp ZP_WORD:21 [ sin16s_genb::sintab#2 sin16s_genb::sintab#0 ] : zp ZP_WORD:21 , +Potential registers zp ZP_WORD:23 [ sin16s_genb::i#2 sin16s_genb::i#1 ] : zp ZP_WORD:23 , +Potential registers zp ZP_BYTE:25 [ sin16sb::isUpper#2 ] : zp ZP_BYTE:25 , +Potential registers zp ZP_WORD:26 [ sin16sb::x#6 sin16sb::x#4 sin16sb::x#0 sin16sb::x#1 sin16sb::x#2 ] : zp ZP_WORD:26 , +Potential registers zp ZP_WORD:28 [ sin16sb::return#1 sin16sb::return#5 sin16sb::sinx#1 ] : zp ZP_WORD:28 , +Potential registers zp ZP_WORD:30 [ mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 ] : zp ZP_WORD:30 , +Potential registers zp ZP_WORD:32 [ mulu16_sel::v2#10 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 mulu16_sel::v2#8 mulu16_sel::v2#9 mulu16_sel::v2#5 mulu16_sel::v2#6 ] : zp ZP_WORD:32 , +Potential registers zp ZP_BYTE:34 [ mulu16_sel::select#10 ] : zp ZP_BYTE:34 , reg byte x , reg byte y , +Potential registers zp ZP_WORD:35 [ mul16u::a#2 mul16u::a#1 mul16u::a#0 ] : zp ZP_WORD:35 , +Potential registers zp ZP_DWORD:37 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 ] : zp ZP_DWORD:37 , +Potential registers zp ZP_DWORD:41 [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ] : zp ZP_DWORD:41 , +Potential registers zp ZP_DWORD:45 [ div32u16u::dividend#2 ] : zp ZP_DWORD:45 , +Potential registers zp ZP_WORD:49 [ div32u16u::divisor#2 ] : zp ZP_WORD:49 , +Potential registers zp ZP_WORD:51 [ divr16u::divisor#6 divr16u::divisor#0 divr16u::divisor#1 ] : zp ZP_WORD:51 , +Potential registers zp ZP_WORD:53 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 rem16u#26 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] : zp ZP_WORD:53 , +Potential registers zp ZP_WORD:55 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#1 divr16u::dividend#2 divr16u::dividend#0 ] : zp ZP_WORD:55 , +Potential registers zp ZP_WORD:57 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] : zp ZP_WORD:57 , +Potential registers zp ZP_BYTE:59 [ divr16u::i#2 divr16u::i#1 ] : zp ZP_BYTE:59 , reg byte x , reg byte y , +Potential registers zp ZP_DWORD:60 [ sin16s_gen::x#2 sin16s_gen::x#1 ] : zp ZP_DWORD:60 , +Potential registers zp ZP_WORD:64 [ sin16s_gen::sintab#2 sin16s_gen::sintab#0 ] : zp ZP_WORD:64 , +Potential registers zp ZP_WORD:66 [ sin16s_gen::i#2 sin16s_gen::i#1 ] : zp ZP_WORD:66 , +Potential registers zp ZP_BYTE:68 [ sin16s::isUpper#2 ] : zp ZP_BYTE:68 , +Potential registers zp ZP_DWORD:69 [ sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 ] : zp ZP_DWORD:69 , +Potential registers zp ZP_WORD:73 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 ] : zp ZP_WORD:73 , +Potential registers zp ZP_WORD:75 [ main::sw#0 ] : zp ZP_WORD:75 , +Potential registers zp ZP_BYTE:77 [ print_byte::$0 ] : zp ZP_BYTE:77 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:78 [ print_byte::$2 ] : zp ZP_BYTE:78 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_DWORD:79 [ div32u16u::return#3 ] : zp ZP_DWORD:79 , +Potential registers zp ZP_DWORD:83 [ sin16s_genb::step#0 ] : zp ZP_DWORD:83 , +Potential registers zp ZP_WORD:87 [ sin16sb::return#0 ] : zp ZP_WORD:87 , +Potential registers zp ZP_WORD:89 [ sin16s_genb::$2 ] : zp ZP_WORD:89 , +Potential registers zp ZP_WORD:91 [ sin16sb::x1#0 ] : zp ZP_WORD:91 , +Potential registers zp ZP_WORD:93 [ mulu16_sel::return#18 ] : zp ZP_WORD:93 , +Potential registers zp ZP_WORD:95 [ sin16sb::x2#0 ] : zp ZP_WORD:95 , +Potential registers zp ZP_WORD:97 [ mulu16_sel::return#19 ] : zp ZP_WORD:97 , +Potential registers zp ZP_WORD:99 [ sin16sb::x3#0 ] : zp ZP_WORD:99 , +Potential registers zp ZP_WORD:101 [ mulu16_sel::return#20 ] : zp ZP_WORD:101 , +Potential registers zp ZP_WORD:103 [ sin16sb::x3_6#0 ] : zp ZP_WORD:103 , +Potential registers zp ZP_WORD:105 [ sin16sb::usinx#0 ] : zp ZP_WORD:105 , +Potential registers zp ZP_WORD:107 [ mulu16_sel::return#10 ] : zp ZP_WORD:107 , +Potential registers zp ZP_WORD:109 [ sin16sb::x4#0 ] : zp ZP_WORD:109 , +Potential registers zp ZP_WORD:111 [ mulu16_sel::return#11 ] : zp ZP_WORD:111 , +Potential registers zp ZP_WORD:113 [ sin16sb::x5#0 ] : zp ZP_WORD:113 , +Potential registers zp ZP_WORD:115 [ sin16sb::x5_128#0 ] : zp ZP_WORD:115 , +Potential registers zp ZP_WORD:117 [ sin16sb::usinx#1 ] : zp ZP_WORD:117 , +Potential registers zp ZP_WORD:119 [ mul16u::b#0 ] : zp ZP_WORD:119 , +Potential registers zp ZP_DWORD:121 [ mul16u::return#2 ] : zp ZP_DWORD:121 , +Potential registers zp ZP_DWORD:125 [ mulu16_sel::$0 ] : zp ZP_DWORD:125 , +Potential registers zp ZP_DWORD:129 [ mulu16_sel::$1 ] : zp ZP_DWORD:129 , +Potential registers zp ZP_WORD:133 [ mulu16_sel::return#17 ] : zp ZP_WORD:133 , +Potential registers zp ZP_BYTE:135 [ mul16u::$1 ] : zp ZP_BYTE:135 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_WORD:136 [ divr16u::return#2 ] : zp ZP_WORD:136 , +Potential registers zp ZP_WORD:138 [ div32u16u::quotient_hi#0 ] : zp ZP_WORD:138 , +Potential registers zp ZP_WORD:140 [ divr16u::return#3 ] : zp ZP_WORD:140 , +Potential registers zp ZP_WORD:142 [ div32u16u::quotient_lo#0 ] : zp ZP_WORD:142 , +Potential registers zp ZP_DWORD:144 [ div32u16u::return#0 ] : zp ZP_DWORD:144 , +Potential registers zp ZP_BYTE:148 [ divr16u::$1 ] : zp ZP_BYTE:148 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:149 [ divr16u::$2 ] : zp ZP_BYTE:149 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_DWORD:150 [ div32u16u::return#2 ] : zp ZP_DWORD:150 , +Potential registers zp ZP_DWORD:154 [ sin16s_gen::step#0 ] : zp ZP_DWORD:154 , +Potential registers zp ZP_WORD:158 [ sin16s::return#0 ] : zp ZP_WORD:158 , +Potential registers zp ZP_WORD:160 [ sin16s_gen::$1 ] : zp ZP_WORD:160 , +Potential registers zp ZP_DWORD:162 [ sin16s::$6 ] : zp ZP_DWORD:162 , +Potential registers zp ZP_WORD:166 [ sin16s::x1#0 ] : zp ZP_WORD:166 , +Potential registers zp ZP_WORD:168 [ mulu16_sel::return#0 ] : zp ZP_WORD:168 , +Potential registers zp ZP_WORD:170 [ sin16s::x2#0 ] : zp ZP_WORD:170 , +Potential registers zp ZP_WORD:172 [ mulu16_sel::return#1 ] : zp ZP_WORD:172 , +Potential registers zp ZP_WORD:174 [ sin16s::x3#0 ] : zp ZP_WORD:174 , +Potential registers zp ZP_WORD:176 [ mulu16_sel::return#14 ] : zp ZP_WORD:176 , +Potential registers zp ZP_WORD:178 [ sin16s::x3_6#0 ] : zp ZP_WORD:178 , +Potential registers zp ZP_WORD:180 [ sin16s::usinx#0 ] : zp ZP_WORD:180 , +Potential registers zp ZP_WORD:182 [ mulu16_sel::return#15 ] : zp ZP_WORD:182 , +Potential registers zp ZP_WORD:184 [ sin16s::x4#0 ] : zp ZP_WORD:184 , +Potential registers zp ZP_WORD:186 [ mulu16_sel::return#16 ] : zp ZP_WORD:186 , +Potential registers zp ZP_WORD:188 [ sin16s::x5#0 ] : zp ZP_WORD:188 , +Potential registers zp ZP_WORD:190 [ sin16s::x5_128#0 ] : zp ZP_WORD:190 , +Potential registers zp ZP_WORD:192 [ sin16s::usinx#1 ] : zp ZP_WORD:192 , + +REGISTER UPLIFT SCOPES +Uplift Scope [mul16u] 353.83: zp ZP_DWORD:37 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 ] 249.57: zp ZP_DWORD:41 [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ] 202: zp ZP_BYTE:135 [ mul16u::$1 ] 170: zp ZP_WORD:35 [ mul16u::a#2 mul16u::a#1 mul16u::a#0 ] 4: zp ZP_WORD:119 [ mul16u::b#0 ] 4: zp ZP_DWORD:121 [ mul16u::return#2 ] +Uplift Scope [print_str] 305.5: zp ZP_WORD:7 [ print_str::str#3 print_str::str#5 print_str::str#0 ] +Uplift Scope [divr16u] 116.44: zp ZP_WORD:53 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 rem16u#26 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] 36.42: zp ZP_WORD:57 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] 22: zp ZP_BYTE:148 [ divr16u::$1 ] 22: zp ZP_BYTE:149 [ divr16u::$2 ] 18.19: zp ZP_BYTE:59 [ divr16u::i#2 divr16u::i#1 ] 17.08: zp ZP_WORD:55 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#1 divr16u::dividend#2 divr16u::dividend#0 ] 7.62: zp ZP_WORD:51 [ divr16u::divisor#6 divr16u::divisor#0 divr16u::divisor#1 ] 4: zp ZP_WORD:136 [ divr16u::return#2 ] 4: zp ZP_WORD:140 [ divr16u::return#3 ] +Uplift Scope [] 183.57: zp ZP_WORD:13 [ char_cursor#33 char_cursor#46 char_cursor#43 char_cursor#51 char_cursor#48 char_cursor#49 char_cursor#2 char_cursor#12 char_cursor#1 ] +Uplift Scope [mulu16_sel] 46: zp ZP_WORD:30 [ mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 ] 41: zp ZP_WORD:32 [ mulu16_sel::v2#10 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 mulu16_sel::v2#8 mulu16_sel::v2#9 mulu16_sel::v2#5 mulu16_sel::v2#6 ] 4: zp ZP_WORD:93 [ mulu16_sel::return#18 ] 4: zp ZP_WORD:97 [ mulu16_sel::return#19 ] 4: zp ZP_WORD:101 [ mulu16_sel::return#20 ] 4: zp ZP_WORD:107 [ mulu16_sel::return#10 ] 4: zp ZP_WORD:111 [ mulu16_sel::return#11 ] 4: zp ZP_DWORD:125 [ mulu16_sel::$0 ] 4: zp ZP_DWORD:129 [ mulu16_sel::$1 ] 4: zp ZP_WORD:168 [ mulu16_sel::return#0 ] 4: zp ZP_WORD:172 [ mulu16_sel::return#1 ] 4: zp ZP_WORD:176 [ mulu16_sel::return#14 ] 4: zp ZP_WORD:182 [ mulu16_sel::return#15 ] 4: zp ZP_WORD:186 [ mulu16_sel::return#16 ] 1.83: zp ZP_WORD:133 [ mulu16_sel::return#17 ] 0.33: zp ZP_BYTE:34 [ mulu16_sel::select#10 ] +Uplift Scope [sin16s] 27.5: zp ZP_DWORD:69 [ sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 ] 22: zp ZP_WORD:158 [ sin16s::return#0 ] 13: zp ZP_WORD:73 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 ] 4: zp ZP_DWORD:162 [ sin16s::$6 ] 4: zp ZP_WORD:170 [ sin16s::x2#0 ] 4: zp ZP_WORD:178 [ sin16s::x3_6#0 ] 4: zp ZP_WORD:184 [ sin16s::x4#0 ] 4: zp ZP_WORD:188 [ sin16s::x5#0 ] 4: zp ZP_WORD:190 [ sin16s::x5_128#0 ] 1: zp ZP_WORD:174 [ sin16s::x3#0 ] 1: zp ZP_WORD:192 [ sin16s::usinx#1 ] 0.64: zp ZP_WORD:166 [ sin16s::x1#0 ] 0.33: zp ZP_WORD:180 [ sin16s::usinx#0 ] 0.06: zp ZP_BYTE:68 [ sin16s::isUpper#2 ] +Uplift Scope [sin16sb] 27.5: zp ZP_WORD:26 [ sin16sb::x#6 sin16sb::x#4 sin16sb::x#0 sin16sb::x#1 sin16sb::x#2 ] 22: zp ZP_WORD:87 [ sin16sb::return#0 ] 13: zp ZP_WORD:28 [ sin16sb::return#1 sin16sb::return#5 sin16sb::sinx#1 ] 4: zp ZP_WORD:95 [ sin16sb::x2#0 ] 4: zp ZP_WORD:103 [ sin16sb::x3_6#0 ] 4: zp ZP_WORD:109 [ sin16sb::x4#0 ] 4: zp ZP_WORD:113 [ sin16sb::x5#0 ] 4: zp ZP_WORD:115 [ sin16sb::x5_128#0 ] 1: zp ZP_WORD:99 [ sin16sb::x3#0 ] 1: zp ZP_WORD:117 [ sin16sb::usinx#1 ] 0.64: zp ZP_WORD:91 [ sin16sb::x1#0 ] 0.33: zp ZP_WORD:105 [ sin16sb::usinx#0 ] 0.06: zp ZP_BYTE:25 [ sin16sb::isUpper#2 ] +Uplift Scope [sin16s_gen] 22: zp ZP_WORD:160 [ sin16s_gen::$1 ] 19.25: zp ZP_WORD:66 [ sin16s_gen::i#2 sin16s_gen::i#1 ] 12.05: zp ZP_DWORD:60 [ sin16s_gen::x#2 sin16s_gen::x#1 ] 11: zp ZP_WORD:64 [ sin16s_gen::sintab#2 sin16s_gen::sintab#0 ] 1.18: zp ZP_DWORD:154 [ sin16s_gen::step#0 ] +Uplift Scope [sin16s_genb] 22: zp ZP_WORD:89 [ sin16s_genb::$2 ] 19.25: zp ZP_WORD:23 [ sin16s_genb::i#2 sin16s_genb::i#1 ] 12.05: zp ZP_DWORD:17 [ sin16s_genb::x#2 sin16s_genb::x#1 ] 11: zp ZP_WORD:21 [ sin16s_genb::sintab#2 sin16s_genb::sintab#0 ] 1.18: zp ZP_DWORD:83 [ sin16s_genb::step#0 ] +Uplift Scope [main] 18.33: zp ZP_BYTE:6 [ main::i#2 main::i#1 ] 10.33: zp ZP_WORD:4 [ main::st2#2 main::st2#1 ] 8.8: zp ZP_WORD:2 [ main::st1#2 main::st1#1 ] 6.6: zp ZP_WORD:75 [ main::sw#0 ] +Uplift Scope [print_cls] 33: zp ZP_WORD:15 [ print_cls::sc#2 print_cls::sc#1 ] +Uplift Scope [print_byte] 10: zp ZP_BYTE:11 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ] 4: zp ZP_BYTE:77 [ print_byte::$0 ] 4: zp ZP_BYTE:78 [ print_byte::$2 ] +Uplift Scope [div32u16u] 4: zp ZP_DWORD:79 [ div32u16u::return#3 ] 4: zp ZP_WORD:142 [ div32u16u::quotient_lo#0 ] 4: zp ZP_DWORD:150 [ div32u16u::return#2 ] 1.5: zp ZP_DWORD:144 [ div32u16u::return#0 ] 0.67: zp ZP_DWORD:45 [ div32u16u::dividend#2 ] 0.57: zp ZP_WORD:49 [ div32u16u::divisor#2 ] 0.57: zp ZP_WORD:138 [ div32u16u::quotient_hi#0 ] +Uplift Scope [print_char] 14: zp ZP_BYTE:12 [ print_char::ch#3 print_char::ch#1 print_char::ch#2 ] +Uplift Scope [print_sword] 9.58: zp ZP_WORD:9 [ print_sword::w#3 print_sword::w#1 print_sword::w#0 ] +Uplift Scope [print_word] + +Uplifting [mul16u] best 28221 combination zp ZP_DWORD:37 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 ] zp ZP_DWORD:41 [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ] reg byte a [ mul16u::$1 ] zp ZP_WORD:35 [ mul16u::a#2 mul16u::a#1 mul16u::a#0 ] zp ZP_WORD:119 [ mul16u::b#0 ] zp ZP_DWORD:121 [ mul16u::return#2 ] +Uplifting [print_str] best 28221 combination zp ZP_WORD:7 [ print_str::str#3 print_str::str#5 print_str::str#0 ] +Uplifting [divr16u] best 28031 combination zp ZP_WORD:53 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 rem16u#26 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] zp ZP_WORD:57 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] reg byte a [ divr16u::$1 ] reg byte a [ divr16u::$2 ] reg byte x [ divr16u::i#2 divr16u::i#1 ] zp ZP_WORD:55 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#1 divr16u::dividend#2 divr16u::dividend#0 ] zp ZP_WORD:51 [ divr16u::divisor#6 divr16u::divisor#0 divr16u::divisor#1 ] zp ZP_WORD:136 [ divr16u::return#2 ] zp ZP_WORD:140 [ divr16u::return#3 ] +Uplifting [] best 28031 combination zp ZP_WORD:13 [ char_cursor#33 char_cursor#46 char_cursor#43 char_cursor#51 char_cursor#48 char_cursor#49 char_cursor#2 char_cursor#12 char_cursor#1 ] +Uplifting [mulu16_sel] best 28000 combination zp ZP_WORD:30 [ mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 ] zp ZP_WORD:32 [ mulu16_sel::v2#10 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 mulu16_sel::v2#8 mulu16_sel::v2#9 mulu16_sel::v2#5 mulu16_sel::v2#6 ] zp ZP_WORD:93 [ mulu16_sel::return#18 ] zp ZP_WORD:97 [ mulu16_sel::return#19 ] zp ZP_WORD:101 [ mulu16_sel::return#20 ] zp ZP_WORD:107 [ mulu16_sel::return#10 ] zp ZP_WORD:111 [ mulu16_sel::return#11 ] zp ZP_DWORD:125 [ mulu16_sel::$0 ] zp ZP_DWORD:129 [ mulu16_sel::$1 ] zp ZP_WORD:168 [ mulu16_sel::return#0 ] zp ZP_WORD:172 [ mulu16_sel::return#1 ] zp ZP_WORD:176 [ mulu16_sel::return#14 ] zp ZP_WORD:182 [ mulu16_sel::return#15 ] zp ZP_WORD:186 [ mulu16_sel::return#16 ] zp ZP_WORD:133 [ mulu16_sel::return#17 ] reg byte x [ mulu16_sel::select#10 ] +Uplifting [sin16s] best 28000 combination zp ZP_DWORD:69 [ sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 ] zp ZP_WORD:158 [ sin16s::return#0 ] zp ZP_WORD:73 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 ] zp ZP_DWORD:162 [ sin16s::$6 ] zp ZP_WORD:170 [ sin16s::x2#0 ] zp ZP_WORD:178 [ sin16s::x3_6#0 ] zp ZP_WORD:184 [ sin16s::x4#0 ] zp ZP_WORD:188 [ sin16s::x5#0 ] zp ZP_WORD:190 [ sin16s::x5_128#0 ] zp ZP_WORD:174 [ sin16s::x3#0 ] zp ZP_WORD:192 [ sin16s::usinx#1 ] zp ZP_WORD:166 [ sin16s::x1#0 ] zp ZP_WORD:180 [ sin16s::usinx#0 ] zp ZP_BYTE:68 [ sin16s::isUpper#2 ] +Uplifting [sin16sb] best 28000 combination zp ZP_WORD:26 [ sin16sb::x#6 sin16sb::x#4 sin16sb::x#0 sin16sb::x#1 sin16sb::x#2 ] zp ZP_WORD:87 [ sin16sb::return#0 ] zp ZP_WORD:28 [ sin16sb::return#1 sin16sb::return#5 sin16sb::sinx#1 ] zp ZP_WORD:95 [ sin16sb::x2#0 ] zp ZP_WORD:103 [ sin16sb::x3_6#0 ] zp ZP_WORD:109 [ sin16sb::x4#0 ] zp ZP_WORD:113 [ sin16sb::x5#0 ] zp ZP_WORD:115 [ sin16sb::x5_128#0 ] zp ZP_WORD:99 [ sin16sb::x3#0 ] zp ZP_WORD:117 [ sin16sb::usinx#1 ] zp ZP_WORD:91 [ sin16sb::x1#0 ] zp ZP_WORD:105 [ sin16sb::usinx#0 ] zp ZP_BYTE:25 [ sin16sb::isUpper#2 ] +Uplifting [sin16s_gen] best 28000 combination zp ZP_WORD:160 [ sin16s_gen::$1 ] zp ZP_WORD:66 [ sin16s_gen::i#2 sin16s_gen::i#1 ] zp ZP_DWORD:60 [ sin16s_gen::x#2 sin16s_gen::x#1 ] zp ZP_WORD:64 [ sin16s_gen::sintab#2 sin16s_gen::sintab#0 ] zp ZP_DWORD:154 [ sin16s_gen::step#0 ] +Uplifting [sin16s_genb] best 28000 combination zp ZP_WORD:89 [ sin16s_genb::$2 ] zp ZP_WORD:23 [ sin16s_genb::i#2 sin16s_genb::i#1 ] zp ZP_DWORD:17 [ sin16s_genb::x#2 sin16s_genb::x#1 ] zp ZP_WORD:21 [ sin16s_genb::sintab#2 sin16s_genb::sintab#0 ] zp ZP_DWORD:83 [ sin16s_genb::step#0 ] +Uplifting [main] best 27910 combination reg byte x [ main::i#2 main::i#1 ] zp ZP_WORD:4 [ main::st2#2 main::st2#1 ] zp ZP_WORD:2 [ main::st1#2 main::st1#1 ] zp ZP_WORD:75 [ main::sw#0 ] +Uplifting [print_cls] best 27910 combination zp ZP_WORD:15 [ print_cls::sc#2 print_cls::sc#1 ] +Uplifting [print_byte] best 27902 combination zp ZP_BYTE:11 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ] reg byte a [ print_byte::$0 ] reg byte a [ print_byte::$2 ] +Uplifting [div32u16u] best 27902 combination zp ZP_DWORD:79 [ div32u16u::return#3 ] zp ZP_WORD:142 [ div32u16u::quotient_lo#0 ] zp ZP_DWORD:150 [ div32u16u::return#2 ] zp ZP_DWORD:144 [ div32u16u::return#0 ] zp ZP_DWORD:45 [ div32u16u::dividend#2 ] zp ZP_WORD:49 [ div32u16u::divisor#2 ] zp ZP_WORD:138 [ div32u16u::quotient_hi#0 ] +Uplifting [print_char] best 27890 combination reg byte a [ print_char::ch#3 print_char::ch#1 print_char::ch#2 ] +Uplifting [print_sword] best 27890 combination zp ZP_WORD:9 [ print_sword::w#3 print_sword::w#1 print_sword::w#0 ] +Uplifting [print_word] best 27890 combination +Attempting to uplift remaining variables inzp ZP_BYTE:11 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ] +Uplifting [print_byte] best 27890 combination zp ZP_BYTE:11 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ] +Attempting to uplift remaining variables inzp ZP_BYTE:25 [ sin16sb::isUpper#2 ] +Uplifting [sin16sb] best 27890 combination zp ZP_BYTE:25 [ sin16sb::isUpper#2 ] +Attempting to uplift remaining variables inzp ZP_BYTE:68 [ sin16s::isUpper#2 ] +Uplifting [sin16s] best 27890 combination zp ZP_BYTE:68 [ sin16s::isUpper#2 ] +Coalescing zero page register with common assignment [ zp ZP_WORD:28 [ sin16sb::return#1 sin16sb::return#5 sin16sb::sinx#1 ] ] with [ zp ZP_WORD:117 [ sin16sb::usinx#1 ] ] - score: 2 +Coalescing zero page register with common assignment [ zp ZP_WORD:30 [ mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 ] ] with [ zp ZP_WORD:99 [ sin16sb::x3#0 ] ] - score: 2 +Coalescing zero page register with common assignment [ zp ZP_WORD:30 [ mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 sin16sb::x3#0 ] ] with [ zp ZP_WORD:174 [ sin16s::x3#0 ] ] - score: 2 +Coalescing zero page register with common assignment [ zp ZP_WORD:49 [ div32u16u::divisor#2 ] ] with [ zp ZP_WORD:51 [ divr16u::divisor#6 divr16u::divisor#0 divr16u::divisor#1 ] ] - score: 2 +Coalescing zero page register with common assignment [ zp ZP_WORD:73 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 ] ] with [ zp ZP_WORD:192 [ sin16s::usinx#1 ] ] - score: 2 +Coalescing zero page register with common assignment [ zp ZP_WORD:9 [ print_sword::w#3 print_sword::w#1 print_sword::w#0 ] ] with [ zp ZP_WORD:75 [ main::sw#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:26 [ sin16sb::x#6 sin16sb::x#4 sin16sb::x#0 sin16sb::x#1 sin16sb::x#2 ] ] with [ zp ZP_WORD:91 [ sin16sb::x1#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:28 [ sin16sb::return#1 sin16sb::return#5 sin16sb::sinx#1 sin16sb::usinx#1 ] ] with [ zp ZP_WORD:87 [ sin16sb::return#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:30 [ mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 sin16sb::x3#0 sin16s::x3#0 ] ] with [ zp ZP_WORD:95 [ sin16sb::x2#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:30 [ mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 sin16sb::x3#0 sin16s::x3#0 sin16sb::x2#0 ] ] with [ zp ZP_WORD:109 [ sin16sb::x4#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:30 [ mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 sin16sb::x3#0 sin16s::x3#0 sin16sb::x2#0 sin16sb::x4#0 ] ] with [ zp ZP_WORD:170 [ sin16s::x2#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:30 [ mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 sin16sb::x3#0 sin16s::x3#0 sin16sb::x2#0 sin16sb::x4#0 sin16s::x2#0 ] ] with [ zp ZP_WORD:184 [ sin16s::x4#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:32 [ mulu16_sel::v2#10 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 mulu16_sel::v2#8 mulu16_sel::v2#9 mulu16_sel::v2#5 mulu16_sel::v2#6 ] ] with [ zp ZP_WORD:119 [ mul16u::b#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_DWORD:37 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 ] ] with [ zp ZP_DWORD:121 [ mul16u::return#2 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:57 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] ] with [ zp ZP_WORD:136 [ divr16u::return#2 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:57 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 ] ] with [ zp ZP_WORD:140 [ divr16u::return#3 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_DWORD:69 [ sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 ] ] with [ zp ZP_DWORD:162 [ sin16s::$6 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:73 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 ] ] with [ zp ZP_WORD:158 [ sin16s::return#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_DWORD:79 [ div32u16u::return#3 ] ] with [ zp ZP_DWORD:83 [ sin16s_genb::step#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_DWORD:79 [ div32u16u::return#3 sin16s_genb::step#0 ] ] with [ zp ZP_DWORD:144 [ div32u16u::return#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:93 [ mulu16_sel::return#18 ] ] with [ zp ZP_WORD:133 [ mulu16_sel::return#17 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:101 [ mulu16_sel::return#20 ] ] with [ zp ZP_WORD:103 [ sin16sb::x3_6#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:111 [ mulu16_sel::return#11 ] ] with [ zp ZP_WORD:113 [ sin16sb::x5#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_DWORD:125 [ mulu16_sel::$0 ] ] with [ zp ZP_DWORD:129 [ mulu16_sel::$1 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_DWORD:150 [ div32u16u::return#2 ] ] with [ zp ZP_DWORD:154 [ sin16s_gen::step#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:176 [ mulu16_sel::return#14 ] ] with [ zp ZP_WORD:178 [ sin16s::x3_6#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:186 [ mulu16_sel::return#16 ] ] with [ zp ZP_WORD:188 [ sin16s::x5#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:28 [ sin16sb::return#1 sin16sb::return#5 sin16sb::sinx#1 sin16sb::usinx#1 sin16sb::return#0 ] ] with [ zp ZP_WORD:89 [ sin16s_genb::$2 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:28 [ sin16sb::return#1 sin16sb::return#5 sin16sb::sinx#1 sin16sb::usinx#1 sin16sb::return#0 sin16s_genb::$2 ] ] with [ zp ZP_WORD:105 [ sin16sb::usinx#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:30 [ mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 sin16sb::x3#0 sin16s::x3#0 sin16sb::x2#0 sin16sb::x4#0 sin16s::x2#0 sin16s::x4#0 ] ] with [ zp ZP_WORD:97 [ mulu16_sel::return#19 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:30 [ mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 sin16sb::x3#0 sin16s::x3#0 sin16sb::x2#0 sin16sb::x4#0 sin16s::x2#0 sin16s::x4#0 mulu16_sel::return#19 ] ] with [ zp ZP_WORD:107 [ mulu16_sel::return#10 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:30 [ mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 sin16sb::x3#0 sin16s::x3#0 sin16sb::x2#0 sin16sb::x4#0 sin16s::x2#0 sin16s::x4#0 mulu16_sel::return#19 mulu16_sel::return#10 ] ] with [ zp ZP_WORD:168 [ mulu16_sel::return#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:30 [ mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 sin16sb::x3#0 sin16s::x3#0 sin16sb::x2#0 sin16sb::x4#0 sin16s::x2#0 sin16s::x4#0 mulu16_sel::return#19 mulu16_sel::return#10 mulu16_sel::return#0 ] ] with [ zp ZP_WORD:172 [ mulu16_sel::return#1 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:30 [ mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 sin16sb::x3#0 sin16s::x3#0 sin16sb::x2#0 sin16sb::x4#0 sin16s::x2#0 sin16s::x4#0 mulu16_sel::return#19 mulu16_sel::return#10 mulu16_sel::return#0 mulu16_sel::return#1 ] ] with [ zp ZP_WORD:182 [ mulu16_sel::return#15 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_DWORD:37 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 mul16u::return#2 ] ] with [ zp ZP_DWORD:125 [ mulu16_sel::$0 mulu16_sel::$1 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:57 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 divr16u::return#3 ] ] with [ zp ZP_WORD:142 [ div32u16u::quotient_lo#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:73 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 sin16s::return#0 ] ] with [ zp ZP_WORD:160 [ sin16s_gen::$1 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:73 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 sin16s::return#0 sin16s_gen::$1 ] ] with [ zp ZP_WORD:180 [ sin16s::usinx#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_DWORD:79 [ div32u16u::return#3 sin16s_genb::step#0 div32u16u::return#0 ] ] with [ zp ZP_DWORD:150 [ div32u16u::return#2 sin16s_gen::step#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:93 [ mulu16_sel::return#18 mulu16_sel::return#17 ] ] with [ zp ZP_WORD:101 [ mulu16_sel::return#20 sin16sb::x3_6#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:93 [ mulu16_sel::return#18 mulu16_sel::return#17 mulu16_sel::return#20 sin16sb::x3_6#0 ] ] with [ zp ZP_WORD:111 [ mulu16_sel::return#11 sin16sb::x5#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:93 [ mulu16_sel::return#18 mulu16_sel::return#17 mulu16_sel::return#20 sin16sb::x3_6#0 mulu16_sel::return#11 sin16sb::x5#0 ] ] with [ zp ZP_WORD:176 [ mulu16_sel::return#14 sin16s::x3_6#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:93 [ mulu16_sel::return#18 mulu16_sel::return#17 mulu16_sel::return#20 sin16sb::x3_6#0 mulu16_sel::return#11 sin16sb::x5#0 mulu16_sel::return#14 sin16s::x3_6#0 ] ] with [ zp ZP_WORD:186 [ mulu16_sel::return#16 sin16s::x5#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:93 [ mulu16_sel::return#18 mulu16_sel::return#17 mulu16_sel::return#20 sin16sb::x3_6#0 mulu16_sel::return#11 sin16sb::x5#0 mulu16_sel::return#14 sin16s::x3_6#0 mulu16_sel::return#16 sin16s::x5#0 ] ] with [ zp ZP_WORD:115 [ sin16sb::x5_128#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:93 [ mulu16_sel::return#18 mulu16_sel::return#17 mulu16_sel::return#20 sin16sb::x3_6#0 mulu16_sel::return#11 sin16sb::x5#0 mulu16_sel::return#14 sin16s::x3_6#0 mulu16_sel::return#16 sin16s::x5#0 sin16sb::x5_128#0 ] ] with [ zp ZP_WORD:190 [ sin16s::x5_128#0 ] ] - score: 1 +Coalescing zero page register [ zp ZP_WORD:2 [ main::st1#2 main::st1#1 ] ] with [ zp ZP_WORD:15 [ print_cls::sc#2 print_cls::sc#1 ] ] +Coalescing zero page register [ zp ZP_WORD:2 [ main::st1#2 main::st1#1 print_cls::sc#2 print_cls::sc#1 ] ] with [ zp ZP_WORD:21 [ sin16s_genb::sintab#2 sin16s_genb::sintab#0 ] ] +Coalescing zero page register [ zp ZP_WORD:2 [ main::st1#2 main::st1#1 print_cls::sc#2 print_cls::sc#1 sin16s_genb::sintab#2 sin16s_genb::sintab#0 ] ] with [ zp ZP_WORD:49 [ div32u16u::divisor#2 divr16u::divisor#6 divr16u::divisor#0 divr16u::divisor#1 ] ] +Coalescing zero page register [ zp ZP_WORD:2 [ main::st1#2 main::st1#1 print_cls::sc#2 print_cls::sc#1 sin16s_genb::sintab#2 sin16s_genb::sintab#0 div32u16u::divisor#2 divr16u::divisor#6 divr16u::divisor#0 divr16u::divisor#1 ] ] with [ zp ZP_WORD:64 [ sin16s_gen::sintab#2 sin16s_gen::sintab#0 ] ] +Coalescing zero page register [ zp ZP_WORD:4 [ main::st2#2 main::st2#1 ] ] with [ zp ZP_WORD:23 [ sin16s_genb::i#2 sin16s_genb::i#1 ] ] +Coalescing zero page register [ zp ZP_WORD:4 [ main::st2#2 main::st2#1 sin16s_genb::i#2 sin16s_genb::i#1 ] ] with [ zp ZP_WORD:53 [ divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 rem16u#26 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] ] +Coalescing zero page register [ zp ZP_WORD:7 [ print_str::str#3 print_str::str#5 print_str::str#0 ] ] with [ zp ZP_WORD:26 [ sin16sb::x#6 sin16sb::x#4 sin16sb::x#0 sin16sb::x#1 sin16sb::x#2 sin16sb::x1#0 ] ] +Coalescing zero page register [ zp ZP_WORD:7 [ print_str::str#3 print_str::str#5 print_str::str#0 sin16sb::x#6 sin16sb::x#4 sin16sb::x#0 sin16sb::x#1 sin16sb::x#2 sin16sb::x1#0 ] ] with [ zp ZP_WORD:55 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#1 divr16u::dividend#2 divr16u::dividend#0 ] ] +Coalescing zero page register [ zp ZP_WORD:7 [ print_str::str#3 print_str::str#5 print_str::str#0 sin16sb::x#6 sin16sb::x#4 sin16sb::x#0 sin16sb::x#1 sin16sb::x#2 sin16sb::x1#0 divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#1 divr16u::dividend#2 divr16u::dividend#0 ] ] with [ zp ZP_WORD:66 [ sin16s_gen::i#2 sin16s_gen::i#1 ] ] +Coalescing zero page register [ zp ZP_WORD:9 [ print_sword::w#3 print_sword::w#1 print_sword::w#0 main::sw#0 ] ] with [ zp ZP_WORD:28 [ sin16sb::return#1 sin16sb::return#5 sin16sb::sinx#1 sin16sb::usinx#1 sin16sb::return#0 sin16s_genb::$2 sin16sb::usinx#0 ] ] +Coalescing zero page register [ zp ZP_WORD:9 [ print_sword::w#3 print_sword::w#1 print_sword::w#0 main::sw#0 sin16sb::return#1 sin16sb::return#5 sin16sb::sinx#1 sin16sb::usinx#1 sin16sb::return#0 sin16s_genb::$2 sin16sb::usinx#0 ] ] with [ zp ZP_WORD:57 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 divr16u::return#3 div32u16u::quotient_lo#0 ] ] +Coalescing zero page register [ zp ZP_WORD:9 [ print_sword::w#3 print_sword::w#1 print_sword::w#0 main::sw#0 sin16sb::return#1 sin16sb::return#5 sin16sb::sinx#1 sin16sb::usinx#1 sin16sb::return#0 sin16s_genb::$2 sin16sb::usinx#0 divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 divr16u::return#3 div32u16u::quotient_lo#0 ] ] with [ zp ZP_WORD:73 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 sin16s::return#0 sin16s_gen::$1 sin16s::usinx#0 ] ] +Coalescing zero page register [ zp ZP_BYTE:11 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ] ] with [ zp ZP_BYTE:25 [ sin16sb::isUpper#2 ] ] +Coalescing zero page register [ zp ZP_BYTE:11 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 sin16sb::isUpper#2 ] ] with [ zp ZP_BYTE:68 [ sin16s::isUpper#2 ] ] +Coalescing zero page register [ zp ZP_WORD:13 [ char_cursor#33 char_cursor#46 char_cursor#43 char_cursor#51 char_cursor#48 char_cursor#49 char_cursor#2 char_cursor#12 char_cursor#1 ] ] with [ zp ZP_WORD:30 [ mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 sin16sb::x3#0 sin16s::x3#0 sin16sb::x2#0 sin16sb::x4#0 sin16s::x2#0 sin16s::x4#0 mulu16_sel::return#19 mulu16_sel::return#10 mulu16_sel::return#0 mulu16_sel::return#1 mulu16_sel::return#15 ] ] +Coalescing zero page register [ zp ZP_WORD:13 [ char_cursor#33 char_cursor#46 char_cursor#43 char_cursor#51 char_cursor#48 char_cursor#49 char_cursor#2 char_cursor#12 char_cursor#1 mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 sin16sb::x3#0 sin16s::x3#0 sin16sb::x2#0 sin16sb::x4#0 sin16s::x2#0 sin16s::x4#0 mulu16_sel::return#19 mulu16_sel::return#10 mulu16_sel::return#0 mulu16_sel::return#1 mulu16_sel::return#15 ] ] with [ zp ZP_WORD:138 [ div32u16u::quotient_hi#0 ] ] +Coalescing zero page register [ zp ZP_DWORD:17 [ sin16s_genb::x#2 sin16s_genb::x#1 ] ] with [ zp ZP_DWORD:45 [ div32u16u::dividend#2 ] ] +Coalescing zero page register [ zp ZP_DWORD:17 [ sin16s_genb::x#2 sin16s_genb::x#1 div32u16u::dividend#2 ] ] with [ zp ZP_DWORD:60 [ sin16s_gen::x#2 sin16s_gen::x#1 ] ] +Coalescing zero page register [ zp ZP_WORD:32 [ mulu16_sel::v2#10 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 mulu16_sel::v2#8 mulu16_sel::v2#9 mulu16_sel::v2#5 mulu16_sel::v2#6 mul16u::b#0 ] ] with [ zp ZP_WORD:93 [ mulu16_sel::return#18 mulu16_sel::return#17 mulu16_sel::return#20 sin16sb::x3_6#0 mulu16_sel::return#11 sin16sb::x5#0 mulu16_sel::return#14 sin16s::x3_6#0 mulu16_sel::return#16 sin16s::x5#0 sin16sb::x5_128#0 sin16s::x5_128#0 ] ] +Coalescing zero page register [ zp ZP_DWORD:37 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 mul16u::return#2 mulu16_sel::$0 mulu16_sel::$1 ] ] with [ zp ZP_DWORD:69 [ sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 sin16s::$6 ] ] +Allocated (was zp ZP_WORD:7) zp ZP_WORD:6 [ print_str::str#3 print_str::str#5 print_str::str#0 sin16sb::x#6 sin16sb::x#4 sin16sb::x#0 sin16sb::x#1 sin16sb::x#2 sin16sb::x1#0 divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#1 divr16u::dividend#2 divr16u::dividend#0 sin16s_gen::i#2 sin16s_gen::i#1 ] +Allocated (was zp ZP_WORD:9) zp ZP_WORD:8 [ print_sword::w#3 print_sword::w#1 print_sword::w#0 main::sw#0 sin16sb::return#1 sin16sb::return#5 sin16sb::sinx#1 sin16sb::usinx#1 sin16sb::return#0 sin16s_genb::$2 sin16sb::usinx#0 divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 divr16u::return#3 div32u16u::quotient_lo#0 sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 sin16s::return#0 sin16s_gen::$1 sin16s::usinx#0 ] +Allocated (was zp ZP_BYTE:11) zp ZP_BYTE:10 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 sin16sb::isUpper#2 sin16s::isUpper#2 ] +Allocated (was zp ZP_WORD:13) zp ZP_WORD:11 [ char_cursor#33 char_cursor#46 char_cursor#43 char_cursor#51 char_cursor#48 char_cursor#49 char_cursor#2 char_cursor#12 char_cursor#1 mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 sin16sb::x3#0 sin16s::x3#0 sin16sb::x2#0 sin16sb::x4#0 sin16s::x2#0 sin16s::x4#0 mulu16_sel::return#19 mulu16_sel::return#10 mulu16_sel::return#0 mulu16_sel::return#1 mulu16_sel::return#15 div32u16u::quotient_hi#0 ] +Allocated (was zp ZP_DWORD:17) zp ZP_DWORD:13 [ sin16s_genb::x#2 sin16s_genb::x#1 div32u16u::dividend#2 sin16s_gen::x#2 sin16s_gen::x#1 ] +Allocated (was zp ZP_WORD:32) zp ZP_WORD:17 [ mulu16_sel::v2#10 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 mulu16_sel::v2#8 mulu16_sel::v2#9 mulu16_sel::v2#5 mulu16_sel::v2#6 mul16u::b#0 mulu16_sel::return#18 mulu16_sel::return#17 mulu16_sel::return#20 sin16sb::x3_6#0 mulu16_sel::return#11 sin16sb::x5#0 mulu16_sel::return#14 sin16s::x3_6#0 mulu16_sel::return#16 sin16s::x5#0 sin16sb::x5_128#0 sin16s::x5_128#0 ] +Allocated (was zp ZP_WORD:35) zp ZP_WORD:19 [ mul16u::a#2 mul16u::a#1 mul16u::a#0 ] +Allocated (was zp ZP_DWORD:37) zp ZP_DWORD:21 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 mul16u::return#2 mulu16_sel::$0 mulu16_sel::$1 sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 sin16s::$6 ] +Allocated (was zp ZP_DWORD:41) zp ZP_DWORD:25 [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ] +Allocated (was zp ZP_DWORD:79) zp ZP_DWORD:29 [ div32u16u::return#3 sin16s_genb::step#0 div32u16u::return#0 div32u16u::return#2 sin16s_gen::step#0 ] +Allocated (was zp ZP_WORD:166) zp ZP_WORD:33 [ sin16s::x1#0 ] + +ASSEMBLER BEFORE OPTIMIZATION +//SEG0 Basic Upstart +.pc = $801 "Basic" +:BasicUpstart(main) +.pc = $80d "Program" +//SEG1 Global Constants & labels + .const PI2_u4f28 = $6487ed51 + .const PI_u4f28 = $3243f6a9 + .const PI_HALF_u4f28 = $1921fb54 + .const PI_u4f12 = $3244 + .const PI_HALF_u4f12 = $1922 + .label SCREEN = $400 + .label char_cursor = $b + .label rem16u = 4 +//SEG2 @begin +bbegin: +//SEG3 [1] phi from @begin to @31 [phi:@begin->@31] +b31_from_bbegin: + jmp b31 +//SEG4 @31 +b31: +//SEG5 [2] call main param-assignment [ ] ( ) +//SEG6 [4] phi from @31 to main [phi:@31->main] +main_from_b31: + jsr main +//SEG7 [3] phi from @31 to @end [phi:@31->@end] +bend_from_b31: + jmp bend +//SEG8 @end +bend: +//SEG9 main +main: { + .label wavelength = $78 + .label sw = 8 + .label st1 = 2 + .label st2 = 4 + //SEG10 [5] call sin16s_gen param-assignment [ divr16u::rem#11 ] ( main:2 [ divr16u::rem#11 ] ) + //SEG11 [166] phi from main to sin16s_gen [phi:main->sin16s_gen] + sin16s_gen_from_main: + jsr sin16s_gen + //SEG12 [6] phi from main to main::@5 [phi:main->main::@5] + b5_from_main: + jmp b5 + //SEG13 main::@5 + b5: + //SEG14 [7] call sin16s_genb param-assignment [ ] ( main:2 [ ] ) + //SEG15 [62] phi from main::@5 to sin16s_genb [phi:main::@5->sin16s_genb] + sin16s_genb_from_b5: + jsr sin16s_genb + //SEG16 [8] phi from main::@5 to main::@6 [phi:main::@5->main::@6] + b6_from_b5: + jmp b6 + //SEG17 main::@6 + b6: + //SEG18 [9] call print_cls param-assignment [ ] ( main:2 [ ] ) + //SEG19 [56] phi from main::@6 to print_cls [phi:main::@6->print_cls] + print_cls_from_b6: + jsr print_cls + //SEG20 [10] phi from main::@6 to main::@1 [phi:main::@6->main::@1] + b1_from_b6: + //SEG21 [10] phi (byte) main::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@6->main::@1#0] -- vbuxx=vbuc1 + ldx #0 + //SEG22 [10] phi (byte*) char_cursor#49 = (const byte*) SCREEN#0 [phi:main::@6->main::@1#1] -- pbuz1=pbuc1 + lda #SCREEN + sta char_cursor+1 + //SEG23 [10] phi (signed word*) main::st2#2 = (const signed word[120]) main::sintab2#0 [phi:main::@6->main::@1#2] -- pwsz1=pwsc1 + lda #sintab2 + sta st2+1 + //SEG24 [10] phi (signed word*) main::st1#2 = (const signed word[120]) main::sintab1#0 [phi:main::@6->main::@1#3] -- pwsz1=pwsc1 + lda #sintab1 + sta st1+1 + jmp b1 + //SEG25 [10] phi from main::@9 to main::@1 [phi:main::@9->main::@1] + b1_from_b9: + //SEG26 [10] phi (byte) main::i#2 = (byte) main::i#1 [phi:main::@9->main::@1#0] -- register_copy + //SEG27 [10] phi (byte*) char_cursor#49 = (byte*) char_cursor#2 [phi:main::@9->main::@1#1] -- register_copy + //SEG28 [10] phi (signed word*) main::st2#2 = (signed word*) main::st2#1 [phi:main::@9->main::@1#2] -- register_copy + //SEG29 [10] phi (signed word*) main::st1#2 = (signed word*) main::st1#1 [phi:main::@9->main::@1#3] -- register_copy + jmp b1 + //SEG30 main::@1 + b1: + //SEG31 [11] (signed word) main::sw#0 ← *((signed word*) main::st1#2) - *((signed word*) main::st2#2) [ main::st1#2 main::st2#2 char_cursor#49 main::i#2 main::sw#0 ] ( main:2 [ main::st1#2 main::st2#2 char_cursor#49 main::i#2 main::sw#0 ] ) -- vwsz1=_deref_pwsz2_minus__deref_pwsz3 + ldy #0 + sec + lda (st1),y + sbc (st2),y + sta sw + iny + lda (st1),y + sbc (st2),y + sta sw+1 + //SEG32 [12] if((signed word) main::sw#0<(byte/signed byte/word/signed word/dword/signed dword) 0) goto main::@2 [ main::st1#2 main::st2#2 char_cursor#49 main::i#2 main::sw#0 ] ( main:2 [ main::st1#2 main::st2#2 char_cursor#49 main::i#2 main::sw#0 ] ) -- vwsz1_lt_0_then_la1 + lda sw+1 + bmi b2_from_b1 + //SEG33 [13] phi from main::@1 to main::@3 [phi:main::@1->main::@3] + b3_from_b1: + jmp b3 + //SEG34 main::@3 + b3: + //SEG35 [14] call print_str param-assignment [ main::st1#2 main::st2#2 main::i#2 char_cursor#2 main::sw#0 ] ( main:2 [ main::st1#2 main::st2#2 main::i#2 char_cursor#2 main::sw#0 ] ) + //SEG36 [25] phi from main::@3 to print_str [phi:main::@3->print_str] + print_str_from_b3: + //SEG37 [25] phi (byte*) char_cursor#51 = (byte*) char_cursor#49 [phi:main::@3->print_str#0] -- register_copy + //SEG38 [25] phi (byte*) print_str::str#5 = (const string) main::str1 [phi:main::@3->print_str#1] -- pbuz1=pbuc1 + lda #str1 + sta print_str.str+1 + jsr print_str + //SEG39 [15] phi from main::@1 main::@3 to main::@2 [phi:main::@1/main::@3->main::@2] + b2_from_b1: + b2_from_b3: + //SEG40 [15] phi (byte*) char_cursor#48 = (byte*) char_cursor#49 [phi:main::@1/main::@3->main::@2#0] -- register_copy + jmp b2 + //SEG41 main::@2 + b2: + //SEG42 [16] (signed word) print_sword::w#1 ← (signed word) main::sw#0 [ main::st1#2 main::st2#2 main::i#2 char_cursor#48 print_sword::w#1 ] ( main:2 [ main::st1#2 main::st2#2 main::i#2 char_cursor#48 print_sword::w#1 ] ) + // (signed word) print_sword::w#1 = (signed word) main::sw#0 // register copy zp ZP_WORD:8 + //SEG43 [17] call print_sword param-assignment [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 ] ( main:2 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 ] ) + jsr print_sword + //SEG44 [18] phi from main::@2 to main::@8 [phi:main::@2->main::@8] + b8_from_b2: + jmp b8 + //SEG45 main::@8 + b8: + //SEG46 [19] call print_str param-assignment [ main::st1#2 main::st2#2 main::i#2 char_cursor#2 ] ( main:2 [ main::st1#2 main::st2#2 main::i#2 char_cursor#2 ] ) + //SEG47 [25] phi from main::@8 to print_str [phi:main::@8->print_str] + print_str_from_b8: + //SEG48 [25] phi (byte*) char_cursor#51 = (byte*) char_cursor#12 [phi:main::@8->print_str#0] -- register_copy + //SEG49 [25] phi (byte*) print_str::str#5 = (const string) main::str [phi:main::@8->print_str#1] -- pbuz1=pbuc1 + lda #str + sta print_str.str+1 + jsr print_str + jmp b9 + //SEG50 main::@9 + b9: + //SEG51 [20] (signed word*) main::st1#1 ← (signed word*) main::st1#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ main::st2#2 main::i#2 main::st1#1 char_cursor#2 ] ( main:2 [ main::st2#2 main::i#2 main::st1#1 char_cursor#2 ] ) -- pwsz1=pwsz1_plus_vbuc1 + clc + lda st1 + adc #<2 + sta st1 + lda st1+1 + adc #>2 + sta st1+1 + //SEG52 [21] (signed word*) main::st2#1 ← (signed word*) main::st2#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ main::i#2 main::st1#1 main::st2#1 char_cursor#2 ] ( main:2 [ main::i#2 main::st1#1 main::st2#1 char_cursor#2 ] ) -- pwsz1=pwsz1_plus_vbuc1 + clc + lda st2 + adc #<2 + sta st2 + lda st2+1 + adc #>2 + sta st2+1 + //SEG53 [22] (byte) main::i#1 ← ++ (byte) main::i#2 [ main::st1#1 main::st2#1 char_cursor#2 main::i#1 ] ( main:2 [ main::st1#1 main::st2#1 char_cursor#2 main::i#1 ] ) -- vbuxx=_inc_vbuxx + inx + //SEG54 [23] if((byte) main::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 120) goto main::@1 [ main::st1#1 main::st2#1 char_cursor#2 main::i#1 ] ( main:2 [ main::st1#1 main::st2#1 char_cursor#2 main::i#1 ] ) -- vbuxx_neq_vbuc1_then_la1 + cpx #$78 + bne b1_from_b9 + jmp breturn + //SEG55 main::@return + breturn: + //SEG56 [24] return [ ] ( main:2 [ ] ) + rts + str: .text " @" + str1: .text " @" + sintab1: .fill $f0, 0 + sintab2: .fill $f0, 0 +} +//SEG57 print_str +print_str: { + .label str = 6 + //SEG58 [26] phi from print_str print_str::@2 to print_str::@1 [phi:print_str/print_str::@2->print_str::@1] + b1_from_print_str: + b1_from_b2: + //SEG59 [26] phi (byte*) char_cursor#2 = (byte*) char_cursor#51 [phi:print_str/print_str::@2->print_str::@1#0] -- register_copy + //SEG60 [26] phi (byte*) print_str::str#3 = (byte*) print_str::str#5 [phi:print_str/print_str::@2->print_str::@1#1] -- register_copy + jmp b1 + //SEG61 print_str::@1 + b1: + //SEG62 [27] if(*((byte*) print_str::str#3)!=(byte) '@') goto print_str::@2 [ char_cursor#2 print_str::str#3 ] ( main:2::print_str:14 [ main::st1#2 main::st2#2 main::i#2 main::sw#0 char_cursor#2 print_str::str#3 ] main:2::print_str:19 [ main::st1#2 main::st2#2 main::i#2 char_cursor#2 print_str::str#3 ] ) -- _deref_pbuz1_neq_vbuc1_then_la1 + ldy #0 + lda (str),y + cmp #'@' + bne b2 + jmp breturn + //SEG63 print_str::@return + breturn: + //SEG64 [28] return [ char_cursor#2 ] ( main:2::print_str:14 [ main::st1#2 main::st2#2 main::i#2 main::sw#0 char_cursor#2 ] main:2::print_str:19 [ main::st1#2 main::st2#2 main::i#2 char_cursor#2 ] ) + rts + //SEG65 print_str::@2 + b2: + //SEG66 [29] *((byte*) char_cursor#2) ← *((byte*) print_str::str#3) [ char_cursor#2 print_str::str#3 ] ( main:2::print_str:14 [ main::st1#2 main::st2#2 main::i#2 main::sw#0 char_cursor#2 print_str::str#3 ] main:2::print_str:19 [ main::st1#2 main::st2#2 main::i#2 char_cursor#2 print_str::str#3 ] ) -- _deref_pbuz1=_deref_pbuz2 + ldy #0 + lda (str),y + ldy #0 + sta (char_cursor),y + //SEG67 [30] (byte*) char_cursor#1 ← ++ (byte*) char_cursor#2 [ print_str::str#3 char_cursor#1 ] ( main:2::print_str:14 [ main::st1#2 main::st2#2 main::i#2 main::sw#0 print_str::str#3 char_cursor#1 ] main:2::print_str:19 [ main::st1#2 main::st2#2 main::i#2 print_str::str#3 char_cursor#1 ] ) -- pbuz1=_inc_pbuz1 + inc char_cursor + bne !+ + inc char_cursor+1 + !: + //SEG68 [31] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#3 [ print_str::str#0 char_cursor#1 ] ( main:2::print_str:14 [ main::st1#2 main::st2#2 main::i#2 main::sw#0 print_str::str#0 char_cursor#1 ] main:2::print_str:19 [ main::st1#2 main::st2#2 main::i#2 print_str::str#0 char_cursor#1 ] ) -- pbuz1=_inc_pbuz1 + inc str + bne !+ + inc str+1 + !: + jmp b1_from_b2 +} +//SEG69 print_sword +print_sword: { + .label w = 8 + //SEG70 [32] if((signed word) print_sword::w#1>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto print_sword::@1 [ char_cursor#48 print_sword::w#1 ] ( main:2::print_sword:17 [ main::st1#2 main::st2#2 main::i#2 char_cursor#48 print_sword::w#1 ] ) -- vwsz1_ge_0_then_la1 + lda w+1 + bpl b1_from_print_sword + //SEG71 [33] phi from print_sword to print_sword::@2 [phi:print_sword->print_sword::@2] + b2_from_print_sword: + jmp b2 + //SEG72 print_sword::@2 + b2: + //SEG73 [34] call print_char param-assignment [ print_sword::w#1 char_cursor#12 ] ( main:2::print_sword:17 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#1 char_cursor#12 ] ) + //SEG74 [52] phi from print_sword::@2 to print_char [phi:print_sword::@2->print_char] + print_char_from_b2: + //SEG75 [52] phi (byte*) char_cursor#33 = (byte*) char_cursor#48 [phi:print_sword::@2->print_char#0] -- register_copy + //SEG76 [52] phi (byte) print_char::ch#3 = (byte) '-' [phi:print_sword::@2->print_char#1] -- vbuaa=vbuc1 + lda #'-' + jsr print_char + jmp b4 + //SEG77 print_sword::@4 + b4: + //SEG78 [35] (signed word) print_sword::w#0 ← - (signed word) print_sword::w#1 [ char_cursor#12 print_sword::w#0 ] ( main:2::print_sword:17 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 print_sword::w#0 ] ) -- vwsz1=_neg_vwsz1 + sec + lda w + eor #$ff + adc #0 + sta w + lda w+1 + eor #$ff + adc #0 + sta w+1 + //SEG79 [36] phi from print_sword print_sword::@4 to print_sword::@1 [phi:print_sword/print_sword::@4->print_sword::@1] + b1_from_print_sword: + b1_from_b4: + //SEG80 [36] phi (byte*) char_cursor#43 = (byte*) char_cursor#48 [phi:print_sword/print_sword::@4->print_sword::@1#0] -- register_copy + //SEG81 [36] phi (signed word) print_sword::w#3 = (signed word) print_sword::w#1 [phi:print_sword/print_sword::@4->print_sword::@1#1] -- register_copy + jmp b1 + //SEG82 print_sword::@1 + b1: + //SEG83 [37] call print_word param-assignment [ char_cursor#12 ] ( main:2::print_sword:17 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 ] ) + jsr print_word + jmp breturn + //SEG84 print_sword::@return + breturn: + //SEG85 [38] return [ char_cursor#12 ] ( main:2::print_sword:17 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 ] ) + rts +} +//SEG86 print_word +print_word: { + //SEG87 [39] (byte) print_byte::b#0 ← > (word)(signed word) print_sword::w#3 [ print_sword::w#3 char_cursor#43 print_byte::b#0 ] ( main:2::print_sword:17::print_word:37 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 char_cursor#43 print_byte::b#0 ] ) -- vbuz1=_hi_vwuz2 + lda print_sword.w+1 + sta print_byte.b + //SEG88 [40] call print_byte param-assignment [ char_cursor#12 print_sword::w#3 ] ( main:2::print_sword:17::print_word:37 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 print_sword::w#3 ] ) + //SEG89 [44] phi from print_word to print_byte [phi:print_word->print_byte] + print_byte_from_print_word: + //SEG90 [44] phi (byte*) char_cursor#46 = (byte*) char_cursor#43 [phi:print_word->print_byte#0] -- register_copy + //SEG91 [44] phi (byte) print_byte::b#2 = (byte) print_byte::b#0 [phi:print_word->print_byte#1] -- register_copy + jsr print_byte + jmp b1 + //SEG92 print_word::@1 + b1: + //SEG93 [41] (byte) print_byte::b#1 ← < (word)(signed word) print_sword::w#3 [ char_cursor#12 print_byte::b#1 ] ( main:2::print_sword:17::print_word:37 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 print_byte::b#1 ] ) -- vbuz1=_lo_vwuz2 + lda print_sword.w + sta print_byte.b + //SEG94 [42] call print_byte param-assignment [ char_cursor#12 ] ( main:2::print_sword:17::print_word:37 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 ] ) + //SEG95 [44] phi from print_word::@1 to print_byte [phi:print_word::@1->print_byte] + print_byte_from_b1: + //SEG96 [44] phi (byte*) char_cursor#46 = (byte*) char_cursor#12 [phi:print_word::@1->print_byte#0] -- register_copy + //SEG97 [44] phi (byte) print_byte::b#2 = (byte) print_byte::b#1 [phi:print_word::@1->print_byte#1] -- register_copy + jsr print_byte + jmp breturn + //SEG98 print_word::@return + breturn: + //SEG99 [43] return [ char_cursor#12 ] ( main:2::print_sword:17::print_word:37 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 ] ) + rts +} +//SEG100 print_byte +print_byte: { + .label b = $a + //SEG101 [45] (byte~) print_byte::$0 ← (byte) print_byte::b#2 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ print_byte::b#2 char_cursor#46 print_byte::$0 ] ( main:2::print_sword:17::print_word:37::print_byte:40 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 print_byte::b#2 char_cursor#46 print_byte::$0 ] main:2::print_sword:17::print_word:37::print_byte:42 [ main::st1#2 main::st2#2 main::i#2 print_byte::b#2 char_cursor#46 print_byte::$0 ] ) -- vbuaa=vbuz1_ror_4 + lda b + lsr + lsr + lsr + lsr + //SEG102 [46] (byte) print_char::ch#1 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$0) [ print_byte::b#2 char_cursor#46 print_char::ch#1 ] ( main:2::print_sword:17::print_word:37::print_byte:40 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 print_byte::b#2 char_cursor#46 print_char::ch#1 ] main:2::print_sword:17::print_word:37::print_byte:42 [ main::st1#2 main::st2#2 main::i#2 print_byte::b#2 char_cursor#46 print_char::ch#1 ] ) -- vbuaa=pbuc1_derefidx_vbuaa + tay + lda hextab,y + //SEG103 [47] call print_char param-assignment [ char_cursor#12 print_byte::b#2 ] ( main:2::print_sword:17::print_word:37::print_byte:40 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 char_cursor#12 print_byte::b#2 ] main:2::print_sword:17::print_word:37::print_byte:42 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 print_byte::b#2 ] ) + //SEG104 [52] phi from print_byte to print_char [phi:print_byte->print_char] + print_char_from_print_byte: + //SEG105 [52] phi (byte*) char_cursor#33 = (byte*) char_cursor#46 [phi:print_byte->print_char#0] -- register_copy + //SEG106 [52] phi (byte) print_char::ch#3 = (byte) print_char::ch#1 [phi:print_byte->print_char#1] -- register_copy + jsr print_char + jmp b1 + //SEG107 print_byte::@1 + b1: + //SEG108 [48] (byte~) print_byte::$2 ← (byte) print_byte::b#2 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ char_cursor#12 print_byte::$2 ] ( main:2::print_sword:17::print_word:37::print_byte:40 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 char_cursor#12 print_byte::$2 ] main:2::print_sword:17::print_word:37::print_byte:42 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 print_byte::$2 ] ) -- vbuaa=vbuz1_band_vbuc1 + lda #$f + and b + //SEG109 [49] (byte) print_char::ch#2 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$2) [ char_cursor#12 print_char::ch#2 ] ( main:2::print_sword:17::print_word:37::print_byte:40 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 char_cursor#12 print_char::ch#2 ] main:2::print_sword:17::print_word:37::print_byte:42 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 print_char::ch#2 ] ) -- vbuaa=pbuc1_derefidx_vbuaa + tay + lda hextab,y + //SEG110 [50] call print_char param-assignment [ char_cursor#12 ] ( main:2::print_sword:17::print_word:37::print_byte:40 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 char_cursor#12 ] main:2::print_sword:17::print_word:37::print_byte:42 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 ] ) + //SEG111 [52] phi from print_byte::@1 to print_char [phi:print_byte::@1->print_char] + print_char_from_b1: + //SEG112 [52] phi (byte*) char_cursor#33 = (byte*) char_cursor#12 [phi:print_byte::@1->print_char#0] -- register_copy + //SEG113 [52] phi (byte) print_char::ch#3 = (byte) print_char::ch#2 [phi:print_byte::@1->print_char#1] -- register_copy + jsr print_char + jmp breturn + //SEG114 print_byte::@return + breturn: + //SEG115 [51] return [ char_cursor#12 ] ( main:2::print_sword:17::print_word:37::print_byte:40 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 char_cursor#12 ] main:2::print_sword:17::print_word:37::print_byte:42 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 ] ) + rts + hextab: .text "0123456789abcdef" +} +//SEG116 print_char +print_char: { + //SEG117 [53] *((byte*) char_cursor#33) ← (byte) print_char::ch#3 [ char_cursor#33 ] ( main:2::print_sword:17::print_char:34 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#1 char_cursor#33 ] main:2::print_sword:17::print_word:37::print_byte:40::print_char:47 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 print_byte::b#2 char_cursor#33 ] main:2::print_sword:17::print_word:37::print_byte:42::print_char:47 [ main::st1#2 main::st2#2 main::i#2 print_byte::b#2 char_cursor#33 ] main:2::print_sword:17::print_word:37::print_byte:40::print_char:50 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 char_cursor#33 ] main:2::print_sword:17::print_word:37::print_byte:42::print_char:50 [ main::st1#2 main::st2#2 main::i#2 char_cursor#33 ] ) -- _deref_pbuz1=vbuaa + ldy #0 + sta (char_cursor),y + //SEG118 [54] (byte*) char_cursor#12 ← ++ (byte*) char_cursor#33 [ char_cursor#12 ] ( main:2::print_sword:17::print_char:34 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#1 char_cursor#12 ] main:2::print_sword:17::print_word:37::print_byte:40::print_char:47 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 print_byte::b#2 char_cursor#12 ] main:2::print_sword:17::print_word:37::print_byte:42::print_char:47 [ main::st1#2 main::st2#2 main::i#2 print_byte::b#2 char_cursor#12 ] main:2::print_sword:17::print_word:37::print_byte:40::print_char:50 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 char_cursor#12 ] main:2::print_sword:17::print_word:37::print_byte:42::print_char:50 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 ] ) -- pbuz1=_inc_pbuz1 + inc char_cursor + bne !+ + inc char_cursor+1 + !: + jmp breturn + //SEG119 print_char::@return + breturn: + //SEG120 [55] return [ char_cursor#12 ] ( main:2::print_sword:17::print_char:34 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#1 char_cursor#12 ] main:2::print_sword:17::print_word:37::print_byte:40::print_char:47 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 print_byte::b#2 char_cursor#12 ] main:2::print_sword:17::print_word:37::print_byte:42::print_char:47 [ main::st1#2 main::st2#2 main::i#2 print_byte::b#2 char_cursor#12 ] main:2::print_sword:17::print_word:37::print_byte:40::print_char:50 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 char_cursor#12 ] main:2::print_sword:17::print_word:37::print_byte:42::print_char:50 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 ] ) + rts +} +//SEG121 print_cls +print_cls: { + .label sc = 2 + //SEG122 [57] phi from print_cls to print_cls::@1 [phi:print_cls->print_cls::@1] + b1_from_print_cls: + //SEG123 [57] phi (byte*) print_cls::sc#2 = (const byte*) SCREEN#0 [phi:print_cls->print_cls::@1#0] -- pbuz1=pbuc1 + lda #SCREEN + sta sc+1 + jmp b1 + //SEG124 [57] phi from print_cls::@1 to print_cls::@1 [phi:print_cls::@1->print_cls::@1] + b1_from_b1: + //SEG125 [57] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#1 [phi:print_cls::@1->print_cls::@1#0] -- register_copy + jmp b1 + //SEG126 print_cls::@1 + b1: + //SEG127 [58] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:9 [ print_cls::sc#2 ] ) -- _deref_pbuz1=vbuc1 + lda #' ' + ldy #0 + sta (sc),y + //SEG128 [59] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::print_cls:9 [ print_cls::sc#1 ] ) -- pbuz1=_inc_pbuz1 + inc sc + bne !+ + inc sc+1 + !: + //SEG129 [60] 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 ] ) -- pbuz1_neq_pbuc1_then_la1 + lda sc+1 + cmp #>SCREEN+$3e8 + bne b1_from_b1 + lda sc + cmp #div32u16u] + div32u16u_from_sin16s_genb: + //SEG135 [135] phi (word) rem16u#26 = (word) divr16u::rem#11 [phi:sin16s_genb->div32u16u#0] -- register_copy + //SEG136 [135] phi (word) div32u16u::divisor#2 = (const word) main::wavelength#0 [phi:sin16s_genb->div32u16u#1] -- vwuz1=vwuc1 + lda #main.wavelength + sta div32u16u.divisor+1 + //SEG137 [135] phi (dword) div32u16u::dividend#2 = (const dword) PI2_u4f28#0 [phi:sin16s_genb->div32u16u#2] -- vduz1=vduc1 + lda #PI2_u4f28 + sta div32u16u.dividend+1 + lda #>$10 + sta div32u16u.dividend+2 + lda #>PI2_u4f28>>$10 + sta div32u16u.dividend+3 + jsr div32u16u + //SEG138 [64] (dword) div32u16u::return#3 ← (dword) div32u16u::return#0 [ div32u16u::return#3 ] ( main:2::sin16s_genb:7 [ div32u16u::return#3 ] ) + // (dword) div32u16u::return#3 = (dword) div32u16u::return#0 // register copy zp ZP_DWORD:29 + jmp b3 + //SEG139 sin16s_genb::@3 + b3: + //SEG140 [65] (dword) sin16s_genb::step#0 ← (dword) div32u16u::return#3 [ sin16s_genb::step#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 ] ) + // (dword) sin16s_genb::step#0 = (dword) div32u16u::return#3 // register copy zp ZP_DWORD:29 + //SEG141 [66] phi from sin16s_genb::@3 to sin16s_genb::@1 [phi:sin16s_genb::@3->sin16s_genb::@1] + b1_from_b3: + //SEG142 [66] phi (word) sin16s_genb::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s_genb::@3->sin16s_genb::@1#0] -- vwuz1=vbuc1 + lda #<0 + sta i + lda #>0 + sta i+1 + //SEG143 [66] phi (signed word*) sin16s_genb::sintab#2 = (const signed word[120]) main::sintab2#0 [phi:sin16s_genb::@3->sin16s_genb::@1#1] -- pwsz1=pwsc1 + lda #main.sintab2 + sta sintab+1 + //SEG144 [66] phi (dword) sin16s_genb::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s_genb::@3->sin16s_genb::@1#2] -- vduz1=vbuc1 + lda #0 + sta x + lda #0 + sta x+1 + sta x+2 + sta x+3 + jmp b1 + //SEG145 [66] phi from sin16s_genb::@4 to sin16s_genb::@1 [phi:sin16s_genb::@4->sin16s_genb::@1] + b1_from_b4: + //SEG146 [66] phi (word) sin16s_genb::i#2 = (word) sin16s_genb::i#1 [phi:sin16s_genb::@4->sin16s_genb::@1#0] -- register_copy + //SEG147 [66] phi (signed word*) sin16s_genb::sintab#2 = (signed word*) sin16s_genb::sintab#0 [phi:sin16s_genb::@4->sin16s_genb::@1#1] -- register_copy + //SEG148 [66] phi (dword) sin16s_genb::x#2 = (dword) sin16s_genb::x#1 [phi:sin16s_genb::@4->sin16s_genb::@1#2] -- register_copy + jmp b1 + //SEG149 sin16s_genb::@1 + b1: + //SEG150 [67] (word) sin16sb::x#0 ← > (dword) sin16s_genb::x#2 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#0 ] ) -- vwuz1=_hi_vduz2 + lda x+2 + sta sin16sb.x + lda x+3 + sta sin16sb.x+1 + //SEG151 [68] call sin16sb param-assignment [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#1 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#1 ] ) + jsr sin16sb + //SEG152 [69] (signed word) sin16sb::return#0 ← (signed word) sin16sb::return#1 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#0 ] ) + // (signed word) sin16sb::return#0 = (signed word) sin16sb::return#1 // register copy zp ZP_WORD:8 + jmp b4 + //SEG153 sin16s_genb::@4 + b4: + //SEG154 [70] (signed word~) sin16s_genb::$2 ← (signed word) sin16sb::return#0 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16s_genb::$2 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16s_genb::$2 ] ) + // (signed word~) sin16s_genb::$2 = (signed word) sin16sb::return#0 // register copy zp ZP_WORD:8 + //SEG155 [71] *((signed word*) sin16s_genb::sintab#2) ← (signed word~) sin16s_genb::$2 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 ] ) -- _deref_pwsz1=vwsz2 + ldy #0 + lda _2 + sta (sintab),y + iny + lda _2+1 + sta (sintab),y + //SEG156 [72] (signed word*) sin16s_genb::sintab#0 ← (signed word*) sin16s_genb::sintab#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::i#2 sin16s_genb::sintab#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::i#2 sin16s_genb::sintab#0 ] ) -- pwsz1=pwsz1_plus_vbuc1 + clc + lda sintab + adc #<2 + sta sintab + lda sintab+1 + adc #>2 + sta sintab+1 + //SEG157 [73] (dword) sin16s_genb::x#1 ← (dword) sin16s_genb::x#2 + (dword) sin16s_genb::step#0 [ sin16s_genb::step#0 sin16s_genb::i#2 sin16s_genb::x#1 sin16s_genb::sintab#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::i#2 sin16s_genb::x#1 sin16s_genb::sintab#0 ] ) -- vduz1=vduz1_plus_vduz2 + 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 + //SEG158 [74] (word) sin16s_genb::i#1 ← ++ (word) sin16s_genb::i#2 [ sin16s_genb::step#0 sin16s_genb::x#1 sin16s_genb::sintab#0 sin16s_genb::i#1 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#1 sin16s_genb::sintab#0 sin16s_genb::i#1 ] ) -- vwuz1=_inc_vwuz1 + inc i + bne !+ + inc i+1 + !: + //SEG159 [75] if((word) sin16s_genb::i#1<(const word) main::wavelength#0) goto sin16s_genb::@1 [ sin16s_genb::step#0 sin16s_genb::x#1 sin16s_genb::sintab#0 sin16s_genb::i#1 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#1 sin16s_genb::sintab#0 sin16s_genb::i#1 ] ) -- vwuz1_lt_vwuc1_then_la1 + lda i+1 + cmp #>main.wavelength + bcc b1_from_b4 + bne !+ + lda i + cmp #PI_u4f12 + bcc b1_from_sin16sb + bne !+ + lda x + cmp #PI_u4f12 + sta x+1 + //SEG166 [79] phi from sin16sb::@4 to sin16sb::@1 [phi:sin16sb::@4->sin16sb::@1] + b1_from_b4: + //SEG167 [79] phi (byte) sin16sb::isUpper#2 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin16sb::@4->sin16sb::@1#0] -- vbuz1=vbuc1 + lda #1 + sta isUpper + //SEG168 [79] phi (word) sin16sb::x#4 = (word) sin16sb::x#1 [phi:sin16sb::@4->sin16sb::@1#1] -- register_copy + jmp b1 + //SEG169 [79] phi from sin16sb to sin16sb::@1 [phi:sin16sb->sin16sb::@1] + b1_from_sin16sb: + //SEG170 [79] phi (byte) sin16sb::isUpper#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16sb->sin16sb::@1#0] -- vbuz1=vbuc1 + lda #0 + sta isUpper + //SEG171 [79] phi (word) sin16sb::x#4 = (word) sin16sb::x#0 [phi:sin16sb->sin16sb::@1#1] -- register_copy + jmp b1 + //SEG172 sin16sb::@1 + b1: + //SEG173 [80] if((word) sin16sb::x#4<(const word) PI_HALF_u4f12#0) goto sin16sb::@2 [ sin16sb::x#4 sin16sb::isUpper#2 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#4 sin16sb::isUpper#2 ] ) -- vwuz1_lt_vwuc1_then_la1 + lda x+1 + cmp #>PI_HALF_u4f12 + bcc b2_from_b1 + bne !+ + lda x + cmp #PI_u4f12 + sbc x+1 + sta x+1 + //SEG176 [82] phi from sin16sb::@1 sin16sb::@5 to sin16sb::@2 [phi:sin16sb::@1/sin16sb::@5->sin16sb::@2] + b2_from_b1: + b2_from_b5: + //SEG177 [82] phi (word) sin16sb::x#6 = (word) sin16sb::x#4 [phi:sin16sb::@1/sin16sb::@5->sin16sb::@2#0] -- register_copy + jmp b2 + //SEG178 sin16sb::@2 + b2: + //SEG179 [83] (word) sin16sb::x1#0 ← (word) sin16sb::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin16sb::isUpper#2 sin16sb::x1#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 ] ) -- vwuz1=vwuz1_rol_3 + asl x1 + rol x1+1 + asl x1 + rol x1+1 + asl x1 + rol x1+1 + //SEG180 [84] (word) mulu16_sel::v1#5 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#5 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#5 ] ) -- vwuz1=vwuz2 + lda x1 + sta mulu16_sel.v1 + lda x1+1 + sta mulu16_sel.v1+1 + //SEG181 [85] (word) mulu16_sel::v2#5 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#5 mulu16_sel::v2#5 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#5 mulu16_sel::v2#5 ] ) -- vwuz1=vwuz2 + lda x1 + sta mulu16_sel.v2 + lda x1+1 + sta mulu16_sel.v2+1 + //SEG182 [86] call mulu16_sel param-assignment [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] ) + //SEG183 [116] phi from sin16sb::@2 to mulu16_sel [phi:sin16sb::@2->mulu16_sel] + mulu16_sel_from_b2: + //SEG184 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16sb::@2->mulu16_sel#0] -- vbuxx=vbuc1 + ldx #0 + //SEG185 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#5 [phi:sin16sb::@2->mulu16_sel#1] -- register_copy + //SEG186 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#5 [phi:sin16sb::@2->mulu16_sel#2] -- register_copy + jsr mulu16_sel + //SEG187 [87] (word) mulu16_sel::return#18 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#18 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#18 ] ) + // (word) mulu16_sel::return#18 = (word) mulu16_sel::return#17 // register copy zp ZP_WORD:17 + jmp b8 + //SEG188 sin16sb::@8 + b8: + //SEG189 [88] (word) sin16sb::x2#0 ← (word) mulu16_sel::return#18 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x2#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x2#0 ] ) -- vwuz1=vwuz2 + lda mulu16_sel.return_18 + sta x2 + lda mulu16_sel.return_18+1 + sta x2+1 + //SEG190 [89] (word) mulu16_sel::v1#6 ← (word) sin16sb::x2#0 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#6 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#6 ] ) + // (word) mulu16_sel::v1#6 = (word) sin16sb::x2#0 // register copy zp ZP_WORD:11 + //SEG191 [90] (word) mulu16_sel::v2#6 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#6 mulu16_sel::v2#6 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#6 mulu16_sel::v2#6 ] ) -- vwuz1=vwuz2 + lda x1 + sta mulu16_sel.v2 + lda x1+1 + sta mulu16_sel.v2+1 + //SEG192 [91] call mulu16_sel param-assignment [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] ) + //SEG193 [116] phi from sin16sb::@8 to mulu16_sel [phi:sin16sb::@8->mulu16_sel] + mulu16_sel_from_b8: + //SEG194 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin16sb::@8->mulu16_sel#0] -- vbuxx=vbuc1 + ldx #1 + //SEG195 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#6 [phi:sin16sb::@8->mulu16_sel#1] -- register_copy + //SEG196 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#6 [phi:sin16sb::@8->mulu16_sel#2] -- register_copy + jsr mulu16_sel + //SEG197 [92] (word) mulu16_sel::return#19 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#19 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#19 ] ) -- vwuz1=vwuz2 + lda mulu16_sel.return_17 + sta mulu16_sel.return + lda mulu16_sel.return_17+1 + sta mulu16_sel.return+1 + jmp b9 + //SEG198 sin16sb::@9 + b9: + //SEG199 [93] (word) sin16sb::x3#0 ← (word) mulu16_sel::return#19 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 ] ) + // (word) sin16sb::x3#0 = (word) mulu16_sel::return#19 // register copy zp ZP_WORD:11 + //SEG200 [94] (word) mulu16_sel::v1#7 ← (word) sin16sb::x3#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v1#7 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v1#7 ] ) + // (word) mulu16_sel::v1#7 = (word) sin16sb::x3#0 // register copy zp ZP_WORD:11 + //SEG201 [95] call mulu16_sel param-assignment [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 sin16sb::x3#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 sin16sb::x3#0 ] ) + //SEG202 [116] phi from sin16sb::@9 to mulu16_sel [phi:sin16sb::@9->mulu16_sel] + mulu16_sel_from_b9: + //SEG203 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin16sb::@9->mulu16_sel#0] -- vbuxx=vbuc1 + ldx #1 + //SEG204 [116] phi (word) mulu16_sel::v2#10 = (dword/signed dword) 65536/(byte/signed byte/word/signed word/dword/signed dword) 6 [phi:sin16sb::@9->mulu16_sel#1] -- vwuz1=vwuc1 + lda #<$10000/6 + sta mulu16_sel.v2 + lda #>$10000/6 + sta mulu16_sel.v2+1 + //SEG205 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#7 [phi:sin16sb::@9->mulu16_sel#2] -- register_copy + jsr mulu16_sel + //SEG206 [96] (word) mulu16_sel::return#20 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#20 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#20 ] ) + // (word) mulu16_sel::return#20 = (word) mulu16_sel::return#17 // register copy zp ZP_WORD:17 + jmp b10 + //SEG207 sin16sb::@10 + b10: + //SEG208 [97] (word) sin16sb::x3_6#0 ← (word) mulu16_sel::return#20 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 sin16sb::x3_6#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 sin16sb::x3_6#0 ] ) + // (word) sin16sb::x3_6#0 = (word) mulu16_sel::return#20 // register copy zp ZP_WORD:17 + //SEG209 [98] (word) sin16sb::usinx#0 ← (word) sin16sb::x1#0 - (word) sin16sb::x3_6#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 sin16sb::usinx#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 sin16sb::usinx#0 ] ) -- vwuz1=vwuz2_minus_vwuz3 + lda x1 + sec + sbc x3_6 + sta usinx + lda x1+1 + sbc x3_6+1 + sta usinx+1 + //SEG210 [99] (word) mulu16_sel::v1#8 ← (word) sin16sb::x3#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#8 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#8 ] ) + // (word) mulu16_sel::v1#8 = (word) sin16sb::x3#0 // register copy zp ZP_WORD:11 + //SEG211 [100] (word) mulu16_sel::v2#8 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#8 mulu16_sel::v2#8 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#8 mulu16_sel::v2#8 ] ) -- vwuz1=vwuz2 + lda x1 + sta mulu16_sel.v2 + lda x1+1 + sta mulu16_sel.v2+1 + //SEG212 [101] call mulu16_sel param-assignment [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 sin16sb::usinx#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 sin16sb::usinx#0 ] ) + //SEG213 [116] phi from sin16sb::@10 to mulu16_sel [phi:sin16sb::@10->mulu16_sel] + mulu16_sel_from_b10: + //SEG214 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16sb::@10->mulu16_sel#0] -- vbuxx=vbuc1 + ldx #0 + //SEG215 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#8 [phi:sin16sb::@10->mulu16_sel#1] -- register_copy + //SEG216 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#8 [phi:sin16sb::@10->mulu16_sel#2] -- register_copy + jsr mulu16_sel + //SEG217 [102] (word) mulu16_sel::return#10 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#10 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#10 ] ) -- vwuz1=vwuz2 + lda mulu16_sel.return_17 + sta mulu16_sel.return + lda mulu16_sel.return_17+1 + sta mulu16_sel.return+1 + jmp b11 + //SEG218 sin16sb::@11 + b11: + //SEG219 [103] (word) sin16sb::x4#0 ← (word) mulu16_sel::return#10 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 sin16sb::x4#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 sin16sb::x4#0 ] ) + // (word) sin16sb::x4#0 = (word) mulu16_sel::return#10 // register copy zp ZP_WORD:11 + //SEG220 [104] (word) mulu16_sel::v1#9 ← (word) sin16sb::x4#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#9 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#9 ] ) + // (word) mulu16_sel::v1#9 = (word) sin16sb::x4#0 // register copy zp ZP_WORD:11 + //SEG221 [105] (word) mulu16_sel::v2#9 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v1#9 mulu16_sel::v2#9 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v1#9 mulu16_sel::v2#9 ] ) -- vwuz1=vwuz2 + lda x1 + sta mulu16_sel.v2 + lda x1+1 + sta mulu16_sel.v2+1 + //SEG222 [106] call mulu16_sel param-assignment [ sin16sb::isUpper#2 mulu16_sel::return#17 sin16sb::usinx#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 mulu16_sel::return#17 sin16sb::usinx#0 ] ) + //SEG223 [116] phi from sin16sb::@11 to mulu16_sel [phi:sin16sb::@11->mulu16_sel] + mulu16_sel_from_b11: + //SEG224 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16sb::@11->mulu16_sel#0] -- vbuxx=vbuc1 + ldx #0 + //SEG225 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#9 [phi:sin16sb::@11->mulu16_sel#1] -- register_copy + //SEG226 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#9 [phi:sin16sb::@11->mulu16_sel#2] -- register_copy + jsr mulu16_sel + //SEG227 [107] (word) mulu16_sel::return#11 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#11 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#11 ] ) + // (word) mulu16_sel::return#11 = (word) mulu16_sel::return#17 // register copy zp ZP_WORD:17 + jmp b12 + //SEG228 sin16sb::@12 + b12: + //SEG229 [108] (word) sin16sb::x5#0 ← (word) mulu16_sel::return#11 [ sin16sb::isUpper#2 sin16sb::usinx#0 sin16sb::x5#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 sin16sb::x5#0 ] ) + // (word) sin16sb::x5#0 = (word) mulu16_sel::return#11 // register copy zp ZP_WORD:17 + //SEG230 [109] (word) sin16sb::x5_128#0 ← (word) sin16sb::x5#0 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ sin16sb::isUpper#2 sin16sb::usinx#0 sin16sb::x5_128#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 sin16sb::x5_128#0 ] ) -- vwuz1=vwuz1_ror_4 + ldy #4 + !: + lsr x5_128+1 + ror x5_128 + dey + bne !- + //SEG231 [110] (word) sin16sb::usinx#1 ← (word) sin16sb::usinx#0 + (word) sin16sb::x5_128#0 [ sin16sb::isUpper#2 sin16sb::usinx#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#1 ] ) -- vwuz1=vwuz1_plus_vwuz2 + lda usinx + clc + adc x5_128 + sta usinx + lda usinx+1 + adc x5_128+1 + sta usinx+1 + //SEG232 [111] if((byte) sin16sb::isUpper#2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin16sb::@15 [ sin16sb::usinx#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::usinx#1 ] ) -- vbuz1_eq_0_then_la1 + lda isUpper + beq b15 + jmp b6 + //SEG233 sin16sb::@6 + b6: + //SEG234 [112] (signed word) sin16sb::sinx#1 ← - (signed word)(word) sin16sb::usinx#1 [ sin16sb::sinx#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::sinx#1 ] ) -- vwsz1=_neg_vwsz1 + sec + lda sinx + eor #$ff + adc #0 + sta sinx + lda sinx+1 + eor #$ff + adc #0 + sta sinx+1 + //SEG235 [113] phi from sin16sb::@15 sin16sb::@6 to sin16sb::@3 [phi:sin16sb::@15/sin16sb::@6->sin16sb::@3] + b3_from_b15: + b3_from_b6: + //SEG236 [113] phi (signed word) sin16sb::return#1 = (signed word~) sin16sb::return#5 [phi:sin16sb::@15/sin16sb::@6->sin16sb::@3#0] -- register_copy + jmp b3 + //SEG237 sin16sb::@3 + b3: + jmp breturn + //SEG238 sin16sb::@return + breturn: + //SEG239 [114] return [ sin16sb::return#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#1 ] ) + rts + //SEG240 sin16sb::@15 + b15: + //SEG241 [115] (signed word~) sin16sb::return#5 ← (signed word)(word) sin16sb::usinx#1 [ sin16sb::return#5 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#5 ] ) + // (signed word~) sin16sb::return#5 = (signed word)(word) sin16sb::usinx#1 // register copy zp ZP_WORD:8 + jmp b3_from_b15 +} +//SEG242 mulu16_sel +mulu16_sel: { + .label _0 = $15 + .label _1 = $15 + .label v1 = $b + .label v2 = $11 + .label return = $b + .label return_11 = $11 + .label return_14 = $11 + .label return_16 = $11 + .label return_17 = $11 + .label return_18 = $11 + .label return_20 = $11 + //SEG243 [117] (word) mul16u::a#1 ← (word) mulu16_sel::v1#10 [ mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] ) -- vwuz1=vwuz2 + lda v1 + sta mul16u.a + lda v1+1 + sta mul16u.a+1 + //SEG244 [118] (word) mul16u::b#0 ← (word) mulu16_sel::v2#10 [ mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] ) + // (word) mul16u::b#0 = (word) mulu16_sel::v2#10 // register copy zp ZP_WORD:17 + //SEG245 [119] call mul16u param-assignment [ mulu16_sel::select#10 mul16u::res#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] ) + jsr mul16u + //SEG246 [120] (dword) mul16u::return#2 ← (dword) mul16u::res#2 [ mulu16_sel::select#10 mul16u::return#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] ) + // (dword) mul16u::return#2 = (dword) mul16u::res#2 // register copy zp ZP_DWORD:21 + jmp b2 + //SEG247 mulu16_sel::@2 + b2: + //SEG248 [121] (dword~) mulu16_sel::$0 ← (dword) mul16u::return#2 [ mulu16_sel::select#10 mulu16_sel::$0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] ) + // (dword~) mulu16_sel::$0 = (dword) mul16u::return#2 // register copy zp ZP_DWORD:21 + //SEG249 [122] (dword~) mulu16_sel::$1 ← (dword~) mulu16_sel::$0 << (byte) mulu16_sel::select#10 [ mulu16_sel::$1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::$1 ] ) -- vduz1=vduz1_rol_vbuxx + cpx #0 + beq !e+ + !: + asl _1 + rol _1+1 + rol _1+2 + rol _1+3 + dex + bne !- + !e: + //SEG250 [123] (word) mulu16_sel::return#17 ← > (dword~) mulu16_sel::$1 [ mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#17 ] ) -- vwuz1=_hi_vduz2 + lda _1+2 + sta return_17 + lda _1+3 + sta return_17+1 + jmp breturn + //SEG251 mulu16_sel::@return + breturn: + //SEG252 [124] return [ mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#17 ] ) + rts +} +//SEG253 mul16u +mul16u: { + .label mb = $19 + .label a = $13 + .label res = $15 + .label b = $11 + .label return = $15 + //SEG254 [125] (dword) mul16u::mb#0 ← ((dword)) (word) mul16u::b#0 [ mul16u::a#1 mul16u::mb#0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] ) -- vduz1=_dword_vwuz2 + lda b + sta mb + lda b+1 + sta mb+1 + lda #0 + sta mb+2 + sta mb+3 + //SEG255 [126] phi from mul16u to mul16u::@1 [phi:mul16u->mul16u::@1] + b1_from_mul16u: + //SEG256 [126] phi (dword) mul16u::mb#2 = (dword) mul16u::mb#0 [phi:mul16u->mul16u::@1#0] -- register_copy + //SEG257 [126] phi (dword) mul16u::res#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mul16u->mul16u::@1#1] -- vduz1=vbuc1 + lda #0 + sta res + lda #0 + sta res+1 + sta res+2 + sta res+3 + //SEG258 [126] phi (word) mul16u::a#2 = (word) mul16u::a#1 [phi:mul16u->mul16u::@1#2] -- register_copy + jmp b1 + //SEG259 mul16u::@1 + b1: + //SEG260 [127] if((word) mul16u::a#2!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul16u::@2 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ) -- vwuz1_neq_0_then_la1 + lda a + bne b2 + lda a+1 + bne b2 + jmp breturn + //SEG261 mul16u::@return + breturn: + //SEG262 [128] return [ mul16u::res#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] ) + rts + //SEG263 mul16u::@2 + b2: + //SEG264 [129] (byte~) mul16u::$1 ← (word) mul16u::a#2 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] ) -- vbuaa=vwuz1_band_vbuc1 + lda a + and #1 + //SEG265 [130] if((byte~) mul16u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul16u::@4 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ) -- vbuaa_eq_0_then_la1 + cmp #0 + beq b4_from_b2 + jmp b7 + //SEG266 mul16u::@7 + b7: + //SEG267 [131] (dword) mul16u::res#1 ← (dword) mul16u::res#2 + (dword) mul16u::mb#2 [ mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] ) -- vduz1=vduz1_plus_vduz2 + 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 + //SEG268 [132] phi from mul16u::@2 mul16u::@7 to mul16u::@4 [phi:mul16u::@2/mul16u::@7->mul16u::@4] + b4_from_b2: + b4_from_b7: + //SEG269 [132] phi (dword) mul16u::res#6 = (dword) mul16u::res#2 [phi:mul16u::@2/mul16u::@7->mul16u::@4#0] -- register_copy + jmp b4 + //SEG270 mul16u::@4 + b4: + //SEG271 [133] (word) mul16u::a#0 ← (word) mul16u::a#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] ) -- vwuz1=vwuz1_ror_1 + clc + ror a+1 + ror a + //SEG272 [134] (dword) mul16u::mb#1 ← (dword) mul16u::mb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] ) -- vduz1=vduz1_rol_1 + asl mb + rol mb+1 + rol mb+2 + rol mb+3 + //SEG273 [126] phi from mul16u::@4 to mul16u::@1 [phi:mul16u::@4->mul16u::@1] + b1_from_b4: + //SEG274 [126] phi (dword) mul16u::mb#2 = (dword) mul16u::mb#1 [phi:mul16u::@4->mul16u::@1#0] -- register_copy + //SEG275 [126] phi (dword) mul16u::res#2 = (dword) mul16u::res#6 [phi:mul16u::@4->mul16u::@1#1] -- register_copy + //SEG276 [126] phi (word) mul16u::a#2 = (word) mul16u::a#0 [phi:mul16u::@4->mul16u::@1#2] -- register_copy + jmp b1 +} +//SEG277 div32u16u +div32u16u: { + .label quotient_hi = $b + .label quotient_lo = 8 + .label return = $1d + .label dividend = $d + .label divisor = 2 + //SEG278 [136] (word) divr16u::dividend#1 ← > (dword) div32u16u::dividend#2 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 ] ) -- vwuz1=_hi_vduz2 + lda dividend+2 + sta divr16u.dividend + lda dividend+3 + sta divr16u.dividend+1 + //SEG279 [137] (word) divr16u::divisor#0 ← (word) div32u16u::divisor#2 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 divr16u::divisor#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 divr16u::divisor#0 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 divr16u::divisor#0 ] ) + // (word) divr16u::divisor#0 = (word) div32u16u::divisor#2 // register copy zp ZP_WORD:2 + //SEG280 [138] call divr16u param-assignment [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#0 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#0 ] ) + //SEG281 [149] phi from div32u16u to divr16u [phi:div32u16u->divr16u] + divr16u_from_div32u16u: + //SEG282 [149] phi (word) divr16u::divisor#6 = (word) divr16u::divisor#0 [phi:div32u16u->divr16u#0] -- register_copy + //SEG283 [149] phi (word) divr16u::dividend#5 = (word) divr16u::dividend#1 [phi:div32u16u->divr16u#1] -- register_copy + //SEG284 [149] phi (word) divr16u::rem#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:div32u16u->divr16u#2] -- vwuz1=vbuc1 + lda #<0 + sta divr16u.rem + lda #>0 + sta divr16u.rem+1 + jsr divr16u + //SEG285 [139] (word) divr16u::return#2 ← (word) divr16u::return#0 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#2 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#2 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#2 ] ) + // (word) divr16u::return#2 = (word) divr16u::return#0 // register copy zp ZP_WORD:8 + jmp b2 + //SEG286 div32u16u::@2 + b2: + //SEG287 [140] (word) div32u16u::quotient_hi#0 ← (word) divr16u::return#2 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 div32u16u::quotient_hi#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 div32u16u::quotient_hi#0 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 div32u16u::quotient_hi#0 ] ) -- vwuz1=vwuz2 + lda divr16u.return + sta quotient_hi + lda divr16u.return+1 + sta quotient_hi+1 + //SEG288 [141] (word) divr16u::dividend#2 ← < (dword) div32u16u::dividend#2 [ div32u16u::divisor#2 divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::dividend#2 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::divisor#2 divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::dividend#2 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::divisor#2 divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::dividend#2 ] ) -- vwuz1=_lo_vduz2 + lda dividend + sta divr16u.dividend + lda dividend+1 + sta divr16u.dividend+1 + //SEG289 [142] (word) divr16u::divisor#1 ← (word) div32u16u::divisor#2 [ divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 ] main:2::sin16s_gen:5::div32u16u:167 [ divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 ] ) + // (word) divr16u::divisor#1 = (word) div32u16u::divisor#2 // register copy zp ZP_WORD:2 + //SEG290 [143] (word) divr16u::rem#4 ← (word) divr16u::rem#11 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 divr16u::rem#4 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 divr16u::rem#4 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 divr16u::rem#4 ] ) + // (word) divr16u::rem#4 = (word) divr16u::rem#11 // register copy zp ZP_WORD:4 + //SEG291 [144] call divr16u param-assignment [ divr16u::rem#11 divr16u::return#0 div32u16u::quotient_hi#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ divr16u::rem#11 divr16u::return#0 div32u16u::quotient_hi#0 ] main:2::sin16s_gen:5::div32u16u:167 [ divr16u::rem#11 divr16u::return#0 div32u16u::quotient_hi#0 ] ) + //SEG292 [149] phi from div32u16u::@2 to divr16u [phi:div32u16u::@2->divr16u] + divr16u_from_b2: + //SEG293 [149] phi (word) divr16u::divisor#6 = (word) divr16u::divisor#1 [phi:div32u16u::@2->divr16u#0] -- register_copy + //SEG294 [149] phi (word) divr16u::dividend#5 = (word) divr16u::dividend#2 [phi:div32u16u::@2->divr16u#1] -- register_copy + //SEG295 [149] phi (word) divr16u::rem#10 = (word) divr16u::rem#4 [phi:div32u16u::@2->divr16u#2] -- register_copy + jsr divr16u + //SEG296 [145] (word) divr16u::return#3 ← (word) divr16u::return#0 [ divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::return#3 ] ( main:2::sin16s_genb:7::div32u16u:63 [ divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::return#3 ] main:2::sin16s_gen:5::div32u16u:167 [ divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::return#3 ] ) + // (word) divr16u::return#3 = (word) divr16u::return#0 // register copy zp ZP_WORD:8 + jmp b3 + //SEG297 div32u16u::@3 + b3: + //SEG298 [146] (word) div32u16u::quotient_lo#0 ← (word) divr16u::return#3 [ divr16u::rem#11 div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ divr16u::rem#11 div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] main:2::sin16s_gen:5::div32u16u:167 [ divr16u::rem#11 div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ) + // (word) div32u16u::quotient_lo#0 = (word) divr16u::return#3 // register copy zp ZP_WORD:8 + //SEG299 [147] (dword) div32u16u::return#0 ← (word) div32u16u::quotient_hi#0 dw= (word) div32u16u::quotient_lo#0 [ div32u16u::return#0 divr16u::rem#11 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::return#0 divr16u::rem#11 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::return#0 divr16u::rem#11 ] ) -- vduz1=vwuz2_dword_vwuz3 + lda quotient_hi + sta return+2 + lda quotient_hi+1 + sta return+3 + lda quotient_lo + sta return + lda quotient_lo+1 + sta return+1 + jmp breturn + //SEG300 div32u16u::@return + breturn: + //SEG301 [148] return [ div32u16u::return#0 divr16u::rem#11 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::return#0 divr16u::rem#11 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::return#0 divr16u::rem#11 ] ) + rts +} +//SEG302 divr16u +divr16u: { + .label rem = 4 + .label dividend = 6 + .label quotient = 8 + .label return = 8 + .label divisor = 2 + //SEG303 [150] phi from divr16u to divr16u::@1 [phi:divr16u->divr16u::@1] + b1_from_divr16u: + //SEG304 [150] phi (byte) divr16u::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#0] -- vbuxx=vbuc1 + ldx #0 + //SEG305 [150] phi (word) divr16u::quotient#3 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#1] -- vwuz1=vbuc1 + lda #<0 + sta quotient + lda #>0 + sta quotient+1 + //SEG306 [150] phi (word) divr16u::dividend#3 = (word) divr16u::dividend#5 [phi:divr16u->divr16u::@1#2] -- register_copy + //SEG307 [150] phi (word) divr16u::rem#5 = (word) divr16u::rem#10 [phi:divr16u->divr16u::@1#3] -- register_copy + jmp b1 + //SEG308 [150] phi from divr16u::@3 to divr16u::@1 [phi:divr16u::@3->divr16u::@1] + b1_from_b3: + //SEG309 [150] phi (byte) divr16u::i#2 = (byte) divr16u::i#1 [phi:divr16u::@3->divr16u::@1#0] -- register_copy + //SEG310 [150] phi (word) divr16u::quotient#3 = (word) divr16u::return#0 [phi:divr16u::@3->divr16u::@1#1] -- register_copy + //SEG311 [150] phi (word) divr16u::dividend#3 = (word) divr16u::dividend#0 [phi:divr16u::@3->divr16u::@1#2] -- register_copy + //SEG312 [150] phi (word) divr16u::rem#5 = (word) divr16u::rem#11 [phi:divr16u::@3->divr16u::@1#3] -- register_copy + jmp b1 + //SEG313 divr16u::@1 + b1: + //SEG314 [151] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vwuz1=vwuz1_rol_1 + asl rem + rol rem+1 + //SEG315 [152] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) -- vbuaa=_hi_vwuz1 + lda dividend+1 + //SEG316 [153] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) -- vbuaa=vbuaa_band_vbuc1 + and #$80 + //SEG317 [154] 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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vbuaa_eq_0_then_la1 + cmp #0 + beq b2_from_b1 + jmp b4 + //SEG318 divr16u::@4 + b4: + //SEG319 [155] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) -- vwuz1=vwuz1_bor_vbuc1 + lda #1 + ora rem + sta rem + //SEG320 [156] phi from divr16u::@1 divr16u::@4 to divr16u::@2 [phi:divr16u::@1/divr16u::@4->divr16u::@2] + b2_from_b1: + b2_from_b4: + //SEG321 [156] phi (word) divr16u::rem#6 = (word) divr16u::rem#0 [phi:divr16u::@1/divr16u::@4->divr16u::@2#0] -- register_copy + jmp b2 + //SEG322 divr16u::@2 + b2: + //SEG323 [157] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ) -- vwuz1=vwuz1_rol_1 + asl dividend + rol dividend+1 + //SEG324 [158] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) -- vwuz1=vwuz1_rol_1 + asl quotient + rol quotient+1 + //SEG325 [159] 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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) -- vwuz1_lt_vwuz2_then_la1 + lda rem+1 + cmp divisor+1 + bcc b3_from_b2 + bne !+ + lda rem + cmp divisor + bcc b3_from_b2 + !: + jmp b5 + //SEG326 divr16u::@5 + b5: + //SEG327 [160] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] ) -- vwuz1=_inc_vwuz1 + inc quotient + bne !+ + inc quotient+1 + !: + //SEG328 [161] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) -- vwuz1=vwuz1_minus_vwuz2 + lda rem + sec + sbc divisor + sta rem + lda rem+1 + sbc divisor+1 + sta rem+1 + //SEG329 [162] phi from divr16u::@2 divr16u::@5 to divr16u::@3 [phi:divr16u::@2/divr16u::@5->divr16u::@3] + b3_from_b2: + b3_from_b5: + //SEG330 [162] phi (word) divr16u::return#0 = (word) divr16u::quotient#1 [phi:divr16u::@2/divr16u::@5->divr16u::@3#0] -- register_copy + //SEG331 [162] phi (word) divr16u::rem#11 = (word) divr16u::rem#6 [phi:divr16u::@2/divr16u::@5->divr16u::@3#1] -- register_copy + jmp b3 + //SEG332 divr16u::@3 + b3: + //SEG333 [163] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuxx=_inc_vbuxx + inx + //SEG334 [164] 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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuxx_neq_vbuc1_then_la1 + cpx #$10 + bne b1_from_b3 + jmp breturn + //SEG335 divr16u::@return + breturn: + //SEG336 [165] return [ divr16u::rem#11 divr16u::return#0 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#0 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#0 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#11 divr16u::return#0 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#11 divr16u::return#0 ] ) + rts +} +//SEG337 sin16s_gen +sin16s_gen: { + .label _1 = 8 + .label step = $1d + .label sintab = 2 + .label x = $d + .label i = 6 + //SEG338 [167] call div32u16u param-assignment [ div32u16u::return#0 divr16u::rem#11 ] ( main:2::sin16s_gen:5 [ div32u16u::return#0 divr16u::rem#11 ] ) + //SEG339 [135] phi from sin16s_gen to div32u16u [phi:sin16s_gen->div32u16u] + div32u16u_from_sin16s_gen: + //SEG340 [135] phi (word) rem16u#26 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s_gen->div32u16u#0] -- vwuz1=vbuc1 + lda #<0 + sta rem16u + lda #>0 + sta rem16u+1 + //SEG341 [135] phi (word) div32u16u::divisor#2 = (const word) main::wavelength#0 [phi:sin16s_gen->div32u16u#1] -- vwuz1=vwuc1 + lda #main.wavelength + sta div32u16u.divisor+1 + //SEG342 [135] phi (dword) div32u16u::dividend#2 = (const dword) PI2_u4f28#0 [phi:sin16s_gen->div32u16u#2] -- vduz1=vduc1 + lda #PI2_u4f28 + sta div32u16u.dividend+1 + lda #>$10 + sta div32u16u.dividend+2 + lda #>PI2_u4f28>>$10 + sta div32u16u.dividend+3 + jsr div32u16u + //SEG343 [168] (dword) div32u16u::return#2 ← (dword) div32u16u::return#0 [ divr16u::rem#11 div32u16u::return#2 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 div32u16u::return#2 ] ) + // (dword) div32u16u::return#2 = (dword) div32u16u::return#0 // register copy zp ZP_DWORD:29 + jmp b3 + //SEG344 sin16s_gen::@3 + b3: + //SEG345 [169] (dword) sin16s_gen::step#0 ← (dword) div32u16u::return#2 [ divr16u::rem#11 sin16s_gen::step#0 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 ] ) + // (dword) sin16s_gen::step#0 = (dword) div32u16u::return#2 // register copy zp ZP_DWORD:29 + //SEG346 [170] phi from sin16s_gen::@3 to sin16s_gen::@1 [phi:sin16s_gen::@3->sin16s_gen::@1] + b1_from_b3: + //SEG347 [170] phi (word) sin16s_gen::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s_gen::@3->sin16s_gen::@1#0] -- vwuz1=vbuc1 + lda #<0 + sta i + lda #>0 + sta i+1 + //SEG348 [170] phi (signed word*) sin16s_gen::sintab#2 = (const signed word[120]) main::sintab1#0 [phi:sin16s_gen::@3->sin16s_gen::@1#1] -- pwsz1=pwsc1 + lda #main.sintab1 + sta sintab+1 + //SEG349 [170] phi (dword) sin16s_gen::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s_gen::@3->sin16s_gen::@1#2] -- vduz1=vbuc1 + lda #0 + sta x + lda #0 + sta x+1 + sta x+2 + sta x+3 + jmp b1 + //SEG350 [170] phi from sin16s_gen::@4 to sin16s_gen::@1 [phi:sin16s_gen::@4->sin16s_gen::@1] + b1_from_b4: + //SEG351 [170] phi (word) sin16s_gen::i#2 = (word) sin16s_gen::i#1 [phi:sin16s_gen::@4->sin16s_gen::@1#0] -- register_copy + //SEG352 [170] phi (signed word*) sin16s_gen::sintab#2 = (signed word*) sin16s_gen::sintab#0 [phi:sin16s_gen::@4->sin16s_gen::@1#1] -- register_copy + //SEG353 [170] phi (dword) sin16s_gen::x#2 = (dword) sin16s_gen::x#1 [phi:sin16s_gen::@4->sin16s_gen::@1#2] -- register_copy + jmp b1 + //SEG354 sin16s_gen::@1 + b1: + //SEG355 [171] (dword) sin16s::x#0 ← (dword) sin16s_gen::x#2 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ) -- vduz1=vduz2 + lda x + sta sin16s.x + lda x+1 + sta sin16s.x+1 + lda x+2 + sta sin16s.x+2 + lda x+3 + sta sin16s.x+3 + //SEG356 [172] call sin16s param-assignment [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#1 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#1 ] ) + jsr sin16s + //SEG357 [173] (signed word) sin16s::return#0 ← (signed word) sin16s::return#1 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#0 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#0 ] ) + // (signed word) sin16s::return#0 = (signed word) sin16s::return#1 // register copy zp ZP_WORD:8 + jmp b4 + //SEG358 sin16s_gen::@4 + b4: + //SEG359 [174] (signed word~) sin16s_gen::$1 ← (signed word) sin16s::return#0 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s_gen::$1 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s_gen::$1 ] ) + // (signed word~) sin16s_gen::$1 = (signed word) sin16s::return#0 // register copy zp ZP_WORD:8 + //SEG360 [175] *((signed word*) sin16s_gen::sintab#2) ← (signed word~) sin16s_gen::$1 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ) -- _deref_pwsz1=vwsz2 + ldy #0 + lda _1 + sta (sintab),y + iny + lda _1+1 + sta (sintab),y + //SEG361 [176] (signed word*) sin16s_gen::sintab#0 ← (signed word*) sin16s_gen::sintab#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::i#2 sin16s_gen::sintab#0 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::i#2 sin16s_gen::sintab#0 ] ) -- pwsz1=pwsz1_plus_vbuc1 + clc + lda sintab + adc #<2 + sta sintab + lda sintab+1 + adc #>2 + sta sintab+1 + //SEG362 [177] (dword) sin16s_gen::x#1 ← (dword) sin16s_gen::x#2 + (dword) sin16s_gen::step#0 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::i#2 sin16s_gen::x#1 sin16s_gen::sintab#0 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::i#2 sin16s_gen::x#1 sin16s_gen::sintab#0 ] ) -- vduz1=vduz1_plus_vduz2 + 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 + //SEG363 [178] (word) sin16s_gen::i#1 ← ++ (word) sin16s_gen::i#2 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ) -- vwuz1=_inc_vwuz1 + inc i + bne !+ + inc i+1 + !: + //SEG364 [179] if((word) sin16s_gen::i#1<(const word) main::wavelength#0) goto sin16s_gen::@1 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ) -- vwuz1_lt_vwuc1_then_la1 + lda i+1 + cmp #>main.wavelength + bcc b1_from_b4 + bne !+ + lda i + cmp #PI_u4f28>>$10 + bcc b1_from_sin16s + bne !+ + lda x+2 + cmp #>$10 + bcc b1_from_sin16s + bne !+ + lda x+1 + cmp #>PI_u4f28 + bcc b1_from_sin16s + bne !+ + lda x + cmp #PI_u4f28 + sta x+1 + lda x+2 + sbc #>$10 + sta x+2 + lda x+3 + sbc #>PI_u4f28>>$10 + sta x+3 + //SEG371 [183] phi from sin16s::@4 to sin16s::@1 [phi:sin16s::@4->sin16s::@1] + b1_from_b4: + //SEG372 [183] phi (byte) sin16s::isUpper#2 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin16s::@4->sin16s::@1#0] -- vbuz1=vbuc1 + lda #1 + sta isUpper + //SEG373 [183] phi (dword) sin16s::x#4 = (dword) sin16s::x#1 [phi:sin16s::@4->sin16s::@1#1] -- register_copy + jmp b1 + //SEG374 [183] phi from sin16s to sin16s::@1 [phi:sin16s->sin16s::@1] + b1_from_sin16s: + //SEG375 [183] phi (byte) sin16s::isUpper#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s->sin16s::@1#0] -- vbuz1=vbuc1 + lda #0 + sta isUpper + //SEG376 [183] phi (dword) sin16s::x#4 = (dword) sin16s::x#0 [phi:sin16s->sin16s::@1#1] -- register_copy + jmp b1 + //SEG377 sin16s::@1 + b1: + //SEG378 [184] if((dword) sin16s::x#4<(const dword) PI_HALF_u4f28#0) goto sin16s::@2 [ sin16s::x#4 sin16s::isUpper#2 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#4 sin16s::isUpper#2 ] ) -- vduz1_lt_vduc1_then_la1 + lda x+3 + cmp #>PI_HALF_u4f28>>$10 + bcc b2_from_b1 + bne !+ + lda x+2 + cmp #>$10 + bcc b2_from_b1 + bne !+ + lda x+1 + cmp #>PI_HALF_u4f28 + bcc b2_from_b1 + bne !+ + lda x + cmp #PI_u4f28 + sbc x+1 + sta x+1 + lda #>$10 + sbc x+2 + sta x+2 + lda #>PI_u4f28>>$10 + sbc x+3 + sta x+3 + //SEG381 [186] phi from sin16s::@1 sin16s::@5 to sin16s::@2 [phi:sin16s::@1/sin16s::@5->sin16s::@2] + b2_from_b1: + b2_from_b5: + //SEG382 [186] phi (dword) sin16s::x#6 = (dword) sin16s::x#4 [phi:sin16s::@1/sin16s::@5->sin16s::@2#0] -- register_copy + jmp b2 + //SEG383 sin16s::@2 + b2: + //SEG384 [187] (dword~) sin16s::$6 ← (dword) sin16s::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin16s::isUpper#2 sin16s::$6 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::$6 ] ) -- vduz1=vduz1_rol_3 + ldy #3 + !: + asl _6 + rol _6+1 + rol _6+2 + rol _6+3 + dey + bne !- + //SEG385 [188] (word) sin16s::x1#0 ← > (dword~) sin16s::$6 [ sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 ] ) -- vwuz1=_hi_vduz2 + lda _6+2 + sta x1 + lda _6+3 + sta x1+1 + //SEG386 [189] (word) mulu16_sel::v1#0 ← (word) sin16s::x1#0 [ mulu16_sel::v1#0 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#0 sin16s::isUpper#2 sin16s::x1#0 ] ) -- vwuz1=vwuz2 + lda x1 + sta mulu16_sel.v1 + lda x1+1 + sta mulu16_sel.v1+1 + //SEG387 [190] (word) mulu16_sel::v2#0 ← (word) sin16s::x1#0 [ mulu16_sel::v1#0 mulu16_sel::v2#0 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#0 mulu16_sel::v2#0 sin16s::isUpper#2 sin16s::x1#0 ] ) -- vwuz1=vwuz2 + lda x1 + sta mulu16_sel.v2 + lda x1+1 + sta mulu16_sel.v2+1 + //SEG388 [191] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ) + //SEG389 [116] phi from sin16s::@2 to mulu16_sel [phi:sin16s::@2->mulu16_sel] + mulu16_sel_from_b2: + //SEG390 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s::@2->mulu16_sel#0] -- vbuxx=vbuc1 + ldx #0 + //SEG391 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#0 [phi:sin16s::@2->mulu16_sel#1] -- register_copy + //SEG392 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#0 [phi:sin16s::@2->mulu16_sel#2] -- register_copy + jsr mulu16_sel + //SEG393 [192] (word) mulu16_sel::return#0 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#0 ] ) -- vwuz1=vwuz2 + lda mulu16_sel.return_17 + sta mulu16_sel.return + lda mulu16_sel.return_17+1 + sta mulu16_sel.return+1 + jmp b8 + //SEG394 sin16s::@8 + b8: + //SEG395 [193] (word) sin16s::x2#0 ← (word) mulu16_sel::return#0 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x2#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x2#0 ] ) + // (word) sin16s::x2#0 = (word) mulu16_sel::return#0 // register copy zp ZP_WORD:11 + //SEG396 [194] (word) mulu16_sel::v1#1 ← (word) sin16s::x2#0 [ mulu16_sel::v1#1 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#1 sin16s::isUpper#2 sin16s::x1#0 ] ) + // (word) mulu16_sel::v1#1 = (word) sin16s::x2#0 // register copy zp ZP_WORD:11 + //SEG397 [195] (word) mulu16_sel::v2#1 ← (word) sin16s::x1#0 [ mulu16_sel::v1#1 mulu16_sel::v2#1 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#1 mulu16_sel::v2#1 sin16s::isUpper#2 sin16s::x1#0 ] ) -- vwuz1=vwuz2 + lda x1 + sta mulu16_sel.v2 + lda x1+1 + sta mulu16_sel.v2+1 + //SEG398 [196] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ) + //SEG399 [116] phi from sin16s::@8 to mulu16_sel [phi:sin16s::@8->mulu16_sel] + mulu16_sel_from_b8: + //SEG400 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin16s::@8->mulu16_sel#0] -- vbuxx=vbuc1 + ldx #1 + //SEG401 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#1 [phi:sin16s::@8->mulu16_sel#1] -- register_copy + //SEG402 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#1 [phi:sin16s::@8->mulu16_sel#2] -- register_copy + jsr mulu16_sel + //SEG403 [197] (word) mulu16_sel::return#1 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#1 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#1 ] ) -- vwuz1=vwuz2 + lda mulu16_sel.return_17 + sta mulu16_sel.return + lda mulu16_sel.return_17+1 + sta mulu16_sel.return+1 + jmp b9 + //SEG404 sin16s::@9 + b9: + //SEG405 [198] (word) sin16s::x3#0 ← (word) mulu16_sel::return#1 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) + // (word) sin16s::x3#0 = (word) mulu16_sel::return#1 // register copy zp ZP_WORD:11 + //SEG406 [199] (word) mulu16_sel::v1#2 ← (word) sin16s::x3#0 [ mulu16_sel::v1#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) + // (word) mulu16_sel::v1#2 = (word) sin16s::x3#0 // register copy zp ZP_WORD:11 + //SEG407 [200] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) + //SEG408 [116] phi from sin16s::@9 to mulu16_sel [phi:sin16s::@9->mulu16_sel] + mulu16_sel_from_b9: + //SEG409 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin16s::@9->mulu16_sel#0] -- vbuxx=vbuc1 + ldx #1 + //SEG410 [116] phi (word) mulu16_sel::v2#10 = (dword/signed dword) 65536/(byte/signed byte/word/signed word/dword/signed dword) 6 [phi:sin16s::@9->mulu16_sel#1] -- vwuz1=vwuc1 + lda #<$10000/6 + sta mulu16_sel.v2 + lda #>$10000/6 + sta mulu16_sel.v2+1 + //SEG411 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#2 [phi:sin16s::@9->mulu16_sel#2] -- register_copy + jsr mulu16_sel + //SEG412 [201] (word) mulu16_sel::return#14 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#14 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#14 ] ) + // (word) mulu16_sel::return#14 = (word) mulu16_sel::return#17 // register copy zp ZP_WORD:17 + jmp b10 + //SEG413 sin16s::@10 + b10: + //SEG414 [202] (word) sin16s::x3_6#0 ← (word) mulu16_sel::return#14 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::x3_6#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::x3_6#0 ] ) + // (word) sin16s::x3_6#0 = (word) mulu16_sel::return#14 // register copy zp ZP_WORD:17 + //SEG415 [203] (word) sin16s::usinx#0 ← (word) sin16s::x1#0 - (word) sin16s::x3_6#0 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::usinx#0 ] ) -- vwuz1=vwuz2_minus_vwuz3 + lda x1 + sec + sbc x3_6 + sta usinx + lda x1+1 + sbc x3_6+1 + sta usinx+1 + //SEG416 [204] (word) mulu16_sel::v1#3 ← (word) sin16s::x3#0 [ mulu16_sel::v1#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) + // (word) mulu16_sel::v1#3 = (word) sin16s::x3#0 // register copy zp ZP_WORD:11 + //SEG417 [205] (word) mulu16_sel::v2#3 ← (word) sin16s::x1#0 [ mulu16_sel::v1#3 mulu16_sel::v2#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#3 mulu16_sel::v2#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) -- vwuz1=vwuz2 + lda x1 + sta mulu16_sel.v2 + lda x1+1 + sta mulu16_sel.v2+1 + //SEG418 [206] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) + //SEG419 [116] phi from sin16s::@10 to mulu16_sel [phi:sin16s::@10->mulu16_sel] + mulu16_sel_from_b10: + //SEG420 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s::@10->mulu16_sel#0] -- vbuxx=vbuc1 + ldx #0 + //SEG421 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#3 [phi:sin16s::@10->mulu16_sel#1] -- register_copy + //SEG422 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#3 [phi:sin16s::@10->mulu16_sel#2] -- register_copy + jsr mulu16_sel + //SEG423 [207] (word) mulu16_sel::return#15 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#15 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#15 ] ) -- vwuz1=vwuz2 + lda mulu16_sel.return_17 + sta mulu16_sel.return + lda mulu16_sel.return_17+1 + sta mulu16_sel.return+1 + jmp b11 + //SEG424 sin16s::@11 + b11: + //SEG425 [208] (word) sin16s::x4#0 ← (word) mulu16_sel::return#15 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 sin16s::x4#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 sin16s::x4#0 ] ) + // (word) sin16s::x4#0 = (word) mulu16_sel::return#15 // register copy zp ZP_WORD:11 + //SEG426 [209] (word) mulu16_sel::v1#4 ← (word) sin16s::x4#0 [ mulu16_sel::v1#4 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#4 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) + // (word) mulu16_sel::v1#4 = (word) sin16s::x4#0 // register copy zp ZP_WORD:11 + //SEG427 [210] (word) mulu16_sel::v2#4 ← (word) sin16s::x1#0 [ mulu16_sel::v1#4 mulu16_sel::v2#4 sin16s::isUpper#2 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#4 mulu16_sel::v2#4 sin16s::isUpper#2 sin16s::usinx#0 ] ) -- vwuz1=vwuz2 + lda x1 + sta mulu16_sel.v2 + lda x1+1 + sta mulu16_sel.v2+1 + //SEG428 [211] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::usinx#0 ] ) + //SEG429 [116] phi from sin16s::@11 to mulu16_sel [phi:sin16s::@11->mulu16_sel] + mulu16_sel_from_b11: + //SEG430 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s::@11->mulu16_sel#0] -- vbuxx=vbuc1 + ldx #0 + //SEG431 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#4 [phi:sin16s::@11->mulu16_sel#1] -- register_copy + //SEG432 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#4 [phi:sin16s::@11->mulu16_sel#2] -- register_copy + jsr mulu16_sel + //SEG433 [212] (word) mulu16_sel::return#16 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#16 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#16 ] ) + // (word) mulu16_sel::return#16 = (word) mulu16_sel::return#17 // register copy zp ZP_WORD:17 + jmp b12 + //SEG434 sin16s::@12 + b12: + //SEG435 [213] (word) sin16s::x5#0 ← (word) mulu16_sel::return#16 [ sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5#0 ] ) + // (word) sin16s::x5#0 = (word) mulu16_sel::return#16 // register copy zp ZP_WORD:17 + //SEG436 [214] (word) sin16s::x5_128#0 ← (word) sin16s::x5#0 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5_128#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5_128#0 ] ) -- vwuz1=vwuz1_ror_4 + ldy #4 + !: + lsr x5_128+1 + ror x5_128 + dey + bne !- + //SEG437 [215] (word) sin16s::usinx#1 ← (word) sin16s::usinx#0 + (word) sin16s::x5_128#0 [ sin16s::isUpper#2 sin16s::usinx#1 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#1 ] ) -- vwuz1=vwuz1_plus_vwuz2 + lda usinx + clc + adc x5_128 + sta usinx + lda usinx+1 + adc x5_128+1 + sta usinx+1 + //SEG438 [216] if((byte) sin16s::isUpper#2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin16s::@15 [ sin16s::usinx#1 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::usinx#1 ] ) -- vbuz1_eq_0_then_la1 + lda isUpper + beq b15 + jmp b6 + //SEG439 sin16s::@6 + b6: + //SEG440 [217] (signed word) sin16s::sinx#1 ← - (signed word)(word) sin16s::usinx#1 [ sin16s::sinx#1 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::sinx#1 ] ) -- vwsz1=_neg_vwsz1 + sec + lda sinx + eor #$ff + adc #0 + sta sinx + lda sinx+1 + eor #$ff + adc #0 + sta sinx+1 + //SEG441 [218] phi from sin16s::@15 sin16s::@6 to sin16s::@3 [phi:sin16s::@15/sin16s::@6->sin16s::@3] + b3_from_b15: + b3_from_b6: + //SEG442 [218] phi (signed word) sin16s::return#1 = (signed word~) sin16s::return#5 [phi:sin16s::@15/sin16s::@6->sin16s::@3#0] -- register_copy + jmp b3 + //SEG443 sin16s::@3 + b3: + jmp breturn + //SEG444 sin16s::@return + breturn: + //SEG445 [219] return [ sin16s::return#1 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#1 ] ) + rts + //SEG446 sin16s::@15 + b15: + //SEG447 [220] (signed word~) sin16s::return#5 ← (signed word)(word) sin16s::usinx#1 [ sin16s::return#5 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#5 ] ) + // (signed word~) sin16s::return#5 = (signed word)(word) sin16s::usinx#1 // register copy zp ZP_WORD:8 + jmp b3_from_b15 +} + +ASSEMBLER OPTIMIZATIONS +Removing instruction jmp b31 +Removing instruction jmp bend +Removing instruction jmp b5 +Removing instruction jmp b6 +Removing instruction jmp b1 +Removing instruction jmp b3 +Removing instruction jmp b2 +Removing instruction jmp b8 +Removing instruction jmp b9 +Removing instruction jmp breturn +Removing instruction jmp b1 +Removing instruction jmp breturn +Removing instruction jmp b2 +Removing instruction jmp b4 +Removing instruction jmp b1 +Removing instruction jmp breturn +Removing instruction jmp b1 +Removing instruction jmp breturn +Removing instruction jmp b1 +Removing instruction jmp breturn +Removing instruction jmp breturn +Removing instruction jmp b1 +Removing instruction jmp breturn +Removing instruction jmp b3 +Removing instruction jmp b1 +Removing instruction jmp b4 +Removing instruction jmp breturn +Removing instruction jmp b4 +Removing instruction jmp b1 +Removing instruction jmp b5 +Removing instruction jmp b2 +Removing instruction jmp b8 +Removing instruction jmp b9 +Removing instruction jmp b10 +Removing instruction jmp b11 +Removing instruction jmp b12 +Removing instruction jmp b6 +Removing instruction jmp b3 +Removing instruction jmp breturn +Removing instruction jmp b2 +Removing instruction jmp breturn +Removing instruction jmp b1 +Removing instruction jmp breturn +Removing instruction jmp b7 +Removing instruction jmp b4 +Removing instruction jmp b2 +Removing instruction jmp b3 +Removing instruction jmp breturn +Removing instruction jmp b1 +Removing instruction jmp b4 +Removing instruction jmp b2 +Removing instruction jmp b5 +Removing instruction jmp b3 +Removing instruction jmp breturn +Removing instruction jmp b3 +Removing instruction jmp b1 +Removing instruction jmp b4 +Removing instruction jmp breturn +Removing instruction jmp b4 +Removing instruction jmp b1 +Removing instruction jmp b5 +Removing instruction jmp b2 +Removing instruction jmp b8 +Removing instruction jmp b9 +Removing instruction jmp b10 +Removing instruction jmp b11 +Removing instruction jmp b12 +Removing instruction jmp b6 +Removing instruction jmp b3 +Removing instruction jmp breturn +Succesful ASM optimization Pass5NextJumpElimination +Removing instruction lda sw+1 +Removing instruction ldy #0 +Removing instruction lda #>0 +Removing instruction lda #0 +Removing instruction lda #0 +Removing instruction lda #>0 +Replacing instruction lda #<0 with TXA +Removing instruction lda #>0 +Removing instruction lda #>0 +Removing instruction lda #>0 +Removing instruction lda #0 +Succesful ASM optimization Pass5UnnecesaryLoadElimination +Replacing label b2_from_b1 with b2 +Replacing label b1_from_b9 with b1 +Replacing label b1_from_b2 with b1 +Replacing label b1_from_print_sword with b1 +Replacing label b1_from_b1 with b1 +Replacing label b1_from_b1 with b1 +Replacing label b1_from_b4 with b1 +Replacing label b1_from_b4 with b1 +Replacing label b2_from_b1 with b2 +Replacing label b2_from_b1 with b2 +Replacing label b3_from_b15 with b3 +Replacing label b4_from_b2 with b4 +Replacing label b2_from_b1 with b2 +Replacing label b3_from_b2 with b3 +Replacing label b3_from_b2 with b3 +Replacing label b1_from_b3 with b1 +Replacing label b1_from_b4 with b1 +Replacing label b1_from_b4 with b1 +Replacing label b2_from_b1 with b2 +Replacing label b2_from_b1 with b2 +Replacing label b2_from_b1 with b2 +Replacing label b2_from_b1 with b2 +Replacing label b3_from_b15 with b3 +Removing instruction bbegin: +Removing instruction b31_from_bbegin: +Removing instruction main_from_b31: +Removing instruction bend_from_b31: +Removing instruction b5_from_main: +Removing instruction sin16s_genb_from_b5: +Removing instruction b6_from_b5: +Removing instruction print_cls_from_b6: +Removing instruction b1_from_b9: +Removing instruction b3_from_b1: +Removing instruction print_str_from_b3: +Removing instruction b2_from_b1: +Removing instruction b2_from_b3: +Removing instruction b8_from_b2: +Removing instruction print_str_from_b8: +Removing instruction b1_from_print_str: +Removing instruction b1_from_b2: +Removing instruction b2_from_print_sword: +Removing instruction print_char_from_b2: +Removing instruction b1_from_print_sword: +Removing instruction b1_from_b4: +Removing instruction b1_from_b1: +Removing instruction b1_from_b4: +Removing instruction b2_from_b1: +Removing instruction b2_from_b5: +Removing instruction b3_from_b15: +Removing instruction b3_from_b6: +Removing instruction breturn: +Removing instruction b4_from_b2: +Removing instruction b4_from_b7: +Removing instruction b1_from_b3: +Removing instruction b2_from_b1: +Removing instruction b2_from_b4: +Removing instruction b3_from_b2: +Removing instruction b3_from_b5: +Removing instruction b1_from_b4: +Removing instruction b2_from_b1: +Removing instruction b2_from_b5: +Removing instruction b3_from_b15: +Removing instruction b3_from_b6: +Removing instruction breturn: +Succesful ASM optimization Pass5RedundantLabelElimination +Removing instruction b31: +Removing instruction bend: +Removing instruction sin16s_gen_from_main: +Removing instruction b5: +Removing instruction b6: +Removing instruction b1_from_b6: +Removing instruction b3: +Removing instruction b8: +Removing instruction b9: +Removing instruction breturn: +Removing instruction breturn: +Removing instruction b2: +Removing instruction b4: +Removing instruction breturn: +Removing instruction print_byte_from_print_word: +Removing instruction b1: +Removing instruction print_byte_from_b1: +Removing instruction breturn: +Removing instruction print_char_from_print_byte: +Removing instruction b1: +Removing instruction print_char_from_b1: +Removing instruction breturn: +Removing instruction breturn: +Removing instruction b1_from_print_cls: +Removing instruction breturn: +Removing instruction div32u16u_from_sin16s_genb: +Removing instruction b3: +Removing instruction b1_from_b3: +Removing instruction b4: +Removing instruction breturn: +Removing instruction b4: +Removing instruction b1_from_b4: +Removing instruction b5: +Removing instruction mulu16_sel_from_b2: +Removing instruction b8: +Removing instruction mulu16_sel_from_b8: +Removing instruction b9: +Removing instruction mulu16_sel_from_b9: +Removing instruction b10: +Removing instruction mulu16_sel_from_b10: +Removing instruction b11: +Removing instruction mulu16_sel_from_b11: +Removing instruction b12: +Removing instruction b6: +Removing instruction b2: +Removing instruction breturn: +Removing instruction b1_from_mul16u: +Removing instruction breturn: +Removing instruction b7: +Removing instruction b1_from_b4: +Removing instruction divr16u_from_div32u16u: +Removing instruction b2: +Removing instruction divr16u_from_b2: +Removing instruction b3: +Removing instruction breturn: +Removing instruction b1_from_divr16u: +Removing instruction b4: +Removing instruction b5: +Removing instruction breturn: +Removing instruction div32u16u_from_sin16s_gen: +Removing instruction b3: +Removing instruction b1_from_b3: +Removing instruction b4: +Removing instruction breturn: +Removing instruction b4: +Removing instruction b1_from_b4: +Removing instruction b5: +Removing instruction mulu16_sel_from_b2: +Removing instruction b8: +Removing instruction mulu16_sel_from_b8: +Removing instruction b9: +Removing instruction mulu16_sel_from_b9: +Removing instruction b10: +Removing instruction mulu16_sel_from_b10: +Removing instruction b11: +Removing instruction mulu16_sel_from_b11: +Removing instruction b12: +Removing instruction b6: +Succesful ASM optimization Pass5UnusedLabelElimination +Skipping double jump to b3 in beq b15 +Skipping double jump to b3 in beq b15 +Succesful ASM optimization Pass5DoubleJumpElimination +Relabelling long label b1_from_sin16sb to b4 +Relabelling long label b1_from_sin16s to b4 +Succesful ASM optimization Pass5RelabelLongLabels +Removing instruction jmp b1 +Removing instruction jmp b1 +Removing instruction jmp b1 +Removing instruction jmp b1 +Removing instruction jmp b1 +Succesful ASM optimization Pass5NextJumpElimination +Removing instruction lda #0 +Succesful ASM optimization Pass5UnnecesaryLoadElimination +Removing instruction b15: +Removing instruction b15: +Succesful ASM optimization Pass5UnusedLabelElimination +Removing unreachable instruction jmp b3 +Removing unreachable instruction jmp b3 +Succesful ASM optimization Pass5UnreachableCodeElimination + +FINAL SYMBOL TABLE +(label) @31 +(label) @begin +(label) @end +(dword) PI2_u4f28 +(const dword) PI2_u4f28#0 PI2_u4f28 = (dword/signed dword) 1686629713 +(word) PI_HALF_u4f12 +(const word) PI_HALF_u4f12#0 PI_HALF_u4f12 = (word/signed word/dword/signed dword) 6434 +(dword) PI_HALF_u4f28 +(const dword) PI_HALF_u4f28#0 PI_HALF_u4f28 = (dword/signed dword) 421657428 +(word) PI_u4f12 +(const word) PI_u4f12#0 PI_u4f12 = (word/signed word/dword/signed dword) 12868 +(dword) PI_u4f28 +(const dword) PI_u4f28#0 PI_u4f28 = (dword/signed dword) 843314857 +(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:11 101.0 +(byte*) char_cursor#12 char_cursor zp ZP_WORD:11 1.1176470588235294 +(byte*) char_cursor#2 char_cursor zp ZP_WORD:11 32.7 +(byte*) char_cursor#33 char_cursor zp ZP_WORD:11 5.0 +(byte*) char_cursor#43 char_cursor zp ZP_WORD:11 3.0 +(byte*) char_cursor#46 char_cursor zp ZP_WORD:11 2.0 +(byte*) char_cursor#48 char_cursor zp ZP_WORD:11 6.5 +(byte*) char_cursor#49 char_cursor zp ZP_WORD:11 8.25 +(byte*) char_cursor#51 char_cursor zp ZP_WORD:11 24.0 +(dword()) div32u16u((dword) div32u16u::dividend , (word) div32u16u::divisor) +(label) div32u16u::@2 +(label) div32u16u::@3 +(label) div32u16u::@return +(dword) div32u16u::dividend +(dword) div32u16u::dividend#2 dividend zp ZP_DWORD:13 0.6666666666666666 +(word) div32u16u::divisor +(word) div32u16u::divisor#2 divisor zp ZP_WORD:2 0.5714285714285714 +(dword) div32u16u::quotient +(word) div32u16u::quotient_hi +(word) div32u16u::quotient_hi#0 quotient_hi zp ZP_WORD:11 0.5714285714285714 +(word) div32u16u::quotient_lo +(word) div32u16u::quotient_lo#0 quotient_lo zp ZP_WORD:8 4.0 +(dword) div32u16u::return +(dword) div32u16u::return#0 return zp ZP_DWORD:29 1.5 +(dword) div32u16u::return#2 return zp ZP_DWORD:29 4.0 +(dword) div32u16u::return#3 return zp ZP_DWORD:29 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 +(label) divr16u::@1 +(label) divr16u::@2 +(label) divr16u::@3 +(label) divr16u::@4 +(label) divr16u::@5 +(label) divr16u::@return +(word) divr16u::dividend +(word) divr16u::dividend#0 dividend zp ZP_WORD:6 2.75 +(word) divr16u::dividend#1 dividend zp ZP_WORD:6 2.0 +(word) divr16u::dividend#2 dividend zp ZP_WORD:6 1.3333333333333333 +(word) divr16u::dividend#3 dividend zp ZP_WORD:6 5.0 +(word) divr16u::dividend#5 dividend zp ZP_WORD:6 6.0 +(word) divr16u::divisor +(word) divr16u::divisor#0 divisor zp ZP_WORD:2 4.0 +(word) divr16u::divisor#1 divisor zp ZP_WORD:2 2.0 +(word) divr16u::divisor#6 divisor zp ZP_WORD:2 1.625 +(byte) divr16u::i +(byte) divr16u::i#1 reg byte x 16.5 +(byte) divr16u::i#2 reg byte x 1.6923076923076923 +(word) divr16u::quotient +(word) divr16u::quotient#1 quotient zp ZP_WORD:8 16.5 +(word) divr16u::quotient#2 quotient zp ZP_WORD:8 11.0 +(word) divr16u::quotient#3 quotient zp ZP_WORD:8 2.75 +(word) divr16u::rem +(word) divr16u::rem#0 rem zp ZP_WORD:4 8.25 +(word) divr16u::rem#1 rem zp ZP_WORD:4 22.0 +(word) divr16u::rem#10 rem zp ZP_WORD:4 4.0 +(word) divr16u::rem#11 rem zp ZP_WORD:4 1.1935483870967742 +(word) divr16u::rem#2 rem zp ZP_WORD:4 22.0 +(word) divr16u::rem#4 rem zp ZP_WORD:4 4.0 +(word) divr16u::rem#5 rem zp ZP_WORD:4 24.0 +(word) divr16u::rem#6 rem zp ZP_WORD:4 11.0 +(word) divr16u::return +(word) divr16u::return#0 return zp ZP_WORD:8 6.166666666666666 +(word) divr16u::return#2 return zp ZP_WORD:8 4.0 +(word) divr16u::return#3 return zp ZP_WORD:8 4.0 +(byte*) line_cursor +(void()) main() +(label) main::@1 +(label) main::@2 +(label) main::@3 +(label) main::@5 +(label) main::@6 +(label) main::@8 +(label) main::@9 +(label) main::@return +(byte) main::i +(byte) main::i#1 reg byte x 16.5 +(byte) main::i#2 reg byte x 1.8333333333333333 +(signed word[120]) main::sintab1 +(const signed word[120]) main::sintab1#0 sintab1 = { fill( 120, 0) } +(signed word[120]) main::sintab2 +(const signed word[120]) main::sintab2#0 sintab2 = { fill( 120, 0) } +(signed word*) main::st1 +(signed word*) main::st1#1 st1 zp ZP_WORD:2 5.5 +(signed word*) main::st1#2 st1 zp ZP_WORD:2 3.3000000000000003 +(signed word*) main::st2 +(signed word*) main::st2#1 st2 zp ZP_WORD:4 7.333333333333333 +(signed word*) main::st2#2 st2 zp ZP_WORD:4 3.0 +(const string) main::str str = (string) " @" +(const string) main::str1 str1 = (string) " @" +(signed word) main::sw +(signed word) main::sw#0 sw zp ZP_WORD:8 6.6000000000000005 +(word) main::wavelength +(const word) main::wavelength#0 wavelength = (byte/signed byte/word/signed word/dword/signed dword) 120 +(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:19 101.0 +(word) mul16u::a#1 a zp ZP_WORD:19 1.3333333333333333 +(word) mul16u::a#2 a zp ZP_WORD:19 67.66666666666666 +(word) mul16u::b +(word) mul16u::b#0 b zp ZP_WORD:17 4.0 +(dword) mul16u::mb +(dword) mul16u::mb#0 mb zp ZP_DWORD:25 4.0 +(dword) mul16u::mb#1 mb zp ZP_DWORD:25 202.0 +(dword) mul16u::mb#2 mb zp ZP_DWORD:25 43.57142857142858 +(dword) mul16u::res +(dword) mul16u::res#1 res zp ZP_DWORD:21 202.0 +(dword) mul16u::res#2 res zp ZP_DWORD:21 50.83333333333333 +(dword) mul16u::res#6 res zp ZP_DWORD:21 101.0 +(dword) mul16u::return +(dword) mul16u::return#2 return zp ZP_DWORD:21 4.0 +(word()) mulu16_sel((word) mulu16_sel::v1 , (word) mulu16_sel::v2 , (byte) mulu16_sel::select) +(dword~) mulu16_sel::$0 $0 zp ZP_DWORD:21 4.0 +(dword~) mulu16_sel::$1 $1 zp ZP_DWORD:21 4.0 +(label) mulu16_sel::@2 +(label) mulu16_sel::@return +(word) mulu16_sel::return +(word) mulu16_sel::return#0 return zp ZP_WORD:11 4.0 +(word) mulu16_sel::return#1 return zp ZP_WORD:11 4.0 +(word) mulu16_sel::return#10 return zp ZP_WORD:11 4.0 +(word) mulu16_sel::return#11 return#11 zp ZP_WORD:17 4.0 +(word) mulu16_sel::return#14 return#14 zp ZP_WORD:17 4.0 +(word) mulu16_sel::return#15 return zp ZP_WORD:11 4.0 +(word) mulu16_sel::return#16 return#16 zp ZP_WORD:17 4.0 +(word) mulu16_sel::return#17 return#17 zp ZP_WORD:17 1.8333333333333335 +(word) mulu16_sel::return#18 return#18 zp ZP_WORD:17 4.0 +(word) mulu16_sel::return#19 return zp ZP_WORD:11 4.0 +(word) mulu16_sel::return#20 return#20 zp ZP_WORD:17 4.0 +(byte) mulu16_sel::select +(byte) mulu16_sel::select#10 reg byte x 0.3333333333333333 +(word) mulu16_sel::v1 +(word) mulu16_sel::v1#0 v1 zp ZP_WORD:11 2.0 +(word) mulu16_sel::v1#1 v1 zp ZP_WORD:11 2.0 +(word) mulu16_sel::v1#10 v1 zp ZP_WORD:11 22.0 +(word) mulu16_sel::v1#2 v1 zp ZP_WORD:11 4.0 +(word) mulu16_sel::v1#3 v1 zp ZP_WORD:11 2.0 +(word) mulu16_sel::v1#4 v1 zp ZP_WORD:11 2.0 +(word) mulu16_sel::v1#5 v1 zp ZP_WORD:11 2.0 +(word) mulu16_sel::v1#6 v1 zp ZP_WORD:11 2.0 +(word) mulu16_sel::v1#7 v1 zp ZP_WORD:11 4.0 +(word) mulu16_sel::v1#8 v1 zp ZP_WORD:11 2.0 +(word) mulu16_sel::v1#9 v1 zp ZP_WORD:11 2.0 +(word) mulu16_sel::v2 +(word) mulu16_sel::v2#0 v2 zp ZP_WORD:17 4.0 +(word) mulu16_sel::v2#1 v2 zp ZP_WORD:17 4.0 +(word) mulu16_sel::v2#10 v2 zp ZP_WORD:17 9.0 +(word) mulu16_sel::v2#3 v2 zp ZP_WORD:17 4.0 +(word) mulu16_sel::v2#4 v2 zp ZP_WORD:17 4.0 +(word) mulu16_sel::v2#5 v2 zp ZP_WORD:17 4.0 +(word) mulu16_sel::v2#6 v2 zp ZP_WORD:17 4.0 +(word) mulu16_sel::v2#8 v2 zp ZP_WORD:17 4.0 +(word) mulu16_sel::v2#9 v2 zp ZP_WORD:17 4.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 b zp ZP_BYTE:10 4.0 +(byte) print_byte::b#1 b zp ZP_BYTE:10 4.0 +(byte) print_byte::b#2 b zp ZP_BYTE:10 2.0 +(byte[]) print_byte::hextab +(const string) print_byte::hextab#0 hextab = (string) "0123456789abcdef" +(void()) print_char((byte) print_char::ch) +(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:2 16.5 +(byte*) print_cls::sc#2 sc zp ZP_WORD:2 16.5 +(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:6 202.0 +(byte*) print_str::str#3 str zp ZP_WORD:6 101.5 +(byte*) print_str::str#5 str zp ZP_WORD:6 2.0 +(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:8 4.0 +(signed word) print_sword::w#1 w zp ZP_WORD:8 4.25 +(signed word) print_sword::w#3 w zp ZP_WORD:8 1.3333333333333333 +(void()) print_word((word) print_word::w) +(label) print_word::@1 +(label) print_word::@return +(word) print_word::w +(word) rem16u +(word) rem16u#26 rem16u zp ZP_WORD:4 20.0 +(signed word()) sin16s((dword) sin16s::x) +(dword~) sin16s::$6 $6 zp ZP_DWORD:21 4.0 +(label) sin16s::@1 +(label) sin16s::@10 +(label) sin16s::@11 +(label) sin16s::@12 +(label) sin16s::@15 +(label) sin16s::@2 +(label) sin16s::@3 +(label) sin16s::@4 +(label) sin16s::@5 +(label) sin16s::@6 +(label) sin16s::@8 +(label) sin16s::@9 +(label) sin16s::@return +(byte) sin16s::isUpper +(byte) sin16s::isUpper#2 isUpper zp ZP_BYTE:10 0.06060606060606061 +(signed word) sin16s::return +(signed word) sin16s::return#0 return zp ZP_WORD:8 22.0 +(signed word) sin16s::return#1 return zp ZP_WORD:8 5.0 +(signed word~) sin16s::return#5 return zp ZP_WORD:8 4.0 +(signed word) sin16s::sinx +(signed word) sin16s::sinx#1 sinx zp ZP_WORD:8 4.0 +(word) sin16s::usinx +(word) sin16s::usinx#0 usinx zp ZP_WORD:8 0.3333333333333333 +(word) sin16s::usinx#1 usinx zp ZP_WORD:8 1.0 +(dword) sin16s::x +(dword) sin16s::x#0 x zp ZP_DWORD:21 8.5 +(dword) sin16s::x#1 x zp ZP_DWORD:21 4.0 +(dword) sin16s::x#2 x zp ZP_DWORD:21 4.0 +(dword) sin16s::x#4 x zp ZP_DWORD:21 5.0 +(dword) sin16s::x#6 x zp ZP_DWORD:21 6.0 +(word) sin16s::x1 +(word) sin16s::x1#0 x1 zp ZP_WORD:33 0.6363636363636365 +(word) sin16s::x2 +(word) sin16s::x2#0 x2 zp ZP_WORD:11 4.0 +(word) sin16s::x3 +(word) sin16s::x3#0 x3 zp ZP_WORD:11 1.0 +(word) sin16s::x3_6 +(word) sin16s::x3_6#0 x3_6 zp ZP_WORD:17 4.0 +(word) sin16s::x4 +(word) sin16s::x4#0 x4 zp ZP_WORD:11 4.0 +(word) sin16s::x5 +(word) sin16s::x5#0 x5 zp ZP_WORD:17 4.0 +(word) sin16s::x5_128 +(word) sin16s::x5_128#0 x5_128 zp ZP_WORD:17 4.0 +(void()) sin16s_gen((signed word*) sin16s_gen::sintab , (word) sin16s_gen::wavelength) +(signed word~) sin16s_gen::$1 $1 zp ZP_WORD:8 22.0 +(label) sin16s_gen::@1 +(label) sin16s_gen::@3 +(label) sin16s_gen::@4 +(label) sin16s_gen::@return +(word) sin16s_gen::i +(word) sin16s_gen::i#1 i zp ZP_WORD:6 16.5 +(word) sin16s_gen::i#2 i zp ZP_WORD:6 2.75 +(signed word*) sin16s_gen::sintab +(signed word*) sin16s_gen::sintab#0 sintab zp ZP_WORD:2 5.5 +(signed word*) sin16s_gen::sintab#2 sintab zp ZP_WORD:2 5.5 +(dword) sin16s_gen::step +(dword) sin16s_gen::step#0 step zp ZP_DWORD:29 1.1818181818181819 +(word) sin16s_gen::wavelength +(dword) sin16s_gen::x +(dword) sin16s_gen::x#1 x zp ZP_DWORD:13 7.333333333333333 +(dword) sin16s_gen::x#2 x zp ZP_DWORD:13 4.714285714285714 +(void()) sin16s_genb((signed word*) sin16s_genb::sintab , (word) sin16s_genb::wavelength) +(signed word~) sin16s_genb::$2 $2 zp ZP_WORD:8 22.0 +(label) sin16s_genb::@1 +(label) sin16s_genb::@3 +(label) sin16s_genb::@4 +(label) sin16s_genb::@return +(word) sin16s_genb::i +(word) sin16s_genb::i#1 i zp ZP_WORD:4 16.5 +(word) sin16s_genb::i#2 i zp ZP_WORD:4 2.75 +(signed word*) sin16s_genb::sintab +(signed word*) sin16s_genb::sintab#0 sintab zp ZP_WORD:2 5.5 +(signed word*) sin16s_genb::sintab#2 sintab zp ZP_WORD:2 5.5 +(dword) sin16s_genb::step +(dword) sin16s_genb::step#0 step zp ZP_DWORD:29 1.1818181818181819 +(word) sin16s_genb::wavelength +(dword) sin16s_genb::x +(dword) sin16s_genb::x#1 x zp ZP_DWORD:13 7.333333333333333 +(dword) sin16s_genb::x#2 x zp ZP_DWORD:13 4.714285714285714 +(signed word()) sin16sb((word) sin16sb::x) +(label) sin16sb::@1 +(label) sin16sb::@10 +(label) sin16sb::@11 +(label) sin16sb::@12 +(label) sin16sb::@15 +(label) sin16sb::@2 +(label) sin16sb::@3 +(label) sin16sb::@4 +(label) sin16sb::@5 +(label) sin16sb::@6 +(label) sin16sb::@8 +(label) sin16sb::@9 +(label) sin16sb::@return +(byte) sin16sb::isUpper +(byte) sin16sb::isUpper#2 isUpper zp ZP_BYTE:10 0.0625 +(signed word) sin16sb::return +(signed word) sin16sb::return#0 return zp ZP_WORD:8 22.0 +(signed word) sin16sb::return#1 return zp ZP_WORD:8 5.0 +(signed word~) sin16sb::return#5 return zp ZP_WORD:8 4.0 +(signed word) sin16sb::sinx +(signed word) sin16sb::sinx#1 sinx zp ZP_WORD:8 4.0 +(word) sin16sb::usinx +(word) sin16sb::usinx#0 usinx zp ZP_WORD:8 0.3333333333333333 +(word) sin16sb::usinx#1 usinx zp ZP_WORD:8 1.0 +(word) sin16sb::x +(word) sin16sb::x#0 x zp ZP_WORD:6 8.5 +(word) sin16sb::x#1 x zp ZP_WORD:6 4.0 +(word) sin16sb::x#2 x zp ZP_WORD:6 4.0 +(word) sin16sb::x#4 x zp ZP_WORD:6 5.0 +(word) sin16sb::x#6 x zp ZP_WORD:6 6.0 +(word) sin16sb::x1 +(word) sin16sb::x1#0 x1 zp ZP_WORD:6 0.6363636363636365 +(word) sin16sb::x2 +(word) sin16sb::x2#0 x2 zp ZP_WORD:11 4.0 +(word) sin16sb::x3 +(word) sin16sb::x3#0 x3 zp ZP_WORD:11 1.0 +(word) sin16sb::x3_6 +(word) sin16sb::x3_6#0 x3_6 zp ZP_WORD:17 4.0 +(word) sin16sb::x4 +(word) sin16sb::x4#0 x4 zp ZP_WORD:11 4.0 +(word) sin16sb::x5 +(word) sin16sb::x5#0 x5 zp ZP_WORD:17 4.0 +(word) sin16sb::x5_128 +(word) sin16sb::x5_128#0 x5_128 zp ZP_WORD:17 4.0 + +zp ZP_WORD:2 [ main::st1#2 main::st1#1 print_cls::sc#2 print_cls::sc#1 sin16s_genb::sintab#2 sin16s_genb::sintab#0 div32u16u::divisor#2 divr16u::divisor#6 divr16u::divisor#0 divr16u::divisor#1 sin16s_gen::sintab#2 sin16s_gen::sintab#0 ] +zp ZP_WORD:4 [ main::st2#2 main::st2#1 sin16s_genb::i#2 sin16s_genb::i#1 divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 rem16u#26 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] +reg byte x [ main::i#2 main::i#1 ] +zp ZP_WORD:6 [ print_str::str#3 print_str::str#5 print_str::str#0 sin16sb::x#6 sin16sb::x#4 sin16sb::x#0 sin16sb::x#1 sin16sb::x#2 sin16sb::x1#0 divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#1 divr16u::dividend#2 divr16u::dividend#0 sin16s_gen::i#2 sin16s_gen::i#1 ] +zp ZP_WORD:8 [ print_sword::w#3 print_sword::w#1 print_sword::w#0 main::sw#0 sin16sb::return#1 sin16sb::return#5 sin16sb::sinx#1 sin16sb::usinx#1 sin16sb::return#0 sin16s_genb::$2 sin16sb::usinx#0 divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 divr16u::return#3 div32u16u::quotient_lo#0 sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 sin16s::return#0 sin16s_gen::$1 sin16s::usinx#0 ] +zp ZP_BYTE:10 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 sin16sb::isUpper#2 sin16s::isUpper#2 ] +reg byte a [ print_char::ch#3 print_char::ch#1 print_char::ch#2 ] +zp ZP_WORD:11 [ char_cursor#33 char_cursor#46 char_cursor#43 char_cursor#51 char_cursor#48 char_cursor#49 char_cursor#2 char_cursor#12 char_cursor#1 mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 sin16sb::x3#0 sin16s::x3#0 sin16sb::x2#0 sin16sb::x4#0 sin16s::x2#0 sin16s::x4#0 mulu16_sel::return#19 mulu16_sel::return#10 mulu16_sel::return#0 mulu16_sel::return#1 mulu16_sel::return#15 div32u16u::quotient_hi#0 ] +zp ZP_DWORD:13 [ sin16s_genb::x#2 sin16s_genb::x#1 div32u16u::dividend#2 sin16s_gen::x#2 sin16s_gen::x#1 ] +zp ZP_WORD:17 [ mulu16_sel::v2#10 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 mulu16_sel::v2#8 mulu16_sel::v2#9 mulu16_sel::v2#5 mulu16_sel::v2#6 mul16u::b#0 mulu16_sel::return#18 mulu16_sel::return#17 mulu16_sel::return#20 sin16sb::x3_6#0 mulu16_sel::return#11 sin16sb::x5#0 mulu16_sel::return#14 sin16s::x3_6#0 mulu16_sel::return#16 sin16s::x5#0 sin16sb::x5_128#0 sin16s::x5_128#0 ] +reg byte x [ mulu16_sel::select#10 ] +zp ZP_WORD:19 [ mul16u::a#2 mul16u::a#1 mul16u::a#0 ] +zp ZP_DWORD:21 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 mul16u::return#2 mulu16_sel::$0 mulu16_sel::$1 sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 sin16s::$6 ] +zp ZP_DWORD:25 [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ] +reg byte x [ divr16u::i#2 divr16u::i#1 ] +reg byte a [ print_byte::$0 ] +reg byte a [ print_byte::$2 ] +zp ZP_DWORD:29 [ div32u16u::return#3 sin16s_genb::step#0 div32u16u::return#0 div32u16u::return#2 sin16s_gen::step#0 ] +reg byte a [ mul16u::$1 ] +reg byte a [ divr16u::$1 ] +reg byte a [ divr16u::$2 ] +zp ZP_WORD:33 [ sin16s::x1#0 ] + + +FINAL ASSEMBLER +Score: 23259 + +//SEG0 Basic Upstart +.pc = $801 "Basic" +:BasicUpstart(main) +.pc = $80d "Program" +//SEG1 Global Constants & labels + .const PI2_u4f28 = $6487ed51 + .const PI_u4f28 = $3243f6a9 + .const PI_HALF_u4f28 = $1921fb54 + .const PI_u4f12 = $3244 + .const PI_HALF_u4f12 = $1922 + .label SCREEN = $400 + .label char_cursor = $b + .label rem16u = 4 +//SEG2 @begin +//SEG3 [1] phi from @begin to @31 [phi:@begin->@31] +//SEG4 @31 +//SEG5 [2] call main param-assignment [ ] ( ) +//SEG6 [4] phi from @31 to main [phi:@31->main] + jsr main +//SEG7 [3] phi from @31 to @end [phi:@31->@end] +//SEG8 @end +//SEG9 main +main: { + .label wavelength = $78 + .label sw = 8 + .label st1 = 2 + .label st2 = 4 + //SEG10 [5] call sin16s_gen param-assignment [ divr16u::rem#11 ] ( main:2 [ divr16u::rem#11 ] ) + //SEG11 [166] phi from main to sin16s_gen [phi:main->sin16s_gen] + jsr sin16s_gen + //SEG12 [6] phi from main to main::@5 [phi:main->main::@5] + //SEG13 main::@5 + //SEG14 [7] call sin16s_genb param-assignment [ ] ( main:2 [ ] ) + //SEG15 [62] phi from main::@5 to sin16s_genb [phi:main::@5->sin16s_genb] + jsr sin16s_genb + //SEG16 [8] phi from main::@5 to main::@6 [phi:main::@5->main::@6] + //SEG17 main::@6 + //SEG18 [9] call print_cls param-assignment [ ] ( main:2 [ ] ) + //SEG19 [56] phi from main::@6 to print_cls [phi:main::@6->print_cls] + jsr print_cls + //SEG20 [10] phi from main::@6 to main::@1 [phi:main::@6->main::@1] + //SEG21 [10] phi (byte) main::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@6->main::@1#0] -- vbuxx=vbuc1 + ldx #0 + //SEG22 [10] phi (byte*) char_cursor#49 = (const byte*) SCREEN#0 [phi:main::@6->main::@1#1] -- pbuz1=pbuc1 + lda #SCREEN + sta char_cursor+1 + //SEG23 [10] phi (signed word*) main::st2#2 = (const signed word[120]) main::sintab2#0 [phi:main::@6->main::@1#2] -- pwsz1=pwsc1 + lda #sintab2 + sta st2+1 + //SEG24 [10] phi (signed word*) main::st1#2 = (const signed word[120]) main::sintab1#0 [phi:main::@6->main::@1#3] -- pwsz1=pwsc1 + lda #sintab1 + sta st1+1 + //SEG25 [10] phi from main::@9 to main::@1 [phi:main::@9->main::@1] + //SEG26 [10] phi (byte) main::i#2 = (byte) main::i#1 [phi:main::@9->main::@1#0] -- register_copy + //SEG27 [10] phi (byte*) char_cursor#49 = (byte*) char_cursor#2 [phi:main::@9->main::@1#1] -- register_copy + //SEG28 [10] phi (signed word*) main::st2#2 = (signed word*) main::st2#1 [phi:main::@9->main::@1#2] -- register_copy + //SEG29 [10] phi (signed word*) main::st1#2 = (signed word*) main::st1#1 [phi:main::@9->main::@1#3] -- register_copy + //SEG30 main::@1 + b1: + //SEG31 [11] (signed word) main::sw#0 ← *((signed word*) main::st1#2) - *((signed word*) main::st2#2) [ main::st1#2 main::st2#2 char_cursor#49 main::i#2 main::sw#0 ] ( main:2 [ main::st1#2 main::st2#2 char_cursor#49 main::i#2 main::sw#0 ] ) -- vwsz1=_deref_pwsz2_minus__deref_pwsz3 + ldy #0 + sec + lda (st1),y + sbc (st2),y + sta sw + iny + lda (st1),y + sbc (st2),y + sta sw+1 + //SEG32 [12] if((signed word) main::sw#0<(byte/signed byte/word/signed word/dword/signed dword) 0) goto main::@2 [ main::st1#2 main::st2#2 char_cursor#49 main::i#2 main::sw#0 ] ( main:2 [ main::st1#2 main::st2#2 char_cursor#49 main::i#2 main::sw#0 ] ) -- vwsz1_lt_0_then_la1 + bmi b2 + //SEG33 [13] phi from main::@1 to main::@3 [phi:main::@1->main::@3] + //SEG34 main::@3 + //SEG35 [14] call print_str param-assignment [ main::st1#2 main::st2#2 main::i#2 char_cursor#2 main::sw#0 ] ( main:2 [ main::st1#2 main::st2#2 main::i#2 char_cursor#2 main::sw#0 ] ) + //SEG36 [25] phi from main::@3 to print_str [phi:main::@3->print_str] + //SEG37 [25] phi (byte*) char_cursor#51 = (byte*) char_cursor#49 [phi:main::@3->print_str#0] -- register_copy + //SEG38 [25] phi (byte*) print_str::str#5 = (const string) main::str1 [phi:main::@3->print_str#1] -- pbuz1=pbuc1 + lda #str1 + sta print_str.str+1 + jsr print_str + //SEG39 [15] phi from main::@1 main::@3 to main::@2 [phi:main::@1/main::@3->main::@2] + //SEG40 [15] phi (byte*) char_cursor#48 = (byte*) char_cursor#49 [phi:main::@1/main::@3->main::@2#0] -- register_copy + //SEG41 main::@2 + b2: + //SEG42 [16] (signed word) print_sword::w#1 ← (signed word) main::sw#0 [ main::st1#2 main::st2#2 main::i#2 char_cursor#48 print_sword::w#1 ] ( main:2 [ main::st1#2 main::st2#2 main::i#2 char_cursor#48 print_sword::w#1 ] ) + // (signed word) print_sword::w#1 = (signed word) main::sw#0 // register copy zp ZP_WORD:8 + //SEG43 [17] call print_sword param-assignment [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 ] ( main:2 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 ] ) + jsr print_sword + //SEG44 [18] phi from main::@2 to main::@8 [phi:main::@2->main::@8] + //SEG45 main::@8 + //SEG46 [19] call print_str param-assignment [ main::st1#2 main::st2#2 main::i#2 char_cursor#2 ] ( main:2 [ main::st1#2 main::st2#2 main::i#2 char_cursor#2 ] ) + //SEG47 [25] phi from main::@8 to print_str [phi:main::@8->print_str] + //SEG48 [25] phi (byte*) char_cursor#51 = (byte*) char_cursor#12 [phi:main::@8->print_str#0] -- register_copy + //SEG49 [25] phi (byte*) print_str::str#5 = (const string) main::str [phi:main::@8->print_str#1] -- pbuz1=pbuc1 + lda #str + sta print_str.str+1 + jsr print_str + //SEG50 main::@9 + //SEG51 [20] (signed word*) main::st1#1 ← (signed word*) main::st1#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ main::st2#2 main::i#2 main::st1#1 char_cursor#2 ] ( main:2 [ main::st2#2 main::i#2 main::st1#1 char_cursor#2 ] ) -- pwsz1=pwsz1_plus_vbuc1 + clc + lda st1 + adc #<2 + sta st1 + lda st1+1 + adc #>2 + sta st1+1 + //SEG52 [21] (signed word*) main::st2#1 ← (signed word*) main::st2#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ main::i#2 main::st1#1 main::st2#1 char_cursor#2 ] ( main:2 [ main::i#2 main::st1#1 main::st2#1 char_cursor#2 ] ) -- pwsz1=pwsz1_plus_vbuc1 + clc + lda st2 + adc #<2 + sta st2 + lda st2+1 + adc #>2 + sta st2+1 + //SEG53 [22] (byte) main::i#1 ← ++ (byte) main::i#2 [ main::st1#1 main::st2#1 char_cursor#2 main::i#1 ] ( main:2 [ main::st1#1 main::st2#1 char_cursor#2 main::i#1 ] ) -- vbuxx=_inc_vbuxx + inx + //SEG54 [23] if((byte) main::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 120) goto main::@1 [ main::st1#1 main::st2#1 char_cursor#2 main::i#1 ] ( main:2 [ main::st1#1 main::st2#1 char_cursor#2 main::i#1 ] ) -- vbuxx_neq_vbuc1_then_la1 + cpx #$78 + bne b1 + //SEG55 main::@return + //SEG56 [24] return [ ] ( main:2 [ ] ) + rts + str: .text " @" + str1: .text " @" + sintab1: .fill $f0, 0 + sintab2: .fill $f0, 0 +} +//SEG57 print_str +print_str: { + .label str = 6 + //SEG58 [26] phi from print_str print_str::@2 to print_str::@1 [phi:print_str/print_str::@2->print_str::@1] + //SEG59 [26] phi (byte*) char_cursor#2 = (byte*) char_cursor#51 [phi:print_str/print_str::@2->print_str::@1#0] -- register_copy + //SEG60 [26] phi (byte*) print_str::str#3 = (byte*) print_str::str#5 [phi:print_str/print_str::@2->print_str::@1#1] -- register_copy + //SEG61 print_str::@1 + b1: + //SEG62 [27] if(*((byte*) print_str::str#3)!=(byte) '@') goto print_str::@2 [ char_cursor#2 print_str::str#3 ] ( main:2::print_str:14 [ main::st1#2 main::st2#2 main::i#2 main::sw#0 char_cursor#2 print_str::str#3 ] main:2::print_str:19 [ main::st1#2 main::st2#2 main::i#2 char_cursor#2 print_str::str#3 ] ) -- _deref_pbuz1_neq_vbuc1_then_la1 + ldy #0 + lda (str),y + cmp #'@' + bne b2 + //SEG63 print_str::@return + //SEG64 [28] return [ char_cursor#2 ] ( main:2::print_str:14 [ main::st1#2 main::st2#2 main::i#2 main::sw#0 char_cursor#2 ] main:2::print_str:19 [ main::st1#2 main::st2#2 main::i#2 char_cursor#2 ] ) + rts + //SEG65 print_str::@2 + b2: + //SEG66 [29] *((byte*) char_cursor#2) ← *((byte*) print_str::str#3) [ char_cursor#2 print_str::str#3 ] ( main:2::print_str:14 [ main::st1#2 main::st2#2 main::i#2 main::sw#0 char_cursor#2 print_str::str#3 ] main:2::print_str:19 [ main::st1#2 main::st2#2 main::i#2 char_cursor#2 print_str::str#3 ] ) -- _deref_pbuz1=_deref_pbuz2 + ldy #0 + lda (str),y + sta (char_cursor),y + //SEG67 [30] (byte*) char_cursor#1 ← ++ (byte*) char_cursor#2 [ print_str::str#3 char_cursor#1 ] ( main:2::print_str:14 [ main::st1#2 main::st2#2 main::i#2 main::sw#0 print_str::str#3 char_cursor#1 ] main:2::print_str:19 [ main::st1#2 main::st2#2 main::i#2 print_str::str#3 char_cursor#1 ] ) -- pbuz1=_inc_pbuz1 + inc char_cursor + bne !+ + inc char_cursor+1 + !: + //SEG68 [31] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#3 [ print_str::str#0 char_cursor#1 ] ( main:2::print_str:14 [ main::st1#2 main::st2#2 main::i#2 main::sw#0 print_str::str#0 char_cursor#1 ] main:2::print_str:19 [ main::st1#2 main::st2#2 main::i#2 print_str::str#0 char_cursor#1 ] ) -- pbuz1=_inc_pbuz1 + inc str + bne !+ + inc str+1 + !: + jmp b1 +} +//SEG69 print_sword +print_sword: { + .label w = 8 + //SEG70 [32] if((signed word) print_sword::w#1>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto print_sword::@1 [ char_cursor#48 print_sword::w#1 ] ( main:2::print_sword:17 [ main::st1#2 main::st2#2 main::i#2 char_cursor#48 print_sword::w#1 ] ) -- vwsz1_ge_0_then_la1 + lda w+1 + bpl b1 + //SEG71 [33] phi from print_sword to print_sword::@2 [phi:print_sword->print_sword::@2] + //SEG72 print_sword::@2 + //SEG73 [34] call print_char param-assignment [ print_sword::w#1 char_cursor#12 ] ( main:2::print_sword:17 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#1 char_cursor#12 ] ) + //SEG74 [52] phi from print_sword::@2 to print_char [phi:print_sword::@2->print_char] + //SEG75 [52] phi (byte*) char_cursor#33 = (byte*) char_cursor#48 [phi:print_sword::@2->print_char#0] -- register_copy + //SEG76 [52] phi (byte) print_char::ch#3 = (byte) '-' [phi:print_sword::@2->print_char#1] -- vbuaa=vbuc1 + lda #'-' + jsr print_char + //SEG77 print_sword::@4 + //SEG78 [35] (signed word) print_sword::w#0 ← - (signed word) print_sword::w#1 [ char_cursor#12 print_sword::w#0 ] ( main:2::print_sword:17 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 print_sword::w#0 ] ) -- vwsz1=_neg_vwsz1 + sec + lda w + eor #$ff + adc #0 + sta w + lda w+1 + eor #$ff + adc #0 + sta w+1 + //SEG79 [36] phi from print_sword print_sword::@4 to print_sword::@1 [phi:print_sword/print_sword::@4->print_sword::@1] + //SEG80 [36] phi (byte*) char_cursor#43 = (byte*) char_cursor#48 [phi:print_sword/print_sword::@4->print_sword::@1#0] -- register_copy + //SEG81 [36] phi (signed word) print_sword::w#3 = (signed word) print_sword::w#1 [phi:print_sword/print_sword::@4->print_sword::@1#1] -- register_copy + //SEG82 print_sword::@1 + b1: + //SEG83 [37] call print_word param-assignment [ char_cursor#12 ] ( main:2::print_sword:17 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 ] ) + jsr print_word + //SEG84 print_sword::@return + //SEG85 [38] return [ char_cursor#12 ] ( main:2::print_sword:17 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 ] ) + rts +} +//SEG86 print_word +print_word: { + //SEG87 [39] (byte) print_byte::b#0 ← > (word)(signed word) print_sword::w#3 [ print_sword::w#3 char_cursor#43 print_byte::b#0 ] ( main:2::print_sword:17::print_word:37 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 char_cursor#43 print_byte::b#0 ] ) -- vbuz1=_hi_vwuz2 + lda print_sword.w+1 + sta print_byte.b + //SEG88 [40] call print_byte param-assignment [ char_cursor#12 print_sword::w#3 ] ( main:2::print_sword:17::print_word:37 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 print_sword::w#3 ] ) + //SEG89 [44] phi from print_word to print_byte [phi:print_word->print_byte] + //SEG90 [44] phi (byte*) char_cursor#46 = (byte*) char_cursor#43 [phi:print_word->print_byte#0] -- register_copy + //SEG91 [44] phi (byte) print_byte::b#2 = (byte) print_byte::b#0 [phi:print_word->print_byte#1] -- register_copy + jsr print_byte + //SEG92 print_word::@1 + //SEG93 [41] (byte) print_byte::b#1 ← < (word)(signed word) print_sword::w#3 [ char_cursor#12 print_byte::b#1 ] ( main:2::print_sword:17::print_word:37 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 print_byte::b#1 ] ) -- vbuz1=_lo_vwuz2 + lda print_sword.w + sta print_byte.b + //SEG94 [42] call print_byte param-assignment [ char_cursor#12 ] ( main:2::print_sword:17::print_word:37 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 ] ) + //SEG95 [44] phi from print_word::@1 to print_byte [phi:print_word::@1->print_byte] + //SEG96 [44] phi (byte*) char_cursor#46 = (byte*) char_cursor#12 [phi:print_word::@1->print_byte#0] -- register_copy + //SEG97 [44] phi (byte) print_byte::b#2 = (byte) print_byte::b#1 [phi:print_word::@1->print_byte#1] -- register_copy + jsr print_byte + //SEG98 print_word::@return + //SEG99 [43] return [ char_cursor#12 ] ( main:2::print_sword:17::print_word:37 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 ] ) + rts +} +//SEG100 print_byte +print_byte: { + .label b = $a + //SEG101 [45] (byte~) print_byte::$0 ← (byte) print_byte::b#2 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ print_byte::b#2 char_cursor#46 print_byte::$0 ] ( main:2::print_sword:17::print_word:37::print_byte:40 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 print_byte::b#2 char_cursor#46 print_byte::$0 ] main:2::print_sword:17::print_word:37::print_byte:42 [ main::st1#2 main::st2#2 main::i#2 print_byte::b#2 char_cursor#46 print_byte::$0 ] ) -- vbuaa=vbuz1_ror_4 + lda b + lsr + lsr + lsr + lsr + //SEG102 [46] (byte) print_char::ch#1 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$0) [ print_byte::b#2 char_cursor#46 print_char::ch#1 ] ( main:2::print_sword:17::print_word:37::print_byte:40 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 print_byte::b#2 char_cursor#46 print_char::ch#1 ] main:2::print_sword:17::print_word:37::print_byte:42 [ main::st1#2 main::st2#2 main::i#2 print_byte::b#2 char_cursor#46 print_char::ch#1 ] ) -- vbuaa=pbuc1_derefidx_vbuaa + tay + lda hextab,y + //SEG103 [47] call print_char param-assignment [ char_cursor#12 print_byte::b#2 ] ( main:2::print_sword:17::print_word:37::print_byte:40 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 char_cursor#12 print_byte::b#2 ] main:2::print_sword:17::print_word:37::print_byte:42 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 print_byte::b#2 ] ) + //SEG104 [52] phi from print_byte to print_char [phi:print_byte->print_char] + //SEG105 [52] phi (byte*) char_cursor#33 = (byte*) char_cursor#46 [phi:print_byte->print_char#0] -- register_copy + //SEG106 [52] phi (byte) print_char::ch#3 = (byte) print_char::ch#1 [phi:print_byte->print_char#1] -- register_copy + jsr print_char + //SEG107 print_byte::@1 + //SEG108 [48] (byte~) print_byte::$2 ← (byte) print_byte::b#2 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ char_cursor#12 print_byte::$2 ] ( main:2::print_sword:17::print_word:37::print_byte:40 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 char_cursor#12 print_byte::$2 ] main:2::print_sword:17::print_word:37::print_byte:42 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 print_byte::$2 ] ) -- vbuaa=vbuz1_band_vbuc1 + lda #$f + and b + //SEG109 [49] (byte) print_char::ch#2 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$2) [ char_cursor#12 print_char::ch#2 ] ( main:2::print_sword:17::print_word:37::print_byte:40 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 char_cursor#12 print_char::ch#2 ] main:2::print_sword:17::print_word:37::print_byte:42 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 print_char::ch#2 ] ) -- vbuaa=pbuc1_derefidx_vbuaa + tay + lda hextab,y + //SEG110 [50] call print_char param-assignment [ char_cursor#12 ] ( main:2::print_sword:17::print_word:37::print_byte:40 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 char_cursor#12 ] main:2::print_sword:17::print_word:37::print_byte:42 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 ] ) + //SEG111 [52] phi from print_byte::@1 to print_char [phi:print_byte::@1->print_char] + //SEG112 [52] phi (byte*) char_cursor#33 = (byte*) char_cursor#12 [phi:print_byte::@1->print_char#0] -- register_copy + //SEG113 [52] phi (byte) print_char::ch#3 = (byte) print_char::ch#2 [phi:print_byte::@1->print_char#1] -- register_copy + jsr print_char + //SEG114 print_byte::@return + //SEG115 [51] return [ char_cursor#12 ] ( main:2::print_sword:17::print_word:37::print_byte:40 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 char_cursor#12 ] main:2::print_sword:17::print_word:37::print_byte:42 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 ] ) + rts + hextab: .text "0123456789abcdef" +} +//SEG116 print_char +print_char: { + //SEG117 [53] *((byte*) char_cursor#33) ← (byte) print_char::ch#3 [ char_cursor#33 ] ( main:2::print_sword:17::print_char:34 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#1 char_cursor#33 ] main:2::print_sword:17::print_word:37::print_byte:40::print_char:47 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 print_byte::b#2 char_cursor#33 ] main:2::print_sword:17::print_word:37::print_byte:42::print_char:47 [ main::st1#2 main::st2#2 main::i#2 print_byte::b#2 char_cursor#33 ] main:2::print_sword:17::print_word:37::print_byte:40::print_char:50 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 char_cursor#33 ] main:2::print_sword:17::print_word:37::print_byte:42::print_char:50 [ main::st1#2 main::st2#2 main::i#2 char_cursor#33 ] ) -- _deref_pbuz1=vbuaa + ldy #0 + sta (char_cursor),y + //SEG118 [54] (byte*) char_cursor#12 ← ++ (byte*) char_cursor#33 [ char_cursor#12 ] ( main:2::print_sword:17::print_char:34 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#1 char_cursor#12 ] main:2::print_sword:17::print_word:37::print_byte:40::print_char:47 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 print_byte::b#2 char_cursor#12 ] main:2::print_sword:17::print_word:37::print_byte:42::print_char:47 [ main::st1#2 main::st2#2 main::i#2 print_byte::b#2 char_cursor#12 ] main:2::print_sword:17::print_word:37::print_byte:40::print_char:50 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 char_cursor#12 ] main:2::print_sword:17::print_word:37::print_byte:42::print_char:50 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 ] ) -- pbuz1=_inc_pbuz1 + inc char_cursor + bne !+ + inc char_cursor+1 + !: + //SEG119 print_char::@return + //SEG120 [55] return [ char_cursor#12 ] ( main:2::print_sword:17::print_char:34 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#1 char_cursor#12 ] main:2::print_sword:17::print_word:37::print_byte:40::print_char:47 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 print_byte::b#2 char_cursor#12 ] main:2::print_sword:17::print_word:37::print_byte:42::print_char:47 [ main::st1#2 main::st2#2 main::i#2 print_byte::b#2 char_cursor#12 ] main:2::print_sword:17::print_word:37::print_byte:40::print_char:50 [ main::st1#2 main::st2#2 main::i#2 print_sword::w#3 char_cursor#12 ] main:2::print_sword:17::print_word:37::print_byte:42::print_char:50 [ main::st1#2 main::st2#2 main::i#2 char_cursor#12 ] ) + rts +} +//SEG121 print_cls +print_cls: { + .label sc = 2 + //SEG122 [57] phi from print_cls to print_cls::@1 [phi:print_cls->print_cls::@1] + //SEG123 [57] phi (byte*) print_cls::sc#2 = (const byte*) SCREEN#0 [phi:print_cls->print_cls::@1#0] -- pbuz1=pbuc1 + lda #SCREEN + sta sc+1 + //SEG124 [57] phi from print_cls::@1 to print_cls::@1 [phi:print_cls::@1->print_cls::@1] + //SEG125 [57] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#1 [phi:print_cls::@1->print_cls::@1#0] -- register_copy + //SEG126 print_cls::@1 + b1: + //SEG127 [58] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:9 [ print_cls::sc#2 ] ) -- _deref_pbuz1=vbuc1 + lda #' ' + ldy #0 + sta (sc),y + //SEG128 [59] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::print_cls:9 [ print_cls::sc#1 ] ) -- pbuz1=_inc_pbuz1 + inc sc + bne !+ + inc sc+1 + !: + //SEG129 [60] 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 ] ) -- pbuz1_neq_pbuc1_then_la1 + lda sc+1 + cmp #>SCREEN+$3e8 + bne b1 + lda sc + cmp #div32u16u] + //SEG135 [135] phi (word) rem16u#26 = (word) divr16u::rem#11 [phi:sin16s_genb->div32u16u#0] -- register_copy + //SEG136 [135] phi (word) div32u16u::divisor#2 = (const word) main::wavelength#0 [phi:sin16s_genb->div32u16u#1] -- vwuz1=vwuc1 + lda #main.wavelength + sta div32u16u.divisor+1 + //SEG137 [135] phi (dword) div32u16u::dividend#2 = (const dword) PI2_u4f28#0 [phi:sin16s_genb->div32u16u#2] -- vduz1=vduc1 + lda #PI2_u4f28 + sta div32u16u.dividend+1 + lda #>$10 + sta div32u16u.dividend+2 + lda #>PI2_u4f28>>$10 + sta div32u16u.dividend+3 + jsr div32u16u + //SEG138 [64] (dword) div32u16u::return#3 ← (dword) div32u16u::return#0 [ div32u16u::return#3 ] ( main:2::sin16s_genb:7 [ div32u16u::return#3 ] ) + // (dword) div32u16u::return#3 = (dword) div32u16u::return#0 // register copy zp ZP_DWORD:29 + //SEG139 sin16s_genb::@3 + //SEG140 [65] (dword) sin16s_genb::step#0 ← (dword) div32u16u::return#3 [ sin16s_genb::step#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 ] ) + // (dword) sin16s_genb::step#0 = (dword) div32u16u::return#3 // register copy zp ZP_DWORD:29 + //SEG141 [66] phi from sin16s_genb::@3 to sin16s_genb::@1 [phi:sin16s_genb::@3->sin16s_genb::@1] + //SEG142 [66] phi (word) sin16s_genb::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s_genb::@3->sin16s_genb::@1#0] -- vwuz1=vbuc1 + lda #<0 + sta i + sta i+1 + //SEG143 [66] phi (signed word*) sin16s_genb::sintab#2 = (const signed word[120]) main::sintab2#0 [phi:sin16s_genb::@3->sin16s_genb::@1#1] -- pwsz1=pwsc1 + lda #main.sintab2 + sta sintab+1 + //SEG144 [66] phi (dword) sin16s_genb::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s_genb::@3->sin16s_genb::@1#2] -- vduz1=vbuc1 + lda #0 + sta x + sta x+1 + sta x+2 + sta x+3 + //SEG145 [66] phi from sin16s_genb::@4 to sin16s_genb::@1 [phi:sin16s_genb::@4->sin16s_genb::@1] + //SEG146 [66] phi (word) sin16s_genb::i#2 = (word) sin16s_genb::i#1 [phi:sin16s_genb::@4->sin16s_genb::@1#0] -- register_copy + //SEG147 [66] phi (signed word*) sin16s_genb::sintab#2 = (signed word*) sin16s_genb::sintab#0 [phi:sin16s_genb::@4->sin16s_genb::@1#1] -- register_copy + //SEG148 [66] phi (dword) sin16s_genb::x#2 = (dword) sin16s_genb::x#1 [phi:sin16s_genb::@4->sin16s_genb::@1#2] -- register_copy + //SEG149 sin16s_genb::@1 + b1: + //SEG150 [67] (word) sin16sb::x#0 ← > (dword) sin16s_genb::x#2 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#0 ] ) -- vwuz1=_hi_vduz2 + lda x+2 + sta sin16sb.x + lda x+3 + sta sin16sb.x+1 + //SEG151 [68] call sin16sb param-assignment [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#1 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#1 ] ) + jsr sin16sb + //SEG152 [69] (signed word) sin16sb::return#0 ← (signed word) sin16sb::return#1 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#0 ] ) + // (signed word) sin16sb::return#0 = (signed word) sin16sb::return#1 // register copy zp ZP_WORD:8 + //SEG153 sin16s_genb::@4 + //SEG154 [70] (signed word~) sin16s_genb::$2 ← (signed word) sin16sb::return#0 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16s_genb::$2 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16s_genb::$2 ] ) + // (signed word~) sin16s_genb::$2 = (signed word) sin16sb::return#0 // register copy zp ZP_WORD:8 + //SEG155 [71] *((signed word*) sin16s_genb::sintab#2) ← (signed word~) sin16s_genb::$2 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 ] ) -- _deref_pwsz1=vwsz2 + ldy #0 + lda _2 + sta (sintab),y + iny + lda _2+1 + sta (sintab),y + //SEG156 [72] (signed word*) sin16s_genb::sintab#0 ← (signed word*) sin16s_genb::sintab#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::i#2 sin16s_genb::sintab#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::i#2 sin16s_genb::sintab#0 ] ) -- pwsz1=pwsz1_plus_vbuc1 + clc + lda sintab + adc #<2 + sta sintab + lda sintab+1 + adc #>2 + sta sintab+1 + //SEG157 [73] (dword) sin16s_genb::x#1 ← (dword) sin16s_genb::x#2 + (dword) sin16s_genb::step#0 [ sin16s_genb::step#0 sin16s_genb::i#2 sin16s_genb::x#1 sin16s_genb::sintab#0 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::i#2 sin16s_genb::x#1 sin16s_genb::sintab#0 ] ) -- vduz1=vduz1_plus_vduz2 + 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 + //SEG158 [74] (word) sin16s_genb::i#1 ← ++ (word) sin16s_genb::i#2 [ sin16s_genb::step#0 sin16s_genb::x#1 sin16s_genb::sintab#0 sin16s_genb::i#1 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#1 sin16s_genb::sintab#0 sin16s_genb::i#1 ] ) -- vwuz1=_inc_vwuz1 + inc i + bne !+ + inc i+1 + !: + //SEG159 [75] if((word) sin16s_genb::i#1<(const word) main::wavelength#0) goto sin16s_genb::@1 [ sin16s_genb::step#0 sin16s_genb::x#1 sin16s_genb::sintab#0 sin16s_genb::i#1 ] ( main:2::sin16s_genb:7 [ sin16s_genb::step#0 sin16s_genb::x#1 sin16s_genb::sintab#0 sin16s_genb::i#1 ] ) -- vwuz1_lt_vwuc1_then_la1 + lda i+1 + cmp #>main.wavelength + bcc b1 + bne !+ + lda i + cmp #PI_u4f12 + bcc b4 + bne !+ + lda x + cmp #PI_u4f12 + sta x+1 + //SEG166 [79] phi from sin16sb::@4 to sin16sb::@1 [phi:sin16sb::@4->sin16sb::@1] + //SEG167 [79] phi (byte) sin16sb::isUpper#2 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin16sb::@4->sin16sb::@1#0] -- vbuz1=vbuc1 + lda #1 + sta isUpper + //SEG168 [79] phi (word) sin16sb::x#4 = (word) sin16sb::x#1 [phi:sin16sb::@4->sin16sb::@1#1] -- register_copy + jmp b1 + //SEG169 [79] phi from sin16sb to sin16sb::@1 [phi:sin16sb->sin16sb::@1] + b4: + //SEG170 [79] phi (byte) sin16sb::isUpper#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16sb->sin16sb::@1#0] -- vbuz1=vbuc1 + lda #0 + sta isUpper + //SEG171 [79] phi (word) sin16sb::x#4 = (word) sin16sb::x#0 [phi:sin16sb->sin16sb::@1#1] -- register_copy + //SEG172 sin16sb::@1 + b1: + //SEG173 [80] if((word) sin16sb::x#4<(const word) PI_HALF_u4f12#0) goto sin16sb::@2 [ sin16sb::x#4 sin16sb::isUpper#2 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::x#4 sin16sb::isUpper#2 ] ) -- vwuz1_lt_vwuc1_then_la1 + lda x+1 + cmp #>PI_HALF_u4f12 + bcc b2 + bne !+ + lda x + cmp #PI_u4f12 + sbc x+1 + sta x+1 + //SEG176 [82] phi from sin16sb::@1 sin16sb::@5 to sin16sb::@2 [phi:sin16sb::@1/sin16sb::@5->sin16sb::@2] + //SEG177 [82] phi (word) sin16sb::x#6 = (word) sin16sb::x#4 [phi:sin16sb::@1/sin16sb::@5->sin16sb::@2#0] -- register_copy + //SEG178 sin16sb::@2 + b2: + //SEG179 [83] (word) sin16sb::x1#0 ← (word) sin16sb::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin16sb::isUpper#2 sin16sb::x1#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 ] ) -- vwuz1=vwuz1_rol_3 + asl x1 + rol x1+1 + asl x1 + rol x1+1 + asl x1 + rol x1+1 + //SEG180 [84] (word) mulu16_sel::v1#5 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#5 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#5 ] ) -- vwuz1=vwuz2 + lda x1 + sta mulu16_sel.v1 + lda x1+1 + sta mulu16_sel.v1+1 + //SEG181 [85] (word) mulu16_sel::v2#5 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#5 mulu16_sel::v2#5 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#5 mulu16_sel::v2#5 ] ) -- vwuz1=vwuz2 + lda x1 + sta mulu16_sel.v2 + lda x1+1 + sta mulu16_sel.v2+1 + //SEG182 [86] call mulu16_sel param-assignment [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] ) + //SEG183 [116] phi from sin16sb::@2 to mulu16_sel [phi:sin16sb::@2->mulu16_sel] + //SEG184 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16sb::@2->mulu16_sel#0] -- vbuxx=vbuc1 + ldx #0 + //SEG185 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#5 [phi:sin16sb::@2->mulu16_sel#1] -- register_copy + //SEG186 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#5 [phi:sin16sb::@2->mulu16_sel#2] -- register_copy + jsr mulu16_sel + //SEG187 [87] (word) mulu16_sel::return#18 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#18 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#18 ] ) + // (word) mulu16_sel::return#18 = (word) mulu16_sel::return#17 // register copy zp ZP_WORD:17 + //SEG188 sin16sb::@8 + //SEG189 [88] (word) sin16sb::x2#0 ← (word) mulu16_sel::return#18 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x2#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x2#0 ] ) -- vwuz1=vwuz2 + lda mulu16_sel.return_18 + sta x2 + lda mulu16_sel.return_18+1 + sta x2+1 + //SEG190 [89] (word) mulu16_sel::v1#6 ← (word) sin16sb::x2#0 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#6 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#6 ] ) + // (word) mulu16_sel::v1#6 = (word) sin16sb::x2#0 // register copy zp ZP_WORD:11 + //SEG191 [90] (word) mulu16_sel::v2#6 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#6 mulu16_sel::v2#6 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v1#6 mulu16_sel::v2#6 ] ) -- vwuz1=vwuz2 + lda x1 + sta mulu16_sel.v2 + lda x1+1 + sta mulu16_sel.v2+1 + //SEG192 [91] call mulu16_sel param-assignment [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] ) + //SEG193 [116] phi from sin16sb::@8 to mulu16_sel [phi:sin16sb::@8->mulu16_sel] + //SEG194 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin16sb::@8->mulu16_sel#0] -- vbuxx=vbuc1 + ldx #1 + //SEG195 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#6 [phi:sin16sb::@8->mulu16_sel#1] -- register_copy + //SEG196 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#6 [phi:sin16sb::@8->mulu16_sel#2] -- register_copy + jsr mulu16_sel + //SEG197 [92] (word) mulu16_sel::return#19 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#19 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#19 ] ) -- vwuz1=vwuz2 + lda mulu16_sel.return_17 + sta mulu16_sel.return + lda mulu16_sel.return_17+1 + sta mulu16_sel.return+1 + //SEG198 sin16sb::@9 + //SEG199 [93] (word) sin16sb::x3#0 ← (word) mulu16_sel::return#19 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 ] ) + // (word) sin16sb::x3#0 = (word) mulu16_sel::return#19 // register copy zp ZP_WORD:11 + //SEG200 [94] (word) mulu16_sel::v1#7 ← (word) sin16sb::x3#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v1#7 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v1#7 ] ) + // (word) mulu16_sel::v1#7 = (word) sin16sb::x3#0 // register copy zp ZP_WORD:11 + //SEG201 [95] call mulu16_sel param-assignment [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 sin16sb::x3#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 sin16sb::x3#0 ] ) + //SEG202 [116] phi from sin16sb::@9 to mulu16_sel [phi:sin16sb::@9->mulu16_sel] + //SEG203 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin16sb::@9->mulu16_sel#0] -- vbuxx=vbuc1 + ldx #1 + //SEG204 [116] phi (word) mulu16_sel::v2#10 = (dword/signed dword) 65536/(byte/signed byte/word/signed word/dword/signed dword) 6 [phi:sin16sb::@9->mulu16_sel#1] -- vwuz1=vwuc1 + lda #<$10000/6 + sta mulu16_sel.v2 + lda #>$10000/6 + sta mulu16_sel.v2+1 + //SEG205 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#7 [phi:sin16sb::@9->mulu16_sel#2] -- register_copy + jsr mulu16_sel + //SEG206 [96] (word) mulu16_sel::return#20 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#20 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#20 ] ) + // (word) mulu16_sel::return#20 = (word) mulu16_sel::return#17 // register copy zp ZP_WORD:17 + //SEG207 sin16sb::@10 + //SEG208 [97] (word) sin16sb::x3_6#0 ← (word) mulu16_sel::return#20 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 sin16sb::x3_6#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 sin16sb::x3_6#0 ] ) + // (word) sin16sb::x3_6#0 = (word) mulu16_sel::return#20 // register copy zp ZP_WORD:17 + //SEG209 [98] (word) sin16sb::usinx#0 ← (word) sin16sb::x1#0 - (word) sin16sb::x3_6#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 sin16sb::usinx#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 sin16sb::usinx#0 ] ) -- vwuz1=vwuz2_minus_vwuz3 + lda x1 + sec + sbc x3_6 + sta usinx + lda x1+1 + sbc x3_6+1 + sta usinx+1 + //SEG210 [99] (word) mulu16_sel::v1#8 ← (word) sin16sb::x3#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#8 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#8 ] ) + // (word) mulu16_sel::v1#8 = (word) sin16sb::x3#0 // register copy zp ZP_WORD:11 + //SEG211 [100] (word) mulu16_sel::v2#8 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#8 mulu16_sel::v2#8 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#8 mulu16_sel::v2#8 ] ) -- vwuz1=vwuz2 + lda x1 + sta mulu16_sel.v2 + lda x1+1 + sta mulu16_sel.v2+1 + //SEG212 [101] call mulu16_sel param-assignment [ sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 sin16sb::usinx#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 sin16sb::usinx#0 ] ) + //SEG213 [116] phi from sin16sb::@10 to mulu16_sel [phi:sin16sb::@10->mulu16_sel] + //SEG214 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16sb::@10->mulu16_sel#0] -- vbuxx=vbuc1 + ldx #0 + //SEG215 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#8 [phi:sin16sb::@10->mulu16_sel#1] -- register_copy + //SEG216 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#8 [phi:sin16sb::@10->mulu16_sel#2] -- register_copy + jsr mulu16_sel + //SEG217 [102] (word) mulu16_sel::return#10 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#10 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#10 ] ) -- vwuz1=vwuz2 + lda mulu16_sel.return_17 + sta mulu16_sel.return + lda mulu16_sel.return_17+1 + sta mulu16_sel.return+1 + //SEG218 sin16sb::@11 + //SEG219 [103] (word) sin16sb::x4#0 ← (word) mulu16_sel::return#10 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 sin16sb::x4#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 sin16sb::x4#0 ] ) + // (word) sin16sb::x4#0 = (word) mulu16_sel::return#10 // register copy zp ZP_WORD:11 + //SEG220 [104] (word) mulu16_sel::v1#9 ← (word) sin16sb::x4#0 [ sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#9 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v1#9 ] ) + // (word) mulu16_sel::v1#9 = (word) sin16sb::x4#0 // register copy zp ZP_WORD:11 + //SEG221 [105] (word) mulu16_sel::v2#9 ← (word) sin16sb::x1#0 [ sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v1#9 mulu16_sel::v2#9 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v1#9 mulu16_sel::v2#9 ] ) -- vwuz1=vwuz2 + lda x1 + sta mulu16_sel.v2 + lda x1+1 + sta mulu16_sel.v2+1 + //SEG222 [106] call mulu16_sel param-assignment [ sin16sb::isUpper#2 mulu16_sel::return#17 sin16sb::usinx#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 mulu16_sel::return#17 sin16sb::usinx#0 ] ) + //SEG223 [116] phi from sin16sb::@11 to mulu16_sel [phi:sin16sb::@11->mulu16_sel] + //SEG224 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16sb::@11->mulu16_sel#0] -- vbuxx=vbuc1 + ldx #0 + //SEG225 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#9 [phi:sin16sb::@11->mulu16_sel#1] -- register_copy + //SEG226 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#9 [phi:sin16sb::@11->mulu16_sel#2] -- register_copy + jsr mulu16_sel + //SEG227 [107] (word) mulu16_sel::return#11 ← (word) mulu16_sel::return#17 [ sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#11 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#11 ] ) + // (word) mulu16_sel::return#11 = (word) mulu16_sel::return#17 // register copy zp ZP_WORD:17 + //SEG228 sin16sb::@12 + //SEG229 [108] (word) sin16sb::x5#0 ← (word) mulu16_sel::return#11 [ sin16sb::isUpper#2 sin16sb::usinx#0 sin16sb::x5#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 sin16sb::x5#0 ] ) + // (word) sin16sb::x5#0 = (word) mulu16_sel::return#11 // register copy zp ZP_WORD:17 + //SEG230 [109] (word) sin16sb::x5_128#0 ← (word) sin16sb::x5#0 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ sin16sb::isUpper#2 sin16sb::usinx#0 sin16sb::x5_128#0 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 sin16sb::x5_128#0 ] ) -- vwuz1=vwuz1_ror_4 + ldy #4 + !: + lsr x5_128+1 + ror x5_128 + dey + bne !- + //SEG231 [110] (word) sin16sb::usinx#1 ← (word) sin16sb::usinx#0 + (word) sin16sb::x5_128#0 [ sin16sb::isUpper#2 sin16sb::usinx#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#1 ] ) -- vwuz1=vwuz1_plus_vwuz2 + lda usinx + clc + adc x5_128 + sta usinx + lda usinx+1 + adc x5_128+1 + sta usinx+1 + //SEG232 [111] if((byte) sin16sb::isUpper#2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin16sb::@15 [ sin16sb::usinx#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::usinx#1 ] ) -- vbuz1_eq_0_then_la1 + lda isUpper + beq b3 + //SEG233 sin16sb::@6 + //SEG234 [112] (signed word) sin16sb::sinx#1 ← - (signed word)(word) sin16sb::usinx#1 [ sin16sb::sinx#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::sinx#1 ] ) -- vwsz1=_neg_vwsz1 + sec + lda sinx + eor #$ff + adc #0 + sta sinx + lda sinx+1 + eor #$ff + adc #0 + sta sinx+1 + //SEG235 [113] phi from sin16sb::@15 sin16sb::@6 to sin16sb::@3 [phi:sin16sb::@15/sin16sb::@6->sin16sb::@3] + //SEG236 [113] phi (signed word) sin16sb::return#1 = (signed word~) sin16sb::return#5 [phi:sin16sb::@15/sin16sb::@6->sin16sb::@3#0] -- register_copy + //SEG237 sin16sb::@3 + b3: + //SEG238 sin16sb::@return + //SEG239 [114] return [ sin16sb::return#1 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#1 ] ) + rts + //SEG240 sin16sb::@15 + //SEG241 [115] (signed word~) sin16sb::return#5 ← (signed word)(word) sin16sb::usinx#1 [ sin16sb::return#5 ] ( main:2::sin16s_genb:7::sin16sb:68 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::return#5 ] ) + // (signed word~) sin16sb::return#5 = (signed word)(word) sin16sb::usinx#1 // register copy zp ZP_WORD:8 +} +//SEG242 mulu16_sel +mulu16_sel: { + .label _0 = $15 + .label _1 = $15 + .label v1 = $b + .label v2 = $11 + .label return = $b + .label return_11 = $11 + .label return_14 = $11 + .label return_16 = $11 + .label return_17 = $11 + .label return_18 = $11 + .label return_20 = $11 + //SEG243 [117] (word) mul16u::a#1 ← (word) mulu16_sel::v1#10 [ mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::v2#10 mulu16_sel::select#10 mul16u::a#1 ] ) -- vwuz1=vwuz2 + lda v1 + sta mul16u.a + lda v1+1 + sta mul16u.a+1 + //SEG244 [118] (word) mul16u::b#0 ← (word) mulu16_sel::v2#10 [ mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::b#0 ] ) + // (word) mul16u::b#0 = (word) mulu16_sel::v2#10 // register copy zp ZP_WORD:17 + //SEG245 [119] call mul16u param-assignment [ mulu16_sel::select#10 mul16u::res#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] ) + jsr mul16u + //SEG246 [120] (dword) mul16u::return#2 ← (dword) mul16u::res#2 [ mulu16_sel::select#10 mul16u::return#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::return#2 ] ) + // (dword) mul16u::return#2 = (dword) mul16u::res#2 // register copy zp ZP_DWORD:21 + //SEG247 mulu16_sel::@2 + //SEG248 [121] (dword~) mulu16_sel::$0 ← (dword) mul16u::return#2 [ mulu16_sel::select#10 mulu16_sel::$0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mulu16_sel::$0 ] ) + // (dword~) mulu16_sel::$0 = (dword) mul16u::return#2 // register copy zp ZP_DWORD:21 + //SEG249 [122] (dword~) mulu16_sel::$1 ← (dword~) mulu16_sel::$0 << (byte) mulu16_sel::select#10 [ mulu16_sel::$1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::$1 ] ) -- vduz1=vduz1_rol_vbuxx + cpx #0 + beq !e+ + !: + asl _1 + rol _1+1 + rol _1+2 + rol _1+3 + dex + bne !- + !e: + //SEG250 [123] (word) mulu16_sel::return#17 ← > (dword~) mulu16_sel::$1 [ mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#17 ] ) -- vwuz1=_hi_vduz2 + lda _1+2 + sta return_17 + lda _1+3 + sta return_17+1 + //SEG251 mulu16_sel::@return + //SEG252 [124] return [ mulu16_sel::return#17 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#17 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#17 ] ) + rts +} +//SEG253 mul16u +mul16u: { + .label mb = $19 + .label a = $13 + .label res = $15 + .label b = $11 + .label return = $15 + //SEG254 [125] (dword) mul16u::mb#0 ← ((dword)) (word) mul16u::b#0 [ mul16u::a#1 mul16u::mb#0 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#1 mul16u::mb#0 ] ) -- vduz1=_dword_vwuz2 + lda b + sta mb + lda b+1 + sta mb+1 + lda #0 + sta mb+2 + sta mb+3 + //SEG255 [126] phi from mul16u to mul16u::@1 [phi:mul16u->mul16u::@1] + //SEG256 [126] phi (dword) mul16u::mb#2 = (dword) mul16u::mb#0 [phi:mul16u->mul16u::@1#0] -- register_copy + //SEG257 [126] phi (dword) mul16u::res#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mul16u->mul16u::@1#1] -- vduz1=vbuc1 + sta res + sta res+1 + sta res+2 + sta res+3 + //SEG258 [126] phi (word) mul16u::a#2 = (word) mul16u::a#1 [phi:mul16u->mul16u::@1#2] -- register_copy + //SEG259 mul16u::@1 + b1: + //SEG260 [127] if((word) mul16u::a#2!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul16u::@2 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ) -- vwuz1_neq_0_then_la1 + lda a + bne b2 + lda a+1 + bne b2 + //SEG261 mul16u::@return + //SEG262 [128] return [ mul16u::res#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 ] ) + rts + //SEG263 mul16u::@2 + b2: + //SEG264 [129] (byte~) mul16u::$1 ← (word) mul16u::a#2 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] ) -- vbuaa=vwuz1_band_vbuc1 + lda a + and #1 + //SEG265 [130] if((byte~) mul16u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul16u::@4 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ) -- vbuaa_eq_0_then_la1 + cmp #0 + beq b4 + //SEG266 mul16u::@7 + //SEG267 [131] (dword) mul16u::res#1 ← (dword) mul16u::res#2 + (dword) mul16u::mb#2 [ mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] ) -- vduz1=vduz1_plus_vduz2 + 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 + //SEG268 [132] phi from mul16u::@2 mul16u::@7 to mul16u::@4 [phi:mul16u::@2/mul16u::@7->mul16u::@4] + //SEG269 [132] phi (dword) mul16u::res#6 = (dword) mul16u::res#2 [phi:mul16u::@2/mul16u::@7->mul16u::@4#0] -- register_copy + //SEG270 mul16u::@4 + b4: + //SEG271 [133] (word) mul16u::a#0 ← (word) mul16u::a#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] ) -- vwuz1=vwuz1_ror_1 + clc + ror a+1 + ror a + //SEG272 [134] (dword) mul16u::mb#1 ← (dword) mul16u::mb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] ( main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:86::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:91::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:95::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::x3#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:101::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::x1#0 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_genb:7::sin16sb:68::mulu16_sel:106::mul16u:119 [ sin16s_genb::step#0 sin16s_genb::x#2 sin16s_genb::sintab#2 sin16s_genb::i#2 sin16sb::isUpper#2 sin16sb::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:191::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:196::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:200::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:206::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:172::mulu16_sel:211::mul16u:119 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] ) -- vduz1=vduz1_rol_1 + asl mb + rol mb+1 + rol mb+2 + rol mb+3 + //SEG273 [126] phi from mul16u::@4 to mul16u::@1 [phi:mul16u::@4->mul16u::@1] + //SEG274 [126] phi (dword) mul16u::mb#2 = (dword) mul16u::mb#1 [phi:mul16u::@4->mul16u::@1#0] -- register_copy + //SEG275 [126] phi (dword) mul16u::res#2 = (dword) mul16u::res#6 [phi:mul16u::@4->mul16u::@1#1] -- register_copy + //SEG276 [126] phi (word) mul16u::a#2 = (word) mul16u::a#0 [phi:mul16u::@4->mul16u::@1#2] -- register_copy + jmp b1 +} +//SEG277 div32u16u +div32u16u: { + .label quotient_hi = $b + .label quotient_lo = 8 + .label return = $1d + .label dividend = $d + .label divisor = 2 + //SEG278 [136] (word) divr16u::dividend#1 ← > (dword) div32u16u::dividend#2 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 ] ) -- vwuz1=_hi_vduz2 + lda dividend+2 + sta divr16u.dividend + lda dividend+3 + sta divr16u.dividend+1 + //SEG279 [137] (word) divr16u::divisor#0 ← (word) div32u16u::divisor#2 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 divr16u::divisor#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 divr16u::divisor#0 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::dividend#1 divr16u::divisor#0 ] ) + // (word) divr16u::divisor#0 = (word) div32u16u::divisor#2 // register copy zp ZP_WORD:2 + //SEG280 [138] call divr16u param-assignment [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#0 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#0 ] ) + //SEG281 [149] phi from div32u16u to divr16u [phi:div32u16u->divr16u] + //SEG282 [149] phi (word) divr16u::divisor#6 = (word) divr16u::divisor#0 [phi:div32u16u->divr16u#0] -- register_copy + //SEG283 [149] phi (word) divr16u::dividend#5 = (word) divr16u::dividend#1 [phi:div32u16u->divr16u#1] -- register_copy + //SEG284 [149] phi (word) divr16u::rem#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:div32u16u->divr16u#2] -- vwuz1=vbuc1 + lda #<0 + sta divr16u.rem + sta divr16u.rem+1 + jsr divr16u + //SEG285 [139] (word) divr16u::return#2 ← (word) divr16u::return#0 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#2 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#2 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#2 ] ) + // (word) divr16u::return#2 = (word) divr16u::return#0 // register copy zp ZP_WORD:8 + //SEG286 div32u16u::@2 + //SEG287 [140] (word) div32u16u::quotient_hi#0 ← (word) divr16u::return#2 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 div32u16u::quotient_hi#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 div32u16u::quotient_hi#0 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 div32u16u::quotient_hi#0 ] ) -- vwuz1=vwuz2 + lda divr16u.return + sta quotient_hi + lda divr16u.return+1 + sta quotient_hi+1 + //SEG288 [141] (word) divr16u::dividend#2 ← < (dword) div32u16u::dividend#2 [ div32u16u::divisor#2 divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::dividend#2 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::divisor#2 divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::dividend#2 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::divisor#2 divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::dividend#2 ] ) -- vwuz1=_lo_vduz2 + lda dividend + sta divr16u.dividend + lda dividend+1 + sta divr16u.dividend+1 + //SEG289 [142] (word) divr16u::divisor#1 ← (word) div32u16u::divisor#2 [ divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 ] ( main:2::sin16s_genb:7::div32u16u:63 [ divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 ] main:2::sin16s_gen:5::div32u16u:167 [ divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 ] ) + // (word) divr16u::divisor#1 = (word) div32u16u::divisor#2 // register copy zp ZP_WORD:2 + //SEG290 [143] (word) divr16u::rem#4 ← (word) divr16u::rem#11 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 divr16u::rem#4 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 divr16u::rem#4 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::quotient_hi#0 divr16u::dividend#2 divr16u::divisor#1 divr16u::rem#4 ] ) + // (word) divr16u::rem#4 = (word) divr16u::rem#11 // register copy zp ZP_WORD:4 + //SEG291 [144] call divr16u param-assignment [ divr16u::rem#11 divr16u::return#0 div32u16u::quotient_hi#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ divr16u::rem#11 divr16u::return#0 div32u16u::quotient_hi#0 ] main:2::sin16s_gen:5::div32u16u:167 [ divr16u::rem#11 divr16u::return#0 div32u16u::quotient_hi#0 ] ) + //SEG292 [149] phi from div32u16u::@2 to divr16u [phi:div32u16u::@2->divr16u] + //SEG293 [149] phi (word) divr16u::divisor#6 = (word) divr16u::divisor#1 [phi:div32u16u::@2->divr16u#0] -- register_copy + //SEG294 [149] phi (word) divr16u::dividend#5 = (word) divr16u::dividend#2 [phi:div32u16u::@2->divr16u#1] -- register_copy + //SEG295 [149] phi (word) divr16u::rem#10 = (word) divr16u::rem#4 [phi:div32u16u::@2->divr16u#2] -- register_copy + jsr divr16u + //SEG296 [145] (word) divr16u::return#3 ← (word) divr16u::return#0 [ divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::return#3 ] ( main:2::sin16s_genb:7::div32u16u:63 [ divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::return#3 ] main:2::sin16s_gen:5::div32u16u:167 [ divr16u::rem#11 div32u16u::quotient_hi#0 divr16u::return#3 ] ) + // (word) divr16u::return#3 = (word) divr16u::return#0 // register copy zp ZP_WORD:8 + //SEG297 div32u16u::@3 + //SEG298 [146] (word) div32u16u::quotient_lo#0 ← (word) divr16u::return#3 [ divr16u::rem#11 div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ( main:2::sin16s_genb:7::div32u16u:63 [ divr16u::rem#11 div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] main:2::sin16s_gen:5::div32u16u:167 [ divr16u::rem#11 div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ) + // (word) div32u16u::quotient_lo#0 = (word) divr16u::return#3 // register copy zp ZP_WORD:8 + //SEG299 [147] (dword) div32u16u::return#0 ← (word) div32u16u::quotient_hi#0 dw= (word) div32u16u::quotient_lo#0 [ div32u16u::return#0 divr16u::rem#11 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::return#0 divr16u::rem#11 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::return#0 divr16u::rem#11 ] ) -- vduz1=vwuz2_dword_vwuz3 + lda quotient_hi + sta return+2 + lda quotient_hi+1 + sta return+3 + lda quotient_lo + sta return + lda quotient_lo+1 + sta return+1 + //SEG300 div32u16u::@return + //SEG301 [148] return [ div32u16u::return#0 divr16u::rem#11 ] ( main:2::sin16s_genb:7::div32u16u:63 [ div32u16u::return#0 divr16u::rem#11 ] main:2::sin16s_gen:5::div32u16u:167 [ div32u16u::return#0 divr16u::rem#11 ] ) + rts +} +//SEG302 divr16u +divr16u: { + .label rem = 4 + .label dividend = 6 + .label quotient = 8 + .label return = 8 + .label divisor = 2 + //SEG303 [150] phi from divr16u to divr16u::@1 [phi:divr16u->divr16u::@1] + //SEG304 [150] phi (byte) divr16u::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#0] -- vbuxx=vbuc1 + ldx #0 + //SEG305 [150] phi (word) divr16u::quotient#3 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#1] -- vwuz1=vbuc1 + txa + sta quotient + sta quotient+1 + //SEG306 [150] phi (word) divr16u::dividend#3 = (word) divr16u::dividend#5 [phi:divr16u->divr16u::@1#2] -- register_copy + //SEG307 [150] phi (word) divr16u::rem#5 = (word) divr16u::rem#10 [phi:divr16u->divr16u::@1#3] -- register_copy + //SEG308 [150] phi from divr16u::@3 to divr16u::@1 [phi:divr16u::@3->divr16u::@1] + //SEG309 [150] phi (byte) divr16u::i#2 = (byte) divr16u::i#1 [phi:divr16u::@3->divr16u::@1#0] -- register_copy + //SEG310 [150] phi (word) divr16u::quotient#3 = (word) divr16u::return#0 [phi:divr16u::@3->divr16u::@1#1] -- register_copy + //SEG311 [150] phi (word) divr16u::dividend#3 = (word) divr16u::dividend#0 [phi:divr16u::@3->divr16u::@1#2] -- register_copy + //SEG312 [150] phi (word) divr16u::rem#5 = (word) divr16u::rem#11 [phi:divr16u::@3->divr16u::@1#3] -- register_copy + //SEG313 divr16u::@1 + b1: + //SEG314 [151] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vwuz1=vwuz1_rol_1 + asl rem + rol rem+1 + //SEG315 [152] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) -- vbuaa=_hi_vwuz1 + lda dividend+1 + //SEG316 [153] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) -- vbuaa=vbuaa_band_vbuc1 + and #$80 + //SEG317 [154] 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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vbuaa_eq_0_then_la1 + cmp #0 + beq b2 + //SEG318 divr16u::@4 + //SEG319 [155] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) -- vwuz1=vwuz1_bor_vbuc1 + lda #1 + ora rem + sta rem + //SEG320 [156] phi from divr16u::@1 divr16u::@4 to divr16u::@2 [phi:divr16u::@1/divr16u::@4->divr16u::@2] + //SEG321 [156] phi (word) divr16u::rem#6 = (word) divr16u::rem#0 [phi:divr16u::@1/divr16u::@4->divr16u::@2#0] -- register_copy + //SEG322 divr16u::@2 + b2: + //SEG323 [157] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ) -- vwuz1=vwuz1_rol_1 + asl dividend + rol dividend+1 + //SEG324 [158] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) -- vwuz1=vwuz1_rol_1 + asl quotient + rol quotient+1 + //SEG325 [159] 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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ) -- vwuz1_lt_vwuz2_then_la1 + lda rem+1 + cmp divisor+1 + bcc b3 + bne !+ + lda rem + cmp divisor + bcc b3 + !: + //SEG326 divr16u::@5 + //SEG327 [160] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] ) -- vwuz1=_inc_vwuz1 + inc quotient + bne !+ + inc quotient+1 + !: + //SEG328 [161] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) -- vwuz1=vwuz1_minus_vwuz2 + lda rem + sec + sbc divisor + sta rem + lda rem+1 + sbc divisor+1 + sta rem+1 + //SEG329 [162] phi from divr16u::@2 divr16u::@5 to divr16u::@3 [phi:divr16u::@2/divr16u::@5->divr16u::@3] + //SEG330 [162] phi (word) divr16u::return#0 = (word) divr16u::quotient#1 [phi:divr16u::@2/divr16u::@5->divr16u::@3#0] -- register_copy + //SEG331 [162] phi (word) divr16u::rem#11 = (word) divr16u::rem#6 [phi:divr16u::@2/divr16u::@5->divr16u::@3#1] -- register_copy + //SEG332 divr16u::@3 + b3: + //SEG333 [163] (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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuxx=_inc_vbuxx + inx + //SEG334 [164] 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::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#11 divr16u::return#0 divr16u::divisor#6 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuxx_neq_vbuc1_then_la1 + cpx #$10 + bne b1 + //SEG335 divr16u::@return + //SEG336 [165] return [ divr16u::rem#11 divr16u::return#0 ] ( main:2::sin16s_genb:7::div32u16u:63::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#0 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:138 [ div32u16u::dividend#2 div32u16u::divisor#2 divr16u::rem#11 divr16u::return#0 ] main:2::sin16s_genb:7::div32u16u:63::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#11 divr16u::return#0 ] main:2::sin16s_gen:5::div32u16u:167::divr16u:144 [ div32u16u::quotient_hi#0 divr16u::rem#11 divr16u::return#0 ] ) + rts +} +//SEG337 sin16s_gen +sin16s_gen: { + .label _1 = 8 + .label step = $1d + .label sintab = 2 + .label x = $d + .label i = 6 + //SEG338 [167] call div32u16u param-assignment [ div32u16u::return#0 divr16u::rem#11 ] ( main:2::sin16s_gen:5 [ div32u16u::return#0 divr16u::rem#11 ] ) + //SEG339 [135] phi from sin16s_gen to div32u16u [phi:sin16s_gen->div32u16u] + //SEG340 [135] phi (word) rem16u#26 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s_gen->div32u16u#0] -- vwuz1=vbuc1 + lda #<0 + sta rem16u + sta rem16u+1 + //SEG341 [135] phi (word) div32u16u::divisor#2 = (const word) main::wavelength#0 [phi:sin16s_gen->div32u16u#1] -- vwuz1=vwuc1 + lda #main.wavelength + sta div32u16u.divisor+1 + //SEG342 [135] phi (dword) div32u16u::dividend#2 = (const dword) PI2_u4f28#0 [phi:sin16s_gen->div32u16u#2] -- vduz1=vduc1 + lda #PI2_u4f28 + sta div32u16u.dividend+1 + lda #>$10 + sta div32u16u.dividend+2 + lda #>PI2_u4f28>>$10 + sta div32u16u.dividend+3 + jsr div32u16u + //SEG343 [168] (dword) div32u16u::return#2 ← (dword) div32u16u::return#0 [ divr16u::rem#11 div32u16u::return#2 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 div32u16u::return#2 ] ) + // (dword) div32u16u::return#2 = (dword) div32u16u::return#0 // register copy zp ZP_DWORD:29 + //SEG344 sin16s_gen::@3 + //SEG345 [169] (dword) sin16s_gen::step#0 ← (dword) div32u16u::return#2 [ divr16u::rem#11 sin16s_gen::step#0 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 ] ) + // (dword) sin16s_gen::step#0 = (dword) div32u16u::return#2 // register copy zp ZP_DWORD:29 + //SEG346 [170] phi from sin16s_gen::@3 to sin16s_gen::@1 [phi:sin16s_gen::@3->sin16s_gen::@1] + //SEG347 [170] phi (word) sin16s_gen::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s_gen::@3->sin16s_gen::@1#0] -- vwuz1=vbuc1 + lda #<0 + sta i + sta i+1 + //SEG348 [170] phi (signed word*) sin16s_gen::sintab#2 = (const signed word[120]) main::sintab1#0 [phi:sin16s_gen::@3->sin16s_gen::@1#1] -- pwsz1=pwsc1 + lda #main.sintab1 + sta sintab+1 + //SEG349 [170] phi (dword) sin16s_gen::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s_gen::@3->sin16s_gen::@1#2] -- vduz1=vbuc1 + lda #0 + sta x + sta x+1 + sta x+2 + sta x+3 + //SEG350 [170] phi from sin16s_gen::@4 to sin16s_gen::@1 [phi:sin16s_gen::@4->sin16s_gen::@1] + //SEG351 [170] phi (word) sin16s_gen::i#2 = (word) sin16s_gen::i#1 [phi:sin16s_gen::@4->sin16s_gen::@1#0] -- register_copy + //SEG352 [170] phi (signed word*) sin16s_gen::sintab#2 = (signed word*) sin16s_gen::sintab#0 [phi:sin16s_gen::@4->sin16s_gen::@1#1] -- register_copy + //SEG353 [170] phi (dword) sin16s_gen::x#2 = (dword) sin16s_gen::x#1 [phi:sin16s_gen::@4->sin16s_gen::@1#2] -- register_copy + //SEG354 sin16s_gen::@1 + b1: + //SEG355 [171] (dword) sin16s::x#0 ← (dword) sin16s_gen::x#2 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ) -- vduz1=vduz2 + lda x + sta sin16s.x + lda x+1 + sta sin16s.x+1 + lda x+2 + sta sin16s.x+2 + lda x+3 + sta sin16s.x+3 + //SEG356 [172] call sin16s param-assignment [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#1 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#1 ] ) + jsr sin16s + //SEG357 [173] (signed word) sin16s::return#0 ← (signed word) sin16s::return#1 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#0 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#0 ] ) + // (signed word) sin16s::return#0 = (signed word) sin16s::return#1 // register copy zp ZP_WORD:8 + //SEG358 sin16s_gen::@4 + //SEG359 [174] (signed word~) sin16s_gen::$1 ← (signed word) sin16s::return#0 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s_gen::$1 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s_gen::$1 ] ) + // (signed word~) sin16s_gen::$1 = (signed word) sin16s::return#0 // register copy zp ZP_WORD:8 + //SEG360 [175] *((signed word*) sin16s_gen::sintab#2) ← (signed word~) sin16s_gen::$1 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ) -- _deref_pwsz1=vwsz2 + ldy #0 + lda _1 + sta (sintab),y + iny + lda _1+1 + sta (sintab),y + //SEG361 [176] (signed word*) sin16s_gen::sintab#0 ← (signed word*) sin16s_gen::sintab#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::i#2 sin16s_gen::sintab#0 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::i#2 sin16s_gen::sintab#0 ] ) -- pwsz1=pwsz1_plus_vbuc1 + clc + lda sintab + adc #<2 + sta sintab + lda sintab+1 + adc #>2 + sta sintab+1 + //SEG362 [177] (dword) sin16s_gen::x#1 ← (dword) sin16s_gen::x#2 + (dword) sin16s_gen::step#0 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::i#2 sin16s_gen::x#1 sin16s_gen::sintab#0 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::i#2 sin16s_gen::x#1 sin16s_gen::sintab#0 ] ) -- vduz1=vduz1_plus_vduz2 + 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 + //SEG363 [178] (word) sin16s_gen::i#1 ← ++ (word) sin16s_gen::i#2 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ) -- vwuz1=_inc_vwuz1 + inc i + bne !+ + inc i+1 + !: + //SEG364 [179] if((word) sin16s_gen::i#1<(const word) main::wavelength#0) goto sin16s_gen::@1 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ( main:2::sin16s_gen:5 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#0 sin16s_gen::i#1 ] ) -- vwuz1_lt_vwuc1_then_la1 + lda i+1 + cmp #>main.wavelength + bcc b1 + bne !+ + lda i + cmp #PI_u4f28>>$10 + bcc b4 + bne !+ + lda x+2 + cmp #>$10 + bcc b4 + bne !+ + lda x+1 + cmp #>PI_u4f28 + bcc b4 + bne !+ + lda x + cmp #PI_u4f28 + sta x+1 + lda x+2 + sbc #>$10 + sta x+2 + lda x+3 + sbc #>PI_u4f28>>$10 + sta x+3 + //SEG371 [183] phi from sin16s::@4 to sin16s::@1 [phi:sin16s::@4->sin16s::@1] + //SEG372 [183] phi (byte) sin16s::isUpper#2 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin16s::@4->sin16s::@1#0] -- vbuz1=vbuc1 + lda #1 + sta isUpper + //SEG373 [183] phi (dword) sin16s::x#4 = (dword) sin16s::x#1 [phi:sin16s::@4->sin16s::@1#1] -- register_copy + jmp b1 + //SEG374 [183] phi from sin16s to sin16s::@1 [phi:sin16s->sin16s::@1] + b4: + //SEG375 [183] phi (byte) sin16s::isUpper#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s->sin16s::@1#0] -- vbuz1=vbuc1 + lda #0 + sta isUpper + //SEG376 [183] phi (dword) sin16s::x#4 = (dword) sin16s::x#0 [phi:sin16s->sin16s::@1#1] -- register_copy + //SEG377 sin16s::@1 + b1: + //SEG378 [184] if((dword) sin16s::x#4<(const dword) PI_HALF_u4f28#0) goto sin16s::@2 [ sin16s::x#4 sin16s::isUpper#2 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#4 sin16s::isUpper#2 ] ) -- vduz1_lt_vduc1_then_la1 + lda x+3 + cmp #>PI_HALF_u4f28>>$10 + bcc b2 + bne !+ + lda x+2 + cmp #>$10 + bcc b2 + bne !+ + lda x+1 + cmp #>PI_HALF_u4f28 + bcc b2 + bne !+ + lda x + cmp #PI_u4f28 + sbc x+1 + sta x+1 + lda #>$10 + sbc x+2 + sta x+2 + lda #>PI_u4f28>>$10 + sbc x+3 + sta x+3 + //SEG381 [186] phi from sin16s::@1 sin16s::@5 to sin16s::@2 [phi:sin16s::@1/sin16s::@5->sin16s::@2] + //SEG382 [186] phi (dword) sin16s::x#6 = (dword) sin16s::x#4 [phi:sin16s::@1/sin16s::@5->sin16s::@2#0] -- register_copy + //SEG383 sin16s::@2 + b2: + //SEG384 [187] (dword~) sin16s::$6 ← (dword) sin16s::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin16s::isUpper#2 sin16s::$6 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::$6 ] ) -- vduz1=vduz1_rol_3 + ldy #3 + !: + asl _6 + rol _6+1 + rol _6+2 + rol _6+3 + dey + bne !- + //SEG385 [188] (word) sin16s::x1#0 ← > (dword~) sin16s::$6 [ sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 ] ) -- vwuz1=_hi_vduz2 + lda _6+2 + sta x1 + lda _6+3 + sta x1+1 + //SEG386 [189] (word) mulu16_sel::v1#0 ← (word) sin16s::x1#0 [ mulu16_sel::v1#0 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#0 sin16s::isUpper#2 sin16s::x1#0 ] ) -- vwuz1=vwuz2 + lda x1 + sta mulu16_sel.v1 + lda x1+1 + sta mulu16_sel.v1+1 + //SEG387 [190] (word) mulu16_sel::v2#0 ← (word) sin16s::x1#0 [ mulu16_sel::v1#0 mulu16_sel::v2#0 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#0 mulu16_sel::v2#0 sin16s::isUpper#2 sin16s::x1#0 ] ) -- vwuz1=vwuz2 + lda x1 + sta mulu16_sel.v2 + lda x1+1 + sta mulu16_sel.v2+1 + //SEG388 [191] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ) + //SEG389 [116] phi from sin16s::@2 to mulu16_sel [phi:sin16s::@2->mulu16_sel] + //SEG390 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s::@2->mulu16_sel#0] -- vbuxx=vbuc1 + ldx #0 + //SEG391 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#0 [phi:sin16s::@2->mulu16_sel#1] -- register_copy + //SEG392 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#0 [phi:sin16s::@2->mulu16_sel#2] -- register_copy + jsr mulu16_sel + //SEG393 [192] (word) mulu16_sel::return#0 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#0 ] ) -- vwuz1=vwuz2 + lda mulu16_sel.return_17 + sta mulu16_sel.return + lda mulu16_sel.return_17+1 + sta mulu16_sel.return+1 + //SEG394 sin16s::@8 + //SEG395 [193] (word) sin16s::x2#0 ← (word) mulu16_sel::return#0 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x2#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x2#0 ] ) + // (word) sin16s::x2#0 = (word) mulu16_sel::return#0 // register copy zp ZP_WORD:11 + //SEG396 [194] (word) mulu16_sel::v1#1 ← (word) sin16s::x2#0 [ mulu16_sel::v1#1 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#1 sin16s::isUpper#2 sin16s::x1#0 ] ) + // (word) mulu16_sel::v1#1 = (word) sin16s::x2#0 // register copy zp ZP_WORD:11 + //SEG397 [195] (word) mulu16_sel::v2#1 ← (word) sin16s::x1#0 [ mulu16_sel::v1#1 mulu16_sel::v2#1 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#1 mulu16_sel::v2#1 sin16s::isUpper#2 sin16s::x1#0 ] ) -- vwuz1=vwuz2 + lda x1 + sta mulu16_sel.v2 + lda x1+1 + sta mulu16_sel.v2+1 + //SEG398 [196] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 ] ) + //SEG399 [116] phi from sin16s::@8 to mulu16_sel [phi:sin16s::@8->mulu16_sel] + //SEG400 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin16s::@8->mulu16_sel#0] -- vbuxx=vbuc1 + ldx #1 + //SEG401 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#1 [phi:sin16s::@8->mulu16_sel#1] -- register_copy + //SEG402 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#1 [phi:sin16s::@8->mulu16_sel#2] -- register_copy + jsr mulu16_sel + //SEG403 [197] (word) mulu16_sel::return#1 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#1 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#1 ] ) -- vwuz1=vwuz2 + lda mulu16_sel.return_17 + sta mulu16_sel.return + lda mulu16_sel.return_17+1 + sta mulu16_sel.return+1 + //SEG404 sin16s::@9 + //SEG405 [198] (word) sin16s::x3#0 ← (word) mulu16_sel::return#1 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) + // (word) sin16s::x3#0 = (word) mulu16_sel::return#1 // register copy zp ZP_WORD:11 + //SEG406 [199] (word) mulu16_sel::v1#2 ← (word) sin16s::x3#0 [ mulu16_sel::v1#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) + // (word) mulu16_sel::v1#2 = (word) sin16s::x3#0 // register copy zp ZP_WORD:11 + //SEG407 [200] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ) + //SEG408 [116] phi from sin16s::@9 to mulu16_sel [phi:sin16s::@9->mulu16_sel] + //SEG409 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin16s::@9->mulu16_sel#0] -- vbuxx=vbuc1 + ldx #1 + //SEG410 [116] phi (word) mulu16_sel::v2#10 = (dword/signed dword) 65536/(byte/signed byte/word/signed word/dword/signed dword) 6 [phi:sin16s::@9->mulu16_sel#1] -- vwuz1=vwuc1 + lda #<$10000/6 + sta mulu16_sel.v2 + lda #>$10000/6 + sta mulu16_sel.v2+1 + //SEG411 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#2 [phi:sin16s::@9->mulu16_sel#2] -- register_copy + jsr mulu16_sel + //SEG412 [201] (word) mulu16_sel::return#14 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#14 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#14 ] ) + // (word) mulu16_sel::return#14 = (word) mulu16_sel::return#17 // register copy zp ZP_WORD:17 + //SEG413 sin16s::@10 + //SEG414 [202] (word) sin16s::x3_6#0 ← (word) mulu16_sel::return#14 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::x3_6#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::x3_6#0 ] ) + // (word) sin16s::x3_6#0 = (word) mulu16_sel::return#14 // register copy zp ZP_WORD:17 + //SEG415 [203] (word) sin16s::usinx#0 ← (word) sin16s::x1#0 - (word) sin16s::x3_6#0 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::usinx#0 ] ) -- vwuz1=vwuz2_minus_vwuz3 + lda x1 + sec + sbc x3_6 + sta usinx + lda x1+1 + sbc x3_6+1 + sta usinx+1 + //SEG416 [204] (word) mulu16_sel::v1#3 ← (word) sin16s::x3#0 [ mulu16_sel::v1#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) + // (word) mulu16_sel::v1#3 = (word) sin16s::x3#0 // register copy zp ZP_WORD:11 + //SEG417 [205] (word) mulu16_sel::v2#3 ← (word) sin16s::x1#0 [ mulu16_sel::v1#3 mulu16_sel::v2#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#3 mulu16_sel::v2#3 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) -- vwuz1=vwuz2 + lda x1 + sta mulu16_sel.v2 + lda x1+1 + sta mulu16_sel.v2+1 + //SEG418 [206] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) + //SEG419 [116] phi from sin16s::@10 to mulu16_sel [phi:sin16s::@10->mulu16_sel] + //SEG420 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s::@10->mulu16_sel#0] -- vbuxx=vbuc1 + ldx #0 + //SEG421 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#3 [phi:sin16s::@10->mulu16_sel#1] -- register_copy + //SEG422 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#3 [phi:sin16s::@10->mulu16_sel#2] -- register_copy + jsr mulu16_sel + //SEG423 [207] (word) mulu16_sel::return#15 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#15 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#15 ] ) -- vwuz1=vwuz2 + lda mulu16_sel.return_17 + sta mulu16_sel.return + lda mulu16_sel.return_17+1 + sta mulu16_sel.return+1 + //SEG424 sin16s::@11 + //SEG425 [208] (word) sin16s::x4#0 ← (word) mulu16_sel::return#15 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 sin16s::x4#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 sin16s::x4#0 ] ) + // (word) sin16s::x4#0 = (word) mulu16_sel::return#15 // register copy zp ZP_WORD:11 + //SEG426 [209] (word) mulu16_sel::v1#4 ← (word) sin16s::x4#0 [ mulu16_sel::v1#4 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#4 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 ] ) + // (word) mulu16_sel::v1#4 = (word) sin16s::x4#0 // register copy zp ZP_WORD:11 + //SEG427 [210] (word) mulu16_sel::v2#4 ← (word) sin16s::x1#0 [ mulu16_sel::v1#4 mulu16_sel::v2#4 sin16s::isUpper#2 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::v1#4 mulu16_sel::v2#4 sin16s::isUpper#2 sin16s::usinx#0 ] ) -- vwuz1=vwuz2 + lda x1 + sta mulu16_sel.v2 + lda x1+1 + sta mulu16_sel.v2+1 + //SEG428 [211] call mulu16_sel param-assignment [ mulu16_sel::return#17 sin16s::isUpper#2 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 mulu16_sel::return#17 sin16s::isUpper#2 sin16s::usinx#0 ] ) + //SEG429 [116] phi from sin16s::@11 to mulu16_sel [phi:sin16s::@11->mulu16_sel] + //SEG430 [116] phi (byte) mulu16_sel::select#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin16s::@11->mulu16_sel#0] -- vbuxx=vbuc1 + ldx #0 + //SEG431 [116] phi (word) mulu16_sel::v2#10 = (word) mulu16_sel::v2#4 [phi:sin16s::@11->mulu16_sel#1] -- register_copy + //SEG432 [116] phi (word) mulu16_sel::v1#10 = (word) mulu16_sel::v1#4 [phi:sin16s::@11->mulu16_sel#2] -- register_copy + jsr mulu16_sel + //SEG433 [212] (word) mulu16_sel::return#16 ← (word) mulu16_sel::return#17 [ sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#16 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#16 ] ) + // (word) mulu16_sel::return#16 = (word) mulu16_sel::return#17 // register copy zp ZP_WORD:17 + //SEG434 sin16s::@12 + //SEG435 [213] (word) sin16s::x5#0 ← (word) mulu16_sel::return#16 [ sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5#0 ] ) + // (word) sin16s::x5#0 = (word) mulu16_sel::return#16 // register copy zp ZP_WORD:17 + //SEG436 [214] (word) sin16s::x5_128#0 ← (word) sin16s::x5#0 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5_128#0 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5_128#0 ] ) -- vwuz1=vwuz1_ror_4 + ldy #4 + !: + lsr x5_128+1 + ror x5_128 + dey + bne !- + //SEG437 [215] (word) sin16s::usinx#1 ← (word) sin16s::usinx#0 + (word) sin16s::x5_128#0 [ sin16s::isUpper#2 sin16s::usinx#1 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#2 sin16s::usinx#1 ] ) -- vwuz1=vwuz1_plus_vwuz2 + lda usinx + clc + adc x5_128 + sta usinx + lda usinx+1 + adc x5_128+1 + sta usinx+1 + //SEG438 [216] if((byte) sin16s::isUpper#2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin16s::@15 [ sin16s::usinx#1 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::usinx#1 ] ) -- vbuz1_eq_0_then_la1 + lda isUpper + beq b3 + //SEG439 sin16s::@6 + //SEG440 [217] (signed word) sin16s::sinx#1 ← - (signed word)(word) sin16s::usinx#1 [ sin16s::sinx#1 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::sinx#1 ] ) -- vwsz1=_neg_vwsz1 + sec + lda sinx + eor #$ff + adc #0 + sta sinx + lda sinx+1 + eor #$ff + adc #0 + sta sinx+1 + //SEG441 [218] phi from sin16s::@15 sin16s::@6 to sin16s::@3 [phi:sin16s::@15/sin16s::@6->sin16s::@3] + //SEG442 [218] phi (signed word) sin16s::return#1 = (signed word~) sin16s::return#5 [phi:sin16s::@15/sin16s::@6->sin16s::@3#0] -- register_copy + //SEG443 sin16s::@3 + b3: + //SEG444 sin16s::@return + //SEG445 [219] return [ sin16s::return#1 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#1 ] ) + rts + //SEG446 sin16s::@15 + //SEG447 [220] (signed word~) sin16s::return#5 ← (signed word)(word) sin16s::usinx#1 [ sin16s::return#5 ] ( main:2::sin16s_gen:5::sin16s:172 [ divr16u::rem#11 sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#5 ] ) + // (signed word~) sin16s::return#5 = (signed word)(word) sin16s::usinx#1 // register copy zp ZP_WORD:8 +} + diff --git a/src/test/java/dk/camelot64/kickc/test/ref/sinusgen16b.sym b/src/test/java/dk/camelot64/kickc/test/ref/sinusgen16b.sym new file mode 100644 index 000000000..aa69d2fc0 --- /dev/null +++ b/src/test/java/dk/camelot64/kickc/test/ref/sinusgen16b.sym @@ -0,0 +1,370 @@ +(label) @31 +(label) @begin +(label) @end +(dword) PI2_u4f28 +(const dword) PI2_u4f28#0 PI2_u4f28 = (dword/signed dword) 1686629713 +(word) PI_HALF_u4f12 +(const word) PI_HALF_u4f12#0 PI_HALF_u4f12 = (word/signed word/dword/signed dword) 6434 +(dword) PI_HALF_u4f28 +(const dword) PI_HALF_u4f28#0 PI_HALF_u4f28 = (dword/signed dword) 421657428 +(word) PI_u4f12 +(const word) PI_u4f12#0 PI_u4f12 = (word/signed word/dword/signed dword) 12868 +(dword) PI_u4f28 +(const dword) PI_u4f28#0 PI_u4f28 = (dword/signed dword) 843314857 +(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:11 101.0 +(byte*) char_cursor#12 char_cursor zp ZP_WORD:11 1.1176470588235294 +(byte*) char_cursor#2 char_cursor zp ZP_WORD:11 32.7 +(byte*) char_cursor#33 char_cursor zp ZP_WORD:11 5.0 +(byte*) char_cursor#43 char_cursor zp ZP_WORD:11 3.0 +(byte*) char_cursor#46 char_cursor zp ZP_WORD:11 2.0 +(byte*) char_cursor#48 char_cursor zp ZP_WORD:11 6.5 +(byte*) char_cursor#49 char_cursor zp ZP_WORD:11 8.25 +(byte*) char_cursor#51 char_cursor zp ZP_WORD:11 24.0 +(dword()) div32u16u((dword) div32u16u::dividend , (word) div32u16u::divisor) +(label) div32u16u::@2 +(label) div32u16u::@3 +(label) div32u16u::@return +(dword) div32u16u::dividend +(dword) div32u16u::dividend#2 dividend zp ZP_DWORD:13 0.6666666666666666 +(word) div32u16u::divisor +(word) div32u16u::divisor#2 divisor zp ZP_WORD:2 0.5714285714285714 +(dword) div32u16u::quotient +(word) div32u16u::quotient_hi +(word) div32u16u::quotient_hi#0 quotient_hi zp ZP_WORD:11 0.5714285714285714 +(word) div32u16u::quotient_lo +(word) div32u16u::quotient_lo#0 quotient_lo zp ZP_WORD:8 4.0 +(dword) div32u16u::return +(dword) div32u16u::return#0 return zp ZP_DWORD:29 1.5 +(dword) div32u16u::return#2 return zp ZP_DWORD:29 4.0 +(dword) div32u16u::return#3 return zp ZP_DWORD:29 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 +(label) divr16u::@1 +(label) divr16u::@2 +(label) divr16u::@3 +(label) divr16u::@4 +(label) divr16u::@5 +(label) divr16u::@return +(word) divr16u::dividend +(word) divr16u::dividend#0 dividend zp ZP_WORD:6 2.75 +(word) divr16u::dividend#1 dividend zp ZP_WORD:6 2.0 +(word) divr16u::dividend#2 dividend zp ZP_WORD:6 1.3333333333333333 +(word) divr16u::dividend#3 dividend zp ZP_WORD:6 5.0 +(word) divr16u::dividend#5 dividend zp ZP_WORD:6 6.0 +(word) divr16u::divisor +(word) divr16u::divisor#0 divisor zp ZP_WORD:2 4.0 +(word) divr16u::divisor#1 divisor zp ZP_WORD:2 2.0 +(word) divr16u::divisor#6 divisor zp ZP_WORD:2 1.625 +(byte) divr16u::i +(byte) divr16u::i#1 reg byte x 16.5 +(byte) divr16u::i#2 reg byte x 1.6923076923076923 +(word) divr16u::quotient +(word) divr16u::quotient#1 quotient zp ZP_WORD:8 16.5 +(word) divr16u::quotient#2 quotient zp ZP_WORD:8 11.0 +(word) divr16u::quotient#3 quotient zp ZP_WORD:8 2.75 +(word) divr16u::rem +(word) divr16u::rem#0 rem zp ZP_WORD:4 8.25 +(word) divr16u::rem#1 rem zp ZP_WORD:4 22.0 +(word) divr16u::rem#10 rem zp ZP_WORD:4 4.0 +(word) divr16u::rem#11 rem zp ZP_WORD:4 1.1935483870967742 +(word) divr16u::rem#2 rem zp ZP_WORD:4 22.0 +(word) divr16u::rem#4 rem zp ZP_WORD:4 4.0 +(word) divr16u::rem#5 rem zp ZP_WORD:4 24.0 +(word) divr16u::rem#6 rem zp ZP_WORD:4 11.0 +(word) divr16u::return +(word) divr16u::return#0 return zp ZP_WORD:8 6.166666666666666 +(word) divr16u::return#2 return zp ZP_WORD:8 4.0 +(word) divr16u::return#3 return zp ZP_WORD:8 4.0 +(byte*) line_cursor +(void()) main() +(label) main::@1 +(label) main::@2 +(label) main::@3 +(label) main::@5 +(label) main::@6 +(label) main::@8 +(label) main::@9 +(label) main::@return +(byte) main::i +(byte) main::i#1 reg byte x 16.5 +(byte) main::i#2 reg byte x 1.8333333333333333 +(signed word[120]) main::sintab1 +(const signed word[120]) main::sintab1#0 sintab1 = { fill( 120, 0) } +(signed word[120]) main::sintab2 +(const signed word[120]) main::sintab2#0 sintab2 = { fill( 120, 0) } +(signed word*) main::st1 +(signed word*) main::st1#1 st1 zp ZP_WORD:2 5.5 +(signed word*) main::st1#2 st1 zp ZP_WORD:2 3.3000000000000003 +(signed word*) main::st2 +(signed word*) main::st2#1 st2 zp ZP_WORD:4 7.333333333333333 +(signed word*) main::st2#2 st2 zp ZP_WORD:4 3.0 +(const string) main::str str = (string) " @" +(const string) main::str1 str1 = (string) " @" +(signed word) main::sw +(signed word) main::sw#0 sw zp ZP_WORD:8 6.6000000000000005 +(word) main::wavelength +(const word) main::wavelength#0 wavelength = (byte/signed byte/word/signed word/dword/signed dword) 120 +(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:19 101.0 +(word) mul16u::a#1 a zp ZP_WORD:19 1.3333333333333333 +(word) mul16u::a#2 a zp ZP_WORD:19 67.66666666666666 +(word) mul16u::b +(word) mul16u::b#0 b zp ZP_WORD:17 4.0 +(dword) mul16u::mb +(dword) mul16u::mb#0 mb zp ZP_DWORD:25 4.0 +(dword) mul16u::mb#1 mb zp ZP_DWORD:25 202.0 +(dword) mul16u::mb#2 mb zp ZP_DWORD:25 43.57142857142858 +(dword) mul16u::res +(dword) mul16u::res#1 res zp ZP_DWORD:21 202.0 +(dword) mul16u::res#2 res zp ZP_DWORD:21 50.83333333333333 +(dword) mul16u::res#6 res zp ZP_DWORD:21 101.0 +(dword) mul16u::return +(dword) mul16u::return#2 return zp ZP_DWORD:21 4.0 +(word()) mulu16_sel((word) mulu16_sel::v1 , (word) mulu16_sel::v2 , (byte) mulu16_sel::select) +(dword~) mulu16_sel::$0 $0 zp ZP_DWORD:21 4.0 +(dword~) mulu16_sel::$1 $1 zp ZP_DWORD:21 4.0 +(label) mulu16_sel::@2 +(label) mulu16_sel::@return +(word) mulu16_sel::return +(word) mulu16_sel::return#0 return zp ZP_WORD:11 4.0 +(word) mulu16_sel::return#1 return zp ZP_WORD:11 4.0 +(word) mulu16_sel::return#10 return zp ZP_WORD:11 4.0 +(word) mulu16_sel::return#11 return#11 zp ZP_WORD:17 4.0 +(word) mulu16_sel::return#14 return#14 zp ZP_WORD:17 4.0 +(word) mulu16_sel::return#15 return zp ZP_WORD:11 4.0 +(word) mulu16_sel::return#16 return#16 zp ZP_WORD:17 4.0 +(word) mulu16_sel::return#17 return#17 zp ZP_WORD:17 1.8333333333333335 +(word) mulu16_sel::return#18 return#18 zp ZP_WORD:17 4.0 +(word) mulu16_sel::return#19 return zp ZP_WORD:11 4.0 +(word) mulu16_sel::return#20 return#20 zp ZP_WORD:17 4.0 +(byte) mulu16_sel::select +(byte) mulu16_sel::select#10 reg byte x 0.3333333333333333 +(word) mulu16_sel::v1 +(word) mulu16_sel::v1#0 v1 zp ZP_WORD:11 2.0 +(word) mulu16_sel::v1#1 v1 zp ZP_WORD:11 2.0 +(word) mulu16_sel::v1#10 v1 zp ZP_WORD:11 22.0 +(word) mulu16_sel::v1#2 v1 zp ZP_WORD:11 4.0 +(word) mulu16_sel::v1#3 v1 zp ZP_WORD:11 2.0 +(word) mulu16_sel::v1#4 v1 zp ZP_WORD:11 2.0 +(word) mulu16_sel::v1#5 v1 zp ZP_WORD:11 2.0 +(word) mulu16_sel::v1#6 v1 zp ZP_WORD:11 2.0 +(word) mulu16_sel::v1#7 v1 zp ZP_WORD:11 4.0 +(word) mulu16_sel::v1#8 v1 zp ZP_WORD:11 2.0 +(word) mulu16_sel::v1#9 v1 zp ZP_WORD:11 2.0 +(word) mulu16_sel::v2 +(word) mulu16_sel::v2#0 v2 zp ZP_WORD:17 4.0 +(word) mulu16_sel::v2#1 v2 zp ZP_WORD:17 4.0 +(word) mulu16_sel::v2#10 v2 zp ZP_WORD:17 9.0 +(word) mulu16_sel::v2#3 v2 zp ZP_WORD:17 4.0 +(word) mulu16_sel::v2#4 v2 zp ZP_WORD:17 4.0 +(word) mulu16_sel::v2#5 v2 zp ZP_WORD:17 4.0 +(word) mulu16_sel::v2#6 v2 zp ZP_WORD:17 4.0 +(word) mulu16_sel::v2#8 v2 zp ZP_WORD:17 4.0 +(word) mulu16_sel::v2#9 v2 zp ZP_WORD:17 4.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 b zp ZP_BYTE:10 4.0 +(byte) print_byte::b#1 b zp ZP_BYTE:10 4.0 +(byte) print_byte::b#2 b zp ZP_BYTE:10 2.0 +(byte[]) print_byte::hextab +(const string) print_byte::hextab#0 hextab = (string) "0123456789abcdef" +(void()) print_char((byte) print_char::ch) +(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:2 16.5 +(byte*) print_cls::sc#2 sc zp ZP_WORD:2 16.5 +(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:6 202.0 +(byte*) print_str::str#3 str zp ZP_WORD:6 101.5 +(byte*) print_str::str#5 str zp ZP_WORD:6 2.0 +(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:8 4.0 +(signed word) print_sword::w#1 w zp ZP_WORD:8 4.25 +(signed word) print_sword::w#3 w zp ZP_WORD:8 1.3333333333333333 +(void()) print_word((word) print_word::w) +(label) print_word::@1 +(label) print_word::@return +(word) print_word::w +(word) rem16u +(word) rem16u#26 rem16u zp ZP_WORD:4 20.0 +(signed word()) sin16s((dword) sin16s::x) +(dword~) sin16s::$6 $6 zp ZP_DWORD:21 4.0 +(label) sin16s::@1 +(label) sin16s::@10 +(label) sin16s::@11 +(label) sin16s::@12 +(label) sin16s::@15 +(label) sin16s::@2 +(label) sin16s::@3 +(label) sin16s::@4 +(label) sin16s::@5 +(label) sin16s::@6 +(label) sin16s::@8 +(label) sin16s::@9 +(label) sin16s::@return +(byte) sin16s::isUpper +(byte) sin16s::isUpper#2 isUpper zp ZP_BYTE:10 0.06060606060606061 +(signed word) sin16s::return +(signed word) sin16s::return#0 return zp ZP_WORD:8 22.0 +(signed word) sin16s::return#1 return zp ZP_WORD:8 5.0 +(signed word~) sin16s::return#5 return zp ZP_WORD:8 4.0 +(signed word) sin16s::sinx +(signed word) sin16s::sinx#1 sinx zp ZP_WORD:8 4.0 +(word) sin16s::usinx +(word) sin16s::usinx#0 usinx zp ZP_WORD:8 0.3333333333333333 +(word) sin16s::usinx#1 usinx zp ZP_WORD:8 1.0 +(dword) sin16s::x +(dword) sin16s::x#0 x zp ZP_DWORD:21 8.5 +(dword) sin16s::x#1 x zp ZP_DWORD:21 4.0 +(dword) sin16s::x#2 x zp ZP_DWORD:21 4.0 +(dword) sin16s::x#4 x zp ZP_DWORD:21 5.0 +(dword) sin16s::x#6 x zp ZP_DWORD:21 6.0 +(word) sin16s::x1 +(word) sin16s::x1#0 x1 zp ZP_WORD:33 0.6363636363636365 +(word) sin16s::x2 +(word) sin16s::x2#0 x2 zp ZP_WORD:11 4.0 +(word) sin16s::x3 +(word) sin16s::x3#0 x3 zp ZP_WORD:11 1.0 +(word) sin16s::x3_6 +(word) sin16s::x3_6#0 x3_6 zp ZP_WORD:17 4.0 +(word) sin16s::x4 +(word) sin16s::x4#0 x4 zp ZP_WORD:11 4.0 +(word) sin16s::x5 +(word) sin16s::x5#0 x5 zp ZP_WORD:17 4.0 +(word) sin16s::x5_128 +(word) sin16s::x5_128#0 x5_128 zp ZP_WORD:17 4.0 +(void()) sin16s_gen((signed word*) sin16s_gen::sintab , (word) sin16s_gen::wavelength) +(signed word~) sin16s_gen::$1 $1 zp ZP_WORD:8 22.0 +(label) sin16s_gen::@1 +(label) sin16s_gen::@3 +(label) sin16s_gen::@4 +(label) sin16s_gen::@return +(word) sin16s_gen::i +(word) sin16s_gen::i#1 i zp ZP_WORD:6 16.5 +(word) sin16s_gen::i#2 i zp ZP_WORD:6 2.75 +(signed word*) sin16s_gen::sintab +(signed word*) sin16s_gen::sintab#0 sintab zp ZP_WORD:2 5.5 +(signed word*) sin16s_gen::sintab#2 sintab zp ZP_WORD:2 5.5 +(dword) sin16s_gen::step +(dword) sin16s_gen::step#0 step zp ZP_DWORD:29 1.1818181818181819 +(word) sin16s_gen::wavelength +(dword) sin16s_gen::x +(dword) sin16s_gen::x#1 x zp ZP_DWORD:13 7.333333333333333 +(dword) sin16s_gen::x#2 x zp ZP_DWORD:13 4.714285714285714 +(void()) sin16s_genb((signed word*) sin16s_genb::sintab , (word) sin16s_genb::wavelength) +(signed word~) sin16s_genb::$2 $2 zp ZP_WORD:8 22.0 +(label) sin16s_genb::@1 +(label) sin16s_genb::@3 +(label) sin16s_genb::@4 +(label) sin16s_genb::@return +(word) sin16s_genb::i +(word) sin16s_genb::i#1 i zp ZP_WORD:4 16.5 +(word) sin16s_genb::i#2 i zp ZP_WORD:4 2.75 +(signed word*) sin16s_genb::sintab +(signed word*) sin16s_genb::sintab#0 sintab zp ZP_WORD:2 5.5 +(signed word*) sin16s_genb::sintab#2 sintab zp ZP_WORD:2 5.5 +(dword) sin16s_genb::step +(dword) sin16s_genb::step#0 step zp ZP_DWORD:29 1.1818181818181819 +(word) sin16s_genb::wavelength +(dword) sin16s_genb::x +(dword) sin16s_genb::x#1 x zp ZP_DWORD:13 7.333333333333333 +(dword) sin16s_genb::x#2 x zp ZP_DWORD:13 4.714285714285714 +(signed word()) sin16sb((word) sin16sb::x) +(label) sin16sb::@1 +(label) sin16sb::@10 +(label) sin16sb::@11 +(label) sin16sb::@12 +(label) sin16sb::@15 +(label) sin16sb::@2 +(label) sin16sb::@3 +(label) sin16sb::@4 +(label) sin16sb::@5 +(label) sin16sb::@6 +(label) sin16sb::@8 +(label) sin16sb::@9 +(label) sin16sb::@return +(byte) sin16sb::isUpper +(byte) sin16sb::isUpper#2 isUpper zp ZP_BYTE:10 0.0625 +(signed word) sin16sb::return +(signed word) sin16sb::return#0 return zp ZP_WORD:8 22.0 +(signed word) sin16sb::return#1 return zp ZP_WORD:8 5.0 +(signed word~) sin16sb::return#5 return zp ZP_WORD:8 4.0 +(signed word) sin16sb::sinx +(signed word) sin16sb::sinx#1 sinx zp ZP_WORD:8 4.0 +(word) sin16sb::usinx +(word) sin16sb::usinx#0 usinx zp ZP_WORD:8 0.3333333333333333 +(word) sin16sb::usinx#1 usinx zp ZP_WORD:8 1.0 +(word) sin16sb::x +(word) sin16sb::x#0 x zp ZP_WORD:6 8.5 +(word) sin16sb::x#1 x zp ZP_WORD:6 4.0 +(word) sin16sb::x#2 x zp ZP_WORD:6 4.0 +(word) sin16sb::x#4 x zp ZP_WORD:6 5.0 +(word) sin16sb::x#6 x zp ZP_WORD:6 6.0 +(word) sin16sb::x1 +(word) sin16sb::x1#0 x1 zp ZP_WORD:6 0.6363636363636365 +(word) sin16sb::x2 +(word) sin16sb::x2#0 x2 zp ZP_WORD:11 4.0 +(word) sin16sb::x3 +(word) sin16sb::x3#0 x3 zp ZP_WORD:11 1.0 +(word) sin16sb::x3_6 +(word) sin16sb::x3_6#0 x3_6 zp ZP_WORD:17 4.0 +(word) sin16sb::x4 +(word) sin16sb::x4#0 x4 zp ZP_WORD:11 4.0 +(word) sin16sb::x5 +(word) sin16sb::x5#0 x5 zp ZP_WORD:17 4.0 +(word) sin16sb::x5_128 +(word) sin16sb::x5_128#0 x5_128 zp ZP_WORD:17 4.0 + +zp ZP_WORD:2 [ main::st1#2 main::st1#1 print_cls::sc#2 print_cls::sc#1 sin16s_genb::sintab#2 sin16s_genb::sintab#0 div32u16u::divisor#2 divr16u::divisor#6 divr16u::divisor#0 divr16u::divisor#1 sin16s_gen::sintab#2 sin16s_gen::sintab#0 ] +zp ZP_WORD:4 [ main::st2#2 main::st2#1 sin16s_genb::i#2 sin16s_genb::i#1 divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 rem16u#26 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] +reg byte x [ main::i#2 main::i#1 ] +zp ZP_WORD:6 [ print_str::str#3 print_str::str#5 print_str::str#0 sin16sb::x#6 sin16sb::x#4 sin16sb::x#0 sin16sb::x#1 sin16sb::x#2 sin16sb::x1#0 divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#1 divr16u::dividend#2 divr16u::dividend#0 sin16s_gen::i#2 sin16s_gen::i#1 ] +zp ZP_WORD:8 [ print_sword::w#3 print_sword::w#1 print_sword::w#0 main::sw#0 sin16sb::return#1 sin16sb::return#5 sin16sb::sinx#1 sin16sb::usinx#1 sin16sb::return#0 sin16s_genb::$2 sin16sb::usinx#0 divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 divr16u::return#3 div32u16u::quotient_lo#0 sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 sin16s::return#0 sin16s_gen::$1 sin16s::usinx#0 ] +zp ZP_BYTE:10 [ print_byte::b#2 print_byte::b#0 print_byte::b#1 sin16sb::isUpper#2 sin16s::isUpper#2 ] +reg byte a [ print_char::ch#3 print_char::ch#1 print_char::ch#2 ] +zp ZP_WORD:11 [ char_cursor#33 char_cursor#46 char_cursor#43 char_cursor#51 char_cursor#48 char_cursor#49 char_cursor#2 char_cursor#12 char_cursor#1 mulu16_sel::v1#10 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 mulu16_sel::v1#8 mulu16_sel::v1#9 mulu16_sel::v1#5 mulu16_sel::v1#6 mulu16_sel::v1#7 sin16sb::x3#0 sin16s::x3#0 sin16sb::x2#0 sin16sb::x4#0 sin16s::x2#0 sin16s::x4#0 mulu16_sel::return#19 mulu16_sel::return#10 mulu16_sel::return#0 mulu16_sel::return#1 mulu16_sel::return#15 div32u16u::quotient_hi#0 ] +zp ZP_DWORD:13 [ sin16s_genb::x#2 sin16s_genb::x#1 div32u16u::dividend#2 sin16s_gen::x#2 sin16s_gen::x#1 ] +zp ZP_WORD:17 [ mulu16_sel::v2#10 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 mulu16_sel::v2#8 mulu16_sel::v2#9 mulu16_sel::v2#5 mulu16_sel::v2#6 mul16u::b#0 mulu16_sel::return#18 mulu16_sel::return#17 mulu16_sel::return#20 sin16sb::x3_6#0 mulu16_sel::return#11 sin16sb::x5#0 mulu16_sel::return#14 sin16s::x3_6#0 mulu16_sel::return#16 sin16s::x5#0 sin16sb::x5_128#0 sin16s::x5_128#0 ] +reg byte x [ mulu16_sel::select#10 ] +zp ZP_WORD:19 [ mul16u::a#2 mul16u::a#1 mul16u::a#0 ] +zp ZP_DWORD:21 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 mul16u::return#2 mulu16_sel::$0 mulu16_sel::$1 sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 sin16s::$6 ] +zp ZP_DWORD:25 [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ] +reg byte x [ divr16u::i#2 divr16u::i#1 ] +reg byte a [ print_byte::$0 ] +reg byte a [ print_byte::$2 ] +zp ZP_DWORD:29 [ div32u16u::return#3 sin16s_genb::step#0 div32u16u::return#0 div32u16u::return#2 sin16s_gen::step#0 ] +reg byte a [ mul16u::$1 ] +reg byte a [ divr16u::$1 ] +reg byte a [ divr16u::$2 ] +zp ZP_WORD:33 [ sin16s::x1#0 ] diff --git a/src/test/java/dk/camelot64/kickc/test/ref/sinusgenscale8.asm b/src/test/java/dk/camelot64/kickc/test/ref/sinusgenscale8.asm index 8b0af1b9f..77761a187 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/sinusgenscale8.asm +++ b/src/test/java/dk/camelot64/kickc/test/ref/sinusgenscale8.asm @@ -5,7 +5,7 @@ .const PI_u4f12 = $3244 .const PI_HALF_u4f12 = $1922 .label SCREEN = $400 - .label char_cursor = $b + .label char_cursor = $d .label line_cursor = 8 jsr main main: { @@ -20,9 +20,10 @@ sin8u_table: { .const max = $ff .label amplitude = max-min .const sum = min+max - .const mid = $ff & sum>>1 - .label _17 = $b - .label step = $10 + .const mid = $ff & (sum>>1)+1 + .label step = $12 + .label sinx = $11 + .label sinx_sc = $f .label sintab = 4 .label x = 2 .label i = 6 @@ -94,9 +95,10 @@ sin8u_table: { lda x+1 sta sin8s.x+1 jsr sin8s + sta sinx tay jsr mul8su - lda _17+1 + lda sinx_sc+1 clc adc #mid tax @@ -116,12 +118,34 @@ sin8u_table: { lda #>str5 sta print_str.str+1 jsr print_str + lda x + sta print_word.w + lda x+1 + sta print_word.w+1 jsr print_word lda #str6 sta print_str.str+1 jsr print_str + lda sinx + sta print_sbyte.b + jsr print_sbyte + lda #str7 + sta print_str.str+1 + jsr print_str + lda sinx_sc + sta print_sword.w + lda sinx_sc+1 + sta print_sword.w+1 + jsr print_sword + lda #str8 + sta print_str.str+1 + jsr print_str stx print_byte.b jsr print_byte jsr print_ln @@ -138,11 +162,15 @@ sin8u_table: { !: lda i+1 cmp #>main.tabsize - bcc b1 + bcs !b1+ + jmp b1 + !b1: bne !+ lda i cmp #PI_u4f12 @@ -388,9 +454,9 @@ sin8s: { jmp b4 } mulu8_sel: { - .label _0 = $b - .label _1 = $b - .label select = $f + .label _0 = $f + .label _1 = $f + .label select = $11 tya jsr mul8u ldy select @@ -405,15 +471,15 @@ mulu8_sel: { rts } div16u: { - .label return = $10 + .label return = $12 jsr divr16u rts } divr16u: { .label rem = 2 .label dividend = 4 - .label quotient = $10 - .label return = $10 + .label quotient = $12 + .label return = $12 ldx #0 txa sta quotient diff --git a/src/test/java/dk/camelot64/kickc/test/ref/sinusgenscale8.cfg b/src/test/java/dk/camelot64/kickc/test/ref/sinusgenscale8.cfg index fa6db27f2..f31156582 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/sinusgenscale8.cfg +++ b/src/test/java/dk/camelot64/kickc/test/ref/sinusgenscale8.cfg @@ -28,349 +28,405 @@ sin8u_table::@3: scope:[sin8u_table] from sin8u_table [13] call print_str param-assignment [ sin8u_table::step#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#2 ] ) to:sin8u_table::@4 sin8u_table::@4: scope:[sin8u_table] from sin8u_table::@3 - [14] (word) print_word::w#0 ← (word) sin8u_table::step#0 [ sin8u_table::step#0 print_word::w#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 print_word::w#0 char_cursor#2 ] ) - [15] call print_word param-assignment [ sin8u_table::step#0 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#11 ] ) + [14] (word) print_word::w#1 ← (word) sin8u_table::step#0 [ sin8u_table::step#0 print_word::w#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 print_word::w#1 char_cursor#2 ] ) + [15] call print_word param-assignment [ sin8u_table::step#0 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#17 ] ) to:sin8u_table::@5 sin8u_table::@5: scope:[sin8u_table] from sin8u_table::@4 - [16] phi() [ sin8u_table::step#0 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#11 ] ) + [16] phi() [ sin8u_table::step#0 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#17 ] ) [17] call print_str param-assignment [ sin8u_table::step#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#2 ] ) to:sin8u_table::@6 sin8u_table::@6: scope:[sin8u_table] from sin8u_table::@5 [18] phi() [ sin8u_table::step#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#2 ] ) - [19] call print_byte param-assignment [ sin8u_table::step#0 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#11 ] ) + [19] call print_byte param-assignment [ sin8u_table::step#0 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#17 ] ) to:sin8u_table::@7 sin8u_table::@7: scope:[sin8u_table] from sin8u_table::@6 - [20] phi() [ sin8u_table::step#0 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#11 ] ) + [20] phi() [ sin8u_table::step#0 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#17 ] ) [21] call print_str param-assignment [ sin8u_table::step#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#2 ] ) to:sin8u_table::@8 sin8u_table::@8: scope:[sin8u_table] from sin8u_table::@7 [22] phi() [ sin8u_table::step#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#2 ] ) - [23] call print_byte param-assignment [ sin8u_table::step#0 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#11 ] ) + [23] call print_byte param-assignment [ sin8u_table::step#0 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#17 ] ) to:sin8u_table::@9 sin8u_table::@9: scope:[sin8u_table] from sin8u_table::@8 - [24] phi() [ sin8u_table::step#0 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#11 ] ) + [24] phi() [ sin8u_table::step#0 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#17 ] ) [25] call print_str param-assignment [ sin8u_table::step#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#2 ] ) to:sin8u_table::@10 sin8u_table::@10: scope:[sin8u_table] from sin8u_table::@9 [26] phi() [ sin8u_table::step#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#2 ] ) - [27] call print_byte param-assignment [ sin8u_table::step#0 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#11 ] ) + [27] call print_byte param-assignment [ sin8u_table::step#0 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#17 ] ) to:sin8u_table::@11 sin8u_table::@11: scope:[sin8u_table] from sin8u_table::@10 - [28] phi() [ sin8u_table::step#0 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#11 ] ) + [28] phi() [ sin8u_table::step#0 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#17 ] ) [29] call print_str param-assignment [ sin8u_table::step#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#2 ] ) to:sin8u_table::@12 sin8u_table::@12: scope:[sin8u_table] from sin8u_table::@11 [30] phi() [ sin8u_table::step#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#2 ] ) - [31] call print_byte param-assignment [ sin8u_table::step#0 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#11 ] ) + [31] call print_byte param-assignment [ sin8u_table::step#0 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#17 ] ) to:sin8u_table::@13 sin8u_table::@13: scope:[sin8u_table] from sin8u_table::@12 - [32] phi() [ sin8u_table::step#0 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#11 ] ) + [32] phi() [ sin8u_table::step#0 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#17 ] ) [33] call print_ln param-assignment [ sin8u_table::step#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 line_cursor#1 ] ) to:sin8u_table::@1 -sin8u_table::@1: scope:[sin8u_table] from sin8u_table::@13 sin8u_table::@21 - [34] (word) sin8u_table::i#2 ← phi( sin8u_table::@13/(byte/signed byte/word/signed word/dword/signed dword) 0 sin8u_table::@21/(word) sin8u_table::i#1 ) [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 ] ) - [34] (byte*) sin8u_table::sintab#2 ← phi( sin8u_table::@13/(const byte[20]) main::sintab#0 sin8u_table::@21/(byte*) sin8u_table::sintab#1 ) [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 ] ) - [34] (word) sin8u_table::x#2 ← phi( sin8u_table::@13/(byte/signed byte/word/signed word/dword/signed dword) 0 sin8u_table::@21/(word) sin8u_table::x#1 ) [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 ] ) - [35] (word) sin8s::x#2 ← (word) sin8u_table::x#2 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8s::x#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8s::x#2 line_cursor#1 ] ) - [36] call sin8s param-assignment [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8s::return#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8s::return#0 line_cursor#1 ] ) - [37] (signed byte) sin8s::return#2 ← (signed byte) sin8s::return#0 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8s::return#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8s::return#2 line_cursor#1 ] ) +sin8u_table::@1: scope:[sin8u_table] from sin8u_table::@13 sin8u_table::@25 + [34] (word) sin8u_table::i#10 ← phi( sin8u_table::@13/(byte/signed byte/word/signed word/dword/signed dword) 0 sin8u_table::@25/(word) sin8u_table::i#1 ) [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 ] ) + [34] (byte*) sin8u_table::sintab#2 ← phi( sin8u_table::@13/(const byte[20]) main::sintab#0 sin8u_table::@25/(byte*) sin8u_table::sintab#1 ) [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 ] ) + [34] (word) sin8u_table::x#10 ← phi( sin8u_table::@13/(byte/signed byte/word/signed word/dword/signed dword) 0 sin8u_table::@25/(word) sin8u_table::x#1 ) [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 ] ) + [35] (word) sin8s::x#2 ← (word) sin8u_table::x#10 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8s::x#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8s::x#2 line_cursor#1 ] ) + [36] call sin8s param-assignment [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8s::return#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8s::return#0 line_cursor#1 ] ) + [37] (signed byte) sin8s::return#2 ← (signed byte) sin8s::return#0 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8s::return#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8s::return#2 line_cursor#1 ] ) to:sin8u_table::@15 sin8u_table::@15: scope:[sin8u_table] from sin8u_table::@1 - [38] (signed byte) mul8su::a#0 ← (signed byte) sin8s::return#2 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 mul8su::a#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 mul8su::a#0 line_cursor#1 ] ) - [39] call mul8su param-assignment [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 mul8su::m#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 mul8su::m#2 line_cursor#1 ] ) - [40] (signed word) mul8su::return#2 ← (signed word)(word) mul8su::m#2 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 mul8su::return#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 mul8su::return#2 line_cursor#1 ] ) + [38] (signed byte) sin8u_table::sinx#0 ← (signed byte) sin8s::return#2 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 ] ) + [39] (signed byte) mul8su::a#0 ← (signed byte) sin8u_table::sinx#0 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 mul8su::a#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 mul8su::a#0 line_cursor#1 ] ) + [40] call mul8su param-assignment [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 mul8su::m#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 mul8su::m#2 line_cursor#1 ] ) + [41] (signed word) mul8su::return#2 ← (signed word)(word) mul8su::m#2 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 mul8su::return#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 mul8su::return#2 line_cursor#1 ] ) to:sin8u_table::@16 sin8u_table::@16: scope:[sin8u_table] from sin8u_table::@15 - [41] (signed word~) sin8u_table::$17 ← (signed word) mul8su::return#2 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8u_table::$17 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8u_table::$17 line_cursor#1 ] ) - [42] (byte~) sin8u_table::$18 ← > (signed word~) sin8u_table::$17 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8u_table::$18 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8u_table::$18 line_cursor#1 ] ) - [43] (byte) sin8u_table::sinval#0 ← (const byte) sin8u_table::mid#0 + (byte~) sin8u_table::$18 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8u_table::sinval#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8u_table::sinval#0 line_cursor#1 ] ) - [44] *((byte*) sin8u_table::sintab#2) ← (byte) sin8u_table::sinval#0 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8u_table::sinval#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8u_table::sinval#0 line_cursor#1 ] ) - [45] (byte*) sin8u_table::sintab#1 ← ++ (byte*) sin8u_table::sintab#2 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 ] ) - [46] (byte*~) char_cursor#92 ← (byte*) line_cursor#1 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 char_cursor#92 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 char_cursor#92 line_cursor#1 ] ) - [47] call print_str param-assignment [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 ] ) + [42] (signed word) sin8u_table::sinx_sc#0 ← (signed word) mul8su::return#2 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 line_cursor#1 ] ) + [43] (byte~) sin8u_table::$20 ← > (signed word) sin8u_table::sinx_sc#0 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::$20 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::$20 line_cursor#1 ] ) + [44] (byte) sin8u_table::sinx_tr#0 ← (const byte) sin8u_table::mid#0 + (byte~) sin8u_table::$20 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 ] ) + [45] *((byte*) sin8u_table::sintab#2) ← (byte) sin8u_table::sinx_tr#0 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 ] ) + [46] (byte*) sin8u_table::sintab#1 ← ++ (byte*) sin8u_table::sintab#2 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 ] ) + [47] (byte*~) char_cursor#121 ← (byte*) line_cursor#1 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 char_cursor#121 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 char_cursor#121 line_cursor#1 ] ) + [48] call print_str param-assignment [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] ) to:sin8u_table::@17 sin8u_table::@17: scope:[sin8u_table] from sin8u_table::@16 - [48] (word) print_word::w#1 ← (word) sin8u_table::x#2 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#1 char_cursor#2 ] ) - [49] call print_word param-assignment [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 ] ) + [49] (word) print_word::w#2 ← (word) sin8u_table::x#10 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#2 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#2 char_cursor#2 ] ) + [50] call print_word param-assignment [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) to:sin8u_table::@18 sin8u_table::@18: scope:[sin8u_table] from sin8u_table::@17 - [50] phi() [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 ] ) - [51] call print_str param-assignment [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 ] ) + [51] phi() [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) + [52] call print_str param-assignment [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] ) to:sin8u_table::@19 sin8u_table::@19: scope:[sin8u_table] from sin8u_table::@18 - [52] (byte) print_byte::b#6 ← (byte) sin8u_table::sinval#0 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_byte::b#6 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_byte::b#6 char_cursor#2 ] ) - [53] call print_byte param-assignment [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 ] ) + [53] (signed byte) print_sbyte::b#1 ← (signed byte) sin8u_table::sinx#0 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_sbyte::b#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_sbyte::b#1 char_cursor#2 ] ) + [54] call print_sbyte param-assignment [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) to:sin8u_table::@20 sin8u_table::@20: scope:[sin8u_table] from sin8u_table::@19 - [54] phi() [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 ] ) - [55] call print_ln param-assignment [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 ] ) + [55] phi() [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) + [56] call print_str param-assignment [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] ) to:sin8u_table::@21 sin8u_table::@21: scope:[sin8u_table] from sin8u_table::@20 - [56] (word) sin8u_table::x#1 ← (word) sin8u_table::x#2 + (word) sin8u_table::step#0 [ sin8u_table::step#0 sin8u_table::i#2 sin8u_table::x#1 sin8u_table::sintab#1 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::i#2 sin8u_table::x#1 sin8u_table::sintab#1 line_cursor#1 ] ) - [57] (word) sin8u_table::i#1 ← ++ (word) sin8u_table::i#2 [ sin8u_table::step#0 sin8u_table::x#1 sin8u_table::sintab#1 sin8u_table::i#1 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#1 sin8u_table::sintab#1 sin8u_table::i#1 line_cursor#1 ] ) - [58] if((word) sin8u_table::i#1<(const word) main::tabsize#0) goto sin8u_table::@1 [ sin8u_table::step#0 sin8u_table::x#1 sin8u_table::sintab#1 sin8u_table::i#1 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#1 sin8u_table::sintab#1 sin8u_table::i#1 line_cursor#1 ] ) + [57] (signed word) print_sword::w#1 ← (signed word) sin8u_table::sinx_sc#0 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_sword::w#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_sword::w#1 char_cursor#2 ] ) + [58] call print_sword param-assignment [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) + to:sin8u_table::@22 +sin8u_table::@22: scope:[sin8u_table] from sin8u_table::@21 + [59] phi() [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) + [60] call print_str param-assignment [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] ) + to:sin8u_table::@23 +sin8u_table::@23: scope:[sin8u_table] from sin8u_table::@22 + [61] (byte) print_byte::b#7 ← (byte) sin8u_table::sinx_tr#0 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 print_byte::b#7 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 print_byte::b#7 char_cursor#2 ] ) + [62] call print_byte param-assignment [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 ] ) + to:sin8u_table::@24 +sin8u_table::@24: scope:[sin8u_table] from sin8u_table::@23 + [63] phi() [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 ] ) + [64] call print_ln param-assignment [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 ] ) + to:sin8u_table::@25 +sin8u_table::@25: scope:[sin8u_table] from sin8u_table::@24 + [65] (word) sin8u_table::x#1 ← (word) sin8u_table::x#10 + (word) sin8u_table::step#0 [ sin8u_table::step#0 sin8u_table::i#10 sin8u_table::x#1 sin8u_table::sintab#1 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::i#10 sin8u_table::x#1 sin8u_table::sintab#1 line_cursor#1 ] ) + [66] (word) sin8u_table::i#1 ← ++ (word) sin8u_table::i#10 [ sin8u_table::step#0 sin8u_table::x#1 sin8u_table::sintab#1 sin8u_table::i#1 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#1 sin8u_table::sintab#1 sin8u_table::i#1 line_cursor#1 ] ) + [67] if((word) sin8u_table::i#1<(const word) main::tabsize#0) goto sin8u_table::@1 [ sin8u_table::step#0 sin8u_table::x#1 sin8u_table::sintab#1 sin8u_table::i#1 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#1 sin8u_table::sintab#1 sin8u_table::i#1 line_cursor#1 ] ) to:sin8u_table::@return -sin8u_table::@return: scope:[sin8u_table] from sin8u_table::@21 - [59] return [ ] ( main:2::sin8u_table:7 [ ] ) +sin8u_table::@return: scope:[sin8u_table] from sin8u_table::@25 + [68] return [ ] ( main:2::sin8u_table:7 [ ] ) to:@return -print_ln: scope:[print_ln] from sin8u_table::@13 sin8u_table::@20 - [60] (byte*) line_cursor#23 ← phi( sin8u_table::@13/(const byte*) SCREEN#0 sin8u_table::@20/(byte*) line_cursor#1 ) [ line_cursor#23 char_cursor#11 ] ( main:2::sin8u_table:7::print_ln:33 [ sin8u_table::step#0 line_cursor#23 char_cursor#11 ] main:2::sin8u_table:7::print_ln:55 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#23 char_cursor#11 ] ) +print_ln: scope:[print_ln] from sin8u_table::@13 sin8u_table::@24 + [69] (byte*) line_cursor#23 ← phi( sin8u_table::@13/(const byte*) SCREEN#0 sin8u_table::@24/(byte*) line_cursor#1 ) [ line_cursor#23 char_cursor#17 ] ( main:2::sin8u_table:7::print_ln:33 [ sin8u_table::step#0 line_cursor#23 char_cursor#17 ] main:2::sin8u_table:7::print_ln:64 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#23 char_cursor#17 ] ) to:print_ln::@1 print_ln::@1: scope:[print_ln] from print_ln print_ln::@1 - [61] (byte*) line_cursor#12 ← phi( print_ln/(byte*) line_cursor#23 print_ln::@1/(byte*) line_cursor#1 ) [ line_cursor#12 char_cursor#11 ] ( main:2::sin8u_table:7::print_ln:33 [ sin8u_table::step#0 line_cursor#12 char_cursor#11 ] main:2::sin8u_table:7::print_ln:55 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#12 char_cursor#11 ] ) - [62] (byte*) line_cursor#1 ← (byte*) line_cursor#12 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ line_cursor#1 char_cursor#11 ] ( main:2::sin8u_table:7::print_ln:33 [ sin8u_table::step#0 line_cursor#1 char_cursor#11 ] main:2::sin8u_table:7::print_ln:55 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 ] ) - [63] if((byte*) line_cursor#1<(byte*) char_cursor#11) goto print_ln::@1 [ line_cursor#1 char_cursor#11 ] ( main:2::sin8u_table:7::print_ln:33 [ sin8u_table::step#0 line_cursor#1 char_cursor#11 ] main:2::sin8u_table:7::print_ln:55 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 ] ) + [70] (byte*) line_cursor#12 ← phi( print_ln/(byte*) line_cursor#23 print_ln::@1/(byte*) line_cursor#1 ) [ line_cursor#12 char_cursor#17 ] ( main:2::sin8u_table:7::print_ln:33 [ sin8u_table::step#0 line_cursor#12 char_cursor#17 ] main:2::sin8u_table:7::print_ln:64 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#12 char_cursor#17 ] ) + [71] (byte*) line_cursor#1 ← (byte*) line_cursor#12 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ line_cursor#1 char_cursor#17 ] ( main:2::sin8u_table:7::print_ln:33 [ sin8u_table::step#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_ln:64 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 ] ) + [72] if((byte*) line_cursor#1<(byte*) char_cursor#17) goto print_ln::@1 [ line_cursor#1 char_cursor#17 ] ( main:2::sin8u_table:7::print_ln:33 [ sin8u_table::step#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_ln:64 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 ] ) to:print_ln::@return print_ln::@return: scope:[print_ln] from print_ln::@1 - [64] return [ line_cursor#1 ] ( main:2::sin8u_table:7::print_ln:33 [ sin8u_table::step#0 line_cursor#1 ] main:2::sin8u_table:7::print_ln:55 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 ] ) + [73] return [ line_cursor#1 ] ( main:2::sin8u_table:7::print_ln:33 [ sin8u_table::step#0 line_cursor#1 ] main:2::sin8u_table:7::print_ln:64 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 ] ) to:@return -print_byte: scope:[print_byte] from print_word print_word::@1 sin8u_table::@10 sin8u_table::@12 sin8u_table::@19 sin8u_table::@6 sin8u_table::@8 - [65] (byte*) char_cursor#73 ← phi( print_word/(byte*) char_cursor#2 print_word::@1/(byte*) char_cursor#11 sin8u_table::@10/(byte*) char_cursor#2 sin8u_table::@12/(byte*) char_cursor#2 sin8u_table::@19/(byte*) char_cursor#2 sin8u_table::@6/(byte*) char_cursor#2 sin8u_table::@8/(byte*) char_cursor#2 ) [ print_byte::b#7 char_cursor#73 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 ] main:2::sin8u_table:7::print_byte:53 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_byte::b#7 char_cursor#73 ] main:2::sin8u_table:7::print_word:15::print_byte:86 [ sin8u_table::step#0 print_word::w#2 print_byte::b#7 char_cursor#73 ] main:2::sin8u_table:7::print_word:49::print_byte:86 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 print_byte::b#7 char_cursor#73 ] main:2::sin8u_table:7::print_word:15::print_byte:88 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 ] main:2::sin8u_table:7::print_word:49::print_byte:88 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_byte::b#7 char_cursor#73 ] ) - [65] (byte) print_byte::b#7 ← phi( print_word/(byte) print_byte::b#0 print_word::@1/(byte) print_byte::b#1 sin8u_table::@10/(const byte) sin8u_table::amplitude#0 sin8u_table::@12/(const byte) sin8u_table::mid#0 sin8u_table::@19/(byte) print_byte::b#6 sin8u_table::@6/(const byte) sin8u_table::min#0 sin8u_table::@8/(const byte) sin8u_table::max#0 ) [ print_byte::b#7 char_cursor#73 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 ] main:2::sin8u_table:7::print_byte:53 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_byte::b#7 char_cursor#73 ] main:2::sin8u_table:7::print_word:15::print_byte:86 [ sin8u_table::step#0 print_word::w#2 print_byte::b#7 char_cursor#73 ] main:2::sin8u_table:7::print_word:49::print_byte:86 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 print_byte::b#7 char_cursor#73 ] main:2::sin8u_table:7::print_word:15::print_byte:88 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 ] main:2::sin8u_table:7::print_word:49::print_byte:88 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_byte::b#7 char_cursor#73 ] ) - [66] (byte~) print_byte::$0 ← (byte) print_byte::b#7 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ print_byte::b#7 char_cursor#73 print_byte::$0 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_byte::$0 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_byte::$0 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_byte::$0 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_byte::$0 ] main:2::sin8u_table:7::print_byte:53 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_byte::b#7 char_cursor#73 print_byte::$0 ] main:2::sin8u_table:7::print_word:15::print_byte:86 [ sin8u_table::step#0 print_word::w#2 print_byte::b#7 char_cursor#73 print_byte::$0 ] main:2::sin8u_table:7::print_word:49::print_byte:86 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 print_byte::b#7 char_cursor#73 print_byte::$0 ] main:2::sin8u_table:7::print_word:15::print_byte:88 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_byte::$0 ] main:2::sin8u_table:7::print_word:49::print_byte:88 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_byte::b#7 char_cursor#73 print_byte::$0 ] ) - [67] (byte) print_char::ch#0 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$0) [ print_byte::b#7 char_cursor#73 print_char::ch#0 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_char::ch#0 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_char::ch#0 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_char::ch#0 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_char::ch#0 ] main:2::sin8u_table:7::print_byte:53 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_byte::b#7 char_cursor#73 print_char::ch#0 ] main:2::sin8u_table:7::print_word:15::print_byte:86 [ sin8u_table::step#0 print_word::w#2 print_byte::b#7 char_cursor#73 print_char::ch#0 ] main:2::sin8u_table:7::print_word:49::print_byte:86 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 print_byte::b#7 char_cursor#73 print_char::ch#0 ] main:2::sin8u_table:7::print_word:15::print_byte:88 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_char::ch#0 ] main:2::sin8u_table:7::print_word:49::print_byte:88 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_byte::b#7 char_cursor#73 print_char::ch#0 ] ) - [68] call print_char param-assignment [ char_cursor#11 print_byte::b#7 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#11 print_byte::b#7 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#11 print_byte::b#7 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#11 print_byte::b#7 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#11 print_byte::b#7 ] main:2::sin8u_table:7::print_byte:53 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 print_byte::b#7 ] main:2::sin8u_table:7::print_word:15::print_byte:86 [ sin8u_table::step#0 print_word::w#2 char_cursor#11 print_byte::b#7 ] main:2::sin8u_table:7::print_word:49::print_byte:86 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 char_cursor#11 print_byte::b#7 ] main:2::sin8u_table:7::print_word:15::print_byte:88 [ sin8u_table::step#0 char_cursor#11 print_byte::b#7 ] main:2::sin8u_table:7::print_word:49::print_byte:88 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 print_byte::b#7 ] ) +print_byte: scope:[print_byte] from print_sbyte::@1 print_word print_word::@1 sin8u_table::@10 sin8u_table::@12 sin8u_table::@23 sin8u_table::@6 sin8u_table::@8 + [74] (byte*) char_cursor#97 ← phi( print_sbyte::@1/(byte*) char_cursor#94 print_word/(byte*) char_cursor#96 print_word::@1/(byte*) char_cursor#17 sin8u_table::@10/(byte*) char_cursor#2 sin8u_table::@12/(byte*) char_cursor#2 sin8u_table::@23/(byte*) char_cursor#2 sin8u_table::@6/(byte*) char_cursor#2 sin8u_table::@8/(byte*) char_cursor#2 ) [ print_byte::b#8 char_cursor#97 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 ] main:2::sin8u_table:7::print_byte:62 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 print_byte::b#8 char_cursor#97 ] main:2::sin8u_table:7::print_word:15::print_byte:103 [ sin8u_table::step#0 print_word::w#3 print_byte::b#8 char_cursor#97 ] main:2::sin8u_table:7::print_word:50::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#97 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#97 ] main:2::sin8u_table:7::print_word:15::print_byte:105 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 ] main:2::sin8u_table:7::print_word:50::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#97 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#97 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#97 ] ) + [74] (byte) print_byte::b#8 ← phi( print_sbyte::@1/(byte~) print_byte::b#10 print_word/(byte) print_byte::b#1 print_word::@1/(byte) print_byte::b#2 sin8u_table::@10/(const byte) sin8u_table::amplitude#0 sin8u_table::@12/(const byte) sin8u_table::mid#0 sin8u_table::@23/(byte) print_byte::b#7 sin8u_table::@6/(const byte) sin8u_table::min#0 sin8u_table::@8/(const byte) sin8u_table::max#0 ) [ print_byte::b#8 char_cursor#97 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 ] main:2::sin8u_table:7::print_byte:62 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 print_byte::b#8 char_cursor#97 ] main:2::sin8u_table:7::print_word:15::print_byte:103 [ sin8u_table::step#0 print_word::w#3 print_byte::b#8 char_cursor#97 ] main:2::sin8u_table:7::print_word:50::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#97 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#97 ] main:2::sin8u_table:7::print_word:15::print_byte:105 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 ] main:2::sin8u_table:7::print_word:50::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#97 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#97 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#97 ] ) + [75] (byte~) print_byte::$0 ← (byte) print_byte::b#8 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ print_byte::b#8 char_cursor#97 print_byte::$0 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 print_byte::$0 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 print_byte::$0 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 print_byte::$0 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 print_byte::$0 ] main:2::sin8u_table:7::print_byte:62 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 print_byte::b#8 char_cursor#97 print_byte::$0 ] main:2::sin8u_table:7::print_word:15::print_byte:103 [ sin8u_table::step#0 print_word::w#3 print_byte::b#8 char_cursor#97 print_byte::$0 ] main:2::sin8u_table:7::print_word:50::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#97 print_byte::$0 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#97 print_byte::$0 ] main:2::sin8u_table:7::print_word:15::print_byte:105 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 print_byte::$0 ] main:2::sin8u_table:7::print_word:50::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#97 print_byte::$0 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#97 print_byte::$0 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#97 print_byte::$0 ] ) + [76] (byte) print_char::ch#2 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$0) [ print_byte::b#8 char_cursor#97 print_char::ch#2 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 print_char::ch#2 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 print_char::ch#2 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 print_char::ch#2 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 print_char::ch#2 ] main:2::sin8u_table:7::print_byte:62 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 print_byte::b#8 char_cursor#97 print_char::ch#2 ] main:2::sin8u_table:7::print_word:15::print_byte:103 [ sin8u_table::step#0 print_word::w#3 print_byte::b#8 char_cursor#97 print_char::ch#2 ] main:2::sin8u_table:7::print_word:50::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#97 print_char::ch#2 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#97 print_char::ch#2 ] main:2::sin8u_table:7::print_word:15::print_byte:105 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 print_char::ch#2 ] main:2::sin8u_table:7::print_word:50::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#97 print_char::ch#2 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#97 print_char::ch#2 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#97 print_char::ch#2 ] ) + [77] call print_char param-assignment [ char_cursor#17 print_byte::b#8 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#17 print_byte::b#8 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#17 print_byte::b#8 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#17 print_byte::b#8 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#17 print_byte::b#8 ] main:2::sin8u_table:7::print_byte:62 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 print_byte::b#8 ] main:2::sin8u_table:7::print_word:15::print_byte:103 [ sin8u_table::step#0 print_word::w#3 char_cursor#17 print_byte::b#8 ] main:2::sin8u_table:7::print_word:50::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 print_byte::b#8 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 print_byte::b#8 ] main:2::sin8u_table:7::print_word:15::print_byte:105 [ sin8u_table::step#0 char_cursor#17 print_byte::b#8 ] main:2::sin8u_table:7::print_word:50::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_byte::b#8 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_byte::b#8 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_byte::b#8 ] ) to:print_byte::@1 print_byte::@1: scope:[print_byte] from print_byte - [69] (byte~) print_byte::$2 ← (byte) print_byte::b#7 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ char_cursor#11 print_byte::$2 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#11 print_byte::$2 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#11 print_byte::$2 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#11 print_byte::$2 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#11 print_byte::$2 ] main:2::sin8u_table:7::print_byte:53 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 print_byte::$2 ] main:2::sin8u_table:7::print_word:15::print_byte:86 [ sin8u_table::step#0 print_word::w#2 char_cursor#11 print_byte::$2 ] main:2::sin8u_table:7::print_word:49::print_byte:86 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 char_cursor#11 print_byte::$2 ] main:2::sin8u_table:7::print_word:15::print_byte:88 [ sin8u_table::step#0 char_cursor#11 print_byte::$2 ] main:2::sin8u_table:7::print_word:49::print_byte:88 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 print_byte::$2 ] ) - [70] (byte) print_char::ch#1 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$2) [ char_cursor#11 print_char::ch#1 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#11 print_char::ch#1 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#11 print_char::ch#1 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#11 print_char::ch#1 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#11 print_char::ch#1 ] main:2::sin8u_table:7::print_byte:53 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 print_char::ch#1 ] main:2::sin8u_table:7::print_word:15::print_byte:86 [ sin8u_table::step#0 print_word::w#2 char_cursor#11 print_char::ch#1 ] main:2::sin8u_table:7::print_word:49::print_byte:86 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 char_cursor#11 print_char::ch#1 ] main:2::sin8u_table:7::print_word:15::print_byte:88 [ sin8u_table::step#0 char_cursor#11 print_char::ch#1 ] main:2::sin8u_table:7::print_word:49::print_byte:88 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 print_char::ch#1 ] ) - [71] call print_char param-assignment [ char_cursor#11 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:53 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:86 [ sin8u_table::step#0 print_word::w#2 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:86 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:88 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:88 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 ] ) + [78] (byte~) print_byte::$2 ← (byte) print_byte::b#8 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ char_cursor#17 print_byte::$2 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_byte:62 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_word:15::print_byte:103 [ sin8u_table::step#0 print_word::w#3 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_word:50::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_word:15::print_byte:105 [ sin8u_table::step#0 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_word:50::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_byte::$2 ] ) + [79] (byte) print_char::ch#3 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$2) [ char_cursor#17 print_char::ch#3 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#17 print_char::ch#3 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#17 print_char::ch#3 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#17 print_char::ch#3 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#17 print_char::ch#3 ] main:2::sin8u_table:7::print_byte:62 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 print_char::ch#3 ] main:2::sin8u_table:7::print_word:15::print_byte:103 [ sin8u_table::step#0 print_word::w#3 char_cursor#17 print_char::ch#3 ] main:2::sin8u_table:7::print_word:50::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 print_char::ch#3 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 print_char::ch#3 ] main:2::sin8u_table:7::print_word:15::print_byte:105 [ sin8u_table::step#0 char_cursor#17 print_char::ch#3 ] main:2::sin8u_table:7::print_word:50::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_char::ch#3 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_char::ch#3 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_char::ch#3 ] ) + [80] call print_char param-assignment [ char_cursor#17 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:62 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:103 [ sin8u_table::step#0 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:105 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) to:print_byte::@return print_byte::@return: scope:[print_byte] from print_byte::@1 - [72] return [ char_cursor#11 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:53 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:86 [ sin8u_table::step#0 print_word::w#2 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:86 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:88 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:88 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 ] ) + [81] return [ char_cursor#17 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:62 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:103 [ sin8u_table::step#0 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:105 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) to:@return -print_char: scope:[print_char] from print_byte print_byte::@1 - [73] (byte*) char_cursor#46 ← phi( print_byte/(byte*) char_cursor#73 print_byte::@1/(byte*) char_cursor#11 ) [ print_char::ch#2 char_cursor#46 ] ( main:2::sin8u_table:7::print_byte:19::print_char:68 [ sin8u_table::step#0 print_byte::b#7 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_byte:23::print_char:68 [ sin8u_table::step#0 print_byte::b#7 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_byte:27::print_char:68 [ sin8u_table::step#0 print_byte::b#7 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_byte:31::print_char:68 [ sin8u_table::step#0 print_byte::b#7 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_byte:53::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_byte::b#7 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:15::print_byte:86::print_char:68 [ sin8u_table::step#0 print_word::w#2 print_byte::b#7 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:49::print_byte:86::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 print_byte::b#7 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:15::print_byte:88::print_char:68 [ sin8u_table::step#0 print_byte::b#7 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:49::print_byte:88::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_byte::b#7 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_byte:19::print_char:71 [ sin8u_table::step#0 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_byte:23::print_char:71 [ sin8u_table::step#0 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_byte:27::print_char:71 [ sin8u_table::step#0 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_byte:31::print_char:71 [ sin8u_table::step#0 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_byte:53::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:15::print_byte:86::print_char:71 [ sin8u_table::step#0 print_word::w#2 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:49::print_byte:86::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:15::print_byte:88::print_char:71 [ sin8u_table::step#0 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:49::print_byte:88::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_char::ch#2 char_cursor#46 ] ) - [73] (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#46 ] ( main:2::sin8u_table:7::print_byte:19::print_char:68 [ sin8u_table::step#0 print_byte::b#7 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_byte:23::print_char:68 [ sin8u_table::step#0 print_byte::b#7 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_byte:27::print_char:68 [ sin8u_table::step#0 print_byte::b#7 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_byte:31::print_char:68 [ sin8u_table::step#0 print_byte::b#7 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_byte:53::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_byte::b#7 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:15::print_byte:86::print_char:68 [ sin8u_table::step#0 print_word::w#2 print_byte::b#7 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:49::print_byte:86::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 print_byte::b#7 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:15::print_byte:88::print_char:68 [ sin8u_table::step#0 print_byte::b#7 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:49::print_byte:88::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_byte::b#7 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_byte:19::print_char:71 [ sin8u_table::step#0 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_byte:23::print_char:71 [ sin8u_table::step#0 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_byte:27::print_char:71 [ sin8u_table::step#0 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_byte:31::print_char:71 [ sin8u_table::step#0 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_byte:53::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:15::print_byte:86::print_char:71 [ sin8u_table::step#0 print_word::w#2 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:49::print_byte:86::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:15::print_byte:88::print_char:71 [ sin8u_table::step#0 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:49::print_byte:88::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_char::ch#2 char_cursor#46 ] ) - [74] *((byte*) char_cursor#46) ← (byte) print_char::ch#2 [ char_cursor#46 ] ( main:2::sin8u_table:7::print_byte:19::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_byte:23::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_byte:27::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_byte:31::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_byte:53::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_word:15::print_byte:86::print_char:68 [ sin8u_table::step#0 print_word::w#2 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_word:49::print_byte:86::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_word:15::print_byte:88::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_word:49::print_byte:88::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_byte:19::print_char:71 [ sin8u_table::step#0 char_cursor#46 ] main:2::sin8u_table:7::print_byte:23::print_char:71 [ sin8u_table::step#0 char_cursor#46 ] main:2::sin8u_table:7::print_byte:27::print_char:71 [ sin8u_table::step#0 char_cursor#46 ] main:2::sin8u_table:7::print_byte:31::print_char:71 [ sin8u_table::step#0 char_cursor#46 ] main:2::sin8u_table:7::print_byte:53::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#46 ] main:2::sin8u_table:7::print_word:15::print_byte:86::print_char:71 [ sin8u_table::step#0 print_word::w#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:49::print_byte:86::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:15::print_byte:88::print_char:71 [ sin8u_table::step#0 char_cursor#46 ] main:2::sin8u_table:7::print_word:49::print_byte:88::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#46 ] ) - [75] (byte*) char_cursor#11 ← ++ (byte*) char_cursor#46 [ char_cursor#11 ] ( main:2::sin8u_table:7::print_byte:19::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:23::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:27::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:31::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:53::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:86::print_char:68 [ sin8u_table::step#0 print_word::w#2 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:86::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:88::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:88::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:19::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:23::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:27::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:31::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:53::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:86::print_char:71 [ sin8u_table::step#0 print_word::w#2 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:86::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:88::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:88::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 ] ) +print_char: scope:[print_char] from print_byte print_byte::@1 print_sbyte::@2 print_sword::@2 + [82] (byte*) char_cursor#62 ← phi( print_byte/(byte*) char_cursor#97 print_byte::@1/(byte*) char_cursor#17 print_sbyte::@2/(byte*) char_cursor#2 print_sword::@2/(byte*) char_cursor#2 ) [ print_char::ch#4 char_cursor#62 ] ( main:2::sin8u_table:7::print_byte:19::print_char:77 [ sin8u_table::step#0 print_byte::b#8 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_byte:23::print_char:77 [ sin8u_table::step#0 print_byte::b#8 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_byte:27::print_char:77 [ sin8u_table::step#0 print_byte::b#8 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_byte:31::print_char:77 [ sin8u_table::step#0 print_byte::b#8 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_byte:62::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 print_byte::b#8 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_word:15::print_byte:103::print_char:77 [ sin8u_table::step#0 print_word::w#3 print_byte::b#8 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_word:50::print_byte:103::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_word:15::print_byte:105::print_char:77 [ sin8u_table::step#0 print_byte::b#8 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_word:50::print_byte:105::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_byte:19::print_char:80 [ sin8u_table::step#0 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_byte:23::print_char:80 [ sin8u_table::step#0 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_byte:27::print_char:80 [ sin8u_table::step#0 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_byte:31::print_char:80 [ sin8u_table::step#0 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_byte:62::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_word:15::print_byte:103::print_char:80 [ sin8u_table::step#0 print_word::w#3 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_word:50::print_byte:103::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_word:15::print_byte:105::print_char:80 [ sin8u_table::step#0 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_word:50::print_byte:105::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_sword:58::print_char:95 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_sword::w#1 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_sbyte:54::print_char:109 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_sbyte::b#1 print_char::ch#4 char_cursor#62 ] ) + [82] (byte) print_char::ch#4 ← phi( print_byte/(byte) print_char::ch#2 print_byte::@1/(byte) print_char::ch#3 print_sbyte::@2/(byte) '-' print_sword::@2/(byte) '-' ) [ print_char::ch#4 char_cursor#62 ] ( main:2::sin8u_table:7::print_byte:19::print_char:77 [ sin8u_table::step#0 print_byte::b#8 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_byte:23::print_char:77 [ sin8u_table::step#0 print_byte::b#8 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_byte:27::print_char:77 [ sin8u_table::step#0 print_byte::b#8 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_byte:31::print_char:77 [ sin8u_table::step#0 print_byte::b#8 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_byte:62::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 print_byte::b#8 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_word:15::print_byte:103::print_char:77 [ sin8u_table::step#0 print_word::w#3 print_byte::b#8 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_word:50::print_byte:103::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_word:15::print_byte:105::print_char:77 [ sin8u_table::step#0 print_byte::b#8 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_word:50::print_byte:105::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_byte:19::print_char:80 [ sin8u_table::step#0 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_byte:23::print_char:80 [ sin8u_table::step#0 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_byte:27::print_char:80 [ sin8u_table::step#0 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_byte:31::print_char:80 [ sin8u_table::step#0 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_byte:62::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_word:15::print_byte:103::print_char:80 [ sin8u_table::step#0 print_word::w#3 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_word:50::print_byte:103::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_word:15::print_byte:105::print_char:80 [ sin8u_table::step#0 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_word:50::print_byte:105::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_sword:58::print_char:95 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_sword::w#1 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_sbyte:54::print_char:109 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_sbyte::b#1 print_char::ch#4 char_cursor#62 ] ) + [83] *((byte*) char_cursor#62) ← (byte) print_char::ch#4 [ char_cursor#62 ] ( main:2::sin8u_table:7::print_byte:19::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_byte:23::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_byte:27::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_byte:31::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_byte:62::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_word:15::print_byte:103::print_char:77 [ sin8u_table::step#0 print_word::w#3 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_word:50::print_byte:103::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_word:15::print_byte:105::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_word:50::print_byte:105::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_byte:19::print_char:80 [ sin8u_table::step#0 char_cursor#62 ] main:2::sin8u_table:7::print_byte:23::print_char:80 [ sin8u_table::step#0 char_cursor#62 ] main:2::sin8u_table:7::print_byte:27::print_char:80 [ sin8u_table::step#0 char_cursor#62 ] main:2::sin8u_table:7::print_byte:31::print_char:80 [ sin8u_table::step#0 char_cursor#62 ] main:2::sin8u_table:7::print_byte:62::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#62 ] main:2::sin8u_table:7::print_word:15::print_byte:103::print_char:80 [ sin8u_table::step#0 print_word::w#3 char_cursor#62 ] main:2::sin8u_table:7::print_word:50::print_byte:103::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#62 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#62 ] main:2::sin8u_table:7::print_word:15::print_byte:105::print_char:80 [ sin8u_table::step#0 char_cursor#62 ] main:2::sin8u_table:7::print_word:50::print_byte:105::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#62 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#62 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#62 ] main:2::sin8u_table:7::print_sword:58::print_char:95 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_sword::w#1 char_cursor#62 ] main:2::sin8u_table:7::print_sbyte:54::print_char:109 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_sbyte::b#1 char_cursor#62 ] ) + [84] (byte*) char_cursor#17 ← ++ (byte*) char_cursor#62 [ char_cursor#17 ] ( main:2::sin8u_table:7::print_byte:19::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_byte:23::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_byte:27::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_byte:31::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_byte:62::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:103::print_char:77 [ sin8u_table::step#0 print_word::w#3 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:103::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:105::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:105::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_byte:19::print_char:80 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:23::print_char:80 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:27::print_char:80 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:31::print_char:80 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:62::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:103::print_char:80 [ sin8u_table::step#0 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:103::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:105::print_char:80 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:105::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_char:95 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_sword::w#1 char_cursor#17 ] main:2::sin8u_table:7::print_sbyte:54::print_char:109 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_sbyte::b#1 char_cursor#17 ] ) to:print_char::@return print_char::@return: scope:[print_char] from print_char - [76] return [ char_cursor#11 ] ( main:2::sin8u_table:7::print_byte:19::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:23::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:27::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:31::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:53::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:86::print_char:68 [ sin8u_table::step#0 print_word::w#2 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:86::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:88::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:88::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:19::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:23::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:27::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:31::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:53::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:86::print_char:71 [ sin8u_table::step#0 print_word::w#2 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:86::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:88::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:88::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 ] ) + [85] return [ char_cursor#17 ] ( main:2::sin8u_table:7::print_byte:19::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_byte:23::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_byte:27::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_byte:31::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_byte:62::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:103::print_char:77 [ sin8u_table::step#0 print_word::w#3 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:103::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:105::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:105::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_byte:19::print_char:80 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:23::print_char:80 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:27::print_char:80 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:31::print_char:80 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:62::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:103::print_char:80 [ sin8u_table::step#0 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:103::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:105::print_char:80 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:105::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_char:95 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_sword::w#1 char_cursor#17 ] main:2::sin8u_table:7::print_sbyte:54::print_char:109 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_sbyte::b#1 char_cursor#17 ] ) to:@return -print_str: scope:[print_str] from sin8u_table::@11 sin8u_table::@16 sin8u_table::@18 sin8u_table::@3 sin8u_table::@5 sin8u_table::@7 sin8u_table::@9 - [77] (byte*) char_cursor#78 ← phi( sin8u_table::@11/(byte*) char_cursor#11 sin8u_table::@16/(byte*~) char_cursor#92 sin8u_table::@18/(byte*) char_cursor#11 sin8u_table::@3/(const byte*) SCREEN#0 sin8u_table::@5/(byte*) char_cursor#11 sin8u_table::@7/(byte*) char_cursor#11 sin8u_table::@9/(byte*) char_cursor#11 ) [ print_str::str#10 char_cursor#78 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 print_str::str#10 char_cursor#78 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 print_str::str#10 char_cursor#78 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 print_str::str#10 char_cursor#78 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 print_str::str#10 char_cursor#78 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 print_str::str#10 char_cursor#78 ] main:2::sin8u_table:7::print_str:47 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_str::str#10 char_cursor#78 ] main:2::sin8u_table:7::print_str:51 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_str::str#10 char_cursor#78 ] ) - [77] (byte*) print_str::str#10 ← phi( sin8u_table::@11/(const string) sin8u_table::str4 sin8u_table::@16/(const string) sin8u_table::str5 sin8u_table::@18/(const string) sin8u_table::str6 sin8u_table::@3/(const string) sin8u_table::str sin8u_table::@5/(const string) sin8u_table::str1 sin8u_table::@7/(const string) sin8u_table::str2 sin8u_table::@9/(const string) sin8u_table::str3 ) [ print_str::str#10 char_cursor#78 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 print_str::str#10 char_cursor#78 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 print_str::str#10 char_cursor#78 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 print_str::str#10 char_cursor#78 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 print_str::str#10 char_cursor#78 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 print_str::str#10 char_cursor#78 ] main:2::sin8u_table:7::print_str:47 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_str::str#10 char_cursor#78 ] main:2::sin8u_table:7::print_str:51 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_str::str#10 char_cursor#78 ] ) +print_str: scope:[print_str] from sin8u_table::@11 sin8u_table::@16 sin8u_table::@18 sin8u_table::@20 sin8u_table::@22 sin8u_table::@3 sin8u_table::@5 sin8u_table::@7 sin8u_table::@9 + [86] (byte*) char_cursor#102 ← phi( sin8u_table::@11/(byte*) char_cursor#17 sin8u_table::@16/(byte*~) char_cursor#121 sin8u_table::@18/(byte*) char_cursor#17 sin8u_table::@20/(byte*) char_cursor#17 sin8u_table::@22/(byte*) char_cursor#17 sin8u_table::@3/(const byte*) SCREEN#0 sin8u_table::@5/(byte*) char_cursor#17 sin8u_table::@7/(byte*) char_cursor#17 sin8u_table::@9/(byte*) char_cursor#17 ) [ print_str::str#12 char_cursor#102 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 print_str::str#12 char_cursor#102 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 print_str::str#12 char_cursor#102 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 print_str::str#12 char_cursor#102 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 print_str::str#12 char_cursor#102 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 print_str::str#12 char_cursor#102 ] main:2::sin8u_table:7::print_str:48 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_str::str#12 char_cursor#102 ] main:2::sin8u_table:7::print_str:52 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_str::str#12 char_cursor#102 ] main:2::sin8u_table:7::print_str:56 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_str::str#12 char_cursor#102 ] main:2::sin8u_table:7::print_str:60 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_str::str#12 char_cursor#102 ] ) + [86] (byte*) print_str::str#12 ← phi( sin8u_table::@11/(const string) sin8u_table::str4 sin8u_table::@16/(const string) sin8u_table::str5 sin8u_table::@18/(const string) sin8u_table::str6 sin8u_table::@20/(const string) sin8u_table::str7 sin8u_table::@22/(const string) sin8u_table::str8 sin8u_table::@3/(const string) sin8u_table::str sin8u_table::@5/(const string) sin8u_table::str1 sin8u_table::@7/(const string) sin8u_table::str2 sin8u_table::@9/(const string) sin8u_table::str3 ) [ print_str::str#12 char_cursor#102 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 print_str::str#12 char_cursor#102 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 print_str::str#12 char_cursor#102 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 print_str::str#12 char_cursor#102 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 print_str::str#12 char_cursor#102 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 print_str::str#12 char_cursor#102 ] main:2::sin8u_table:7::print_str:48 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_str::str#12 char_cursor#102 ] main:2::sin8u_table:7::print_str:52 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_str::str#12 char_cursor#102 ] main:2::sin8u_table:7::print_str:56 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_str::str#12 char_cursor#102 ] main:2::sin8u_table:7::print_str:60 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_str::str#12 char_cursor#102 ] ) to:print_str::@1 print_str::@1: scope:[print_str] from print_str print_str::@2 - [78] (byte*) char_cursor#2 ← phi( print_str/(byte*) char_cursor#78 print_str::@2/(byte*) char_cursor#1 ) [ char_cursor#2 print_str::str#8 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:47 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:51 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 print_str::str#8 ] ) - [78] (byte*) print_str::str#8 ← phi( print_str/(byte*) print_str::str#10 print_str::@2/(byte*) print_str::str#0 ) [ char_cursor#2 print_str::str#8 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:47 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:51 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 print_str::str#8 ] ) - [79] if(*((byte*) print_str::str#8)!=(byte) '@') goto print_str::@2 [ char_cursor#2 print_str::str#8 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:47 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:51 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 print_str::str#8 ] ) + [87] (byte*) char_cursor#2 ← phi( print_str/(byte*) char_cursor#102 print_str::@2/(byte*) char_cursor#1 ) [ char_cursor#2 print_str::str#10 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:48 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:52 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:56 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:60 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] ) + [87] (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::sin8u_table:7::print_str:13 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:48 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:52 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:56 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:60 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] ) + [88] if(*((byte*) print_str::str#10)!=(byte) '@') goto print_str::@2 [ char_cursor#2 print_str::str#10 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:48 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:52 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:56 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:60 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] ) to:print_str::@return print_str::@return: scope:[print_str] from print_str::@1 - [80] return [ char_cursor#2 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 char_cursor#2 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 char_cursor#2 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 char_cursor#2 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 char_cursor#2 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 char_cursor#2 ] main:2::sin8u_table:7::print_str:47 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 ] main:2::sin8u_table:7::print_str:51 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 ] ) + [89] return [ char_cursor#2 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 char_cursor#2 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 char_cursor#2 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 char_cursor#2 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 char_cursor#2 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 char_cursor#2 ] main:2::sin8u_table:7::print_str:48 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] main:2::sin8u_table:7::print_str:52 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] main:2::sin8u_table:7::print_str:56 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] main:2::sin8u_table:7::print_str:60 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] ) to:@return print_str::@2: scope:[print_str] from print_str::@1 - [81] *((byte*) char_cursor#2) ← *((byte*) print_str::str#8) [ char_cursor#2 print_str::str#8 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:47 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:51 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 print_str::str#8 ] ) - [82] (byte*) char_cursor#1 ← ++ (byte*) char_cursor#2 [ print_str::str#8 char_cursor#1 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 print_str::str#8 char_cursor#1 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 print_str::str#8 char_cursor#1 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 print_str::str#8 char_cursor#1 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 print_str::str#8 char_cursor#1 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 print_str::str#8 char_cursor#1 ] main:2::sin8u_table:7::print_str:47 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_str::str#8 char_cursor#1 ] main:2::sin8u_table:7::print_str:51 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_str::str#8 char_cursor#1 ] ) - [83] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#8 [ print_str::str#0 char_cursor#1 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:47 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:51 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_str::str#0 char_cursor#1 ] ) + [90] *((byte*) char_cursor#2) ← *((byte*) print_str::str#10) [ char_cursor#2 print_str::str#10 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:48 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:52 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:56 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:60 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] ) + [91] (byte*) char_cursor#1 ← ++ (byte*) char_cursor#2 [ print_str::str#10 char_cursor#1 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 print_str::str#10 char_cursor#1 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 print_str::str#10 char_cursor#1 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 print_str::str#10 char_cursor#1 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 print_str::str#10 char_cursor#1 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 print_str::str#10 char_cursor#1 ] main:2::sin8u_table:7::print_str:48 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::sin8u_table:7::print_str:52 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::sin8u_table:7::print_str:56 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::sin8u_table:7::print_str:60 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_str::str#10 char_cursor#1 ] ) + [92] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#10 [ print_str::str#0 char_cursor#1 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:48 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:52 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:56 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:60 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_str::str#0 char_cursor#1 ] ) to:print_str::@1 -print_word: scope:[print_word] from sin8u_table::@17 sin8u_table::@4 - [84] (word) print_word::w#2 ← phi( sin8u_table::@17/(word) print_word::w#1 sin8u_table::@4/(word) print_word::w#0 ) [ char_cursor#2 print_word::w#2 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#2 print_word::w#2 ] main:2::sin8u_table:7::print_word:49 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 print_word::w#2 ] ) - [85] (byte) print_byte::b#0 ← > (word) print_word::w#2 [ char_cursor#2 print_byte::b#0 print_word::w#2 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#2 print_byte::b#0 print_word::w#2 ] main:2::sin8u_table:7::print_word:49 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 print_byte::b#0 print_word::w#2 ] ) - [86] call print_byte param-assignment [ char_cursor#11 print_word::w#2 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#11 print_word::w#2 ] main:2::sin8u_table:7::print_word:49 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 print_word::w#2 ] ) +print_sword: scope:[print_sword] from sin8u_table::@21 + [93] if((signed word) print_sword::w#1>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto print_sword::@1 [ print_sword::w#1 char_cursor#2 ] ( main:2::sin8u_table:7::print_sword:58 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_sword::w#1 char_cursor#2 ] ) + to:print_sword::@2 +print_sword::@2: scope:[print_sword] from print_sword + [94] phi() [ print_sword::w#1 char_cursor#2 ] ( main:2::sin8u_table:7::print_sword:58 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_sword::w#1 char_cursor#2 ] ) + [95] call print_char param-assignment [ print_sword::w#1 char_cursor#17 ] ( main:2::sin8u_table:7::print_sword:58 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_sword::w#1 char_cursor#17 ] ) + to:print_sword::@4 +print_sword::@4: scope:[print_sword] from print_sword::@2 + [96] (signed word) print_sword::w#0 ← - (signed word) print_sword::w#1 [ char_cursor#17 print_sword::w#0 ] ( main:2::sin8u_table:7::print_sword:58 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_sword::w#0 ] ) + to:print_sword::@1 +print_sword::@1: scope:[print_sword] from print_sword print_sword::@4 + [97] (byte*) char_cursor#92 ← phi( print_sword/(byte*) char_cursor#2 print_sword::@4/(byte*) char_cursor#17 ) [ print_sword::w#3 char_cursor#92 ] ( main:2::sin8u_table:7::print_sword:58 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_sword::w#3 char_cursor#92 ] ) + [97] (signed word) print_sword::w#3 ← phi( print_sword/(signed word) print_sword::w#1 print_sword::@4/(signed word) print_sword::w#0 ) [ print_sword::w#3 char_cursor#92 ] ( main:2::sin8u_table:7::print_sword:58 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_sword::w#3 char_cursor#92 ] ) + [98] (word~) print_word::w#5 ← (word)(signed word) print_sword::w#3 [ char_cursor#92 print_word::w#5 ] ( main:2::sin8u_table:7::print_sword:58 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#92 print_word::w#5 ] ) + [99] call print_word param-assignment [ char_cursor#17 ] ( main:2::sin8u_table:7::print_sword:58 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) + to:print_sword::@return +print_sword::@return: scope:[print_sword] from print_sword::@1 + [100] return [ char_cursor#17 ] ( main:2::sin8u_table:7::print_sword:58 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) + to:@return +print_word: scope:[print_word] from print_sword::@1 sin8u_table::@17 sin8u_table::@4 + [101] (byte*) char_cursor#96 ← phi( print_sword::@1/(byte*) char_cursor#92 sin8u_table::@17/(byte*) char_cursor#2 sin8u_table::@4/(byte*) char_cursor#2 ) [ char_cursor#96 print_word::w#3 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#96 print_word::w#3 ] main:2::sin8u_table:7::print_word:50 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#96 print_word::w#3 ] main:2::sin8u_table:7::print_sword:58::print_word:99 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#96 print_word::w#3 ] ) + [101] (word) print_word::w#3 ← phi( print_sword::@1/(word~) print_word::w#5 sin8u_table::@17/(word) print_word::w#2 sin8u_table::@4/(word) print_word::w#1 ) [ char_cursor#96 print_word::w#3 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#96 print_word::w#3 ] main:2::sin8u_table:7::print_word:50 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#96 print_word::w#3 ] main:2::sin8u_table:7::print_sword:58::print_word:99 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#96 print_word::w#3 ] ) + [102] (byte) print_byte::b#1 ← > (word) print_word::w#3 [ print_byte::b#1 char_cursor#96 print_word::w#3 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 print_byte::b#1 char_cursor#96 print_word::w#3 ] main:2::sin8u_table:7::print_word:50 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#1 char_cursor#96 print_word::w#3 ] main:2::sin8u_table:7::print_sword:58::print_word:99 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#1 char_cursor#96 print_word::w#3 ] ) + [103] call print_byte param-assignment [ char_cursor#17 print_word::w#3 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#17 print_word::w#3 ] main:2::sin8u_table:7::print_word:50 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_word::w#3 ] main:2::sin8u_table:7::print_sword:58::print_word:99 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_word::w#3 ] ) to:print_word::@1 print_word::@1: scope:[print_word] from print_word - [87] (byte) print_byte::b#1 ← < (word) print_word::w#2 [ char_cursor#11 print_byte::b#1 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#11 print_byte::b#1 ] main:2::sin8u_table:7::print_word:49 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 print_byte::b#1 ] ) - [88] call print_byte param-assignment [ char_cursor#11 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_word:49 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 ] ) + [104] (byte) print_byte::b#2 ← < (word) print_word::w#3 [ char_cursor#17 print_byte::b#2 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#17 print_byte::b#2 ] main:2::sin8u_table:7::print_word:50 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_byte::b#2 ] main:2::sin8u_table:7::print_sword:58::print_word:99 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_byte::b#2 ] ) + [105] call print_byte param-assignment [ char_cursor#17 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_word:50 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) to:print_word::@return print_word::@return: scope:[print_word] from print_word::@1 - [89] return [ char_cursor#11 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_word:49 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 ] ) + [106] return [ char_cursor#17 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_word:50 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) + to:@return +print_sbyte: scope:[print_sbyte] from sin8u_table::@19 + [107] if((signed byte) print_sbyte::b#1>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto print_sbyte::@1 [ print_sbyte::b#1 char_cursor#2 ] ( main:2::sin8u_table:7::print_sbyte:54 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_sbyte::b#1 char_cursor#2 ] ) + to:print_sbyte::@2 +print_sbyte::@2: scope:[print_sbyte] from print_sbyte + [108] phi() [ print_sbyte::b#1 char_cursor#2 ] ( main:2::sin8u_table:7::print_sbyte:54 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_sbyte::b#1 char_cursor#2 ] ) + [109] call print_char param-assignment [ print_sbyte::b#1 char_cursor#17 ] ( main:2::sin8u_table:7::print_sbyte:54 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_sbyte::b#1 char_cursor#17 ] ) + to:print_sbyte::@4 +print_sbyte::@4: scope:[print_sbyte] from print_sbyte::@2 + [110] (signed byte) print_sbyte::b#0 ← - (signed byte) print_sbyte::b#1 [ char_cursor#17 print_sbyte::b#0 ] ( main:2::sin8u_table:7::print_sbyte:54 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_sbyte::b#0 ] ) + to:print_sbyte::@1 +print_sbyte::@1: scope:[print_sbyte] from print_sbyte print_sbyte::@4 + [111] (byte*) char_cursor#94 ← phi( print_sbyte/(byte*) char_cursor#2 print_sbyte::@4/(byte*) char_cursor#17 ) [ char_cursor#94 print_sbyte::b#3 ] ( main:2::sin8u_table:7::print_sbyte:54 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#94 print_sbyte::b#3 ] ) + [111] (signed byte) print_sbyte::b#3 ← phi( print_sbyte/(signed byte) print_sbyte::b#1 print_sbyte::@4/(signed byte) print_sbyte::b#0 ) [ char_cursor#94 print_sbyte::b#3 ] ( main:2::sin8u_table:7::print_sbyte:54 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#94 print_sbyte::b#3 ] ) + [112] (byte~) print_byte::b#10 ← (byte)(signed byte) print_sbyte::b#3 [ print_byte::b#10 char_cursor#94 ] ( main:2::sin8u_table:7::print_sbyte:54 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#10 char_cursor#94 ] ) + [113] call print_byte param-assignment [ char_cursor#17 ] ( main:2::sin8u_table:7::print_sbyte:54 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) + to:print_sbyte::@return +print_sbyte::@return: scope:[print_sbyte] from print_sbyte::@1 + [114] return [ char_cursor#17 ] ( main:2::sin8u_table:7::print_sbyte:54 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) to:@return mul8su: scope:[mul8su] from sin8u_table::@15 - [90] (byte~) mul8u::a#8 ← (byte)(signed byte) mul8su::a#0 [ mul8su::a#0 mul8u::a#8 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::a#8 ] ) - [91] call mul8u param-assignment [ mul8su::a#0 mul8u::res#2 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::res#2 ] ) - [92] (word) mul8u::return#2 ← (word) mul8u::res#2 [ mul8su::a#0 mul8u::return#2 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::return#2 ] ) + [115] (byte~) mul8u::a#8 ← (byte)(signed byte) mul8su::a#0 [ mul8su::a#0 mul8u::a#8 ] ( main:2::sin8u_table:7::mul8su:40 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::a#8 ] ) + [116] call mul8u param-assignment [ mul8su::a#0 mul8u::res#2 ] ( main:2::sin8u_table:7::mul8su:40 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::res#2 ] ) + [117] (word) mul8u::return#2 ← (word) mul8u::res#2 [ mul8su::a#0 mul8u::return#2 ] ( main:2::sin8u_table:7::mul8su:40 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::return#2 ] ) to:mul8su::@4 mul8su::@4: scope:[mul8su] from mul8su - [93] (word) mul8su::m#0 ← (word) mul8u::return#2 [ mul8su::a#0 mul8su::m#0 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8su::m#0 ] ) - [94] if((signed byte) mul8su::a#0>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8su::@1 [ mul8su::m#0 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::m#0 ] ) + [118] (word) mul8su::m#0 ← (word) mul8u::return#2 [ mul8su::a#0 mul8su::m#0 ] ( main:2::sin8u_table:7::mul8su:40 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8su::m#0 ] ) + [119] if((signed byte) mul8su::a#0>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8su::@1 [ mul8su::m#0 ] ( main:2::sin8u_table:7::mul8su:40 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::m#0 ] ) to:mul8su::@2 mul8su::@2: scope:[mul8su] from mul8su::@4 - [95] (byte~) mul8su::$6 ← > (word) mul8su::m#0 [ mul8su::m#0 mul8su::$6 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::m#0 mul8su::$6 ] ) - [96] (byte/signed byte/word/signed word/dword/signed dword~) mul8su::$10 ← (byte~) mul8su::$6 - ((byte))(const byte) sin8u_table::amplitude#0 [ mul8su::m#0 mul8su::$10 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::m#0 mul8su::$10 ] ) - [97] (word) mul8su::m#1 ← (word) mul8su::m#0 hi= (byte/signed byte/word/signed word/dword/signed dword~) mul8su::$10 [ mul8su::m#1 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::m#1 ] ) + [120] (byte~) mul8su::$6 ← > (word) mul8su::m#0 [ mul8su::m#0 mul8su::$6 ] ( main:2::sin8u_table:7::mul8su:40 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::m#0 mul8su::$6 ] ) + [121] (byte/signed byte/word/signed word/dword/signed dword~) mul8su::$10 ← (byte~) mul8su::$6 - ((byte))(const byte) mul8su::b#0 [ mul8su::m#0 mul8su::$10 ] ( main:2::sin8u_table:7::mul8su:40 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::m#0 mul8su::$10 ] ) + [122] (word) mul8su::m#1 ← (word) mul8su::m#0 hi= (byte/signed byte/word/signed word/dword/signed dword~) mul8su::$10 [ mul8su::m#1 ] ( main:2::sin8u_table:7::mul8su:40 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::m#1 ] ) to:mul8su::@1 mul8su::@1: scope:[mul8su] from mul8su::@2 mul8su::@4 - [98] (word) mul8su::m#2 ← phi( mul8su::@2/(word) mul8su::m#1 mul8su::@4/(word) mul8su::m#0 ) [ mul8su::m#2 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::m#2 ] ) + [123] (word) mul8su::m#2 ← phi( mul8su::@2/(word) mul8su::m#1 mul8su::@4/(word) mul8su::m#0 ) [ mul8su::m#2 ] ( main:2::sin8u_table:7::mul8su:40 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::m#2 ] ) to:mul8su::@return mul8su::@return: scope:[mul8su] from mul8su::@1 - [99] return [ mul8su::m#2 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::m#2 ] ) + [124] return [ mul8su::m#2 ] ( main:2::sin8u_table:7::mul8su:40 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::m#2 ] ) to:@return mul8u: scope:[mul8u] from mul8su mulu8_sel - [100] (byte) mul8u::a#6 ← phi( mul8su/(byte~) mul8u::a#8 mulu8_sel/(byte) mul8u::a#2 ) [ mul8u::b#2 mul8u::a#6 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::b#2 mul8u::a#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::b#2 mul8u::a#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::b#2 mul8u::a#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::b#2 mul8u::a#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::b#2 mul8u::a#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::b#2 mul8u::a#6 ] ) - [100] (byte) mul8u::b#2 ← phi( mul8su/((byte))(const byte) sin8u_table::amplitude#0 mulu8_sel/(byte) mul8u::b#1 ) [ mul8u::b#2 mul8u::a#6 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::b#2 mul8u::a#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::b#2 mul8u::a#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::b#2 mul8u::a#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::b#2 mul8u::a#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::b#2 mul8u::a#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::b#2 mul8u::a#6 ] ) - [101] (word) mul8u::mb#0 ← ((word)) (byte) mul8u::b#2 [ mul8u::a#6 mul8u::mb#0 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] ) + [125] (byte) mul8u::a#6 ← phi( mul8su/(byte~) mul8u::a#8 mulu8_sel/(byte) mul8u::a#2 ) [ mul8u::b#2 mul8u::a#6 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::b#2 mul8u::a#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::b#2 mul8u::a#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::b#2 mul8u::a#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::b#2 mul8u::a#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::b#2 mul8u::a#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::b#2 mul8u::a#6 ] ) + [125] (byte) mul8u::b#2 ← phi( mul8su/((byte))(const byte) mul8su::b#0 mulu8_sel/(byte) mul8u::b#1 ) [ mul8u::b#2 mul8u::a#6 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::b#2 mul8u::a#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::b#2 mul8u::a#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::b#2 mul8u::a#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::b#2 mul8u::a#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::b#2 mul8u::a#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::b#2 mul8u::a#6 ] ) + [126] (word) mul8u::mb#0 ← ((word)) (byte) mul8u::b#2 [ mul8u::a#6 mul8u::mb#0 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] ) to:mul8u::@1 mul8u::@1: scope:[mul8u] from mul8u mul8u::@4 - [102] (word) mul8u::mb#2 ← phi( mul8u/(word) mul8u::mb#0 mul8u::@4/(word) mul8u::mb#1 ) [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ) - [102] (word) mul8u::res#2 ← phi( mul8u/(byte/signed byte/word/signed word/dword/signed dword) 0 mul8u::@4/(word) mul8u::res#6 ) [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ) - [102] (byte) mul8u::a#3 ← phi( mul8u/(byte) mul8u::a#6 mul8u::@4/(byte) mul8u::a#0 ) [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ) - [103] if((byte) mul8u::a#3!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@2 [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ) + [127] (word) mul8u::mb#2 ← phi( mul8u/(word) mul8u::mb#0 mul8u::@4/(word) mul8u::mb#1 ) [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ) + [127] (word) mul8u::res#2 ← phi( mul8u/(byte/signed byte/word/signed word/dword/signed dword) 0 mul8u::@4/(word) mul8u::res#6 ) [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ) + [127] (byte) mul8u::a#3 ← phi( mul8u/(byte) mul8u::a#6 mul8u::@4/(byte) mul8u::a#0 ) [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ) + [128] if((byte) mul8u::a#3!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@2 [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ) to:mul8u::@return mul8u::@return: scope:[mul8u] from mul8u::@1 - [104] return [ mul8u::res#2 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::res#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 ] ) + [129] return [ mul8u::res#2 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::res#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 ] ) to:@return mul8u::@2: scope:[mul8u] from mul8u::@1 - [105] (byte~) mul8u::$1 ← (byte) mul8u::a#3 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] ) - [106] if((byte~) mul8u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@4 [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ) + [130] (byte~) mul8u::$1 ← (byte) mul8u::a#3 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] ) + [131] if((byte~) mul8u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@4 [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ) to:mul8u::@7 mul8u::@7: scope:[mul8u] from mul8u::@2 - [107] (word) mul8u::res#1 ← (word) mul8u::res#2 + (word) mul8u::mb#2 [ mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] ) + [132] (word) mul8u::res#1 ← (word) mul8u::res#2 + (word) mul8u::mb#2 [ mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] ) to:mul8u::@4 mul8u::@4: scope:[mul8u] from mul8u::@2 mul8u::@7 - [108] (word) mul8u::res#6 ← phi( mul8u::@2/(word) mul8u::res#2 mul8u::@7/(word) mul8u::res#1 ) [ mul8u::a#3 mul8u::mb#2 mul8u::res#6 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::a#3 mul8u::mb#2 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#6 ] ) - [109] (byte) mul8u::a#0 ← (byte) mul8u::a#3 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] ) - [110] (word) mul8u::mb#1 ← (word) mul8u::mb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] ) + [133] (word) mul8u::res#6 ← phi( mul8u::@2/(word) mul8u::res#2 mul8u::@7/(word) mul8u::res#1 ) [ mul8u::a#3 mul8u::mb#2 mul8u::res#6 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::a#3 mul8u::mb#2 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#6 ] ) + [134] (byte) mul8u::a#0 ← (byte) mul8u::a#3 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] ) + [135] (word) mul8u::mb#1 ← (word) mul8u::mb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] ) to:mul8u::@1 sin8s: scope:[sin8s] from sin8u_table::@1 - [111] if((word) sin8s::x#2<(const word) PI_u4f12#0) goto sin8s::@1 [ sin8s::x#2 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::x#2 ] ) + [136] if((word) sin8s::x#2<(const word) PI_u4f12#0) goto sin8s::@1 [ sin8s::x#2 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::x#2 ] ) to:sin8s::@5 sin8s::@5: scope:[sin8s] from sin8s - [112] (word) sin8s::x#0 ← (word) sin8s::x#2 - (const word) PI_u4f12#0 [ sin8s::x#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::x#0 ] ) + [137] (word) sin8s::x#0 ← (word) sin8s::x#2 - (const word) PI_u4f12#0 [ sin8s::x#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::x#0 ] ) to:sin8s::@1 sin8s::@1: scope:[sin8s] from sin8s sin8s::@5 - [113] (byte) sin8s::isUpper#10 ← phi( sin8s/(byte/signed byte/word/signed word/dword/signed dword) 0 sin8s::@5/(byte/signed byte/word/signed word/dword/signed dword) 1 ) [ sin8s::x#4 sin8s::isUpper#10 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::x#4 sin8s::isUpper#10 ] ) - [113] (word) sin8s::x#4 ← phi( sin8s/(word) sin8s::x#2 sin8s::@5/(word) sin8s::x#0 ) [ sin8s::x#4 sin8s::isUpper#10 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::x#4 sin8s::isUpper#10 ] ) - [114] if((word) sin8s::x#4<(const word) PI_HALF_u4f12#0) goto sin8s::@2 [ sin8s::x#4 sin8s::isUpper#10 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::x#4 sin8s::isUpper#10 ] ) + [138] (byte) sin8s::isUpper#10 ← phi( sin8s/(byte/signed byte/word/signed word/dword/signed dword) 0 sin8s::@5/(byte/signed byte/word/signed word/dword/signed dword) 1 ) [ sin8s::x#4 sin8s::isUpper#10 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::x#4 sin8s::isUpper#10 ] ) + [138] (word) sin8s::x#4 ← phi( sin8s/(word) sin8s::x#2 sin8s::@5/(word) sin8s::x#0 ) [ sin8s::x#4 sin8s::isUpper#10 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::x#4 sin8s::isUpper#10 ] ) + [139] if((word) sin8s::x#4<(const word) PI_HALF_u4f12#0) goto sin8s::@2 [ sin8s::x#4 sin8s::isUpper#10 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::x#4 sin8s::isUpper#10 ] ) to:sin8s::@6 sin8s::@6: scope:[sin8s] from sin8s::@1 - [115] (word) sin8s::x#1 ← (const word) PI_u4f12#0 - (word) sin8s::x#4 [ sin8s::isUpper#10 sin8s::x#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x#1 ] ) + [140] (word) sin8s::x#1 ← (const word) PI_u4f12#0 - (word) sin8s::x#4 [ sin8s::isUpper#10 sin8s::x#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x#1 ] ) to:sin8s::@2 sin8s::@2: scope:[sin8s] from sin8s::@1 sin8s::@6 - [116] (word) sin8s::x#6 ← phi( sin8s::@1/(word) sin8s::x#4 sin8s::@6/(word) sin8s::x#1 ) [ sin8s::isUpper#10 sin8s::x#6 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x#6 ] ) - [117] (word~) sin8s::$6 ← (word) sin8s::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin8s::isUpper#10 sin8s::$6 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::$6 ] ) - [118] (byte) sin8s::x1#0 ← > (word~) sin8s::$6 [ sin8s::isUpper#10 sin8s::x1#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 ] ) - [119] (byte) mulu8_sel::v1#0 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 ] ) - [120] (byte) mulu8_sel::v2#0 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 mulu8_sel::v2#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 mulu8_sel::v2#0 ] ) - [121] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ) - [122] (byte) mulu8_sel::return#0 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#0 ] ) + [141] (word) sin8s::x#6 ← phi( sin8s::@1/(word) sin8s::x#4 sin8s::@6/(word) sin8s::x#1 ) [ sin8s::isUpper#10 sin8s::x#6 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x#6 ] ) + [142] (word~) sin8s::$6 ← (word) sin8s::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin8s::isUpper#10 sin8s::$6 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::$6 ] ) + [143] (byte) sin8s::x1#0 ← > (word~) sin8s::$6 [ sin8s::isUpper#10 sin8s::x1#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 ] ) + [144] (byte) mulu8_sel::v1#0 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 ] ) + [145] (byte) mulu8_sel::v2#0 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 mulu8_sel::v2#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 mulu8_sel::v2#0 ] ) + [146] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ) + [147] (byte) mulu8_sel::return#0 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#0 ] ) to:sin8s::@10 sin8s::@10: scope:[sin8s] from sin8s::@2 - [123] (byte) sin8s::x2#0 ← (byte) mulu8_sel::return#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x2#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x2#0 ] ) - [124] (byte) mulu8_sel::v1#1 ← (byte) sin8s::x2#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 ] ) - [125] (byte) mulu8_sel::v2#1 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 mulu8_sel::v2#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 mulu8_sel::v2#1 ] ) - [126] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ) - [127] (byte) mulu8_sel::return#1 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#1 ] ) + [148] (byte) sin8s::x2#0 ← (byte) mulu8_sel::return#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x2#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x2#0 ] ) + [149] (byte) mulu8_sel::v1#1 ← (byte) sin8s::x2#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 ] ) + [150] (byte) mulu8_sel::v2#1 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 mulu8_sel::v2#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 mulu8_sel::v2#1 ] ) + [151] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ) + [152] (byte) mulu8_sel::return#1 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#1 ] ) to:sin8s::@11 sin8s::@11: scope:[sin8s] from sin8s::@10 - [128] (byte) sin8s::x3#0 ← (byte) mulu8_sel::return#1 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 ] ) - [129] (byte) mulu8_sel::v1#2 ← (byte) sin8s::x3#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#2 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#2 ] ) - [130] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::x3#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::x3#0 ] ) - [131] (byte) mulu8_sel::return#2 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#2 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#2 ] ) + [153] (byte) sin8s::x3#0 ← (byte) mulu8_sel::return#1 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 ] ) + [154] (byte) mulu8_sel::v1#2 ← (byte) sin8s::x3#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#2 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#2 ] ) + [155] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::x3#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::x3#0 ] ) + [156] (byte) mulu8_sel::return#2 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#2 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#2 ] ) to:sin8s::@12 sin8s::@12: scope:[sin8s] from sin8s::@11 - [132] (byte) sin8s::x3_6#0 ← (byte) mulu8_sel::return#2 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::x3_6#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::x3_6#0 ] ) - [133] (byte) sin8s::usinx#0 ← (byte) sin8s::x1#0 - (byte) sin8s::x3_6#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::usinx#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::usinx#0 ] ) - [134] (byte) mulu8_sel::v1#3 ← (byte) sin8s::x3#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 ] ) - [135] (byte) mulu8_sel::v2#3 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 mulu8_sel::v2#3 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 mulu8_sel::v2#3 ] ) - [136] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::usinx#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::usinx#0 ] ) - [137] (byte) mulu8_sel::return#10 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#10 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#10 ] ) + [157] (byte) sin8s::x3_6#0 ← (byte) mulu8_sel::return#2 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::x3_6#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::x3_6#0 ] ) + [158] (byte) sin8s::usinx#0 ← (byte) sin8s::x1#0 - (byte) sin8s::x3_6#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::usinx#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::usinx#0 ] ) + [159] (byte) mulu8_sel::v1#3 ← (byte) sin8s::x3#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 ] ) + [160] (byte) mulu8_sel::v2#3 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 mulu8_sel::v2#3 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 mulu8_sel::v2#3 ] ) + [161] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::usinx#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::usinx#0 ] ) + [162] (byte) mulu8_sel::return#10 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#10 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#10 ] ) to:sin8s::@13 sin8s::@13: scope:[sin8s] from sin8s::@12 - [138] (byte) sin8s::x4#0 ← (byte) mulu8_sel::return#10 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 sin8s::x4#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 sin8s::x4#0 ] ) - [139] (byte) mulu8_sel::v1#4 ← (byte) sin8s::x4#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#4 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#4 ] ) - [140] (byte) mulu8_sel::v2#4 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v1#4 mulu8_sel::v2#4 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v1#4 mulu8_sel::v2#4 ] ) - [141] call mulu8_sel param-assignment [ sin8s::isUpper#10 mulu8_sel::return#12 sin8s::usinx#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 mulu8_sel::return#12 sin8s::usinx#0 ] ) - [142] (byte) mulu8_sel::return#11 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#11 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#11 ] ) + [163] (byte) sin8s::x4#0 ← (byte) mulu8_sel::return#10 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 sin8s::x4#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 sin8s::x4#0 ] ) + [164] (byte) mulu8_sel::v1#4 ← (byte) sin8s::x4#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#4 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#4 ] ) + [165] (byte) mulu8_sel::v2#4 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v1#4 mulu8_sel::v2#4 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v1#4 mulu8_sel::v2#4 ] ) + [166] call mulu8_sel param-assignment [ sin8s::isUpper#10 mulu8_sel::return#12 sin8s::usinx#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 mulu8_sel::return#12 sin8s::usinx#0 ] ) + [167] (byte) mulu8_sel::return#11 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#11 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#11 ] ) to:sin8s::@14 sin8s::@14: scope:[sin8s] from sin8s::@13 - [143] (byte) sin8s::x5#0 ← (byte) mulu8_sel::return#11 [ sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5#0 ] ) - [144] (byte) sin8s::x5_128#0 ← (byte) sin8s::x5#0 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5_128#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5_128#0 ] ) - [145] (byte) sin8s::usinx#1 ← (byte) sin8s::usinx#0 + (byte) sin8s::x5_128#0 [ sin8s::isUpper#10 sin8s::usinx#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#1 ] ) - [146] if((byte) sin8s::usinx#1<(byte/word/signed word/dword/signed dword) 128) goto sin8s::@3 [ sin8s::isUpper#10 sin8s::usinx#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#1 ] ) + [168] (byte) sin8s::x5#0 ← (byte) mulu8_sel::return#11 [ sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5#0 ] ) + [169] (byte) sin8s::x5_128#0 ← (byte) sin8s::x5#0 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5_128#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5_128#0 ] ) + [170] (byte) sin8s::usinx#1 ← (byte) sin8s::usinx#0 + (byte) sin8s::x5_128#0 [ sin8s::isUpper#10 sin8s::usinx#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#1 ] ) + [171] if((byte) sin8s::usinx#1<(byte/word/signed word/dword/signed dword) 128) goto sin8s::@3 [ sin8s::isUpper#10 sin8s::usinx#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#1 ] ) to:sin8s::@7 sin8s::@7: scope:[sin8s] from sin8s::@14 - [147] (byte) sin8s::usinx#2 ← -- (byte) sin8s::usinx#1 [ sin8s::isUpper#10 sin8s::usinx#2 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#2 ] ) + [172] (byte) sin8s::usinx#2 ← -- (byte) sin8s::usinx#1 [ sin8s::isUpper#10 sin8s::usinx#2 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#2 ] ) to:sin8s::@3 sin8s::@3: scope:[sin8s] from sin8s::@14 sin8s::@7 - [148] (byte) sin8s::usinx#4 ← phi( sin8s::@14/(byte) sin8s::usinx#1 sin8s::@7/(byte) sin8s::usinx#2 ) [ sin8s::isUpper#10 sin8s::usinx#4 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#4 ] ) - [149] if((byte) sin8s::isUpper#10==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin8s::@18 [ sin8s::usinx#4 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::usinx#4 ] ) + [173] (byte) sin8s::usinx#4 ← phi( sin8s::@14/(byte) sin8s::usinx#1 sin8s::@7/(byte) sin8s::usinx#2 ) [ sin8s::isUpper#10 sin8s::usinx#4 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#4 ] ) + [174] if((byte) sin8s::isUpper#10==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin8s::@18 [ sin8s::usinx#4 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::usinx#4 ] ) to:sin8s::@8 sin8s::@8: scope:[sin8s] from sin8s::@3 - [150] (signed byte) sin8s::sinx#1 ← - (signed byte)(byte) sin8s::usinx#4 [ sin8s::sinx#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::sinx#1 ] ) + [175] (signed byte) sin8s::sinx#1 ← - (signed byte)(byte) sin8s::usinx#4 [ sin8s::sinx#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::sinx#1 ] ) to:sin8s::@4 sin8s::@4: scope:[sin8s] from sin8s::@18 sin8s::@8 - [151] (signed byte) sin8s::return#0 ← phi( sin8s::@18/(signed byte~) sin8s::return#5 sin8s::@8/(signed byte) sin8s::sinx#1 ) [ sin8s::return#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::return#0 ] ) + [176] (signed byte) sin8s::return#0 ← phi( sin8s::@18/(signed byte~) sin8s::return#5 sin8s::@8/(signed byte) sin8s::sinx#1 ) [ sin8s::return#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::return#0 ] ) to:sin8s::@return sin8s::@return: scope:[sin8s] from sin8s::@4 - [152] return [ sin8s::return#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::return#0 ] ) + [177] return [ sin8s::return#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::return#0 ] ) to:@return sin8s::@18: scope:[sin8s] from sin8s::@3 - [153] (signed byte~) sin8s::return#5 ← (signed byte)(byte) sin8s::usinx#4 [ sin8s::return#5 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::return#5 ] ) + [178] (signed byte~) sin8s::return#5 ← (signed byte)(byte) sin8s::usinx#4 [ sin8s::return#5 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::return#5 ] ) to:sin8s::@4 mulu8_sel: scope:[mulu8_sel] from sin8s::@10 sin8s::@11 sin8s::@12 sin8s::@13 sin8s::@2 - [154] (byte) mulu8_sel::select#5 ← phi( sin8s::@10/(byte/signed byte/word/signed word/dword/signed dword) 1 sin8s::@11/(byte/signed byte/word/signed word/dword/signed dword) 1 sin8s::@12/(byte/signed byte/word/signed word/dword/signed dword) 0 sin8s::@13/(byte/signed byte/word/signed word/dword/signed dword) 0 sin8s::@2/(byte/signed byte/word/signed word/dword/signed dword) 0 ) [ mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] ) - [154] (byte) mulu8_sel::v2#5 ← phi( sin8s::@10/(byte) mulu8_sel::v2#1 sin8s::@11/(const byte) sin8s::DIV_6#0 sin8s::@12/(byte) mulu8_sel::v2#3 sin8s::@13/(byte) mulu8_sel::v2#4 sin8s::@2/(byte) mulu8_sel::v2#0 ) [ mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] ) - [154] (byte) mulu8_sel::v1#5 ← phi( sin8s::@10/(byte) mulu8_sel::v1#1 sin8s::@11/(byte) mulu8_sel::v1#2 sin8s::@12/(byte) mulu8_sel::v1#3 sin8s::@13/(byte) mulu8_sel::v1#4 sin8s::@2/(byte) mulu8_sel::v1#0 ) [ mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] ) - [155] (byte) mul8u::a#2 ← (byte) mulu8_sel::v1#5 [ mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] ) - [156] (byte) mul8u::b#1 ← (byte) mulu8_sel::v2#5 [ mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] ) - [157] call mul8u param-assignment [ mul8u::res#2 mulu8_sel::select#5 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::res#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::res#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mul8u::res#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mul8u::res#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mul8u::res#2 mulu8_sel::select#5 ] ) - [158] (word) mul8u::return#3 ← (word) mul8u::res#2 [ mulu8_sel::select#5 mul8u::return#3 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::return#3 ] ) + [179] (byte) mulu8_sel::select#5 ← phi( sin8s::@10/(byte/signed byte/word/signed word/dword/signed dword) 1 sin8s::@11/(byte/signed byte/word/signed word/dword/signed dword) 1 sin8s::@12/(byte/signed byte/word/signed word/dword/signed dword) 0 sin8s::@13/(byte/signed byte/word/signed word/dword/signed dword) 0 sin8s::@2/(byte/signed byte/word/signed word/dword/signed dword) 0 ) [ mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:146 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] ) + [179] (byte) mulu8_sel::v2#5 ← phi( sin8s::@10/(byte) mulu8_sel::v2#1 sin8s::@11/(const byte) sin8s::DIV_6#0 sin8s::@12/(byte) mulu8_sel::v2#3 sin8s::@13/(byte) mulu8_sel::v2#4 sin8s::@2/(byte) mulu8_sel::v2#0 ) [ mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:146 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] ) + [179] (byte) mulu8_sel::v1#5 ← phi( sin8s::@10/(byte) mulu8_sel::v1#1 sin8s::@11/(byte) mulu8_sel::v1#2 sin8s::@12/(byte) mulu8_sel::v1#3 sin8s::@13/(byte) mulu8_sel::v1#4 sin8s::@2/(byte) mulu8_sel::v1#0 ) [ mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:146 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] ) + [180] (byte) mul8u::a#2 ← (byte) mulu8_sel::v1#5 [ mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:146 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] ) + [181] (byte) mul8u::b#1 ← (byte) mulu8_sel::v2#5 [ mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:146 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] ) + [182] call mul8u param-assignment [ mul8u::res#2 mulu8_sel::select#5 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:146 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::res#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::res#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mul8u::res#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mul8u::res#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mul8u::res#2 mulu8_sel::select#5 ] ) + [183] (word) mul8u::return#3 ← (word) mul8u::res#2 [ mulu8_sel::select#5 mul8u::return#3 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:146 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::return#3 ] ) to:mulu8_sel::@2 mulu8_sel::@2: scope:[mulu8_sel] from mulu8_sel - [159] (word~) mulu8_sel::$0 ← (word) mul8u::return#3 [ mulu8_sel::select#5 mulu8_sel::$0 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mulu8_sel::$0 ] ) - [160] (word~) mulu8_sel::$1 ← (word~) mulu8_sel::$0 << (byte) mulu8_sel::select#5 [ mulu8_sel::$1 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::$1 ] ) - [161] (byte) mulu8_sel::return#12 ← > (word~) mulu8_sel::$1 [ mulu8_sel::return#12 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#12 ] ) + [184] (word~) mulu8_sel::$0 ← (word) mul8u::return#3 [ mulu8_sel::select#5 mulu8_sel::$0 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:146 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mulu8_sel::$0 ] ) + [185] (word~) mulu8_sel::$1 ← (word~) mulu8_sel::$0 << (byte) mulu8_sel::select#5 [ mulu8_sel::$1 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:146 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::$1 ] ) + [186] (byte) mulu8_sel::return#12 ← > (word~) mulu8_sel::$1 [ mulu8_sel::return#12 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:146 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#12 ] ) to:mulu8_sel::@return mulu8_sel::@return: scope:[mulu8_sel] from mulu8_sel::@2 - [162] return [ mulu8_sel::return#12 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#12 ] ) + [187] return [ mulu8_sel::return#12 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:146 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#12 ] ) to:@return div16u: scope:[div16u] from sin8u_table - [163] phi() [ ] ( main:2::sin8u_table:7::div16u:10 [ ] ) - [164] call divr16u param-assignment [ divr16u::return#0 ] ( main:2::sin8u_table:7::div16u:10 [ divr16u::return#0 ] ) - [165] (word) divr16u::return#2 ← (word) divr16u::return#0 [ divr16u::return#2 ] ( main:2::sin8u_table:7::div16u:10 [ divr16u::return#2 ] ) + [188] phi() [ ] ( main:2::sin8u_table:7::div16u:10 [ ] ) + [189] call divr16u param-assignment [ divr16u::return#0 ] ( main:2::sin8u_table:7::div16u:10 [ divr16u::return#0 ] ) + [190] (word) divr16u::return#2 ← (word) divr16u::return#0 [ divr16u::return#2 ] ( main:2::sin8u_table:7::div16u:10 [ divr16u::return#2 ] ) to:div16u::@2 div16u::@2: scope:[div16u] from div16u - [166] (word) div16u::return#0 ← (word) divr16u::return#2 [ div16u::return#0 ] ( main:2::sin8u_table:7::div16u:10 [ div16u::return#0 ] ) + [191] (word) div16u::return#0 ← (word) divr16u::return#2 [ div16u::return#0 ] ( main:2::sin8u_table:7::div16u:10 [ div16u::return#0 ] ) to:div16u::@return div16u::@return: scope:[div16u] from div16u::@2 - [167] return [ div16u::return#0 ] ( main:2::sin8u_table:7::div16u:10 [ div16u::return#0 ] ) + [192] return [ div16u::return#0 ] ( main:2::sin8u_table:7::div16u:10 [ div16u::return#0 ] ) to:@return divr16u: scope:[divr16u] from div16u - [168] phi() [ ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ ] ) + [193] phi() [ ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ ] ) to:divr16u::@1 divr16u::@1: scope:[divr16u] from divr16u divr16u::@3 - [169] (byte) divr16u::i#2 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(byte) divr16u::i#1 ) [ divr16u::rem#4 divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::rem#4 divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 ] ) - [169] (word) divr16u::quotient#3 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(word) divr16u::return#0 ) [ divr16u::rem#4 divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::rem#4 divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 ] ) - [169] (word) divr16u::dividend#2 ← phi( divr16u/(const word) PI2_u4f12#0 divr16u::@3/(word) divr16u::dividend#0 ) [ divr16u::rem#4 divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::rem#4 divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 ] ) - [169] (word) divr16u::rem#4 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(word) divr16u::rem#10 ) [ divr16u::rem#4 divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::rem#4 divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 ] ) - [170] (word) divr16u::rem#0 ← (word) divr16u::rem#4 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) - [171] (byte~) divr16u::$1 ← > (word) divr16u::dividend#2 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) - [172] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) - [173] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) + [194] (byte) divr16u::i#2 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(byte) divr16u::i#1 ) [ divr16u::rem#4 divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::rem#4 divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 ] ) + [194] (word) divr16u::quotient#3 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(word) divr16u::return#0 ) [ divr16u::rem#4 divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::rem#4 divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 ] ) + [194] (word) divr16u::dividend#2 ← phi( divr16u/(const word) PI2_u4f12#0 divr16u::@3/(word) divr16u::dividend#0 ) [ divr16u::rem#4 divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::rem#4 divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 ] ) + [194] (word) divr16u::rem#4 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(word) divr16u::rem#10 ) [ divr16u::rem#4 divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::rem#4 divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 ] ) + [195] (word) divr16u::rem#0 ← (word) divr16u::rem#4 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) + [196] (byte~) divr16u::$1 ← > (word) divr16u::dividend#2 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) + [197] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) + [198] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) to:divr16u::@4 divr16u::@4: scope:[divr16u] from divr16u::@1 - [174] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) + [199] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) to:divr16u::@2 divr16u::@2: scope:[divr16u] from divr16u::@1 divr16u::@4 - [175] (word) divr16u::rem#5 ← phi( divr16u::@1/(word) divr16u::rem#0 divr16u::@4/(word) divr16u::rem#1 ) [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#5 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#5 ] ) - [176] (word) divr16u::dividend#0 ← (word) divr16u::dividend#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 ] ) - [177] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ) - [178] if((word) divr16u::rem#5<(const word) main::tabsize#0) goto divr16u::@3 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ) + [200] (word) divr16u::rem#5 ← phi( divr16u::@1/(word) divr16u::rem#0 divr16u::@4/(word) divr16u::rem#1 ) [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#5 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#5 ] ) + [201] (word) divr16u::dividend#0 ← (word) divr16u::dividend#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 ] ) + [202] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ) + [203] if((word) divr16u::rem#5<(const word) main::tabsize#0) goto divr16u::@3 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ) to:divr16u::@5 divr16u::@5: scope:[divr16u] from divr16u::@2 - [179] (word) divr16u::quotient#2 ← ++ (word) divr16u::quotient#1 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#2 ] ) - [180] (word) divr16u::rem#2 ← (word) divr16u::rem#5 - (const word) main::tabsize#0 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) + [204] (word) divr16u::quotient#2 ← ++ (word) divr16u::quotient#1 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#2 ] ) + [205] (word) divr16u::rem#2 ← (word) divr16u::rem#5 - (const word) main::tabsize#0 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) to:divr16u::@3 divr16u::@3: scope:[divr16u] from divr16u::@2 divr16u::@5 - [181] (word) divr16u::return#0 ← phi( divr16u::@2/(word) divr16u::quotient#1 divr16u::@5/(word) divr16u::quotient#2 ) [ divr16u::return#0 divr16u::i#2 divr16u::rem#10 divr16u::dividend#0 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::return#0 divr16u::i#2 divr16u::rem#10 divr16u::dividend#0 ] ) - [181] (word) divr16u::rem#10 ← phi( divr16u::@2/(word) divr16u::rem#5 divr16u::@5/(word) divr16u::rem#2 ) [ divr16u::return#0 divr16u::i#2 divr16u::rem#10 divr16u::dividend#0 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::return#0 divr16u::i#2 divr16u::rem#10 divr16u::dividend#0 ] ) - [182] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ) - [183] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ) + [206] (word) divr16u::return#0 ← phi( divr16u::@2/(word) divr16u::quotient#1 divr16u::@5/(word) divr16u::quotient#2 ) [ divr16u::return#0 divr16u::i#2 divr16u::rem#10 divr16u::dividend#0 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::return#0 divr16u::i#2 divr16u::rem#10 divr16u::dividend#0 ] ) + [206] (word) divr16u::rem#10 ← phi( divr16u::@2/(word) divr16u::rem#5 divr16u::@5/(word) divr16u::rem#2 ) [ divr16u::return#0 divr16u::i#2 divr16u::rem#10 divr16u::dividend#0 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::return#0 divr16u::i#2 divr16u::rem#10 divr16u::dividend#0 ] ) + [207] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ) + [208] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ) to:divr16u::@return divr16u::@return: scope:[divr16u] from divr16u::@3 - [184] return [ divr16u::return#0 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::return#0 ] ) + [209] return [ divr16u::return#0 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::return#0 ] ) to:@return print_cls: scope:[print_cls] from main - [185] phi() [ ] ( main:2::print_cls:5 [ ] ) + [210] phi() [ ] ( main:2::print_cls:5 [ ] ) to:print_cls::@1 print_cls::@1: scope:[print_cls] from print_cls print_cls::@1 - [186] (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:5 [ print_cls::sc#2 ] ) - [187] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:5 [ print_cls::sc#2 ] ) - [188] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::print_cls:5 [ print_cls::sc#1 ] ) - [189] 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:5 [ print_cls::sc#1 ] ) + [211] (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:5 [ print_cls::sc#2 ] ) + [212] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:5 [ print_cls::sc#2 ] ) + [213] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::print_cls:5 [ print_cls::sc#1 ] ) + [214] 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:5 [ print_cls::sc#1 ] ) to:print_cls::@return print_cls::@return: scope:[print_cls] from print_cls::@1 - [190] return [ ] ( main:2::print_cls:5 [ ] ) + [215] return [ ] ( main:2::print_cls:5 [ ] ) to:@return diff --git a/src/test/java/dk/camelot64/kickc/test/ref/sinusgenscale8.log b/src/test/java/dk/camelot64/kickc/test/ref/sinusgenscale8.log index dfcc88175..5b12a509d 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/sinusgenscale8.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/sinusgenscale8.log @@ -29,7 +29,8 @@ void main() { void sin8u_table(byte* sintab, word tabsize, byte min, byte max) { byte amplitude = max-min; word sum = min+max; - byte mid = (byte)(sum>>1); + byte mid = (byte)((sum>>1)+1); + //if( sum & 1 > 0) mid++; // u[4.28] step = PI*2/wavelength word step = div16u(PI2_u4f12, tabsize); // u[4.12] print_str("step:@"); @@ -46,12 +47,18 @@ void sin8u_table(byte* sintab, word tabsize, byte min, byte max) { // Iterate over the table word x = 0; // u[4.12] for( word i=0; imul8su(sin8s(x), amplitude); - *sintab++ = sinval; + signed byte sinx = sin8s(x); + signed word sinx_sc = mul8su(sinx, amplitude+1); + byte sinx_tr = mid+>sinx_sc; + *sintab++ = sinx_tr; print_str("x: @"); print_word(x); print_str(" sin: @"); - print_byte(sinval); + print_sbyte(sinx); + print_str(" scaled: @"); + print_sword(sinx_sc); + print_str(" trans: @"); + print_byte(sinx_tr); print_ln(); x = x + step; } @@ -1140,41 +1147,49 @@ proc (void()) sin8u_table((byte*) sin8u_table::sintab , (word) sin8u_table::tabs (byte/word~) sin8u_table::$1 ← (byte) sin8u_table::min + (byte) sin8u_table::max (word) sin8u_table::sum ← (byte/word~) sin8u_table::$1 (word~) sin8u_table::$2 ← (word) sin8u_table::sum >> (byte/signed byte/word/signed word/dword/signed dword) 1 - (byte~) sin8u_table::$3 ← ((byte)) (word~) sin8u_table::$2 - (byte) sin8u_table::mid ← (byte~) sin8u_table::$3 - (word~) sin8u_table::$4 ← call div16u (word) PI2_u4f12 (word) sin8u_table::tabsize - (word) sin8u_table::step ← (word~) sin8u_table::$4 - (void~) sin8u_table::$5 ← call print_str (string) "step:@" - (void~) sin8u_table::$6 ← call print_word (word) sin8u_table::step - (void~) sin8u_table::$7 ← call print_str (string) " min:@" - (void~) sin8u_table::$8 ← call print_byte (byte) sin8u_table::min - (void~) sin8u_table::$9 ← call print_str (string) " max:@" - (void~) sin8u_table::$10 ← call print_byte (byte) sin8u_table::max - (void~) sin8u_table::$11 ← call print_str (string) " ampl:@" - (void~) sin8u_table::$12 ← call print_byte (byte) sin8u_table::amplitude - (void~) sin8u_table::$13 ← call print_str (string) " mid:@" - (void~) sin8u_table::$14 ← call print_byte (byte) sin8u_table::mid - (void~) sin8u_table::$15 ← call print_ln + (word~) sin8u_table::$3 ← (word~) sin8u_table::$2 + (byte/signed byte/word/signed word/dword/signed dword) 1 + (byte~) sin8u_table::$4 ← ((byte)) (word~) sin8u_table::$3 + (byte) sin8u_table::mid ← (byte~) sin8u_table::$4 + (word~) sin8u_table::$5 ← call div16u (word) PI2_u4f12 (word) sin8u_table::tabsize + (word) sin8u_table::step ← (word~) sin8u_table::$5 + (void~) sin8u_table::$6 ← call print_str (string) "step:@" + (void~) sin8u_table::$7 ← call print_word (word) sin8u_table::step + (void~) sin8u_table::$8 ← call print_str (string) " min:@" + (void~) sin8u_table::$9 ← call print_byte (byte) sin8u_table::min + (void~) sin8u_table::$10 ← call print_str (string) " max:@" + (void~) sin8u_table::$11 ← call print_byte (byte) sin8u_table::max + (void~) sin8u_table::$12 ← call print_str (string) " ampl:@" + (void~) sin8u_table::$13 ← call print_byte (byte) sin8u_table::amplitude + (void~) sin8u_table::$14 ← call print_str (string) " mid:@" + (void~) sin8u_table::$15 ← call print_byte (byte) sin8u_table::mid + (void~) sin8u_table::$16 ← call print_ln (word) sin8u_table::x ← (byte/signed byte/word/signed word/dword/signed dword) 0 (word) sin8u_table::i ← (byte/signed byte/word/signed word/dword/signed dword) 0 sin8u_table::@1: - (signed byte~) sin8u_table::$16 ← call sin8s (word) sin8u_table::x - (signed word~) sin8u_table::$17 ← call mul8su (signed byte~) sin8u_table::$16 (byte) sin8u_table::amplitude - (byte~) sin8u_table::$18 ← > (signed word~) sin8u_table::$17 - (byte/word~) sin8u_table::$19 ← (byte) sin8u_table::mid + (byte~) sin8u_table::$18 - (byte) sin8u_table::sinval ← (byte/word~) sin8u_table::$19 - *((byte*) sin8u_table::sintab) ← (byte) sin8u_table::sinval + (signed byte~) sin8u_table::$17 ← call sin8s (word) sin8u_table::x + (signed byte) sin8u_table::sinx ← (signed byte~) sin8u_table::$17 + (byte/word~) sin8u_table::$18 ← (byte) sin8u_table::amplitude + (byte/signed byte/word/signed word/dword/signed dword) 1 + (signed word~) sin8u_table::$19 ← call mul8su (signed byte) sin8u_table::sinx (byte/word~) sin8u_table::$18 + (signed word) sin8u_table::sinx_sc ← (signed word~) sin8u_table::$19 + (byte~) sin8u_table::$20 ← > (signed word) sin8u_table::sinx_sc + (byte/word~) sin8u_table::$21 ← (byte) sin8u_table::mid + (byte~) sin8u_table::$20 + (byte) sin8u_table::sinx_tr ← (byte/word~) sin8u_table::$21 + *((byte*) sin8u_table::sintab) ← (byte) sin8u_table::sinx_tr (byte*) sin8u_table::sintab ← ++ (byte*) sin8u_table::sintab - (void~) sin8u_table::$20 ← call print_str (string) "x: @" - (void~) sin8u_table::$21 ← call print_word (word) sin8u_table::x - (void~) sin8u_table::$22 ← call print_str (string) " sin: @" - (void~) sin8u_table::$23 ← call print_byte (byte) sin8u_table::sinval - (void~) sin8u_table::$24 ← call print_ln - (word~) sin8u_table::$25 ← (word) sin8u_table::x + (word) sin8u_table::step - (word) sin8u_table::x ← (word~) sin8u_table::$25 + (void~) sin8u_table::$22 ← call print_str (string) "x: @" + (void~) sin8u_table::$23 ← call print_word (word) sin8u_table::x + (void~) sin8u_table::$24 ← call print_str (string) " sin: @" + (void~) sin8u_table::$25 ← call print_sbyte (signed byte) sin8u_table::sinx + (void~) sin8u_table::$26 ← call print_str (string) " scaled: @" + (void~) sin8u_table::$27 ← call print_sword (signed word) sin8u_table::sinx_sc + (void~) sin8u_table::$28 ← call print_str (string) " trans: @" + (void~) sin8u_table::$29 ← call print_byte (byte) sin8u_table::sinx_tr + (void~) sin8u_table::$30 ← call print_ln + (word~) sin8u_table::$31 ← (word) sin8u_table::x + (word) sin8u_table::step + (word) sin8u_table::x ← (word~) sin8u_table::$31 (word) sin8u_table::i ← ++ (word) sin8u_table::i - (boolean~) sin8u_table::$26 ← (word) sin8u_table::i < (word) sin8u_table::tabsize - if((boolean~) sin8u_table::$26) goto sin8u_table::@1 + (boolean~) sin8u_table::$32 ← (word) sin8u_table::i < (word) sin8u_table::tabsize + if((boolean~) sin8u_table::$32) goto sin8u_table::@1 sin8u_table::@return: return endproc // sin8u_table() @@ -1646,21 +1661,27 @@ SYMBOLS (void~) sin8u_table::$13 (void~) sin8u_table::$14 (void~) sin8u_table::$15 -(signed byte~) sin8u_table::$16 -(signed word~) sin8u_table::$17 -(byte~) sin8u_table::$18 -(byte/word~) sin8u_table::$19 +(void~) sin8u_table::$16 +(signed byte~) sin8u_table::$17 +(byte/word~) sin8u_table::$18 +(signed word~) sin8u_table::$19 (word~) sin8u_table::$2 -(void~) sin8u_table::$20 -(void~) sin8u_table::$21 +(byte~) sin8u_table::$20 +(byte/word~) sin8u_table::$21 (void~) sin8u_table::$22 (void~) sin8u_table::$23 (void~) sin8u_table::$24 -(word~) sin8u_table::$25 -(boolean~) sin8u_table::$26 -(byte~) sin8u_table::$3 -(word~) sin8u_table::$4 -(void~) sin8u_table::$5 +(void~) sin8u_table::$25 +(void~) sin8u_table::$26 +(void~) sin8u_table::$27 +(void~) sin8u_table::$28 +(void~) sin8u_table::$29 +(word~) sin8u_table::$3 +(void~) sin8u_table::$30 +(word~) sin8u_table::$31 +(boolean~) sin8u_table::$32 +(byte~) sin8u_table::$4 +(word~) sin8u_table::$5 (void~) sin8u_table::$6 (void~) sin8u_table::$7 (void~) sin8u_table::$8 @@ -1673,7 +1694,9 @@ SYMBOLS (byte) sin8u_table::mid (byte) sin8u_table::min (byte*) sin8u_table::sintab -(byte) sin8u_table::sinval +(signed byte) sin8u_table::sinx +(signed word) sin8u_table::sinx_sc +(byte) sin8u_table::sinx_tr (word) sin8u_table::step (word) sin8u_table::sum (word) sin8u_table::tabsize @@ -2566,42 +2589,50 @@ sin8u_table: scope:[sin8u_table] from (byte/word~) sin8u_table::$1 ← (byte) sin8u_table::min + (byte) sin8u_table::max (word) sin8u_table::sum ← (byte/word~) sin8u_table::$1 (word~) sin8u_table::$2 ← (word) sin8u_table::sum >> (byte/signed byte/word/signed word/dword/signed dword) 1 - (byte~) sin8u_table::$3 ← ((byte)) (word~) sin8u_table::$2 - (byte) sin8u_table::mid ← (byte~) sin8u_table::$3 - (word~) sin8u_table::$4 ← call div16u (word) PI2_u4f12 (word) sin8u_table::tabsize - (word) sin8u_table::step ← (word~) sin8u_table::$4 - (void~) sin8u_table::$5 ← call print_str (string) "step:@" - (void~) sin8u_table::$6 ← call print_word (word) sin8u_table::step - (void~) sin8u_table::$7 ← call print_str (string) " min:@" - (void~) sin8u_table::$8 ← call print_byte (byte) sin8u_table::min - (void~) sin8u_table::$9 ← call print_str (string) " max:@" - (void~) sin8u_table::$10 ← call print_byte (byte) sin8u_table::max - (void~) sin8u_table::$11 ← call print_str (string) " ampl:@" - (void~) sin8u_table::$12 ← call print_byte (byte) sin8u_table::amplitude - (void~) sin8u_table::$13 ← call print_str (string) " mid:@" - (void~) sin8u_table::$14 ← call print_byte (byte) sin8u_table::mid - (void~) sin8u_table::$15 ← call print_ln + (word~) sin8u_table::$3 ← (word~) sin8u_table::$2 + (byte/signed byte/word/signed word/dword/signed dword) 1 + (byte~) sin8u_table::$4 ← ((byte)) (word~) sin8u_table::$3 + (byte) sin8u_table::mid ← (byte~) sin8u_table::$4 + (word~) sin8u_table::$5 ← call div16u (word) PI2_u4f12 (word) sin8u_table::tabsize + (word) sin8u_table::step ← (word~) sin8u_table::$5 + (void~) sin8u_table::$6 ← call print_str (string) "step:@" + (void~) sin8u_table::$7 ← call print_word (word) sin8u_table::step + (void~) sin8u_table::$8 ← call print_str (string) " min:@" + (void~) sin8u_table::$9 ← call print_byte (byte) sin8u_table::min + (void~) sin8u_table::$10 ← call print_str (string) " max:@" + (void~) sin8u_table::$11 ← call print_byte (byte) sin8u_table::max + (void~) sin8u_table::$12 ← call print_str (string) " ampl:@" + (void~) sin8u_table::$13 ← call print_byte (byte) sin8u_table::amplitude + (void~) sin8u_table::$14 ← call print_str (string) " mid:@" + (void~) sin8u_table::$15 ← call print_byte (byte) sin8u_table::mid + (void~) sin8u_table::$16 ← call print_ln (word) sin8u_table::x ← (byte/signed byte/word/signed word/dword/signed dword) 0 (word) sin8u_table::i ← (byte/signed byte/word/signed word/dword/signed dword) 0 to:sin8u_table::@1 sin8u_table::@1: scope:[sin8u_table] from sin8u_table sin8u_table::@1 - (signed byte~) sin8u_table::$16 ← call sin8s (word) sin8u_table::x - (signed word~) sin8u_table::$17 ← call mul8su (signed byte~) sin8u_table::$16 (byte) sin8u_table::amplitude - (byte~) sin8u_table::$18 ← > (signed word~) sin8u_table::$17 - (byte/word~) sin8u_table::$19 ← (byte) sin8u_table::mid + (byte~) sin8u_table::$18 - (byte) sin8u_table::sinval ← (byte/word~) sin8u_table::$19 - *((byte*) sin8u_table::sintab) ← (byte) sin8u_table::sinval + (signed byte~) sin8u_table::$17 ← call sin8s (word) sin8u_table::x + (signed byte) sin8u_table::sinx ← (signed byte~) sin8u_table::$17 + (byte/word~) sin8u_table::$18 ← (byte) sin8u_table::amplitude + (byte/signed byte/word/signed word/dword/signed dword) 1 + (signed word~) sin8u_table::$19 ← call mul8su (signed byte) sin8u_table::sinx (byte/word~) sin8u_table::$18 + (signed word) sin8u_table::sinx_sc ← (signed word~) sin8u_table::$19 + (byte~) sin8u_table::$20 ← > (signed word) sin8u_table::sinx_sc + (byte/word~) sin8u_table::$21 ← (byte) sin8u_table::mid + (byte~) sin8u_table::$20 + (byte) sin8u_table::sinx_tr ← (byte/word~) sin8u_table::$21 + *((byte*) sin8u_table::sintab) ← (byte) sin8u_table::sinx_tr (byte*) sin8u_table::sintab ← ++ (byte*) sin8u_table::sintab - (void~) sin8u_table::$20 ← call print_str (string) "x: @" - (void~) sin8u_table::$21 ← call print_word (word) sin8u_table::x - (void~) sin8u_table::$22 ← call print_str (string) " sin: @" - (void~) sin8u_table::$23 ← call print_byte (byte) sin8u_table::sinval - (void~) sin8u_table::$24 ← call print_ln - (word~) sin8u_table::$25 ← (word) sin8u_table::x + (word) sin8u_table::step - (word) sin8u_table::x ← (word~) sin8u_table::$25 + (void~) sin8u_table::$22 ← call print_str (string) "x: @" + (void~) sin8u_table::$23 ← call print_word (word) sin8u_table::x + (void~) sin8u_table::$24 ← call print_str (string) " sin: @" + (void~) sin8u_table::$25 ← call print_sbyte (signed byte) sin8u_table::sinx + (void~) sin8u_table::$26 ← call print_str (string) " scaled: @" + (void~) sin8u_table::$27 ← call print_sword (signed word) sin8u_table::sinx_sc + (void~) sin8u_table::$28 ← call print_str (string) " trans: @" + (void~) sin8u_table::$29 ← call print_byte (byte) sin8u_table::sinx_tr + (void~) sin8u_table::$30 ← call print_ln + (word~) sin8u_table::$31 ← (word) sin8u_table::x + (word) sin8u_table::step + (word) sin8u_table::x ← (word~) sin8u_table::$31 (word) sin8u_table::i ← ++ (word) sin8u_table::i - (boolean~) sin8u_table::$26 ← (word) sin8u_table::i < (word) sin8u_table::tabsize - if((boolean~) sin8u_table::$26) goto sin8u_table::@1 + (boolean~) sin8u_table::$32 ← (word) sin8u_table::i < (word) sin8u_table::tabsize + if((boolean~) sin8u_table::$32) goto sin8u_table::@1 to:sin8u_table::@2 sin8u_table::@2: scope:[sin8u_table] from sin8u_table::@1 to:sin8u_table::@return @@ -2619,8 +2650,6 @@ Removing unused procedure mul8s Removing unused procedure mul16s Removing unused procedure sin16s_gen Removing unused procedure sin8s_gen -Removing unused procedure print_sword -Removing unused procedure print_sbyte Removing unused procedure print_sdword Removing unused procedure div8u Removing unused procedure div32u16u @@ -2636,13 +2665,16 @@ Eliminating unused variable (byte~) mul8su::$5 and assignment [62] (byte~) mul8s Eliminating unused variable (dword) PI2_u4f28 and assignment [70] (dword) PI2_u4f28 ← (dword/signed dword) 1686629713 Eliminating unused variable (dword) PI_u4f28 and assignment [71] (dword) PI_u4f28 ← (dword/signed dword) 843314857 Eliminating unused variable (dword) PI_HALF_u4f28 and assignment [72] (dword) PI_HALF_u4f28 ← (dword/signed dword) 421657428 +Eliminating unused variable - keeping the call (void~) print_sword::$5 +Eliminating unused variable - keeping the call (void~) print_sword::$2 +Eliminating unused variable - keeping the call (void~) print_sbyte::$5 +Eliminating unused variable - keeping the call (void~) print_sbyte::$2 Eliminating unused variable - keeping the call (void~) print_word::$1 Eliminating unused variable - keeping the call (void~) print_word::$3 Eliminating unused variable - keeping the call (void~) print_byte::$1 Eliminating unused variable - keeping the call (void~) print_byte::$3 Eliminating unused variable - keeping the call (void~) main::$0 Eliminating unused variable - keeping the call (void~) main::$1 -Eliminating unused variable - keeping the call (void~) sin8u_table::$5 Eliminating unused variable - keeping the call (void~) sin8u_table::$6 Eliminating unused variable - keeping the call (void~) sin8u_table::$7 Eliminating unused variable - keeping the call (void~) sin8u_table::$8 @@ -2653,11 +2685,16 @@ Eliminating unused variable - keeping the call (void~) sin8u_table::$12 Eliminating unused variable - keeping the call (void~) sin8u_table::$13 Eliminating unused variable - keeping the call (void~) sin8u_table::$14 Eliminating unused variable - keeping the call (void~) sin8u_table::$15 -Eliminating unused variable - keeping the call (void~) sin8u_table::$20 -Eliminating unused variable - keeping the call (void~) sin8u_table::$21 +Eliminating unused variable - keeping the call (void~) sin8u_table::$16 Eliminating unused variable - keeping the call (void~) sin8u_table::$22 Eliminating unused variable - keeping the call (void~) sin8u_table::$23 Eliminating unused variable - keeping the call (void~) sin8u_table::$24 +Eliminating unused variable - keeping the call (void~) sin8u_table::$25 +Eliminating unused variable - keeping the call (void~) sin8u_table::$26 +Eliminating unused variable - keeping the call (void~) sin8u_table::$27 +Eliminating unused variable - keeping the call (void~) sin8u_table::$28 +Eliminating unused variable - keeping the call (void~) sin8u_table::$29 +Eliminating unused variable - keeping the call (void~) sin8u_table::$30 Creating constant string variable for inline (const string) print_byte::$4 "0123456789abcdef" Creating constant string variable for inline (const string) sin8u_table::str "step:@" Creating constant string variable for inline (const string) sin8u_table::str1 " min:@" @@ -2666,6 +2703,8 @@ Creating constant string variable for inline (const string) sin8u_table::str3 " Creating constant string variable for inline (const string) sin8u_table::str4 " mid:@" Creating constant string variable for inline (const string) sin8u_table::str5 "x: @" Creating constant string variable for inline (const string) sin8u_table::str6 " sin: @" +Creating constant string variable for inline (const string) sin8u_table::str7 " scaled: @" +Creating constant string variable for inline (const string) sin8u_table::str8 " trans: @" Removing empty block @1 Removing empty block divr16u::@7 Removing empty block @3 @@ -2712,6 +2751,8 @@ div16u modifies rem16u print_str modifies char_cursor print_ln modifies line_cursor print_ln modifies char_cursor +print_sword modifies char_cursor +print_sbyte modifies char_cursor print_word modifies char_cursor print_byte modifies char_cursor print_char modifies char_cursor @@ -2744,6 +2785,10 @@ Completing Phi functions... Completing Phi functions... Completing Phi functions... Completing Phi functions... +Completing Phi functions... +Completing Phi functions... +Completing Phi functions... +Completing Phi functions... CONTROL FLOW GRAPH SSA WITH ASSIGNMENT CALL & RETURN @begin: scope:[] from @@ -3106,38 +3151,38 @@ mulu8_sel::@return: scope:[mulu8_sel] from mulu8_sel::@2 (byte*) line_cursor#0 ← (byte*) SCREEN#0 (byte*) char_cursor#0 ← (byte*) line_cursor#0 to:@30 -print_str: scope:[print_str] from sin8u_table::@11 sin8u_table::@16 sin8u_table::@18 sin8u_table::@3 sin8u_table::@5 sin8u_table::@7 sin8u_table::@9 - (byte*) char_cursor#78 ← phi( sin8u_table::@11/(byte*) char_cursor#25 sin8u_table::@16/(byte*) char_cursor#76 sin8u_table::@18/(byte*) char_cursor#30 sin8u_table::@3/(byte*) char_cursor#75 sin8u_table::@5/(byte*) char_cursor#19 sin8u_table::@7/(byte*) char_cursor#21 sin8u_table::@9/(byte*) char_cursor#23 ) - (byte*) print_str::str#10 ← phi( sin8u_table::@11/(byte*) print_str::str#5 sin8u_table::@16/(byte*) print_str::str#6 sin8u_table::@18/(byte*) print_str::str#7 sin8u_table::@3/(byte*) print_str::str#1 sin8u_table::@5/(byte*) print_str::str#2 sin8u_table::@7/(byte*) print_str::str#3 sin8u_table::@9/(byte*) print_str::str#4 ) +print_str: scope:[print_str] from sin8u_table::@11 sin8u_table::@16 sin8u_table::@18 sin8u_table::@20 sin8u_table::@22 sin8u_table::@3 sin8u_table::@5 sin8u_table::@7 sin8u_table::@9 + (byte*) char_cursor#102 ← phi( sin8u_table::@11/(byte*) char_cursor#31 sin8u_table::@16/(byte*) char_cursor#100 sin8u_table::@18/(byte*) char_cursor#36 sin8u_table::@20/(byte*) char_cursor#38 sin8u_table::@22/(byte*) char_cursor#40 sin8u_table::@3/(byte*) char_cursor#99 sin8u_table::@5/(byte*) char_cursor#25 sin8u_table::@7/(byte*) char_cursor#27 sin8u_table::@9/(byte*) char_cursor#29 ) + (byte*) print_str::str#12 ← phi( sin8u_table::@11/(byte*) print_str::str#5 sin8u_table::@16/(byte*) print_str::str#6 sin8u_table::@18/(byte*) print_str::str#7 sin8u_table::@20/(byte*) print_str::str#8 sin8u_table::@22/(byte*) print_str::str#9 sin8u_table::@3/(byte*) print_str::str#1 sin8u_table::@5/(byte*) print_str::str#2 sin8u_table::@7/(byte*) print_str::str#3 sin8u_table::@9/(byte*) print_str::str#4 ) to:print_str::@1 print_str::@1: scope:[print_str] from print_str print_str::@2 - (byte*) char_cursor#70 ← phi( print_str/(byte*) char_cursor#78 print_str::@2/(byte*) char_cursor#1 ) - (byte*) print_str::str#8 ← phi( print_str/(byte*) print_str::str#10 print_str::@2/(byte*) print_str::str#0 ) - (boolean~) print_str::$0 ← *((byte*) print_str::str#8) != (byte) '@' + (byte*) char_cursor#90 ← phi( print_str/(byte*) char_cursor#102 print_str::@2/(byte*) char_cursor#1 ) + (byte*) print_str::str#10 ← phi( print_str/(byte*) print_str::str#12 print_str::@2/(byte*) print_str::str#0 ) + (boolean~) print_str::$0 ← *((byte*) print_str::str#10) != (byte) '@' if((boolean~) print_str::$0) goto print_str::@2 to:print_str::@return print_str::@2: scope:[print_str] from print_str::@1 - (byte*) char_cursor#36 ← phi( print_str::@1/(byte*) char_cursor#70 ) - (byte*) print_str::str#9 ← phi( print_str::@1/(byte*) print_str::str#8 ) - *((byte*) char_cursor#36) ← *((byte*) print_str::str#9) - (byte*) char_cursor#1 ← ++ (byte*) char_cursor#36 - (byte*) print_str::str#0 ← ++ (byte*) print_str::str#9 + (byte*) char_cursor#46 ← phi( print_str::@1/(byte*) char_cursor#90 ) + (byte*) print_str::str#11 ← phi( print_str::@1/(byte*) print_str::str#10 ) + *((byte*) char_cursor#46) ← *((byte*) print_str::str#11) + (byte*) char_cursor#1 ← ++ (byte*) char_cursor#46 + (byte*) print_str::str#0 ← ++ (byte*) print_str::str#11 to:print_str::@1 print_str::@return: scope:[print_str] from print_str::@1 - (byte*) char_cursor#37 ← phi( print_str::@1/(byte*) char_cursor#70 ) - (byte*) char_cursor#2 ← (byte*) char_cursor#37 + (byte*) char_cursor#47 ← phi( print_str::@1/(byte*) char_cursor#90 ) + (byte*) char_cursor#2 ← (byte*) char_cursor#47 return to:@return -print_ln: scope:[print_ln] from sin8u_table::@13 sin8u_table::@20 - (byte*) char_cursor#71 ← phi( sin8u_table::@13/(byte*) char_cursor#27 sin8u_table::@20/(byte*) char_cursor#32 ) - (byte*) line_cursor#23 ← phi( sin8u_table::@13/(byte*) line_cursor#25 sin8u_table::@20/(byte*) line_cursor#26 ) +print_ln: scope:[print_ln] from sin8u_table::@13 sin8u_table::@24 + (byte*) char_cursor#91 ← phi( sin8u_table::@13/(byte*) char_cursor#33 sin8u_table::@24/(byte*) char_cursor#42 ) + (byte*) line_cursor#23 ← phi( sin8u_table::@13/(byte*) line_cursor#25 sin8u_table::@24/(byte*) line_cursor#26 ) to:print_ln::@1 print_ln::@1: scope:[print_ln] from print_ln print_ln::@1 - (byte*) char_cursor#38 ← phi( print_ln/(byte*) char_cursor#71 print_ln::@1/(byte*) char_cursor#38 ) + (byte*) char_cursor#48 ← phi( print_ln/(byte*) char_cursor#91 print_ln::@1/(byte*) char_cursor#48 ) (byte*) line_cursor#12 ← phi( print_ln/(byte*) line_cursor#23 print_ln::@1/(byte*) line_cursor#1 ) (byte*~) print_ln::$0 ← (byte*) line_cursor#12 + (byte/signed byte/word/signed word/dword/signed dword) 40 (byte*) line_cursor#1 ← (byte*~) print_ln::$0 - (boolean~) print_ln::$1 ← (byte*) line_cursor#1 < (byte*) char_cursor#38 + (boolean~) print_ln::$1 ← (byte*) line_cursor#1 < (byte*) char_cursor#48 if((boolean~) print_ln::$1) goto print_ln::@1 to:print_ln::@2 print_ln::@2: scope:[print_ln] from print_ln::@1 @@ -3145,70 +3190,142 @@ print_ln::@2: scope:[print_ln] from print_ln::@1 (byte*) char_cursor#3 ← (byte*) line_cursor#13 to:print_ln::@return print_ln::@return: scope:[print_ln] from print_ln::@2 - (byte*) char_cursor#39 ← phi( print_ln::@2/(byte*) char_cursor#3 ) + (byte*) char_cursor#49 ← phi( print_ln::@2/(byte*) char_cursor#3 ) (byte*) line_cursor#14 ← phi( print_ln::@2/(byte*) line_cursor#13 ) (byte*) line_cursor#2 ← (byte*) line_cursor#14 - (byte*) char_cursor#4 ← (byte*) char_cursor#39 + (byte*) char_cursor#4 ← (byte*) char_cursor#49 return to:@return -print_word: scope:[print_word] from sin8u_table::@17 sin8u_table::@4 - (byte*) char_cursor#72 ← phi( sin8u_table::@17/(byte*) char_cursor#29 sin8u_table::@4/(byte*) char_cursor#18 ) - (word) print_word::w#2 ← phi( sin8u_table::@17/(word) print_word::w#1 sin8u_table::@4/(word) print_word::w#0 ) - (byte~) print_word::$0 ← > (word) print_word::w#2 - (byte) print_byte::b#0 ← (byte~) print_word::$0 +print_sword: scope:[print_sword] from sin8u_table::@21 + (byte*) char_cursor#103 ← phi( sin8u_table::@21/(byte*) char_cursor#39 ) + (signed word) print_sword::w#2 ← phi( sin8u_table::@21/(signed word) print_sword::w#1 ) + (boolean~) print_sword::$0 ← (signed word) print_sword::w#2 < (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) print_sword::$1 ← ! (boolean~) print_sword::$0 + if((boolean~) print_sword::$1) goto print_sword::@1 + to:print_sword::@2 +print_sword::@1: scope:[print_sword] from print_sword print_sword::@4 + (byte*) char_cursor#92 ← phi( print_sword/(byte*) char_cursor#103 print_sword::@4/(byte*) char_cursor#6 ) + (signed word) print_sword::w#3 ← phi( print_sword/(signed word) print_sword::w#2 print_sword::@4/(signed word) print_sword::w#0 ) + (word~) print_sword::$4 ← ((word)) (signed word) print_sword::w#3 + (word) print_word::w#0 ← (word~) print_sword::$4 + call print_word param-assignment + to:print_sword::@3 +print_sword::@3: scope:[print_sword] from print_sword::@1 + (byte*) char_cursor#50 ← phi( print_sword::@1/(byte*) char_cursor#13 ) + (byte*) char_cursor#5 ← (byte*) char_cursor#50 + to:print_sword::@return +print_sword::@2: scope:[print_sword] from print_sword + (signed word) print_sword::w#5 ← phi( print_sword/(signed word) print_sword::w#2 ) + (byte*) char_cursor#93 ← phi( print_sword/(byte*) char_cursor#103 ) + (byte) print_char::ch#0 ← (byte) '-' + call print_char param-assignment + to:print_sword::@4 +print_sword::@4: scope:[print_sword] from print_sword::@2 + (signed word) print_sword::w#4 ← phi( print_sword::@2/(signed word) print_sword::w#5 ) + (byte*) char_cursor#51 ← phi( print_sword::@2/(byte*) char_cursor#18 ) + (byte*) char_cursor#6 ← (byte*) char_cursor#51 + (signed word~) print_sword::$3 ← - (signed word) print_sword::w#4 + (signed word) print_sword::w#0 ← (signed word~) print_sword::$3 + to:print_sword::@1 +print_sword::@return: scope:[print_sword] from print_sword::@3 + (byte*) char_cursor#52 ← phi( print_sword::@3/(byte*) char_cursor#5 ) + (byte*) char_cursor#7 ← (byte*) char_cursor#52 + return + to:@return +print_sbyte: scope:[print_sbyte] from sin8u_table::@19 + (byte*) char_cursor#104 ← phi( sin8u_table::@19/(byte*) char_cursor#37 ) + (signed byte) print_sbyte::b#2 ← phi( sin8u_table::@19/(signed byte) print_sbyte::b#1 ) + (boolean~) print_sbyte::$0 ← (signed byte) print_sbyte::b#2 < (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) print_sbyte::$1 ← ! (boolean~) print_sbyte::$0 + if((boolean~) print_sbyte::$1) goto print_sbyte::@1 + to:print_sbyte::@2 +print_sbyte::@1: scope:[print_sbyte] from print_sbyte print_sbyte::@4 + (byte*) char_cursor#94 ← phi( print_sbyte/(byte*) char_cursor#104 print_sbyte::@4/(byte*) char_cursor#9 ) + (signed byte) print_sbyte::b#3 ← phi( print_sbyte/(signed byte) print_sbyte::b#2 print_sbyte::@4/(signed byte) print_sbyte::b#0 ) + (byte~) print_sbyte::$4 ← ((byte)) (signed byte) print_sbyte::b#3 + (byte) print_byte::b#0 ← (byte~) print_sbyte::$4 + call print_byte param-assignment + to:print_sbyte::@3 +print_sbyte::@3: scope:[print_sbyte] from print_sbyte::@1 + (byte*) char_cursor#53 ← phi( print_sbyte::@1/(byte*) char_cursor#16 ) + (byte*) char_cursor#8 ← (byte*) char_cursor#53 + to:print_sbyte::@return +print_sbyte::@2: scope:[print_sbyte] from print_sbyte + (signed byte) print_sbyte::b#5 ← phi( print_sbyte/(signed byte) print_sbyte::b#2 ) + (byte*) char_cursor#95 ← phi( print_sbyte/(byte*) char_cursor#104 ) + (byte) print_char::ch#1 ← (byte) '-' + call print_char param-assignment + to:print_sbyte::@4 +print_sbyte::@4: scope:[print_sbyte] from print_sbyte::@2 + (signed byte) print_sbyte::b#4 ← phi( print_sbyte::@2/(signed byte) print_sbyte::b#5 ) + (byte*) char_cursor#54 ← phi( print_sbyte::@2/(byte*) char_cursor#18 ) + (byte*) char_cursor#9 ← (byte*) char_cursor#54 + (signed byte~) print_sbyte::$3 ← - (signed byte) print_sbyte::b#4 + (signed byte) print_sbyte::b#0 ← (signed byte~) print_sbyte::$3 + to:print_sbyte::@1 +print_sbyte::@return: scope:[print_sbyte] from print_sbyte::@3 + (byte*) char_cursor#55 ← phi( print_sbyte::@3/(byte*) char_cursor#8 ) + (byte*) char_cursor#10 ← (byte*) char_cursor#55 + return + to:@return +print_word: scope:[print_word] from print_sword::@1 sin8u_table::@17 sin8u_table::@4 + (byte*) char_cursor#96 ← phi( print_sword::@1/(byte*) char_cursor#92 sin8u_table::@17/(byte*) char_cursor#35 sin8u_table::@4/(byte*) char_cursor#24 ) + (word) print_word::w#3 ← phi( print_sword::@1/(word) print_word::w#0 sin8u_table::@17/(word) print_word::w#2 sin8u_table::@4/(word) print_word::w#1 ) + (byte~) print_word::$0 ← > (word) print_word::w#3 + (byte) print_byte::b#1 ← (byte~) print_word::$0 call print_byte param-assignment to:print_word::@1 print_word::@1: scope:[print_word] from print_word - (word) print_word::w#3 ← phi( print_word/(word) print_word::w#2 ) - (byte*) char_cursor#40 ← phi( print_word/(byte*) char_cursor#10 ) - (byte*) char_cursor#5 ← (byte*) char_cursor#40 - (byte~) print_word::$2 ← < (word) print_word::w#3 - (byte) print_byte::b#1 ← (byte~) print_word::$2 + (word) print_word::w#4 ← phi( print_word/(word) print_word::w#3 ) + (byte*) char_cursor#56 ← phi( print_word/(byte*) char_cursor#16 ) + (byte*) char_cursor#11 ← (byte*) char_cursor#56 + (byte~) print_word::$2 ← < (word) print_word::w#4 + (byte) print_byte::b#2 ← (byte~) print_word::$2 call print_byte param-assignment to:print_word::@2 print_word::@2: scope:[print_word] from print_word::@1 - (byte*) char_cursor#41 ← phi( print_word::@1/(byte*) char_cursor#10 ) - (byte*) char_cursor#6 ← (byte*) char_cursor#41 + (byte*) char_cursor#57 ← phi( print_word::@1/(byte*) char_cursor#16 ) + (byte*) char_cursor#12 ← (byte*) char_cursor#57 to:print_word::@return print_word::@return: scope:[print_word] from print_word::@2 - (byte*) char_cursor#42 ← phi( print_word::@2/(byte*) char_cursor#6 ) - (byte*) char_cursor#7 ← (byte*) char_cursor#42 + (byte*) char_cursor#58 ← phi( print_word::@2/(byte*) char_cursor#12 ) + (byte*) char_cursor#13 ← (byte*) char_cursor#58 return to:@return -print_byte: scope:[print_byte] from print_word print_word::@1 sin8u_table::@10 sin8u_table::@12 sin8u_table::@19 sin8u_table::@6 sin8u_table::@8 - (byte*) char_cursor#73 ← phi( print_word/(byte*) char_cursor#72 print_word::@1/(byte*) char_cursor#5 sin8u_table::@10/(byte*) char_cursor#24 sin8u_table::@12/(byte*) char_cursor#26 sin8u_table::@19/(byte*) char_cursor#31 sin8u_table::@6/(byte*) char_cursor#20 sin8u_table::@8/(byte*) char_cursor#22 ) - (byte) print_byte::b#7 ← phi( print_word/(byte) print_byte::b#0 print_word::@1/(byte) print_byte::b#1 sin8u_table::@10/(byte) print_byte::b#4 sin8u_table::@12/(byte) print_byte::b#5 sin8u_table::@19/(byte) print_byte::b#6 sin8u_table::@6/(byte) print_byte::b#2 sin8u_table::@8/(byte) print_byte::b#3 ) +print_byte: scope:[print_byte] from print_sbyte::@1 print_word print_word::@1 sin8u_table::@10 sin8u_table::@12 sin8u_table::@23 sin8u_table::@6 sin8u_table::@8 + (byte*) char_cursor#97 ← phi( print_sbyte::@1/(byte*) char_cursor#94 print_word/(byte*) char_cursor#96 print_word::@1/(byte*) char_cursor#11 sin8u_table::@10/(byte*) char_cursor#30 sin8u_table::@12/(byte*) char_cursor#32 sin8u_table::@23/(byte*) char_cursor#41 sin8u_table::@6/(byte*) char_cursor#26 sin8u_table::@8/(byte*) char_cursor#28 ) + (byte) print_byte::b#8 ← phi( print_sbyte::@1/(byte) print_byte::b#0 print_word/(byte) print_byte::b#1 print_word::@1/(byte) print_byte::b#2 sin8u_table::@10/(byte) print_byte::b#5 sin8u_table::@12/(byte) print_byte::b#6 sin8u_table::@23/(byte) print_byte::b#7 sin8u_table::@6/(byte) print_byte::b#3 sin8u_table::@8/(byte) print_byte::b#4 ) (byte[]) print_byte::hextab#0 ← (const string) print_byte::$4 - (byte~) print_byte::$0 ← (byte) print_byte::b#7 >> (byte/signed byte/word/signed word/dword/signed dword) 4 - (byte) print_char::ch#0 ← *((byte[]) print_byte::hextab#0 + (byte~) print_byte::$0) + (byte~) print_byte::$0 ← (byte) print_byte::b#8 >> (byte/signed byte/word/signed word/dword/signed dword) 4 + (byte) print_char::ch#2 ← *((byte[]) print_byte::hextab#0 + (byte~) print_byte::$0) call print_char param-assignment to:print_byte::@1 print_byte::@1: scope:[print_byte] from print_byte - (byte) print_byte::b#8 ← phi( print_byte/(byte) print_byte::b#7 ) - (byte*) char_cursor#43 ← phi( print_byte/(byte*) char_cursor#12 ) - (byte*) char_cursor#8 ← (byte*) char_cursor#43 - (byte~) print_byte::$2 ← (byte) print_byte::b#8 & (byte/signed byte/word/signed word/dword/signed dword) 15 - (byte) print_char::ch#1 ← *((byte[]) print_byte::hextab#0 + (byte~) print_byte::$2) + (byte) print_byte::b#9 ← phi( print_byte/(byte) print_byte::b#8 ) + (byte*) char_cursor#59 ← phi( print_byte/(byte*) char_cursor#18 ) + (byte*) char_cursor#14 ← (byte*) char_cursor#59 + (byte~) print_byte::$2 ← (byte) print_byte::b#9 & (byte/signed byte/word/signed word/dword/signed dword) 15 + (byte) print_char::ch#3 ← *((byte[]) print_byte::hextab#0 + (byte~) print_byte::$2) call print_char param-assignment to:print_byte::@2 print_byte::@2: scope:[print_byte] from print_byte::@1 - (byte*) char_cursor#44 ← phi( print_byte::@1/(byte*) char_cursor#12 ) - (byte*) char_cursor#9 ← (byte*) char_cursor#44 + (byte*) char_cursor#60 ← phi( print_byte::@1/(byte*) char_cursor#18 ) + (byte*) char_cursor#15 ← (byte*) char_cursor#60 to:print_byte::@return print_byte::@return: scope:[print_byte] from print_byte::@2 - (byte*) char_cursor#45 ← phi( print_byte::@2/(byte*) char_cursor#9 ) - (byte*) char_cursor#10 ← (byte*) char_cursor#45 + (byte*) char_cursor#61 ← phi( print_byte::@2/(byte*) char_cursor#15 ) + (byte*) char_cursor#16 ← (byte*) char_cursor#61 return to:@return -print_char: scope:[print_char] from print_byte print_byte::@1 - (byte*) char_cursor#46 ← phi( print_byte/(byte*) char_cursor#73 print_byte::@1/(byte*) char_cursor#8 ) - (byte) print_char::ch#2 ← phi( print_byte/(byte) print_char::ch#0 print_byte::@1/(byte) print_char::ch#1 ) - *((byte*) char_cursor#46) ← (byte) print_char::ch#2 - (byte*) char_cursor#11 ← ++ (byte*) char_cursor#46 +print_char: scope:[print_char] from print_byte print_byte::@1 print_sbyte::@2 print_sword::@2 + (byte*) char_cursor#62 ← phi( print_byte/(byte*) char_cursor#97 print_byte::@1/(byte*) char_cursor#14 print_sbyte::@2/(byte*) char_cursor#95 print_sword::@2/(byte*) char_cursor#93 ) + (byte) print_char::ch#4 ← phi( print_byte/(byte) print_char::ch#2 print_byte::@1/(byte) print_char::ch#3 print_sbyte::@2/(byte) print_char::ch#1 print_sword::@2/(byte) print_char::ch#0 ) + *((byte*) char_cursor#62) ← (byte) print_char::ch#4 + (byte*) char_cursor#17 ← ++ (byte*) char_cursor#62 to:print_char::@return print_char::@return: scope:[print_char] from print_char - (byte*) char_cursor#47 ← phi( print_char/(byte*) char_cursor#11 ) - (byte*) char_cursor#12 ← (byte*) char_cursor#47 + (byte*) char_cursor#63 ← phi( print_char/(byte*) char_cursor#17 ) + (byte*) char_cursor#18 ← (byte*) char_cursor#63 return to:@return print_cls: scope:[print_cls] from main @@ -3224,18 +3341,18 @@ print_cls::@1: scope:[print_cls] from print_cls print_cls::@1 to:print_cls::@2 print_cls::@2: scope:[print_cls] from print_cls::@1 (byte*) line_cursor#3 ← (byte*) SCREEN#0 - (byte*) char_cursor#13 ← (byte*) line_cursor#3 + (byte*) char_cursor#19 ← (byte*) line_cursor#3 to:print_cls::@return print_cls::@return: scope:[print_cls] from print_cls::@2 - (byte*) char_cursor#48 ← phi( print_cls::@2/(byte*) char_cursor#13 ) + (byte*) char_cursor#64 ← phi( print_cls::@2/(byte*) char_cursor#19 ) (byte*) line_cursor#15 ← phi( print_cls::@2/(byte*) line_cursor#3 ) (byte*) line_cursor#4 ← (byte*) line_cursor#15 - (byte*) char_cursor#14 ← (byte*) char_cursor#48 + (byte*) char_cursor#20 ← (byte*) char_cursor#64 return to:@return main: scope:[main] from @30 (word) rem16u#23 ← phi( @30/(word) rem16u#22 ) - (byte*) char_cursor#74 ← phi( @30/(byte*) char_cursor#77 ) + (byte*) char_cursor#98 ← phi( @30/(byte*) char_cursor#101 ) (byte*) line_cursor#24 ← phi( @30/(byte*) line_cursor#27 ) (word) main::tabsize#0 ← (byte/signed byte/word/signed word/dword/signed dword) 20 (byte[20]) main::sintab#0 ← { fill( 20, 0) } @@ -3244,10 +3361,10 @@ main: scope:[main] from @30 main::@1: scope:[main] from main (word) rem16u#19 ← phi( main/(word) rem16u#23 ) (word) main::tabsize#1 ← phi( main/(word) main::tabsize#0 ) - (byte*) char_cursor#49 ← phi( main/(byte*) char_cursor#14 ) + (byte*) char_cursor#65 ← phi( main/(byte*) char_cursor#20 ) (byte*) line_cursor#16 ← phi( main/(byte*) line_cursor#4 ) (byte*) line_cursor#5 ← (byte*) line_cursor#16 - (byte*) char_cursor#15 ← (byte*) char_cursor#49 + (byte*) char_cursor#21 ← (byte*) char_cursor#65 (byte*) sin8u_table::sintab#0 ← (byte[20]) main::sintab#0 (word) sin8u_table::tabsize#0 ← (word) main::tabsize#1 (byte) sin8u_table::min#0 ← (byte/signed byte/word/signed word/dword/signed dword) 10 @@ -3256,25 +3373,25 @@ main::@1: scope:[main] from main to:main::@2 main::@2: scope:[main] from main::@1 (byte*) line_cursor#17 ← phi( main::@1/(byte*) line_cursor#10 ) - (byte*) char_cursor#50 ← phi( main::@1/(byte*) char_cursor#34 ) + (byte*) char_cursor#66 ← phi( main::@1/(byte*) char_cursor#44 ) (word) rem16u#13 ← phi( main::@1/(word) rem16u#8 ) (word) rem16u#5 ← (word) rem16u#13 - (byte*) char_cursor#16 ← (byte*) char_cursor#50 + (byte*) char_cursor#22 ← (byte*) char_cursor#66 (byte*) line_cursor#6 ← (byte*) line_cursor#17 to:main::@return main::@return: scope:[main] from main::@2 (word) rem16u#14 ← phi( main::@2/(word) rem16u#5 ) - (byte*) char_cursor#51 ← phi( main::@2/(byte*) char_cursor#16 ) + (byte*) char_cursor#67 ← phi( main::@2/(byte*) char_cursor#22 ) (byte*) line_cursor#18 ← phi( main::@2/(byte*) line_cursor#6 ) (byte*) line_cursor#7 ← (byte*) line_cursor#18 - (byte*) char_cursor#17 ← (byte*) char_cursor#51 + (byte*) char_cursor#23 ← (byte*) char_cursor#67 (word) rem16u#6 ← (word) rem16u#14 return to:@return sin8u_table: scope:[sin8u_table] from main::@1 - (byte*) sin8u_table::sintab#22 ← phi( main::@1/(byte*) sin8u_table::sintab#0 ) - (byte*) line_cursor#44 ← phi( main::@1/(byte*) line_cursor#5 ) - (byte*) char_cursor#79 ← phi( main::@1/(byte*) char_cursor#15 ) + (byte*) sin8u_table::sintab#26 ← phi( main::@1/(byte*) sin8u_table::sintab#0 ) + (byte*) line_cursor#48 ← phi( main::@1/(byte*) line_cursor#5 ) + (byte*) char_cursor#105 ← phi( main::@1/(byte*) char_cursor#21 ) (word) rem16u#20 ← phi( main::@1/(word) rem16u#19 ) (word) sin8u_table::tabsize#1 ← phi( main::@1/(word) sin8u_table::tabsize#0 ) (byte) sin8u_table::min#1 ← phi( main::@1/(byte) sin8u_table::min#0 ) @@ -3284,337 +3401,414 @@ sin8u_table: scope:[sin8u_table] from main::@1 (byte/word~) sin8u_table::$1 ← (byte) sin8u_table::min#1 + (byte) sin8u_table::max#1 (word) sin8u_table::sum#0 ← (byte/word~) sin8u_table::$1 (word~) sin8u_table::$2 ← (word) sin8u_table::sum#0 >> (byte/signed byte/word/signed word/dword/signed dword) 1 - (byte~) sin8u_table::$3 ← ((byte)) (word~) sin8u_table::$2 - (byte) sin8u_table::mid#0 ← (byte~) sin8u_table::$3 + (word~) sin8u_table::$3 ← (word~) sin8u_table::$2 + (byte/signed byte/word/signed word/dword/signed dword) 1 + (byte~) sin8u_table::$4 ← ((byte)) (word~) sin8u_table::$3 + (byte) sin8u_table::mid#0 ← (byte~) sin8u_table::$4 (word) div16u::dividend#0 ← (word) PI2_u4f12#0 (word) div16u::divisor#0 ← (word) sin8u_table::tabsize#1 call div16u param-assignment (word) div16u::return#2 ← (word) div16u::return#1 to:sin8u_table::@3 sin8u_table::@3: scope:[sin8u_table] from sin8u_table - (word) sin8u_table::tabsize#21 ← phi( sin8u_table/(word) sin8u_table::tabsize#1 ) - (byte*) sin8u_table::sintab#21 ← phi( sin8u_table/(byte*) sin8u_table::sintab#22 ) - (byte*) line_cursor#43 ← phi( sin8u_table/(byte*) line_cursor#44 ) - (byte) sin8u_table::mid#20 ← phi( sin8u_table/(byte) sin8u_table::mid#0 ) + (word) sin8u_table::tabsize#25 ← phi( sin8u_table/(word) sin8u_table::tabsize#1 ) + (byte*) sin8u_table::sintab#25 ← phi( sin8u_table/(byte*) sin8u_table::sintab#26 ) + (byte*) line_cursor#46 ← phi( sin8u_table/(byte*) line_cursor#48 ) + (byte) sin8u_table::mid#21 ← phi( sin8u_table/(byte) sin8u_table::mid#0 ) (byte) sin8u_table::amplitude#19 ← phi( sin8u_table/(byte) sin8u_table::amplitude#0 ) (byte) sin8u_table::max#7 ← phi( sin8u_table/(byte) sin8u_table::max#1 ) (byte) sin8u_table::min#5 ← phi( sin8u_table/(byte) sin8u_table::min#1 ) - (byte*) char_cursor#75 ← phi( sin8u_table/(byte*) char_cursor#79 ) + (byte*) char_cursor#99 ← phi( sin8u_table/(byte*) char_cursor#105 ) (word) rem16u#15 ← phi( sin8u_table/(word) rem16u#4 ) (word) div16u::return#4 ← phi( sin8u_table/(word) div16u::return#2 ) - (word~) sin8u_table::$4 ← (word) div16u::return#4 + (word~) sin8u_table::$5 ← (word) div16u::return#4 (word) rem16u#7 ← (word) rem16u#15 - (word) sin8u_table::step#0 ← (word~) sin8u_table::$4 + (word) sin8u_table::step#0 ← (word~) sin8u_table::$5 (byte*) print_str::str#1 ← (const string) sin8u_table::str call print_str param-assignment to:sin8u_table::@4 sin8u_table::@4: scope:[sin8u_table] from sin8u_table::@3 - (word) rem16u#43 ← phi( sin8u_table::@3/(word) rem16u#7 ) - (word) sin8u_table::tabsize#20 ← phi( sin8u_table::@3/(word) sin8u_table::tabsize#21 ) - (byte*) sin8u_table::sintab#20 ← phi( sin8u_table::@3/(byte*) sin8u_table::sintab#21 ) - (byte*) line_cursor#42 ← phi( sin8u_table::@3/(byte*) line_cursor#43 ) - (byte) sin8u_table::mid#19 ← phi( sin8u_table::@3/(byte) sin8u_table::mid#20 ) + (word) rem16u#47 ← phi( sin8u_table::@3/(word) rem16u#7 ) + (word) sin8u_table::tabsize#24 ← phi( sin8u_table::@3/(word) sin8u_table::tabsize#25 ) + (byte*) sin8u_table::sintab#24 ← phi( sin8u_table::@3/(byte*) sin8u_table::sintab#25 ) + (byte*) line_cursor#44 ← phi( sin8u_table::@3/(byte*) line_cursor#46 ) + (byte) sin8u_table::mid#19 ← phi( sin8u_table::@3/(byte) sin8u_table::mid#21 ) (byte) sin8u_table::amplitude#17 ← phi( sin8u_table::@3/(byte) sin8u_table::amplitude#19 ) (byte) sin8u_table::max#6 ← phi( sin8u_table::@3/(byte) sin8u_table::max#7 ) (byte) sin8u_table::min#4 ← phi( sin8u_table::@3/(byte) sin8u_table::min#5 ) (word) sin8u_table::step#1 ← phi( sin8u_table::@3/(word) sin8u_table::step#0 ) - (byte*) char_cursor#52 ← phi( sin8u_table::@3/(byte*) char_cursor#2 ) - (byte*) char_cursor#18 ← (byte*) char_cursor#52 - (word) print_word::w#0 ← (word) sin8u_table::step#1 + (byte*) char_cursor#68 ← phi( sin8u_table::@3/(byte*) char_cursor#2 ) + (byte*) char_cursor#24 ← (byte*) char_cursor#68 + (word) print_word::w#1 ← (word) sin8u_table::step#1 call print_word param-assignment to:sin8u_table::@5 sin8u_table::@5: scope:[sin8u_table] from sin8u_table::@4 - (word) rem16u#42 ← phi( sin8u_table::@4/(word) rem16u#43 ) - (word) sin8u_table::tabsize#19 ← phi( sin8u_table::@4/(word) sin8u_table::tabsize#20 ) - (word) sin8u_table::step#19 ← phi( sin8u_table::@4/(word) sin8u_table::step#1 ) - (byte*) sin8u_table::sintab#19 ← phi( sin8u_table::@4/(byte*) sin8u_table::sintab#20 ) - (byte*) line_cursor#41 ← phi( sin8u_table::@4/(byte*) line_cursor#42 ) + (word) rem16u#46 ← phi( sin8u_table::@4/(word) rem16u#47 ) + (word) sin8u_table::tabsize#23 ← phi( sin8u_table::@4/(word) sin8u_table::tabsize#24 ) + (word) sin8u_table::step#23 ← phi( sin8u_table::@4/(word) sin8u_table::step#1 ) + (byte*) sin8u_table::sintab#23 ← phi( sin8u_table::@4/(byte*) sin8u_table::sintab#24 ) + (byte*) line_cursor#42 ← phi( sin8u_table::@4/(byte*) line_cursor#44 ) (byte) sin8u_table::mid#17 ← phi( sin8u_table::@4/(byte) sin8u_table::mid#19 ) (byte) sin8u_table::amplitude#14 ← phi( sin8u_table::@4/(byte) sin8u_table::amplitude#17 ) (byte) sin8u_table::max#5 ← phi( sin8u_table::@4/(byte) sin8u_table::max#6 ) (byte) sin8u_table::min#3 ← phi( sin8u_table::@4/(byte) sin8u_table::min#4 ) - (byte*) char_cursor#53 ← phi( sin8u_table::@4/(byte*) char_cursor#7 ) - (byte*) char_cursor#19 ← (byte*) char_cursor#53 + (byte*) char_cursor#69 ← phi( sin8u_table::@4/(byte*) char_cursor#13 ) + (byte*) char_cursor#25 ← (byte*) char_cursor#69 (byte*) print_str::str#2 ← (const string) sin8u_table::str1 call print_str param-assignment to:sin8u_table::@6 sin8u_table::@6: scope:[sin8u_table] from sin8u_table::@5 - (word) rem16u#41 ← phi( sin8u_table::@5/(word) rem16u#42 ) - (word) sin8u_table::tabsize#18 ← phi( sin8u_table::@5/(word) sin8u_table::tabsize#19 ) - (word) sin8u_table::step#18 ← phi( sin8u_table::@5/(word) sin8u_table::step#19 ) - (byte*) sin8u_table::sintab#18 ← phi( sin8u_table::@5/(byte*) sin8u_table::sintab#19 ) - (byte*) line_cursor#40 ← phi( sin8u_table::@5/(byte*) line_cursor#41 ) + (word) rem16u#45 ← phi( sin8u_table::@5/(word) rem16u#46 ) + (word) sin8u_table::tabsize#22 ← phi( sin8u_table::@5/(word) sin8u_table::tabsize#23 ) + (word) sin8u_table::step#22 ← phi( sin8u_table::@5/(word) sin8u_table::step#23 ) + (byte*) sin8u_table::sintab#21 ← phi( sin8u_table::@5/(byte*) sin8u_table::sintab#23 ) + (byte*) line_cursor#40 ← phi( sin8u_table::@5/(byte*) line_cursor#42 ) (byte) sin8u_table::mid#15 ← phi( sin8u_table::@5/(byte) sin8u_table::mid#17 ) (byte) sin8u_table::amplitude#11 ← phi( sin8u_table::@5/(byte) sin8u_table::amplitude#14 ) (byte) sin8u_table::max#4 ← phi( sin8u_table::@5/(byte) sin8u_table::max#5 ) (byte) sin8u_table::min#2 ← phi( sin8u_table::@5/(byte) sin8u_table::min#3 ) - (byte*) char_cursor#54 ← phi( sin8u_table::@5/(byte*) char_cursor#2 ) - (byte*) char_cursor#20 ← (byte*) char_cursor#54 - (byte) print_byte::b#2 ← (byte) sin8u_table::min#2 + (byte*) char_cursor#70 ← phi( sin8u_table::@5/(byte*) char_cursor#2 ) + (byte*) char_cursor#26 ← (byte*) char_cursor#70 + (byte) print_byte::b#3 ← (byte) sin8u_table::min#2 call print_byte param-assignment to:sin8u_table::@7 sin8u_table::@7: scope:[sin8u_table] from sin8u_table::@6 - (word) rem16u#40 ← phi( sin8u_table::@6/(word) rem16u#41 ) - (word) sin8u_table::tabsize#17 ← phi( sin8u_table::@6/(word) sin8u_table::tabsize#18 ) - (word) sin8u_table::step#17 ← phi( sin8u_table::@6/(word) sin8u_table::step#18 ) - (byte*) sin8u_table::sintab#17 ← phi( sin8u_table::@6/(byte*) sin8u_table::sintab#18 ) + (word) rem16u#44 ← phi( sin8u_table::@6/(word) rem16u#45 ) + (word) sin8u_table::tabsize#21 ← phi( sin8u_table::@6/(word) sin8u_table::tabsize#22 ) + (word) sin8u_table::step#21 ← phi( sin8u_table::@6/(word) sin8u_table::step#22 ) + (byte*) sin8u_table::sintab#19 ← phi( sin8u_table::@6/(byte*) sin8u_table::sintab#21 ) (byte*) line_cursor#38 ← phi( sin8u_table::@6/(byte*) line_cursor#40 ) (byte) sin8u_table::mid#13 ← phi( sin8u_table::@6/(byte) sin8u_table::mid#15 ) (byte) sin8u_table::amplitude#8 ← phi( sin8u_table::@6/(byte) sin8u_table::amplitude#11 ) (byte) sin8u_table::max#3 ← phi( sin8u_table::@6/(byte) sin8u_table::max#4 ) - (byte*) char_cursor#55 ← phi( sin8u_table::@6/(byte*) char_cursor#10 ) - (byte*) char_cursor#21 ← (byte*) char_cursor#55 + (byte*) char_cursor#71 ← phi( sin8u_table::@6/(byte*) char_cursor#16 ) + (byte*) char_cursor#27 ← (byte*) char_cursor#71 (byte*) print_str::str#3 ← (const string) sin8u_table::str2 call print_str param-assignment to:sin8u_table::@8 sin8u_table::@8: scope:[sin8u_table] from sin8u_table::@7 - (word) rem16u#39 ← phi( sin8u_table::@7/(word) rem16u#40 ) - (word) sin8u_table::tabsize#16 ← phi( sin8u_table::@7/(word) sin8u_table::tabsize#17 ) - (word) sin8u_table::step#16 ← phi( sin8u_table::@7/(word) sin8u_table::step#17 ) - (byte*) sin8u_table::sintab#16 ← phi( sin8u_table::@7/(byte*) sin8u_table::sintab#17 ) + (word) rem16u#43 ← phi( sin8u_table::@7/(word) rem16u#44 ) + (word) sin8u_table::tabsize#20 ← phi( sin8u_table::@7/(word) sin8u_table::tabsize#21 ) + (word) sin8u_table::step#20 ← phi( sin8u_table::@7/(word) sin8u_table::step#21 ) + (byte*) sin8u_table::sintab#17 ← phi( sin8u_table::@7/(byte*) sin8u_table::sintab#19 ) (byte*) line_cursor#36 ← phi( sin8u_table::@7/(byte*) line_cursor#38 ) (byte) sin8u_table::mid#10 ← phi( sin8u_table::@7/(byte) sin8u_table::mid#13 ) (byte) sin8u_table::amplitude#5 ← phi( sin8u_table::@7/(byte) sin8u_table::amplitude#8 ) (byte) sin8u_table::max#2 ← phi( sin8u_table::@7/(byte) sin8u_table::max#3 ) - (byte*) char_cursor#56 ← phi( sin8u_table::@7/(byte*) char_cursor#2 ) - (byte*) char_cursor#22 ← (byte*) char_cursor#56 - (byte) print_byte::b#3 ← (byte) sin8u_table::max#2 + (byte*) char_cursor#72 ← phi( sin8u_table::@7/(byte*) char_cursor#2 ) + (byte*) char_cursor#28 ← (byte*) char_cursor#72 + (byte) print_byte::b#4 ← (byte) sin8u_table::max#2 call print_byte param-assignment to:sin8u_table::@9 sin8u_table::@9: scope:[sin8u_table] from sin8u_table::@8 - (word) rem16u#38 ← phi( sin8u_table::@8/(word) rem16u#39 ) - (word) sin8u_table::tabsize#15 ← phi( sin8u_table::@8/(word) sin8u_table::tabsize#16 ) - (word) sin8u_table::step#15 ← phi( sin8u_table::@8/(word) sin8u_table::step#16 ) - (byte*) sin8u_table::sintab#15 ← phi( sin8u_table::@8/(byte*) sin8u_table::sintab#16 ) + (word) rem16u#42 ← phi( sin8u_table::@8/(word) rem16u#43 ) + (word) sin8u_table::tabsize#19 ← phi( sin8u_table::@8/(word) sin8u_table::tabsize#20 ) + (word) sin8u_table::step#19 ← phi( sin8u_table::@8/(word) sin8u_table::step#20 ) + (byte*) sin8u_table::sintab#15 ← phi( sin8u_table::@8/(byte*) sin8u_table::sintab#17 ) (byte*) line_cursor#34 ← phi( sin8u_table::@8/(byte*) line_cursor#36 ) (byte) sin8u_table::mid#7 ← phi( sin8u_table::@8/(byte) sin8u_table::mid#10 ) (byte) sin8u_table::amplitude#3 ← phi( sin8u_table::@8/(byte) sin8u_table::amplitude#5 ) - (byte*) char_cursor#57 ← phi( sin8u_table::@8/(byte*) char_cursor#10 ) - (byte*) char_cursor#23 ← (byte*) char_cursor#57 + (byte*) char_cursor#73 ← phi( sin8u_table::@8/(byte*) char_cursor#16 ) + (byte*) char_cursor#29 ← (byte*) char_cursor#73 (byte*) print_str::str#4 ← (const string) sin8u_table::str3 call print_str param-assignment to:sin8u_table::@10 sin8u_table::@10: scope:[sin8u_table] from sin8u_table::@9 - (word) rem16u#37 ← phi( sin8u_table::@9/(word) rem16u#38 ) - (word) sin8u_table::tabsize#14 ← phi( sin8u_table::@9/(word) sin8u_table::tabsize#15 ) - (word) sin8u_table::step#14 ← phi( sin8u_table::@9/(word) sin8u_table::step#15 ) + (word) rem16u#41 ← phi( sin8u_table::@9/(word) rem16u#42 ) + (word) sin8u_table::tabsize#18 ← phi( sin8u_table::@9/(word) sin8u_table::tabsize#19 ) + (word) sin8u_table::step#18 ← phi( sin8u_table::@9/(word) sin8u_table::step#19 ) (byte*) sin8u_table::sintab#13 ← phi( sin8u_table::@9/(byte*) sin8u_table::sintab#15 ) (byte*) line_cursor#32 ← phi( sin8u_table::@9/(byte*) line_cursor#34 ) (byte) sin8u_table::mid#5 ← phi( sin8u_table::@9/(byte) sin8u_table::mid#7 ) (byte) sin8u_table::amplitude#1 ← phi( sin8u_table::@9/(byte) sin8u_table::amplitude#3 ) - (byte*) char_cursor#58 ← phi( sin8u_table::@9/(byte*) char_cursor#2 ) - (byte*) char_cursor#24 ← (byte*) char_cursor#58 - (byte) print_byte::b#4 ← (byte) sin8u_table::amplitude#1 + (byte*) char_cursor#74 ← phi( sin8u_table::@9/(byte*) char_cursor#2 ) + (byte*) char_cursor#30 ← (byte*) char_cursor#74 + (byte) print_byte::b#5 ← (byte) sin8u_table::amplitude#1 call print_byte param-assignment to:sin8u_table::@11 sin8u_table::@11: scope:[sin8u_table] from sin8u_table::@10 - (word) rem16u#36 ← phi( sin8u_table::@10/(word) rem16u#37 ) - (word) sin8u_table::tabsize#13 ← phi( sin8u_table::@10/(word) sin8u_table::tabsize#14 ) - (word) sin8u_table::step#13 ← phi( sin8u_table::@10/(word) sin8u_table::step#14 ) + (word) rem16u#40 ← phi( sin8u_table::@10/(word) rem16u#41 ) + (word) sin8u_table::tabsize#17 ← phi( sin8u_table::@10/(word) sin8u_table::tabsize#18 ) + (word) sin8u_table::step#17 ← phi( sin8u_table::@10/(word) sin8u_table::step#18 ) (byte*) sin8u_table::sintab#11 ← phi( sin8u_table::@10/(byte*) sin8u_table::sintab#13 ) (byte) sin8u_table::amplitude#15 ← phi( sin8u_table::@10/(byte) sin8u_table::amplitude#1 ) (byte*) line_cursor#30 ← phi( sin8u_table::@10/(byte*) line_cursor#32 ) (byte) sin8u_table::mid#3 ← phi( sin8u_table::@10/(byte) sin8u_table::mid#5 ) - (byte*) char_cursor#59 ← phi( sin8u_table::@10/(byte*) char_cursor#10 ) - (byte*) char_cursor#25 ← (byte*) char_cursor#59 + (byte*) char_cursor#75 ← phi( sin8u_table::@10/(byte*) char_cursor#16 ) + (byte*) char_cursor#31 ← (byte*) char_cursor#75 (byte*) print_str::str#5 ← (const string) sin8u_table::str4 call print_str param-assignment to:sin8u_table::@12 sin8u_table::@12: scope:[sin8u_table] from sin8u_table::@11 - (word) rem16u#35 ← phi( sin8u_table::@11/(word) rem16u#36 ) - (word) sin8u_table::tabsize#12 ← phi( sin8u_table::@11/(word) sin8u_table::tabsize#13 ) - (word) sin8u_table::step#12 ← phi( sin8u_table::@11/(word) sin8u_table::step#13 ) + (word) rem16u#39 ← phi( sin8u_table::@11/(word) rem16u#40 ) + (word) sin8u_table::tabsize#16 ← phi( sin8u_table::@11/(word) sin8u_table::tabsize#17 ) + (word) sin8u_table::step#16 ← phi( sin8u_table::@11/(word) sin8u_table::step#17 ) (byte*) sin8u_table::sintab#9 ← phi( sin8u_table::@11/(byte*) sin8u_table::sintab#11 ) (byte) sin8u_table::amplitude#12 ← phi( sin8u_table::@11/(byte) sin8u_table::amplitude#15 ) (byte*) line_cursor#28 ← phi( sin8u_table::@11/(byte*) line_cursor#30 ) (byte) sin8u_table::mid#1 ← phi( sin8u_table::@11/(byte) sin8u_table::mid#3 ) - (byte*) char_cursor#60 ← phi( sin8u_table::@11/(byte*) char_cursor#2 ) - (byte*) char_cursor#26 ← (byte*) char_cursor#60 - (byte) print_byte::b#5 ← (byte) sin8u_table::mid#1 + (byte*) char_cursor#76 ← phi( sin8u_table::@11/(byte*) char_cursor#2 ) + (byte*) char_cursor#32 ← (byte*) char_cursor#76 + (byte) print_byte::b#6 ← (byte) sin8u_table::mid#1 call print_byte param-assignment to:sin8u_table::@13 sin8u_table::@13: scope:[sin8u_table] from sin8u_table::@12 - (word) rem16u#34 ← phi( sin8u_table::@12/(word) rem16u#35 ) - (word) sin8u_table::tabsize#11 ← phi( sin8u_table::@12/(word) sin8u_table::tabsize#12 ) - (word) sin8u_table::step#11 ← phi( sin8u_table::@12/(word) sin8u_table::step#12 ) + (word) rem16u#38 ← phi( sin8u_table::@12/(word) rem16u#39 ) + (word) sin8u_table::tabsize#15 ← phi( sin8u_table::@12/(word) sin8u_table::tabsize#16 ) + (word) sin8u_table::step#15 ← phi( sin8u_table::@12/(word) sin8u_table::step#16 ) (byte*) sin8u_table::sintab#7 ← phi( sin8u_table::@12/(byte*) sin8u_table::sintab#9 ) (byte) sin8u_table::mid#11 ← phi( sin8u_table::@12/(byte) sin8u_table::mid#1 ) (byte) sin8u_table::amplitude#9 ← phi( sin8u_table::@12/(byte) sin8u_table::amplitude#12 ) (byte*) line_cursor#25 ← phi( sin8u_table::@12/(byte*) line_cursor#28 ) - (byte*) char_cursor#61 ← phi( sin8u_table::@12/(byte*) char_cursor#10 ) - (byte*) char_cursor#27 ← (byte*) char_cursor#61 + (byte*) char_cursor#77 ← phi( sin8u_table::@12/(byte*) char_cursor#16 ) + (byte*) char_cursor#33 ← (byte*) char_cursor#77 call print_ln param-assignment to:sin8u_table::@14 sin8u_table::@14: scope:[sin8u_table] from sin8u_table::@13 - (word) rem16u#33 ← phi( sin8u_table::@13/(word) rem16u#34 ) - (word) sin8u_table::tabsize#10 ← phi( sin8u_table::@13/(word) sin8u_table::tabsize#11 ) - (word) sin8u_table::step#10 ← phi( sin8u_table::@13/(word) sin8u_table::step#11 ) + (word) rem16u#37 ← phi( sin8u_table::@13/(word) rem16u#38 ) + (word) sin8u_table::tabsize#14 ← phi( sin8u_table::@13/(word) sin8u_table::tabsize#15 ) + (word) sin8u_table::step#14 ← phi( sin8u_table::@13/(word) sin8u_table::step#15 ) (byte*) sin8u_table::sintab#5 ← phi( sin8u_table::@13/(byte*) sin8u_table::sintab#7 ) (byte) sin8u_table::mid#8 ← phi( sin8u_table::@13/(byte) sin8u_table::mid#11 ) (byte) sin8u_table::amplitude#6 ← phi( sin8u_table::@13/(byte) sin8u_table::amplitude#9 ) - (byte*) char_cursor#62 ← phi( sin8u_table::@13/(byte*) char_cursor#4 ) + (byte*) char_cursor#78 ← phi( sin8u_table::@13/(byte*) char_cursor#4 ) (byte*) line_cursor#19 ← phi( sin8u_table::@13/(byte*) line_cursor#2 ) (byte*) line_cursor#8 ← (byte*) line_cursor#19 - (byte*) char_cursor#28 ← (byte*) char_cursor#62 + (byte*) char_cursor#34 ← (byte*) char_cursor#78 (word) sin8u_table::x#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0 (word) sin8u_table::i#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0 to:sin8u_table::@1 -sin8u_table::@1: scope:[sin8u_table] from sin8u_table::@14 sin8u_table::@21 - (word) rem16u#32 ← phi( sin8u_table::@14/(word) rem16u#33 sin8u_table::@21/(word) rem16u#21 ) - (word) sin8u_table::tabsize#9 ← phi( sin8u_table::@14/(word) sin8u_table::tabsize#10 sin8u_table::@21/(word) sin8u_table::tabsize#2 ) - (word) sin8u_table::i#9 ← phi( sin8u_table::@14/(word) sin8u_table::i#0 sin8u_table::@21/(word) sin8u_table::i#1 ) - (word) sin8u_table::step#9 ← phi( sin8u_table::@14/(word) sin8u_table::step#10 sin8u_table::@21/(word) sin8u_table::step#2 ) - (byte*) line_cursor#39 ← phi( sin8u_table::@14/(byte*) line_cursor#8 sin8u_table::@21/(byte*) line_cursor#9 ) - (byte*) char_cursor#81 ← phi( sin8u_table::@14/(byte*) char_cursor#28 sin8u_table::@21/(byte*) char_cursor#33 ) - (byte*) sin8u_table::sintab#4 ← phi( sin8u_table::@14/(byte*) sin8u_table::sintab#5 sin8u_table::@21/(byte*) sin8u_table::sintab#6 ) - (byte) sin8u_table::mid#6 ← phi( sin8u_table::@14/(byte) sin8u_table::mid#8 sin8u_table::@21/(byte) sin8u_table::mid#9 ) - (byte) sin8u_table::amplitude#4 ← phi( sin8u_table::@14/(byte) sin8u_table::amplitude#6 sin8u_table::@21/(byte) sin8u_table::amplitude#7 ) - (word) sin8u_table::x#2 ← phi( sin8u_table::@14/(word) sin8u_table::x#0 sin8u_table::@21/(word) sin8u_table::x#1 ) +sin8u_table::@1: scope:[sin8u_table] from sin8u_table::@14 sin8u_table::@25 + (word) rem16u#36 ← phi( sin8u_table::@14/(word) rem16u#37 sin8u_table::@25/(word) rem16u#21 ) + (word) sin8u_table::tabsize#13 ← phi( sin8u_table::@14/(word) sin8u_table::tabsize#14 sin8u_table::@25/(word) sin8u_table::tabsize#2 ) + (word) sin8u_table::i#13 ← phi( sin8u_table::@14/(word) sin8u_table::i#0 sin8u_table::@25/(word) sin8u_table::i#1 ) + (word) sin8u_table::step#13 ← phi( sin8u_table::@14/(word) sin8u_table::step#14 sin8u_table::@25/(word) sin8u_table::step#2 ) + (byte*) line_cursor#47 ← phi( sin8u_table::@14/(byte*) line_cursor#8 sin8u_table::@25/(byte*) line_cursor#9 ) + (byte*) char_cursor#107 ← phi( sin8u_table::@14/(byte*) char_cursor#34 sin8u_table::@25/(byte*) char_cursor#43 ) + (byte*) sin8u_table::sintab#4 ← phi( sin8u_table::@14/(byte*) sin8u_table::sintab#5 sin8u_table::@25/(byte*) sin8u_table::sintab#6 ) + (byte) sin8u_table::mid#6 ← phi( sin8u_table::@14/(byte) sin8u_table::mid#8 sin8u_table::@25/(byte) sin8u_table::mid#9 ) + (byte) sin8u_table::amplitude#4 ← phi( sin8u_table::@14/(byte) sin8u_table::amplitude#6 sin8u_table::@25/(byte) sin8u_table::amplitude#7 ) + (word) sin8u_table::x#2 ← phi( sin8u_table::@14/(word) sin8u_table::x#0 sin8u_table::@25/(word) sin8u_table::x#1 ) (word) sin8s::x#2 ← (word) sin8u_table::x#2 call sin8s param-assignment (signed byte) sin8s::return#2 ← (signed byte) sin8s::return#1 to:sin8u_table::@15 sin8u_table::@15: scope:[sin8u_table] from sin8u_table::@1 - (word) rem16u#31 ← phi( sin8u_table::@1/(word) rem16u#32 ) - (word) sin8u_table::tabsize#8 ← phi( sin8u_table::@1/(word) sin8u_table::tabsize#9 ) - (word) sin8u_table::i#8 ← phi( sin8u_table::@1/(word) sin8u_table::i#9 ) - (word) sin8u_table::step#8 ← phi( sin8u_table::@1/(word) sin8u_table::step#9 ) - (byte*) line_cursor#37 ← phi( sin8u_table::@1/(byte*) line_cursor#39 ) + (word) rem16u#35 ← phi( sin8u_table::@1/(word) rem16u#36 ) + (word) sin8u_table::tabsize#12 ← phi( sin8u_table::@1/(word) sin8u_table::tabsize#13 ) + (word) sin8u_table::i#12 ← phi( sin8u_table::@1/(word) sin8u_table::i#13 ) + (word) sin8u_table::step#12 ← phi( sin8u_table::@1/(word) sin8u_table::step#13 ) + (byte*) line_cursor#45 ← phi( sin8u_table::@1/(byte*) line_cursor#47 ) (word) sin8u_table::x#7 ← phi( sin8u_table::@1/(word) sin8u_table::x#2 ) - (byte*) char_cursor#80 ← phi( sin8u_table::@1/(byte*) char_cursor#81 ) + (byte*) char_cursor#106 ← phi( sin8u_table::@1/(byte*) char_cursor#107 ) (byte*) sin8u_table::sintab#3 ← phi( sin8u_table::@1/(byte*) sin8u_table::sintab#4 ) (byte) sin8u_table::mid#4 ← phi( sin8u_table::@1/(byte) sin8u_table::mid#6 ) (byte) sin8u_table::amplitude#2 ← phi( sin8u_table::@1/(byte) sin8u_table::amplitude#4 ) (signed byte) sin8s::return#4 ← phi( sin8u_table::@1/(signed byte) sin8s::return#2 ) - (signed byte~) sin8u_table::$16 ← (signed byte) sin8s::return#4 - (signed byte) mul8su::a#0 ← (signed byte~) sin8u_table::$16 - (byte) mul8su::b#0 ← (byte) sin8u_table::amplitude#2 + (signed byte~) sin8u_table::$17 ← (signed byte) sin8s::return#4 + (signed byte) sin8u_table::sinx#0 ← (signed byte~) sin8u_table::$17 + (byte/word~) sin8u_table::$18 ← (byte) sin8u_table::amplitude#2 + (byte/signed byte/word/signed word/dword/signed dword) 1 + (signed byte) mul8su::a#0 ← (signed byte) sin8u_table::sinx#0 + (byte) mul8su::b#0 ← (byte/word~) sin8u_table::$18 call mul8su param-assignment (signed word) mul8su::return#2 ← (signed word) mul8su::return#1 to:sin8u_table::@16 sin8u_table::@16: scope:[sin8u_table] from sin8u_table::@15 - (byte) sin8u_table::amplitude#20 ← phi( sin8u_table::@15/(byte) sin8u_table::amplitude#2 ) - (word) rem16u#30 ← phi( sin8u_table::@15/(word) rem16u#31 ) - (word) sin8u_table::tabsize#7 ← phi( sin8u_table::@15/(word) sin8u_table::tabsize#8 ) - (word) sin8u_table::i#7 ← phi( sin8u_table::@15/(word) sin8u_table::i#8 ) - (word) sin8u_table::step#7 ← phi( sin8u_table::@15/(word) sin8u_table::step#8 ) - (byte*) line_cursor#35 ← phi( sin8u_table::@15/(byte*) line_cursor#37 ) + (byte) sin8u_table::amplitude#24 ← phi( sin8u_table::@15/(byte) sin8u_table::amplitude#2 ) + (word) rem16u#34 ← phi( sin8u_table::@15/(word) rem16u#35 ) + (word) sin8u_table::tabsize#11 ← phi( sin8u_table::@15/(word) sin8u_table::tabsize#12 ) + (word) sin8u_table::i#11 ← phi( sin8u_table::@15/(word) sin8u_table::i#12 ) + (word) sin8u_table::step#11 ← phi( sin8u_table::@15/(word) sin8u_table::step#12 ) + (byte*) line_cursor#43 ← phi( sin8u_table::@15/(byte*) line_cursor#45 ) + (signed byte) sin8u_table::sinx#4 ← phi( sin8u_table::@15/(signed byte) sin8u_table::sinx#0 ) (word) sin8u_table::x#5 ← phi( sin8u_table::@15/(word) sin8u_table::x#7 ) - (byte*) char_cursor#76 ← phi( sin8u_table::@15/(byte*) char_cursor#80 ) + (byte*) char_cursor#100 ← phi( sin8u_table::@15/(byte*) char_cursor#106 ) (byte*) sin8u_table::sintab#2 ← phi( sin8u_table::@15/(byte*) sin8u_table::sintab#3 ) (byte) sin8u_table::mid#2 ← phi( sin8u_table::@15/(byte) sin8u_table::mid#4 ) (signed word) mul8su::return#4 ← phi( sin8u_table::@15/(signed word) mul8su::return#2 ) - (signed word~) sin8u_table::$17 ← (signed word) mul8su::return#4 - (byte~) sin8u_table::$18 ← > (signed word~) sin8u_table::$17 - (byte/word~) sin8u_table::$19 ← (byte) sin8u_table::mid#2 + (byte~) sin8u_table::$18 - (byte) sin8u_table::sinval#0 ← (byte/word~) sin8u_table::$19 - *((byte*) sin8u_table::sintab#2) ← (byte) sin8u_table::sinval#0 + (signed word~) sin8u_table::$19 ← (signed word) mul8su::return#4 + (signed word) sin8u_table::sinx_sc#0 ← (signed word~) sin8u_table::$19 + (byte~) sin8u_table::$20 ← > (signed word) sin8u_table::sinx_sc#0 + (byte/word~) sin8u_table::$21 ← (byte) sin8u_table::mid#2 + (byte~) sin8u_table::$20 + (byte) sin8u_table::sinx_tr#0 ← (byte/word~) sin8u_table::$21 + *((byte*) sin8u_table::sintab#2) ← (byte) sin8u_table::sinx_tr#0 (byte*) sin8u_table::sintab#1 ← ++ (byte*) sin8u_table::sintab#2 (byte*) print_str::str#6 ← (const string) sin8u_table::str5 call print_str param-assignment to:sin8u_table::@17 sin8u_table::@17: scope:[sin8u_table] from sin8u_table::@16 - (byte*) sin8u_table::sintab#14 ← phi( sin8u_table::@16/(byte*) sin8u_table::sintab#1 ) - (byte) sin8u_table::mid#18 ← phi( sin8u_table::@16/(byte) sin8u_table::mid#2 ) - (byte) sin8u_table::amplitude#18 ← phi( sin8u_table::@16/(byte) sin8u_table::amplitude#20 ) - (word) rem16u#29 ← phi( sin8u_table::@16/(word) rem16u#30 ) - (word) sin8u_table::tabsize#6 ← phi( sin8u_table::@16/(word) sin8u_table::tabsize#7 ) - (word) sin8u_table::i#6 ← phi( sin8u_table::@16/(word) sin8u_table::i#7 ) - (word) sin8u_table::step#6 ← phi( sin8u_table::@16/(word) sin8u_table::step#7 ) - (byte*) line_cursor#33 ← phi( sin8u_table::@16/(byte*) line_cursor#35 ) - (byte) sin8u_table::sinval#3 ← phi( sin8u_table::@16/(byte) sin8u_table::sinval#0 ) + (byte*) sin8u_table::sintab#22 ← phi( sin8u_table::@16/(byte*) sin8u_table::sintab#1 ) + (byte) sin8u_table::mid#24 ← phi( sin8u_table::@16/(byte) sin8u_table::mid#2 ) + (byte) sin8u_table::amplitude#23 ← phi( sin8u_table::@16/(byte) sin8u_table::amplitude#24 ) + (word) rem16u#33 ← phi( sin8u_table::@16/(word) rem16u#34 ) + (word) sin8u_table::tabsize#10 ← phi( sin8u_table::@16/(word) sin8u_table::tabsize#11 ) + (word) sin8u_table::i#10 ← phi( sin8u_table::@16/(word) sin8u_table::i#11 ) + (word) sin8u_table::step#10 ← phi( sin8u_table::@16/(word) sin8u_table::step#11 ) + (byte*) line_cursor#41 ← phi( sin8u_table::@16/(byte*) line_cursor#43 ) + (byte) sin8u_table::sinx_tr#7 ← phi( sin8u_table::@16/(byte) sin8u_table::sinx_tr#0 ) + (signed word) sin8u_table::sinx_sc#5 ← phi( sin8u_table::@16/(signed word) sin8u_table::sinx_sc#0 ) + (signed byte) sin8u_table::sinx#3 ← phi( sin8u_table::@16/(signed byte) sin8u_table::sinx#4 ) (word) sin8u_table::x#3 ← phi( sin8u_table::@16/(word) sin8u_table::x#5 ) - (byte*) char_cursor#63 ← phi( sin8u_table::@16/(byte*) char_cursor#2 ) - (byte*) char_cursor#29 ← (byte*) char_cursor#63 - (word) print_word::w#1 ← (word) sin8u_table::x#3 + (byte*) char_cursor#79 ← phi( sin8u_table::@16/(byte*) char_cursor#2 ) + (byte*) char_cursor#35 ← (byte*) char_cursor#79 + (word) print_word::w#2 ← (word) sin8u_table::x#3 call print_word param-assignment to:sin8u_table::@18 sin8u_table::@18: scope:[sin8u_table] from sin8u_table::@17 - (byte*) sin8u_table::sintab#12 ← phi( sin8u_table::@17/(byte*) sin8u_table::sintab#14 ) - (byte) sin8u_table::mid#16 ← phi( sin8u_table::@17/(byte) sin8u_table::mid#18 ) - (byte) sin8u_table::amplitude#16 ← phi( sin8u_table::@17/(byte) sin8u_table::amplitude#18 ) - (word) rem16u#28 ← phi( sin8u_table::@17/(word) rem16u#29 ) - (word) sin8u_table::tabsize#5 ← phi( sin8u_table::@17/(word) sin8u_table::tabsize#6 ) - (word) sin8u_table::i#5 ← phi( sin8u_table::@17/(word) sin8u_table::i#6 ) - (word) sin8u_table::step#5 ← phi( sin8u_table::@17/(word) sin8u_table::step#6 ) - (word) sin8u_table::x#9 ← phi( sin8u_table::@17/(word) sin8u_table::x#3 ) - (byte*) line_cursor#31 ← phi( sin8u_table::@17/(byte*) line_cursor#33 ) - (byte) sin8u_table::sinval#2 ← phi( sin8u_table::@17/(byte) sin8u_table::sinval#3 ) - (byte*) char_cursor#64 ← phi( sin8u_table::@17/(byte*) char_cursor#7 ) - (byte*) char_cursor#30 ← (byte*) char_cursor#64 + (byte*) sin8u_table::sintab#20 ← phi( sin8u_table::@17/(byte*) sin8u_table::sintab#22 ) + (byte) sin8u_table::mid#23 ← phi( sin8u_table::@17/(byte) sin8u_table::mid#24 ) + (byte) sin8u_table::amplitude#22 ← phi( sin8u_table::@17/(byte) sin8u_table::amplitude#23 ) + (word) rem16u#32 ← phi( sin8u_table::@17/(word) rem16u#33 ) + (word) sin8u_table::tabsize#9 ← phi( sin8u_table::@17/(word) sin8u_table::tabsize#10 ) + (word) sin8u_table::i#9 ← phi( sin8u_table::@17/(word) sin8u_table::i#10 ) + (word) sin8u_table::step#9 ← phi( sin8u_table::@17/(word) sin8u_table::step#10 ) + (word) sin8u_table::x#13 ← phi( sin8u_table::@17/(word) sin8u_table::x#3 ) + (byte*) line_cursor#39 ← phi( sin8u_table::@17/(byte*) line_cursor#41 ) + (byte) sin8u_table::sinx_tr#6 ← phi( sin8u_table::@17/(byte) sin8u_table::sinx_tr#7 ) + (signed word) sin8u_table::sinx_sc#4 ← phi( sin8u_table::@17/(signed word) sin8u_table::sinx_sc#5 ) + (signed byte) sin8u_table::sinx#2 ← phi( sin8u_table::@17/(signed byte) sin8u_table::sinx#3 ) + (byte*) char_cursor#80 ← phi( sin8u_table::@17/(byte*) char_cursor#13 ) + (byte*) char_cursor#36 ← (byte*) char_cursor#80 (byte*) print_str::str#7 ← (const string) sin8u_table::str6 call print_str param-assignment to:sin8u_table::@19 sin8u_table::@19: scope:[sin8u_table] from sin8u_table::@18 - (byte*) sin8u_table::sintab#10 ← phi( sin8u_table::@18/(byte*) sin8u_table::sintab#12 ) - (byte) sin8u_table::mid#14 ← phi( sin8u_table::@18/(byte) sin8u_table::mid#16 ) - (byte) sin8u_table::amplitude#13 ← phi( sin8u_table::@18/(byte) sin8u_table::amplitude#16 ) - (word) rem16u#27 ← phi( sin8u_table::@18/(word) rem16u#28 ) - (word) sin8u_table::tabsize#4 ← phi( sin8u_table::@18/(word) sin8u_table::tabsize#5 ) - (word) sin8u_table::i#4 ← phi( sin8u_table::@18/(word) sin8u_table::i#5 ) - (word) sin8u_table::step#4 ← phi( sin8u_table::@18/(word) sin8u_table::step#5 ) - (word) sin8u_table::x#8 ← phi( sin8u_table::@18/(word) sin8u_table::x#9 ) - (byte*) line_cursor#29 ← phi( sin8u_table::@18/(byte*) line_cursor#31 ) - (byte) sin8u_table::sinval#1 ← phi( sin8u_table::@18/(byte) sin8u_table::sinval#2 ) - (byte*) char_cursor#65 ← phi( sin8u_table::@18/(byte*) char_cursor#2 ) - (byte*) char_cursor#31 ← (byte*) char_cursor#65 - (byte) print_byte::b#6 ← (byte) sin8u_table::sinval#1 - call print_byte param-assignment + (byte*) sin8u_table::sintab#18 ← phi( sin8u_table::@18/(byte*) sin8u_table::sintab#20 ) + (byte) sin8u_table::mid#22 ← phi( sin8u_table::@18/(byte) sin8u_table::mid#23 ) + (byte) sin8u_table::amplitude#21 ← phi( sin8u_table::@18/(byte) sin8u_table::amplitude#22 ) + (word) rem16u#31 ← phi( sin8u_table::@18/(word) rem16u#32 ) + (word) sin8u_table::tabsize#8 ← phi( sin8u_table::@18/(word) sin8u_table::tabsize#9 ) + (word) sin8u_table::i#8 ← phi( sin8u_table::@18/(word) sin8u_table::i#9 ) + (word) sin8u_table::step#8 ← phi( sin8u_table::@18/(word) sin8u_table::step#9 ) + (word) sin8u_table::x#12 ← phi( sin8u_table::@18/(word) sin8u_table::x#13 ) + (byte*) line_cursor#37 ← phi( sin8u_table::@18/(byte*) line_cursor#39 ) + (byte) sin8u_table::sinx_tr#5 ← phi( sin8u_table::@18/(byte) sin8u_table::sinx_tr#6 ) + (signed word) sin8u_table::sinx_sc#3 ← phi( sin8u_table::@18/(signed word) sin8u_table::sinx_sc#4 ) + (signed byte) sin8u_table::sinx#1 ← phi( sin8u_table::@18/(signed byte) sin8u_table::sinx#2 ) + (byte*) char_cursor#81 ← phi( sin8u_table::@18/(byte*) char_cursor#2 ) + (byte*) char_cursor#37 ← (byte*) char_cursor#81 + (signed byte) print_sbyte::b#1 ← (signed byte) sin8u_table::sinx#1 + call print_sbyte param-assignment to:sin8u_table::@20 sin8u_table::@20: scope:[sin8u_table] from sin8u_table::@19 - (byte*) sin8u_table::sintab#8 ← phi( sin8u_table::@19/(byte*) sin8u_table::sintab#10 ) - (byte) sin8u_table::mid#12 ← phi( sin8u_table::@19/(byte) sin8u_table::mid#14 ) - (byte) sin8u_table::amplitude#10 ← phi( sin8u_table::@19/(byte) sin8u_table::amplitude#13 ) - (word) rem16u#24 ← phi( sin8u_table::@19/(word) rem16u#27 ) - (word) sin8u_table::tabsize#3 ← phi( sin8u_table::@19/(word) sin8u_table::tabsize#4 ) - (word) sin8u_table::i#3 ← phi( sin8u_table::@19/(word) sin8u_table::i#4 ) - (word) sin8u_table::step#3 ← phi( sin8u_table::@19/(word) sin8u_table::step#4 ) - (word) sin8u_table::x#6 ← phi( sin8u_table::@19/(word) sin8u_table::x#8 ) - (byte*) line_cursor#26 ← phi( sin8u_table::@19/(byte*) line_cursor#29 ) - (byte*) char_cursor#66 ← phi( sin8u_table::@19/(byte*) char_cursor#10 ) - (byte*) char_cursor#32 ← (byte*) char_cursor#66 - call print_ln param-assignment + (byte*) sin8u_table::sintab#16 ← phi( sin8u_table::@19/(byte*) sin8u_table::sintab#18 ) + (byte) sin8u_table::mid#20 ← phi( sin8u_table::@19/(byte) sin8u_table::mid#22 ) + (byte) sin8u_table::amplitude#20 ← phi( sin8u_table::@19/(byte) sin8u_table::amplitude#21 ) + (word) rem16u#30 ← phi( sin8u_table::@19/(word) rem16u#31 ) + (word) sin8u_table::tabsize#7 ← phi( sin8u_table::@19/(word) sin8u_table::tabsize#8 ) + (word) sin8u_table::i#7 ← phi( sin8u_table::@19/(word) sin8u_table::i#8 ) + (word) sin8u_table::step#7 ← phi( sin8u_table::@19/(word) sin8u_table::step#8 ) + (word) sin8u_table::x#11 ← phi( sin8u_table::@19/(word) sin8u_table::x#12 ) + (byte*) line_cursor#35 ← phi( sin8u_table::@19/(byte*) line_cursor#37 ) + (byte) sin8u_table::sinx_tr#4 ← phi( sin8u_table::@19/(byte) sin8u_table::sinx_tr#5 ) + (signed word) sin8u_table::sinx_sc#2 ← phi( sin8u_table::@19/(signed word) sin8u_table::sinx_sc#3 ) + (byte*) char_cursor#82 ← phi( sin8u_table::@19/(byte*) char_cursor#10 ) + (byte*) char_cursor#38 ← (byte*) char_cursor#82 + (byte*) print_str::str#8 ← (const string) sin8u_table::str7 + call print_str param-assignment to:sin8u_table::@21 sin8u_table::@21: scope:[sin8u_table] from sin8u_table::@20 - (byte*) sin8u_table::sintab#6 ← phi( sin8u_table::@20/(byte*) sin8u_table::sintab#8 ) - (byte) sin8u_table::mid#9 ← phi( sin8u_table::@20/(byte) sin8u_table::mid#12 ) - (byte) sin8u_table::amplitude#7 ← phi( sin8u_table::@20/(byte) sin8u_table::amplitude#10 ) - (word) rem16u#21 ← phi( sin8u_table::@20/(word) rem16u#24 ) - (word) sin8u_table::tabsize#2 ← phi( sin8u_table::@20/(word) sin8u_table::tabsize#3 ) - (word) sin8u_table::i#2 ← phi( sin8u_table::@20/(word) sin8u_table::i#3 ) - (word) sin8u_table::step#2 ← phi( sin8u_table::@20/(word) sin8u_table::step#3 ) - (word) sin8u_table::x#4 ← phi( sin8u_table::@20/(word) sin8u_table::x#6 ) - (byte*) char_cursor#67 ← phi( sin8u_table::@20/(byte*) char_cursor#4 ) - (byte*) line_cursor#20 ← phi( sin8u_table::@20/(byte*) line_cursor#2 ) + (byte*) sin8u_table::sintab#14 ← phi( sin8u_table::@20/(byte*) sin8u_table::sintab#16 ) + (byte) sin8u_table::mid#18 ← phi( sin8u_table::@20/(byte) sin8u_table::mid#20 ) + (byte) sin8u_table::amplitude#18 ← phi( sin8u_table::@20/(byte) sin8u_table::amplitude#20 ) + (word) rem16u#29 ← phi( sin8u_table::@20/(word) rem16u#30 ) + (word) sin8u_table::tabsize#6 ← phi( sin8u_table::@20/(word) sin8u_table::tabsize#7 ) + (word) sin8u_table::i#6 ← phi( sin8u_table::@20/(word) sin8u_table::i#7 ) + (word) sin8u_table::step#6 ← phi( sin8u_table::@20/(word) sin8u_table::step#7 ) + (word) sin8u_table::x#10 ← phi( sin8u_table::@20/(word) sin8u_table::x#11 ) + (byte*) line_cursor#33 ← phi( sin8u_table::@20/(byte*) line_cursor#35 ) + (byte) sin8u_table::sinx_tr#3 ← phi( sin8u_table::@20/(byte) sin8u_table::sinx_tr#4 ) + (signed word) sin8u_table::sinx_sc#1 ← phi( sin8u_table::@20/(signed word) sin8u_table::sinx_sc#2 ) + (byte*) char_cursor#83 ← phi( sin8u_table::@20/(byte*) char_cursor#2 ) + (byte*) char_cursor#39 ← (byte*) char_cursor#83 + (signed word) print_sword::w#1 ← (signed word) sin8u_table::sinx_sc#1 + call print_sword param-assignment + to:sin8u_table::@22 +sin8u_table::@22: scope:[sin8u_table] from sin8u_table::@21 + (byte*) sin8u_table::sintab#12 ← phi( sin8u_table::@21/(byte*) sin8u_table::sintab#14 ) + (byte) sin8u_table::mid#16 ← phi( sin8u_table::@21/(byte) sin8u_table::mid#18 ) + (byte) sin8u_table::amplitude#16 ← phi( sin8u_table::@21/(byte) sin8u_table::amplitude#18 ) + (word) rem16u#28 ← phi( sin8u_table::@21/(word) rem16u#29 ) + (word) sin8u_table::tabsize#5 ← phi( sin8u_table::@21/(word) sin8u_table::tabsize#6 ) + (word) sin8u_table::i#5 ← phi( sin8u_table::@21/(word) sin8u_table::i#6 ) + (word) sin8u_table::step#5 ← phi( sin8u_table::@21/(word) sin8u_table::step#6 ) + (word) sin8u_table::x#9 ← phi( sin8u_table::@21/(word) sin8u_table::x#10 ) + (byte*) line_cursor#31 ← phi( sin8u_table::@21/(byte*) line_cursor#33 ) + (byte) sin8u_table::sinx_tr#2 ← phi( sin8u_table::@21/(byte) sin8u_table::sinx_tr#3 ) + (byte*) char_cursor#84 ← phi( sin8u_table::@21/(byte*) char_cursor#7 ) + (byte*) char_cursor#40 ← (byte*) char_cursor#84 + (byte*) print_str::str#9 ← (const string) sin8u_table::str8 + call print_str param-assignment + to:sin8u_table::@23 +sin8u_table::@23: scope:[sin8u_table] from sin8u_table::@22 + (byte*) sin8u_table::sintab#10 ← phi( sin8u_table::@22/(byte*) sin8u_table::sintab#12 ) + (byte) sin8u_table::mid#14 ← phi( sin8u_table::@22/(byte) sin8u_table::mid#16 ) + (byte) sin8u_table::amplitude#13 ← phi( sin8u_table::@22/(byte) sin8u_table::amplitude#16 ) + (word) rem16u#27 ← phi( sin8u_table::@22/(word) rem16u#28 ) + (word) sin8u_table::tabsize#4 ← phi( sin8u_table::@22/(word) sin8u_table::tabsize#5 ) + (word) sin8u_table::i#4 ← phi( sin8u_table::@22/(word) sin8u_table::i#5 ) + (word) sin8u_table::step#4 ← phi( sin8u_table::@22/(word) sin8u_table::step#5 ) + (word) sin8u_table::x#8 ← phi( sin8u_table::@22/(word) sin8u_table::x#9 ) + (byte*) line_cursor#29 ← phi( sin8u_table::@22/(byte*) line_cursor#31 ) + (byte) sin8u_table::sinx_tr#1 ← phi( sin8u_table::@22/(byte) sin8u_table::sinx_tr#2 ) + (byte*) char_cursor#85 ← phi( sin8u_table::@22/(byte*) char_cursor#2 ) + (byte*) char_cursor#41 ← (byte*) char_cursor#85 + (byte) print_byte::b#7 ← (byte) sin8u_table::sinx_tr#1 + call print_byte param-assignment + to:sin8u_table::@24 +sin8u_table::@24: scope:[sin8u_table] from sin8u_table::@23 + (byte*) sin8u_table::sintab#8 ← phi( sin8u_table::@23/(byte*) sin8u_table::sintab#10 ) + (byte) sin8u_table::mid#12 ← phi( sin8u_table::@23/(byte) sin8u_table::mid#14 ) + (byte) sin8u_table::amplitude#10 ← phi( sin8u_table::@23/(byte) sin8u_table::amplitude#13 ) + (word) rem16u#24 ← phi( sin8u_table::@23/(word) rem16u#27 ) + (word) sin8u_table::tabsize#3 ← phi( sin8u_table::@23/(word) sin8u_table::tabsize#4 ) + (word) sin8u_table::i#3 ← phi( sin8u_table::@23/(word) sin8u_table::i#4 ) + (word) sin8u_table::step#3 ← phi( sin8u_table::@23/(word) sin8u_table::step#4 ) + (word) sin8u_table::x#6 ← phi( sin8u_table::@23/(word) sin8u_table::x#8 ) + (byte*) line_cursor#26 ← phi( sin8u_table::@23/(byte*) line_cursor#29 ) + (byte*) char_cursor#86 ← phi( sin8u_table::@23/(byte*) char_cursor#16 ) + (byte*) char_cursor#42 ← (byte*) char_cursor#86 + call print_ln param-assignment + to:sin8u_table::@25 +sin8u_table::@25: scope:[sin8u_table] from sin8u_table::@24 + (byte*) sin8u_table::sintab#6 ← phi( sin8u_table::@24/(byte*) sin8u_table::sintab#8 ) + (byte) sin8u_table::mid#9 ← phi( sin8u_table::@24/(byte) sin8u_table::mid#12 ) + (byte) sin8u_table::amplitude#7 ← phi( sin8u_table::@24/(byte) sin8u_table::amplitude#10 ) + (word) rem16u#21 ← phi( sin8u_table::@24/(word) rem16u#24 ) + (word) sin8u_table::tabsize#2 ← phi( sin8u_table::@24/(word) sin8u_table::tabsize#3 ) + (word) sin8u_table::i#2 ← phi( sin8u_table::@24/(word) sin8u_table::i#3 ) + (word) sin8u_table::step#2 ← phi( sin8u_table::@24/(word) sin8u_table::step#3 ) + (word) sin8u_table::x#4 ← phi( sin8u_table::@24/(word) sin8u_table::x#6 ) + (byte*) char_cursor#87 ← phi( sin8u_table::@24/(byte*) char_cursor#4 ) + (byte*) line_cursor#20 ← phi( sin8u_table::@24/(byte*) line_cursor#2 ) (byte*) line_cursor#9 ← (byte*) line_cursor#20 - (byte*) char_cursor#33 ← (byte*) char_cursor#67 - (word~) sin8u_table::$25 ← (word) sin8u_table::x#4 + (word) sin8u_table::step#2 - (word) sin8u_table::x#1 ← (word~) sin8u_table::$25 + (byte*) char_cursor#43 ← (byte*) char_cursor#87 + (word~) sin8u_table::$31 ← (word) sin8u_table::x#4 + (word) sin8u_table::step#2 + (word) sin8u_table::x#1 ← (word~) sin8u_table::$31 (word) sin8u_table::i#1 ← ++ (word) sin8u_table::i#2 - (boolean~) sin8u_table::$26 ← (word) sin8u_table::i#1 < (word) sin8u_table::tabsize#2 - if((boolean~) sin8u_table::$26) goto sin8u_table::@1 + (boolean~) sin8u_table::$32 ← (word) sin8u_table::i#1 < (word) sin8u_table::tabsize#2 + if((boolean~) sin8u_table::$32) goto sin8u_table::@1 to:sin8u_table::@return -sin8u_table::@return: scope:[sin8u_table] from sin8u_table::@21 - (byte*) line_cursor#21 ← phi( sin8u_table::@21/(byte*) line_cursor#9 ) - (byte*) char_cursor#68 ← phi( sin8u_table::@21/(byte*) char_cursor#33 ) - (word) rem16u#16 ← phi( sin8u_table::@21/(word) rem16u#21 ) +sin8u_table::@return: scope:[sin8u_table] from sin8u_table::@25 + (byte*) line_cursor#21 ← phi( sin8u_table::@25/(byte*) line_cursor#9 ) + (byte*) char_cursor#88 ← phi( sin8u_table::@25/(byte*) char_cursor#43 ) + (word) rem16u#16 ← phi( sin8u_table::@25/(word) rem16u#21 ) (word) rem16u#8 ← (word) rem16u#16 - (byte*) char_cursor#34 ← (byte*) char_cursor#68 + (byte*) char_cursor#44 ← (byte*) char_cursor#88 (byte*) line_cursor#10 ← (byte*) line_cursor#21 return to:@return @30: scope:[] from @18 (word) rem16u#22 ← phi( @18/(word) rem16u#25 ) - (byte*) char_cursor#77 ← phi( @18/(byte*) char_cursor#0 ) + (byte*) char_cursor#101 ← phi( @18/(byte*) char_cursor#0 ) (byte*) line_cursor#27 ← phi( @18/(byte*) line_cursor#0 ) call main param-assignment to:@31 @31: scope:[] from @30 (word) rem16u#17 ← phi( @30/(word) rem16u#6 ) - (byte*) char_cursor#69 ← phi( @30/(byte*) char_cursor#17 ) + (byte*) char_cursor#89 ← phi( @30/(byte*) char_cursor#23 ) (byte*) line_cursor#22 ← phi( @30/(byte*) line_cursor#7 ) (byte*) line_cursor#11 ← (byte*) line_cursor#22 - (byte*) char_cursor#35 ← (byte*) char_cursor#69 + (byte*) char_cursor#45 ← (byte*) char_cursor#89 (word) rem16u#9 ← (word) rem16u#17 to:@end @end: scope:[] from @31 @@ -3639,6 +3833,14 @@ SYMBOL TABLE SSA (byte*) char_cursor#0 (byte*) char_cursor#1 (byte*) char_cursor#10 +(byte*) char_cursor#100 +(byte*) char_cursor#101 +(byte*) char_cursor#102 +(byte*) char_cursor#103 +(byte*) char_cursor#104 +(byte*) char_cursor#105 +(byte*) char_cursor#106 +(byte*) char_cursor#107 (byte*) char_cursor#11 (byte*) char_cursor#12 (byte*) char_cursor#13 @@ -3717,7 +3919,25 @@ SYMBOL TABLE SSA (byte*) char_cursor#8 (byte*) char_cursor#80 (byte*) char_cursor#81 +(byte*) char_cursor#82 +(byte*) char_cursor#83 +(byte*) char_cursor#84 +(byte*) char_cursor#85 +(byte*) char_cursor#86 +(byte*) char_cursor#87 +(byte*) char_cursor#88 +(byte*) char_cursor#89 (byte*) char_cursor#9 +(byte*) char_cursor#90 +(byte*) char_cursor#91 +(byte*) char_cursor#92 +(byte*) char_cursor#93 +(byte*) char_cursor#94 +(byte*) char_cursor#95 +(byte*) char_cursor#96 +(byte*) char_cursor#97 +(byte*) char_cursor#98 +(byte*) char_cursor#99 (word()) div16u((word) div16u::dividend , (word) div16u::divisor) (word~) div16u::$0 (label) div16u::@2 @@ -3848,6 +4068,10 @@ SYMBOL TABLE SSA (byte*) line_cursor#42 (byte*) line_cursor#43 (byte*) line_cursor#44 +(byte*) line_cursor#45 +(byte*) line_cursor#46 +(byte*) line_cursor#47 +(byte*) line_cursor#48 (byte*) line_cursor#5 (byte*) line_cursor#6 (byte*) line_cursor#7 @@ -4006,6 +4230,7 @@ SYMBOL TABLE SSA (byte) print_byte::b#6 (byte) print_byte::b#7 (byte) print_byte::b#8 +(byte) print_byte::b#9 (byte[]) print_byte::hextab (byte[]) print_byte::hextab#0 (void()) print_char((byte) print_char::ch) @@ -4014,6 +4239,8 @@ SYMBOL TABLE SSA (byte) print_char::ch#0 (byte) print_char::ch#1 (byte) print_char::ch#2 +(byte) print_char::ch#3 +(byte) print_char::ch#4 (void()) print_cls() (byte*~) print_cls::$0 (boolean~) print_cls::$1 @@ -4030,6 +4257,23 @@ SYMBOL TABLE SSA (label) print_ln::@1 (label) print_ln::@2 (label) print_ln::@return +(void()) print_sbyte((signed byte) print_sbyte::b) +(boolean~) print_sbyte::$0 +(boolean~) print_sbyte::$1 +(signed byte~) print_sbyte::$3 +(byte~) print_sbyte::$4 +(label) print_sbyte::@1 +(label) print_sbyte::@2 +(label) print_sbyte::@3 +(label) print_sbyte::@4 +(label) print_sbyte::@return +(signed byte) print_sbyte::b +(signed byte) print_sbyte::b#0 +(signed byte) print_sbyte::b#1 +(signed byte) print_sbyte::b#2 +(signed byte) print_sbyte::b#3 +(signed byte) print_sbyte::b#4 +(signed byte) print_sbyte::b#5 (void()) print_str((byte*) print_str::str) (boolean~) print_str::$0 (label) print_str::@1 @@ -4039,6 +4283,8 @@ SYMBOL TABLE SSA (byte*) print_str::str#0 (byte*) print_str::str#1 (byte*) print_str::str#10 +(byte*) print_str::str#11 +(byte*) print_str::str#12 (byte*) print_str::str#2 (byte*) print_str::str#3 (byte*) print_str::str#4 @@ -4047,6 +4293,23 @@ SYMBOL TABLE SSA (byte*) print_str::str#7 (byte*) print_str::str#8 (byte*) print_str::str#9 +(void()) print_sword((signed word) print_sword::w) +(boolean~) print_sword::$0 +(boolean~) print_sword::$1 +(signed word~) print_sword::$3 +(word~) print_sword::$4 +(label) print_sword::@1 +(label) print_sword::@2 +(label) print_sword::@3 +(label) print_sword::@4 +(label) print_sword::@return +(signed word) print_sword::w +(signed word) print_sword::w#0 +(signed word) print_sword::w#1 +(signed word) print_sword::w#2 +(signed word) print_sword::w#3 +(signed word) print_sword::w#4 +(signed word) print_sword::w#5 (void()) print_word((word) print_word::w) (byte~) print_word::$0 (byte~) print_word::$2 @@ -4058,6 +4321,7 @@ SYMBOL TABLE SSA (word) print_word::w#1 (word) print_word::w#2 (word) print_word::w#3 +(word) print_word::w#4 (word) rem16u (word) rem16u#0 (word) rem16u#1 @@ -4098,6 +4362,10 @@ SYMBOL TABLE SSA (word) rem16u#41 (word) rem16u#42 (word) rem16u#43 +(word) rem16u#44 +(word) rem16u#45 +(word) rem16u#46 +(word) rem16u#47 (word) rem16u#5 (word) rem16u#6 (word) rem16u#7 @@ -4206,15 +4474,17 @@ SYMBOL TABLE SSA (void()) sin8u_table((byte*) sin8u_table::sintab , (word) sin8u_table::tabsize , (byte) sin8u_table::min , (byte) sin8u_table::max) (byte/signed byte/word/signed word/dword/signed dword~) sin8u_table::$0 (byte/word~) sin8u_table::$1 -(signed byte~) sin8u_table::$16 -(signed word~) sin8u_table::$17 -(byte~) sin8u_table::$18 -(byte/word~) sin8u_table::$19 +(signed byte~) sin8u_table::$17 +(byte/word~) sin8u_table::$18 +(signed word~) sin8u_table::$19 (word~) sin8u_table::$2 -(word~) sin8u_table::$25 -(boolean~) sin8u_table::$26 -(byte~) sin8u_table::$3 -(word~) sin8u_table::$4 +(byte~) sin8u_table::$20 +(byte/word~) sin8u_table::$21 +(word~) sin8u_table::$3 +(word~) sin8u_table::$31 +(boolean~) sin8u_table::$32 +(byte~) sin8u_table::$4 +(word~) sin8u_table::$5 (label) sin8u_table::@1 (label) sin8u_table::@10 (label) sin8u_table::@11 @@ -4228,6 +4498,10 @@ SYMBOL TABLE SSA (label) sin8u_table::@19 (label) sin8u_table::@20 (label) sin8u_table::@21 +(label) sin8u_table::@22 +(label) sin8u_table::@23 +(label) sin8u_table::@24 +(label) sin8u_table::@25 (label) sin8u_table::@3 (label) sin8u_table::@4 (label) sin8u_table::@5 @@ -4251,6 +4525,10 @@ SYMBOL TABLE SSA (byte) sin8u_table::amplitude#19 (byte) sin8u_table::amplitude#2 (byte) sin8u_table::amplitude#20 +(byte) sin8u_table::amplitude#21 +(byte) sin8u_table::amplitude#22 +(byte) sin8u_table::amplitude#23 +(byte) sin8u_table::amplitude#24 (byte) sin8u_table::amplitude#3 (byte) sin8u_table::amplitude#4 (byte) sin8u_table::amplitude#5 @@ -4261,6 +4539,10 @@ SYMBOL TABLE SSA (word) sin8u_table::i (word) sin8u_table::i#0 (word) sin8u_table::i#1 +(word) sin8u_table::i#10 +(word) sin8u_table::i#11 +(word) sin8u_table::i#12 +(word) sin8u_table::i#13 (word) sin8u_table::i#2 (word) sin8u_table::i#3 (word) sin8u_table::i#4 @@ -4293,6 +4575,10 @@ SYMBOL TABLE SSA (byte) sin8u_table::mid#19 (byte) sin8u_table::mid#2 (byte) sin8u_table::mid#20 +(byte) sin8u_table::mid#21 +(byte) sin8u_table::mid#22 +(byte) sin8u_table::mid#23 +(byte) sin8u_table::mid#24 (byte) sin8u_table::mid#3 (byte) sin8u_table::mid#4 (byte) sin8u_table::mid#5 @@ -4324,6 +4610,10 @@ SYMBOL TABLE SSA (byte*) sin8u_table::sintab#20 (byte*) sin8u_table::sintab#21 (byte*) sin8u_table::sintab#22 +(byte*) sin8u_table::sintab#23 +(byte*) sin8u_table::sintab#24 +(byte*) sin8u_table::sintab#25 +(byte*) sin8u_table::sintab#26 (byte*) sin8u_table::sintab#3 (byte*) sin8u_table::sintab#4 (byte*) sin8u_table::sintab#5 @@ -4331,11 +4621,28 @@ SYMBOL TABLE SSA (byte*) sin8u_table::sintab#7 (byte*) sin8u_table::sintab#8 (byte*) sin8u_table::sintab#9 -(byte) sin8u_table::sinval -(byte) sin8u_table::sinval#0 -(byte) sin8u_table::sinval#1 -(byte) sin8u_table::sinval#2 -(byte) sin8u_table::sinval#3 +(signed byte) sin8u_table::sinx +(signed byte) sin8u_table::sinx#0 +(signed byte) sin8u_table::sinx#1 +(signed byte) sin8u_table::sinx#2 +(signed byte) sin8u_table::sinx#3 +(signed byte) sin8u_table::sinx#4 +(signed word) sin8u_table::sinx_sc +(signed word) sin8u_table::sinx_sc#0 +(signed word) sin8u_table::sinx_sc#1 +(signed word) sin8u_table::sinx_sc#2 +(signed word) sin8u_table::sinx_sc#3 +(signed word) sin8u_table::sinx_sc#4 +(signed word) sin8u_table::sinx_sc#5 +(byte) sin8u_table::sinx_tr +(byte) sin8u_table::sinx_tr#0 +(byte) sin8u_table::sinx_tr#1 +(byte) sin8u_table::sinx_tr#2 +(byte) sin8u_table::sinx_tr#3 +(byte) sin8u_table::sinx_tr#4 +(byte) sin8u_table::sinx_tr#5 +(byte) sin8u_table::sinx_tr#6 +(byte) sin8u_table::sinx_tr#7 (word) sin8u_table::step (word) sin8u_table::step#0 (word) sin8u_table::step#1 @@ -4350,6 +4657,10 @@ SYMBOL TABLE SSA (word) sin8u_table::step#18 (word) sin8u_table::step#19 (word) sin8u_table::step#2 +(word) sin8u_table::step#20 +(word) sin8u_table::step#21 +(word) sin8u_table::step#22 +(word) sin8u_table::step#23 (word) sin8u_table::step#3 (word) sin8u_table::step#4 (word) sin8u_table::step#5 @@ -4364,6 +4675,8 @@ SYMBOL TABLE SSA (const string) sin8u_table::str4 = (string) " mid:@" (const string) sin8u_table::str5 = (string) "x: @" (const string) sin8u_table::str6 = (string) " sin: @" +(const string) sin8u_table::str7 = (string) " scaled: @" +(const string) sin8u_table::str8 = (string) " trans: @" (word) sin8u_table::sum (word) sin8u_table::sum#0 (word) sin8u_table::tabsize @@ -4382,6 +4695,10 @@ SYMBOL TABLE SSA (word) sin8u_table::tabsize#2 (word) sin8u_table::tabsize#20 (word) sin8u_table::tabsize#21 +(word) sin8u_table::tabsize#22 +(word) sin8u_table::tabsize#23 +(word) sin8u_table::tabsize#24 +(word) sin8u_table::tabsize#25 (word) sin8u_table::tabsize#3 (word) sin8u_table::tabsize#4 (word) sin8u_table::tabsize#5 @@ -4392,6 +4709,10 @@ SYMBOL TABLE SSA (word) sin8u_table::x (word) sin8u_table::x#0 (word) sin8u_table::x#1 +(word) sin8u_table::x#10 +(word) sin8u_table::x#11 +(word) sin8u_table::x#12 +(word) sin8u_table::x#13 (word) sin8u_table::x#2 (word) sin8u_table::x#3 (word) sin8u_table::x#4 @@ -4410,6 +4731,8 @@ Inversing boolean not (boolean~) sin8s::$1 ← (word) sin8s::x#3 < (word) PI_u4f Inversing boolean not (boolean~) sin8s::$4 ← (word) sin8s::x#4 < (word) PI_HALF_u4f12#0 from (boolean~) sin8s::$3 ← (word) sin8s::x#4 >= (word) PI_HALF_u4f12#0 Inversing boolean not (boolean~) sin8s::$17 ← (byte) sin8s::usinx#1 < (byte/word/signed word/dword/signed dword) 128 from (boolean~) sin8s::$16 ← (byte) sin8s::usinx#1 >= (byte/word/signed word/dword/signed dword) 128 Inversing boolean not (boolean~) sin8s::$20 ← (byte) sin8s::isUpper#2 == (byte/signed byte/word/signed word/dword/signed dword) 0 from (boolean~) sin8s::$19 ← (byte) sin8s::isUpper#2 != (byte/signed byte/word/signed word/dword/signed dword) 0 +Inversing boolean not (boolean~) print_sword::$1 ← (signed word) print_sword::w#2 >= (byte/signed byte/word/signed word/dword/signed dword) 0 from (boolean~) print_sword::$0 ← (signed word) print_sword::w#2 < (byte/signed byte/word/signed word/dword/signed dword) 0 +Inversing boolean not (boolean~) print_sbyte::$1 ← (signed byte) print_sbyte::b#2 >= (byte/signed byte/word/signed word/dword/signed dword) 0 from (boolean~) print_sbyte::$0 ← (signed byte) print_sbyte::b#2 < (byte/signed byte/word/signed word/dword/signed dword) 0 Succesful SSA optimization Pass2UnaryNotSimplification Not aliassing across scopes: divr16u::rem#9 divr16u::rem#3 Not aliassing across scopes: divr16u::dividend#4 divr16u::dividend#1 @@ -4457,77 +4780,91 @@ Not aliassing across scopes: mul8u::a#2 mulu8_sel::v1#5 Not aliassing across scopes: mul8u::b#1 mulu8_sel::v2#5 Not aliassing across scopes: mul8u::return#3 mul8u::return#1 Not aliassing across scopes: mulu8_sel::$0 mul8u::return#6 -Not aliassing across scopes: print_str::str#10 print_str::str#5 -Not aliassing across scopes: char_cursor#78 char_cursor#25 +Not aliassing across scopes: print_str::str#12 print_str::str#5 +Not aliassing across scopes: char_cursor#102 char_cursor#31 Not aliassing across scopes: line_cursor#23 line_cursor#25 -Not aliassing across scopes: char_cursor#71 char_cursor#27 -Not aliassing across scopes: print_word::w#2 print_word::w#1 -Not aliassing across scopes: char_cursor#72 char_cursor#29 -Not aliassing across scopes: char_cursor#40 char_cursor#10 -Not aliassing across scopes: char_cursor#41 char_cursor#10 -Not aliassing across scopes: print_byte::b#7 print_byte::b#0 -Not aliassing across scopes: char_cursor#73 char_cursor#72 -Not aliassing across scopes: char_cursor#43 char_cursor#12 -Not aliassing across scopes: char_cursor#44 char_cursor#12 -Not aliassing across scopes: print_char::ch#2 print_char::ch#0 -Not aliassing across scopes: char_cursor#46 char_cursor#73 +Not aliassing across scopes: char_cursor#91 char_cursor#33 +Not aliassing across scopes: print_sword::w#2 print_sword::w#1 +Not aliassing across scopes: char_cursor#103 char_cursor#39 +Not aliassing across scopes: char_cursor#50 char_cursor#13 +Not aliassing across scopes: char_cursor#51 char_cursor#18 +Not aliassing across scopes: print_sbyte::b#2 print_sbyte::b#1 +Not aliassing across scopes: char_cursor#104 char_cursor#37 +Not aliassing across scopes: char_cursor#53 char_cursor#16 +Not aliassing across scopes: char_cursor#54 char_cursor#18 +Not aliassing across scopes: print_word::w#3 print_word::w#0 +Not aliassing across scopes: char_cursor#96 char_cursor#92 +Not aliassing across scopes: char_cursor#56 char_cursor#16 +Not aliassing across scopes: char_cursor#57 char_cursor#16 +Not aliassing across scopes: print_byte::b#8 print_byte::b#0 +Not aliassing across scopes: char_cursor#97 char_cursor#94 +Not aliassing across scopes: char_cursor#59 char_cursor#18 +Not aliassing across scopes: char_cursor#60 char_cursor#18 +Not aliassing across scopes: print_char::ch#4 print_char::ch#2 +Not aliassing across scopes: char_cursor#62 char_cursor#97 Not aliassing across scopes: print_cls::sc#0 SCREEN#0 Not aliassing across scopes: line_cursor#3 SCREEN#0 Not aliassing across scopes: line_cursor#24 line_cursor#27 -Not aliassing across scopes: char_cursor#74 char_cursor#77 +Not aliassing across scopes: char_cursor#98 char_cursor#101 Not aliassing across scopes: rem16u#23 rem16u#22 Not aliassing across scopes: line_cursor#16 line_cursor#4 -Not aliassing across scopes: char_cursor#49 char_cursor#14 +Not aliassing across scopes: char_cursor#65 char_cursor#20 Not aliassing across scopes: sin8u_table::sintab#0 main::sintab#0 Not aliassing across scopes: sin8u_table::tabsize#0 main::tabsize#1 Not aliassing across scopes: rem16u#13 rem16u#8 -Not aliassing across scopes: char_cursor#50 char_cursor#34 +Not aliassing across scopes: char_cursor#66 char_cursor#44 Not aliassing across scopes: line_cursor#17 line_cursor#10 Not aliassing across scopes: sin8u_table::max#1 sin8u_table::max#0 Not aliassing across scopes: sin8u_table::min#1 sin8u_table::min#0 Not aliassing across scopes: sin8u_table::tabsize#1 sin8u_table::tabsize#0 Not aliassing across scopes: rem16u#20 rem16u#19 -Not aliassing across scopes: char_cursor#79 char_cursor#15 -Not aliassing across scopes: line_cursor#44 line_cursor#5 -Not aliassing across scopes: sin8u_table::sintab#22 sin8u_table::sintab#0 +Not aliassing across scopes: char_cursor#105 char_cursor#21 +Not aliassing across scopes: line_cursor#48 line_cursor#5 +Not aliassing across scopes: sin8u_table::sintab#26 sin8u_table::sintab#0 Not aliassing across scopes: div16u::dividend#0 PI2_u4f12#0 Not aliassing across scopes: div16u::divisor#0 sin8u_table::tabsize#1 Not aliassing across scopes: div16u::return#2 div16u::return#1 Not aliassing across scopes: rem16u#15 rem16u#4 -Not aliassing across scopes: sin8u_table::$4 div16u::return#4 -Not aliassing across scopes: char_cursor#52 char_cursor#2 -Not aliassing across scopes: print_word::w#0 sin8u_table::step#1 -Not aliassing across scopes: char_cursor#53 char_cursor#7 -Not aliassing across scopes: char_cursor#54 char_cursor#2 -Not aliassing across scopes: print_byte::b#2 sin8u_table::min#2 -Not aliassing across scopes: char_cursor#55 char_cursor#10 -Not aliassing across scopes: char_cursor#56 char_cursor#2 -Not aliassing across scopes: print_byte::b#3 sin8u_table::max#2 -Not aliassing across scopes: char_cursor#57 char_cursor#10 -Not aliassing across scopes: char_cursor#58 char_cursor#2 -Not aliassing across scopes: print_byte::b#4 sin8u_table::amplitude#1 -Not aliassing across scopes: char_cursor#59 char_cursor#10 -Not aliassing across scopes: char_cursor#60 char_cursor#2 -Not aliassing across scopes: print_byte::b#5 sin8u_table::mid#1 -Not aliassing across scopes: char_cursor#61 char_cursor#10 +Not aliassing across scopes: sin8u_table::$5 div16u::return#4 +Not aliassing across scopes: char_cursor#68 char_cursor#2 +Not aliassing across scopes: print_word::w#1 sin8u_table::step#1 +Not aliassing across scopes: char_cursor#69 char_cursor#13 +Not aliassing across scopes: char_cursor#70 char_cursor#2 +Not aliassing across scopes: print_byte::b#3 sin8u_table::min#2 +Not aliassing across scopes: char_cursor#71 char_cursor#16 +Not aliassing across scopes: char_cursor#72 char_cursor#2 +Not aliassing across scopes: print_byte::b#4 sin8u_table::max#2 +Not aliassing across scopes: char_cursor#73 char_cursor#16 +Not aliassing across scopes: char_cursor#74 char_cursor#2 +Not aliassing across scopes: print_byte::b#5 sin8u_table::amplitude#1 +Not aliassing across scopes: char_cursor#75 char_cursor#16 +Not aliassing across scopes: char_cursor#76 char_cursor#2 +Not aliassing across scopes: print_byte::b#6 sin8u_table::mid#1 +Not aliassing across scopes: char_cursor#77 char_cursor#16 Not aliassing across scopes: line_cursor#19 line_cursor#2 -Not aliassing across scopes: char_cursor#62 char_cursor#4 +Not aliassing across scopes: char_cursor#78 char_cursor#4 Not aliassing across scopes: sin8s::x#2 sin8u_table::x#2 Not aliassing across scopes: sin8s::return#2 sin8s::return#1 -Not aliassing across scopes: sin8u_table::$16 sin8s::return#4 -Not aliassing across scopes: mul8su::b#0 sin8u_table::amplitude#2 +Not aliassing across scopes: sin8u_table::$17 sin8s::return#4 +Not aliassing across scopes: mul8su::a#0 sin8u_table::sinx#0 Not aliassing across scopes: mul8su::return#2 mul8su::return#1 -Not aliassing across scopes: sin8u_table::$17 mul8su::return#4 -Not aliassing across scopes: char_cursor#63 char_cursor#2 -Not aliassing across scopes: print_word::w#1 sin8u_table::x#3 -Not aliassing across scopes: char_cursor#64 char_cursor#7 -Not aliassing across scopes: char_cursor#65 char_cursor#2 -Not aliassing across scopes: print_byte::b#6 sin8u_table::sinval#1 -Not aliassing across scopes: char_cursor#66 char_cursor#10 +Not aliassing across scopes: sin8u_table::$19 mul8su::return#4 +Not aliassing across scopes: char_cursor#79 char_cursor#2 +Not aliassing across scopes: print_word::w#2 sin8u_table::x#3 +Not aliassing across scopes: char_cursor#80 char_cursor#13 +Not aliassing across scopes: char_cursor#81 char_cursor#2 +Not aliassing across scopes: print_sbyte::b#1 sin8u_table::sinx#1 +Not aliassing across scopes: char_cursor#82 char_cursor#10 +Not aliassing across scopes: char_cursor#83 char_cursor#2 +Not aliassing across scopes: print_sword::w#1 sin8u_table::sinx_sc#1 +Not aliassing across scopes: char_cursor#84 char_cursor#7 +Not aliassing across scopes: char_cursor#85 char_cursor#2 +Not aliassing across scopes: print_byte::b#7 sin8u_table::sinx_tr#1 +Not aliassing across scopes: char_cursor#86 char_cursor#16 Not aliassing across scopes: line_cursor#20 line_cursor#2 -Not aliassing across scopes: char_cursor#67 char_cursor#4 +Not aliassing across scopes: char_cursor#87 char_cursor#4 Not aliassing across scopes: line_cursor#22 line_cursor#7 -Not aliassing across scopes: char_cursor#69 char_cursor#17 +Not aliassing across scopes: char_cursor#89 char_cursor#23 Not aliassing across scopes: rem16u#17 rem16u#6 Alias (word) divr16u::rem#0 = (word~) divr16u::$0 (word) divr16u::rem#6 Alias (word) divr16u::dividend#0 = (word~) divr16u::$6 (word) divr16u::dividend#7 @@ -4589,75 +4926,93 @@ Alias (signed byte) sin8s::sinx#1 = (signed byte~) sin8s::$22 Alias (word) mul8u::return#3 = (word) mul8u::return#6 Alias (byte) mulu8_sel::select#5 = (byte) mulu8_sel::select#6 Alias (byte) mulu8_sel::return#12 = (byte) mulu8_sel::return#5 (byte~) mulu8_sel::$2 (byte) mulu8_sel::return#6 -Alias (byte*) SCREEN#0 = (byte*) line_cursor#0 (byte*) char_cursor#0 (byte*) line_cursor#27 (byte*) char_cursor#77 -Alias (byte*) print_str::str#8 = (byte*) print_str::str#9 -Alias (byte*) char_cursor#2 = (byte*) char_cursor#36 (byte*) char_cursor#70 (byte*) char_cursor#37 -Alias (byte*) line_cursor#1 = (byte*~) print_ln::$0 (byte*) line_cursor#13 (byte*) char_cursor#3 (byte*) line_cursor#14 (byte*) char_cursor#39 (byte*) line_cursor#2 (byte*) char_cursor#4 -Alias (byte) print_byte::b#0 = (byte~) print_word::$0 -Alias (word) print_word::w#2 = (word) print_word::w#3 -Alias (byte*) char_cursor#40 = (byte*) char_cursor#5 -Alias (byte) print_byte::b#1 = (byte~) print_word::$2 -Alias (byte*) char_cursor#41 = (byte*) char_cursor#6 (byte*) char_cursor#42 (byte*) char_cursor#7 -Alias (byte) print_byte::b#7 = (byte) print_byte::b#8 -Alias (byte*) char_cursor#43 = (byte*) char_cursor#8 -Alias (byte*) char_cursor#10 = (byte*) char_cursor#9 (byte*) char_cursor#44 (byte*) char_cursor#45 -Alias (byte*) char_cursor#11 = (byte*) char_cursor#47 (byte*) char_cursor#12 -Alias (byte*) line_cursor#15 = (byte*) char_cursor#13 (byte*) line_cursor#3 (byte*) char_cursor#48 (byte*) line_cursor#4 (byte*) char_cursor#14 +Alias (byte*) SCREEN#0 = (byte*) line_cursor#0 (byte*) char_cursor#0 (byte*) line_cursor#27 (byte*) char_cursor#101 +Alias (byte*) print_str::str#10 = (byte*) print_str::str#11 +Alias (byte*) char_cursor#2 = (byte*) char_cursor#46 (byte*) char_cursor#90 (byte*) char_cursor#47 +Alias (byte*) line_cursor#1 = (byte*~) print_ln::$0 (byte*) line_cursor#13 (byte*) char_cursor#3 (byte*) line_cursor#14 (byte*) char_cursor#49 (byte*) line_cursor#2 (byte*) char_cursor#4 +Alias (word) print_word::w#0 = (word~) print_sword::$4 +Alias (byte*) char_cursor#5 = (byte*) char_cursor#50 (byte*) char_cursor#52 (byte*) char_cursor#7 +Alias (byte*) char_cursor#103 = (byte*) char_cursor#93 +Alias (signed word) print_sword::w#2 = (signed word) print_sword::w#5 (signed word) print_sword::w#4 +Alias (byte*) char_cursor#51 = (byte*) char_cursor#6 +Alias (signed word) print_sword::w#0 = (signed word~) print_sword::$3 +Alias (byte) print_byte::b#0 = (byte~) print_sbyte::$4 +Alias (byte*) char_cursor#10 = (byte*) char_cursor#8 (byte*) char_cursor#53 (byte*) char_cursor#55 +Alias (byte*) char_cursor#104 = (byte*) char_cursor#95 +Alias (signed byte) print_sbyte::b#2 = (signed byte) print_sbyte::b#5 (signed byte) print_sbyte::b#4 +Alias (byte*) char_cursor#54 = (byte*) char_cursor#9 +Alias (signed byte) print_sbyte::b#0 = (signed byte~) print_sbyte::$3 +Alias (byte) print_byte::b#1 = (byte~) print_word::$0 +Alias (word) print_word::w#3 = (word) print_word::w#4 +Alias (byte*) char_cursor#11 = (byte*) char_cursor#56 +Alias (byte) print_byte::b#2 = (byte~) print_word::$2 +Alias (byte*) char_cursor#12 = (byte*) char_cursor#57 (byte*) char_cursor#58 (byte*) char_cursor#13 +Alias (byte) print_byte::b#8 = (byte) print_byte::b#9 +Alias (byte*) char_cursor#14 = (byte*) char_cursor#59 +Alias (byte*) char_cursor#15 = (byte*) char_cursor#60 (byte*) char_cursor#61 (byte*) char_cursor#16 +Alias (byte*) char_cursor#17 = (byte*) char_cursor#63 (byte*) char_cursor#18 +Alias (byte*) line_cursor#15 = (byte*) char_cursor#19 (byte*) line_cursor#3 (byte*) char_cursor#64 (byte*) line_cursor#4 (byte*) char_cursor#20 Alias (word) main::tabsize#0 = (word) main::tabsize#1 Alias (word) rem16u#19 = (word) rem16u#23 Alias (byte*) line_cursor#16 = (byte*) line_cursor#5 -Alias (byte*) char_cursor#15 = (byte*) char_cursor#49 +Alias (byte*) char_cursor#21 = (byte*) char_cursor#65 Alias (word) rem16u#13 = (word) rem16u#5 (word) rem16u#14 (word) rem16u#6 -Alias (byte*) char_cursor#16 = (byte*) char_cursor#50 (byte*) char_cursor#51 (byte*) char_cursor#17 +Alias (byte*) char_cursor#22 = (byte*) char_cursor#66 (byte*) char_cursor#67 (byte*) char_cursor#23 Alias (byte*) line_cursor#17 = (byte*) line_cursor#6 (byte*) line_cursor#18 (byte*) line_cursor#7 Alias (byte) sin8u_table::amplitude#0 = (byte/signed byte/word/signed word/dword/signed dword~) sin8u_table::$0 (byte) sin8u_table::amplitude#19 (byte) sin8u_table::amplitude#17 (byte) sin8u_table::amplitude#14 (byte) sin8u_table::amplitude#11 (byte) sin8u_table::amplitude#8 (byte) sin8u_table::amplitude#5 (byte) sin8u_table::amplitude#3 (byte) sin8u_table::amplitude#1 (byte) sin8u_table::amplitude#15 (byte) sin8u_table::amplitude#12 (byte) sin8u_table::amplitude#9 (byte) sin8u_table::amplitude#6 Alias (word) sin8u_table::sum#0 = (byte/word~) sin8u_table::$1 -Alias (byte) sin8u_table::mid#0 = (byte~) sin8u_table::$3 (byte) sin8u_table::mid#20 (byte) sin8u_table::mid#19 (byte) sin8u_table::mid#17 (byte) sin8u_table::mid#15 (byte) sin8u_table::mid#13 (byte) sin8u_table::mid#10 (byte) sin8u_table::mid#7 (byte) sin8u_table::mid#5 (byte) sin8u_table::mid#3 (byte) sin8u_table::mid#1 (byte) sin8u_table::mid#11 (byte) sin8u_table::mid#8 +Alias (byte) sin8u_table::mid#0 = (byte~) sin8u_table::$4 (byte) sin8u_table::mid#21 (byte) sin8u_table::mid#19 (byte) sin8u_table::mid#17 (byte) sin8u_table::mid#15 (byte) sin8u_table::mid#13 (byte) sin8u_table::mid#10 (byte) sin8u_table::mid#7 (byte) sin8u_table::mid#5 (byte) sin8u_table::mid#3 (byte) sin8u_table::mid#1 (byte) sin8u_table::mid#11 (byte) sin8u_table::mid#8 Alias (word) div16u::return#2 = (word) div16u::return#4 -Alias (byte*) char_cursor#75 = (byte*) char_cursor#79 +Alias (byte*) char_cursor#105 = (byte*) char_cursor#99 Alias (byte) sin8u_table::min#1 = (byte) sin8u_table::min#5 (byte) sin8u_table::min#4 (byte) sin8u_table::min#3 (byte) sin8u_table::min#2 Alias (byte) sin8u_table::max#1 = (byte) sin8u_table::max#7 (byte) sin8u_table::max#6 (byte) sin8u_table::max#5 (byte) sin8u_table::max#4 (byte) sin8u_table::max#3 (byte) sin8u_table::max#2 -Alias (byte*) line_cursor#25 = (byte*) line_cursor#43 (byte*) line_cursor#44 (byte*) line_cursor#42 (byte*) line_cursor#41 (byte*) line_cursor#40 (byte*) line_cursor#38 (byte*) line_cursor#36 (byte*) line_cursor#34 (byte*) line_cursor#32 (byte*) line_cursor#30 (byte*) line_cursor#28 -Alias (byte*) sin8u_table::sintab#11 = (byte*) sin8u_table::sintab#21 (byte*) sin8u_table::sintab#22 (byte*) sin8u_table::sintab#20 (byte*) sin8u_table::sintab#19 (byte*) sin8u_table::sintab#18 (byte*) sin8u_table::sintab#17 (byte*) sin8u_table::sintab#16 (byte*) sin8u_table::sintab#15 (byte*) sin8u_table::sintab#13 (byte*) sin8u_table::sintab#9 (byte*) sin8u_table::sintab#7 (byte*) sin8u_table::sintab#5 -Alias (word) sin8u_table::tabsize#1 = (word) sin8u_table::tabsize#21 (word) sin8u_table::tabsize#20 (word) sin8u_table::tabsize#19 (word) sin8u_table::tabsize#18 (word) sin8u_table::tabsize#17 (word) sin8u_table::tabsize#16 (word) sin8u_table::tabsize#15 (word) sin8u_table::tabsize#14 (word) sin8u_table::tabsize#13 (word) sin8u_table::tabsize#12 (word) sin8u_table::tabsize#11 (word) sin8u_table::tabsize#10 -Alias (word) rem16u#15 = (word) rem16u#7 (word) rem16u#43 (word) rem16u#42 (word) rem16u#41 (word) rem16u#40 (word) rem16u#39 (word) rem16u#38 (word) rem16u#37 (word) rem16u#36 (word) rem16u#35 (word) rem16u#34 (word) rem16u#33 -Alias (word) sin8u_table::step#0 = (word~) sin8u_table::$4 (word) sin8u_table::step#1 (word) sin8u_table::step#19 (word) sin8u_table::step#18 (word) sin8u_table::step#17 (word) sin8u_table::step#16 (word) sin8u_table::step#15 (word) sin8u_table::step#14 (word) sin8u_table::step#13 (word) sin8u_table::step#12 (word) sin8u_table::step#11 (word) sin8u_table::step#10 -Alias (byte*) char_cursor#18 = (byte*) char_cursor#52 -Alias (byte*) char_cursor#19 = (byte*) char_cursor#53 -Alias (byte*) char_cursor#20 = (byte*) char_cursor#54 -Alias (byte*) char_cursor#21 = (byte*) char_cursor#55 -Alias (byte*) char_cursor#22 = (byte*) char_cursor#56 -Alias (byte*) char_cursor#23 = (byte*) char_cursor#57 -Alias (byte*) char_cursor#24 = (byte*) char_cursor#58 -Alias (byte*) char_cursor#25 = (byte*) char_cursor#59 -Alias (byte*) char_cursor#26 = (byte*) char_cursor#60 -Alias (byte*) char_cursor#27 = (byte*) char_cursor#61 +Alias (byte*) line_cursor#25 = (byte*) line_cursor#46 (byte*) line_cursor#48 (byte*) line_cursor#44 (byte*) line_cursor#42 (byte*) line_cursor#40 (byte*) line_cursor#38 (byte*) line_cursor#36 (byte*) line_cursor#34 (byte*) line_cursor#32 (byte*) line_cursor#30 (byte*) line_cursor#28 +Alias (byte*) sin8u_table::sintab#11 = (byte*) sin8u_table::sintab#25 (byte*) sin8u_table::sintab#26 (byte*) sin8u_table::sintab#24 (byte*) sin8u_table::sintab#23 (byte*) sin8u_table::sintab#21 (byte*) sin8u_table::sintab#19 (byte*) sin8u_table::sintab#17 (byte*) sin8u_table::sintab#15 (byte*) sin8u_table::sintab#13 (byte*) sin8u_table::sintab#9 (byte*) sin8u_table::sintab#7 (byte*) sin8u_table::sintab#5 +Alias (word) sin8u_table::tabsize#1 = (word) sin8u_table::tabsize#25 (word) sin8u_table::tabsize#24 (word) sin8u_table::tabsize#23 (word) sin8u_table::tabsize#22 (word) sin8u_table::tabsize#21 (word) sin8u_table::tabsize#20 (word) sin8u_table::tabsize#19 (word) sin8u_table::tabsize#18 (word) sin8u_table::tabsize#17 (word) sin8u_table::tabsize#16 (word) sin8u_table::tabsize#15 (word) sin8u_table::tabsize#14 +Alias (word) rem16u#15 = (word) rem16u#7 (word) rem16u#47 (word) rem16u#46 (word) rem16u#45 (word) rem16u#44 (word) rem16u#43 (word) rem16u#42 (word) rem16u#41 (word) rem16u#40 (word) rem16u#39 (word) rem16u#38 (word) rem16u#37 +Alias (word) sin8u_table::step#0 = (word~) sin8u_table::$5 (word) sin8u_table::step#1 (word) sin8u_table::step#23 (word) sin8u_table::step#22 (word) sin8u_table::step#21 (word) sin8u_table::step#20 (word) sin8u_table::step#19 (word) sin8u_table::step#18 (word) sin8u_table::step#17 (word) sin8u_table::step#16 (word) sin8u_table::step#15 (word) sin8u_table::step#14 +Alias (byte*) char_cursor#24 = (byte*) char_cursor#68 +Alias (byte*) char_cursor#25 = (byte*) char_cursor#69 +Alias (byte*) char_cursor#26 = (byte*) char_cursor#70 +Alias (byte*) char_cursor#27 = (byte*) char_cursor#71 +Alias (byte*) char_cursor#28 = (byte*) char_cursor#72 +Alias (byte*) char_cursor#29 = (byte*) char_cursor#73 +Alias (byte*) char_cursor#30 = (byte*) char_cursor#74 +Alias (byte*) char_cursor#31 = (byte*) char_cursor#75 +Alias (byte*) char_cursor#32 = (byte*) char_cursor#76 +Alias (byte*) char_cursor#33 = (byte*) char_cursor#77 Alias (byte*) line_cursor#19 = (byte*) line_cursor#8 -Alias (byte*) char_cursor#28 = (byte*) char_cursor#62 +Alias (byte*) char_cursor#34 = (byte*) char_cursor#78 Alias (signed byte) sin8s::return#2 = (signed byte) sin8s::return#4 -Alias (byte) sin8u_table::amplitude#10 = (byte) sin8u_table::amplitude#2 (byte) sin8u_table::amplitude#4 (byte) sin8u_table::amplitude#20 (byte) sin8u_table::amplitude#18 (byte) sin8u_table::amplitude#16 (byte) sin8u_table::amplitude#13 (byte) sin8u_table::amplitude#7 -Alias (byte) sin8u_table::mid#12 = (byte) sin8u_table::mid#4 (byte) sin8u_table::mid#6 (byte) sin8u_table::mid#2 (byte) sin8u_table::mid#18 (byte) sin8u_table::mid#16 (byte) sin8u_table::mid#14 (byte) sin8u_table::mid#9 +Alias (byte) sin8u_table::amplitude#10 = (byte) sin8u_table::amplitude#2 (byte) sin8u_table::amplitude#4 (byte) sin8u_table::amplitude#24 (byte) sin8u_table::amplitude#23 (byte) sin8u_table::amplitude#22 (byte) sin8u_table::amplitude#21 (byte) sin8u_table::amplitude#20 (byte) sin8u_table::amplitude#18 (byte) sin8u_table::amplitude#16 (byte) sin8u_table::amplitude#13 (byte) sin8u_table::amplitude#7 +Alias (byte) sin8u_table::mid#12 = (byte) sin8u_table::mid#4 (byte) sin8u_table::mid#6 (byte) sin8u_table::mid#2 (byte) sin8u_table::mid#24 (byte) sin8u_table::mid#23 (byte) sin8u_table::mid#22 (byte) sin8u_table::mid#20 (byte) sin8u_table::mid#18 (byte) sin8u_table::mid#16 (byte) sin8u_table::mid#14 (byte) sin8u_table::mid#9 Alias (byte*) sin8u_table::sintab#2 = (byte*) sin8u_table::sintab#3 (byte*) sin8u_table::sintab#4 -Alias (byte*) char_cursor#76 = (byte*) char_cursor#80 (byte*) char_cursor#81 -Alias (word) sin8u_table::x#2 = (word) sin8u_table::x#7 (word) sin8u_table::x#5 (word) sin8u_table::x#3 (word) sin8u_table::x#9 (word) sin8u_table::x#8 (word) sin8u_table::x#6 (word) sin8u_table::x#4 -Alias (byte*) line_cursor#26 = (byte*) line_cursor#37 (byte*) line_cursor#39 (byte*) line_cursor#35 (byte*) line_cursor#33 (byte*) line_cursor#31 (byte*) line_cursor#29 -Alias (word) sin8u_table::step#2 = (word) sin8u_table::step#8 (word) sin8u_table::step#9 (word) sin8u_table::step#7 (word) sin8u_table::step#6 (word) sin8u_table::step#5 (word) sin8u_table::step#4 (word) sin8u_table::step#3 -Alias (word) sin8u_table::i#2 = (word) sin8u_table::i#8 (word) sin8u_table::i#9 (word) sin8u_table::i#7 (word) sin8u_table::i#6 (word) sin8u_table::i#5 (word) sin8u_table::i#4 (word) sin8u_table::i#3 -Alias (word) sin8u_table::tabsize#2 = (word) sin8u_table::tabsize#8 (word) sin8u_table::tabsize#9 (word) sin8u_table::tabsize#7 (word) sin8u_table::tabsize#6 (word) sin8u_table::tabsize#5 (word) sin8u_table::tabsize#4 (word) sin8u_table::tabsize#3 -Alias (word) rem16u#16 = (word) rem16u#31 (word) rem16u#32 (word) rem16u#30 (word) rem16u#29 (word) rem16u#28 (word) rem16u#27 (word) rem16u#24 (word) rem16u#21 (word) rem16u#8 -Alias (signed byte) mul8su::a#0 = (signed byte~) sin8u_table::$16 +Alias (byte*) char_cursor#100 = (byte*) char_cursor#106 (byte*) char_cursor#107 +Alias (word) sin8u_table::x#10 = (word) sin8u_table::x#7 (word) sin8u_table::x#2 (word) sin8u_table::x#5 (word) sin8u_table::x#3 (word) sin8u_table::x#13 (word) sin8u_table::x#12 (word) sin8u_table::x#11 (word) sin8u_table::x#9 (word) sin8u_table::x#8 (word) sin8u_table::x#6 (word) sin8u_table::x#4 +Alias (byte*) line_cursor#26 = (byte*) line_cursor#45 (byte*) line_cursor#47 (byte*) line_cursor#43 (byte*) line_cursor#41 (byte*) line_cursor#39 (byte*) line_cursor#37 (byte*) line_cursor#35 (byte*) line_cursor#33 (byte*) line_cursor#31 (byte*) line_cursor#29 +Alias (word) sin8u_table::step#10 = (word) sin8u_table::step#12 (word) sin8u_table::step#13 (word) sin8u_table::step#11 (word) sin8u_table::step#9 (word) sin8u_table::step#8 (word) sin8u_table::step#7 (word) sin8u_table::step#6 (word) sin8u_table::step#5 (word) sin8u_table::step#4 (word) sin8u_table::step#3 (word) sin8u_table::step#2 +Alias (word) sin8u_table::i#10 = (word) sin8u_table::i#12 (word) sin8u_table::i#13 (word) sin8u_table::i#11 (word) sin8u_table::i#9 (word) sin8u_table::i#8 (word) sin8u_table::i#7 (word) sin8u_table::i#6 (word) sin8u_table::i#5 (word) sin8u_table::i#4 (word) sin8u_table::i#3 (word) sin8u_table::i#2 +Alias (word) sin8u_table::tabsize#10 = (word) sin8u_table::tabsize#12 (word) sin8u_table::tabsize#13 (word) sin8u_table::tabsize#11 (word) sin8u_table::tabsize#9 (word) sin8u_table::tabsize#8 (word) sin8u_table::tabsize#7 (word) sin8u_table::tabsize#6 (word) sin8u_table::tabsize#5 (word) sin8u_table::tabsize#4 (word) sin8u_table::tabsize#3 (word) sin8u_table::tabsize#2 +Alias (word) rem16u#16 = (word) rem16u#35 (word) rem16u#36 (word) rem16u#34 (word) rem16u#33 (word) rem16u#32 (word) rem16u#31 (word) rem16u#30 (word) rem16u#29 (word) rem16u#28 (word) rem16u#27 (word) rem16u#24 (word) rem16u#21 (word) rem16u#8 +Alias (signed byte) sin8u_table::sinx#0 = (signed byte~) sin8u_table::$17 (signed byte) sin8u_table::sinx#4 (signed byte) sin8u_table::sinx#3 (signed byte) sin8u_table::sinx#2 (signed byte) sin8u_table::sinx#1 +Alias (byte) mul8su::b#0 = (byte/word~) sin8u_table::$18 Alias (signed word) mul8su::return#2 = (signed word) mul8su::return#4 -Alias (byte) sin8u_table::sinval#0 = (byte/word~) sin8u_table::$19 (byte) sin8u_table::sinval#3 (byte) sin8u_table::sinval#2 (byte) sin8u_table::sinval#1 -Alias (byte*) sin8u_table::sintab#1 = (byte*) sin8u_table::sintab#14 (byte*) sin8u_table::sintab#12 (byte*) sin8u_table::sintab#10 (byte*) sin8u_table::sintab#8 (byte*) sin8u_table::sintab#6 -Alias (byte*) char_cursor#29 = (byte*) char_cursor#63 -Alias (byte*) char_cursor#30 = (byte*) char_cursor#64 -Alias (byte*) char_cursor#31 = (byte*) char_cursor#65 -Alias (byte*) char_cursor#32 = (byte*) char_cursor#66 +Alias (signed word) sin8u_table::sinx_sc#0 = (signed word~) sin8u_table::$19 (signed word) sin8u_table::sinx_sc#5 (signed word) sin8u_table::sinx_sc#4 (signed word) sin8u_table::sinx_sc#3 (signed word) sin8u_table::sinx_sc#2 (signed word) sin8u_table::sinx_sc#1 +Alias (byte) sin8u_table::sinx_tr#0 = (byte/word~) sin8u_table::$21 (byte) sin8u_table::sinx_tr#7 (byte) sin8u_table::sinx_tr#6 (byte) sin8u_table::sinx_tr#5 (byte) sin8u_table::sinx_tr#4 (byte) sin8u_table::sinx_tr#3 (byte) sin8u_table::sinx_tr#2 (byte) sin8u_table::sinx_tr#1 +Alias (byte*) sin8u_table::sintab#1 = (byte*) sin8u_table::sintab#22 (byte*) sin8u_table::sintab#20 (byte*) sin8u_table::sintab#18 (byte*) sin8u_table::sintab#16 (byte*) sin8u_table::sintab#14 (byte*) sin8u_table::sintab#12 (byte*) sin8u_table::sintab#10 (byte*) sin8u_table::sintab#8 (byte*) sin8u_table::sintab#6 +Alias (byte*) char_cursor#35 = (byte*) char_cursor#79 +Alias (byte*) char_cursor#36 = (byte*) char_cursor#80 +Alias (byte*) char_cursor#37 = (byte*) char_cursor#81 +Alias (byte*) char_cursor#38 = (byte*) char_cursor#82 +Alias (byte*) char_cursor#39 = (byte*) char_cursor#83 +Alias (byte*) char_cursor#40 = (byte*) char_cursor#84 +Alias (byte*) char_cursor#41 = (byte*) char_cursor#85 +Alias (byte*) char_cursor#42 = (byte*) char_cursor#86 Alias (byte*) line_cursor#10 = (byte*) line_cursor#9 (byte*) line_cursor#20 (byte*) line_cursor#21 -Alias (byte*) char_cursor#33 = (byte*) char_cursor#67 (byte*) char_cursor#68 (byte*) char_cursor#34 -Alias (word) sin8u_table::x#1 = (word~) sin8u_table::$25 +Alias (byte*) char_cursor#43 = (byte*) char_cursor#87 (byte*) char_cursor#88 (byte*) char_cursor#44 +Alias (word) sin8u_table::x#1 = (word~) sin8u_table::$31 Alias (byte*) line_cursor#11 = (byte*) line_cursor#22 -Alias (byte*) char_cursor#35 = (byte*) char_cursor#69 +Alias (byte*) char_cursor#45 = (byte*) char_cursor#89 Alias (word) rem16u#17 = (word) rem16u#9 Succesful SSA optimization Pass2AliasElimination Not aliassing across scopes: divr16u::rem#9 divr16u::rem#3 @@ -4706,37 +5061,45 @@ Not aliassing across scopes: mul8u::a#2 mulu8_sel::v1#5 Not aliassing across scopes: mul8u::b#1 mulu8_sel::v2#5 Not aliassing across scopes: mul8u::return#3 mul8u::res#2 Not aliassing across scopes: mulu8_sel::$0 mul8u::return#3 -Not aliassing across scopes: print_str::str#10 print_str::str#5 -Not aliassing across scopes: char_cursor#78 char_cursor#25 +Not aliassing across scopes: print_str::str#12 print_str::str#5 +Not aliassing across scopes: char_cursor#102 char_cursor#31 Not aliassing across scopes: line_cursor#23 line_cursor#25 -Not aliassing across scopes: char_cursor#71 char_cursor#27 -Not aliassing across scopes: print_word::w#2 print_word::w#1 -Not aliassing across scopes: char_cursor#72 char_cursor#29 -Not aliassing across scopes: char_cursor#40 char_cursor#10 -Not aliassing across scopes: char_cursor#41 char_cursor#10 -Not aliassing across scopes: print_byte::b#7 print_byte::b#0 -Not aliassing across scopes: char_cursor#73 char_cursor#72 -Not aliassing across scopes: char_cursor#43 char_cursor#11 -Not aliassing across scopes: char_cursor#10 char_cursor#11 -Not aliassing across scopes: print_char::ch#2 print_char::ch#0 -Not aliassing across scopes: char_cursor#46 char_cursor#73 +Not aliassing across scopes: char_cursor#91 char_cursor#33 +Not aliassing across scopes: print_sword::w#2 print_sword::w#1 +Not aliassing across scopes: char_cursor#103 char_cursor#39 +Not aliassing across scopes: char_cursor#5 char_cursor#12 +Not aliassing across scopes: char_cursor#51 char_cursor#17 +Not aliassing across scopes: print_sbyte::b#2 print_sbyte::b#1 +Not aliassing across scopes: char_cursor#104 char_cursor#37 +Not aliassing across scopes: char_cursor#10 char_cursor#15 +Not aliassing across scopes: char_cursor#54 char_cursor#17 +Not aliassing across scopes: print_word::w#3 print_word::w#0 +Not aliassing across scopes: char_cursor#96 char_cursor#92 +Not aliassing across scopes: char_cursor#11 char_cursor#15 +Not aliassing across scopes: char_cursor#12 char_cursor#15 +Not aliassing across scopes: print_byte::b#8 print_byte::b#0 +Not aliassing across scopes: char_cursor#97 char_cursor#94 +Not aliassing across scopes: char_cursor#14 char_cursor#17 +Not aliassing across scopes: char_cursor#15 char_cursor#17 +Not aliassing across scopes: print_char::ch#4 print_char::ch#2 +Not aliassing across scopes: char_cursor#62 char_cursor#97 Not aliassing across scopes: print_cls::sc#0 SCREEN#0 Not aliassing across scopes: line_cursor#15 SCREEN#0 Not aliassing across scopes: line_cursor#24 SCREEN#0 -Not aliassing across scopes: char_cursor#74 SCREEN#0 +Not aliassing across scopes: char_cursor#98 SCREEN#0 Not aliassing across scopes: rem16u#19 rem16u#0 Not aliassing across scopes: line_cursor#16 line_cursor#15 -Not aliassing across scopes: char_cursor#15 line_cursor#15 +Not aliassing across scopes: char_cursor#21 line_cursor#15 Not aliassing across scopes: sin8u_table::sintab#0 main::sintab#0 Not aliassing across scopes: sin8u_table::tabsize#0 main::tabsize#0 Not aliassing across scopes: rem16u#13 rem16u#16 -Not aliassing across scopes: char_cursor#16 char_cursor#33 +Not aliassing across scopes: char_cursor#22 char_cursor#43 Not aliassing across scopes: line_cursor#17 line_cursor#10 Not aliassing across scopes: sin8u_table::max#1 sin8u_table::max#0 Not aliassing across scopes: sin8u_table::min#1 sin8u_table::min#0 Not aliassing across scopes: sin8u_table::tabsize#1 sin8u_table::tabsize#0 Not aliassing across scopes: rem16u#20 rem16u#19 -Not aliassing across scopes: char_cursor#75 char_cursor#15 +Not aliassing across scopes: char_cursor#105 char_cursor#21 Not aliassing across scopes: line_cursor#25 line_cursor#16 Not aliassing across scopes: sin8u_table::sintab#11 sin8u_table::sintab#0 Not aliassing across scopes: div16u::dividend#0 PI2_u4f12#0 @@ -4744,39 +5107,45 @@ Not aliassing across scopes: div16u::divisor#0 sin8u_table::tabsize#1 Not aliassing across scopes: div16u::return#2 div16u::return#0 Not aliassing across scopes: rem16u#15 rem16u#11 Not aliassing across scopes: sin8u_table::step#0 div16u::return#2 -Not aliassing across scopes: char_cursor#18 char_cursor#2 -Not aliassing across scopes: print_word::w#0 sin8u_table::step#0 -Not aliassing across scopes: char_cursor#19 char_cursor#41 -Not aliassing across scopes: char_cursor#20 char_cursor#2 -Not aliassing across scopes: print_byte::b#2 sin8u_table::min#1 -Not aliassing across scopes: char_cursor#21 char_cursor#10 -Not aliassing across scopes: char_cursor#22 char_cursor#2 -Not aliassing across scopes: print_byte::b#3 sin8u_table::max#1 -Not aliassing across scopes: char_cursor#23 char_cursor#10 Not aliassing across scopes: char_cursor#24 char_cursor#2 -Not aliassing across scopes: print_byte::b#4 sin8u_table::amplitude#0 -Not aliassing across scopes: char_cursor#25 char_cursor#10 +Not aliassing across scopes: print_word::w#1 sin8u_table::step#0 +Not aliassing across scopes: char_cursor#25 char_cursor#12 Not aliassing across scopes: char_cursor#26 char_cursor#2 -Not aliassing across scopes: print_byte::b#5 sin8u_table::mid#0 -Not aliassing across scopes: char_cursor#27 char_cursor#10 +Not aliassing across scopes: print_byte::b#3 sin8u_table::min#1 +Not aliassing across scopes: char_cursor#27 char_cursor#15 +Not aliassing across scopes: char_cursor#28 char_cursor#2 +Not aliassing across scopes: print_byte::b#4 sin8u_table::max#1 +Not aliassing across scopes: char_cursor#29 char_cursor#15 +Not aliassing across scopes: char_cursor#30 char_cursor#2 +Not aliassing across scopes: print_byte::b#5 sin8u_table::amplitude#0 +Not aliassing across scopes: char_cursor#31 char_cursor#15 +Not aliassing across scopes: char_cursor#32 char_cursor#2 +Not aliassing across scopes: print_byte::b#6 sin8u_table::mid#0 +Not aliassing across scopes: char_cursor#33 char_cursor#15 Not aliassing across scopes: line_cursor#19 line_cursor#1 -Not aliassing across scopes: char_cursor#28 line_cursor#1 -Not aliassing across scopes: sin8s::x#2 sin8u_table::x#2 +Not aliassing across scopes: char_cursor#34 line_cursor#1 +Not aliassing across scopes: sin8s::x#2 sin8u_table::x#10 Not aliassing across scopes: sin8s::return#2 sin8s::return#0 -Not aliassing across scopes: mul8su::a#0 sin8s::return#2 -Not aliassing across scopes: mul8su::b#0 sin8u_table::amplitude#10 +Not aliassing across scopes: sin8u_table::sinx#0 sin8s::return#2 +Not aliassing across scopes: mul8su::a#0 sin8u_table::sinx#0 Not aliassing across scopes: mul8su::return#2 mul8su::return#0 -Not aliassing across scopes: sin8u_table::$17 mul8su::return#2 -Not aliassing across scopes: char_cursor#29 char_cursor#2 -Not aliassing across scopes: print_word::w#1 sin8u_table::x#2 -Not aliassing across scopes: char_cursor#30 char_cursor#41 -Not aliassing across scopes: char_cursor#31 char_cursor#2 -Not aliassing across scopes: print_byte::b#6 sin8u_table::sinval#0 -Not aliassing across scopes: char_cursor#32 char_cursor#10 +Not aliassing across scopes: sin8u_table::sinx_sc#0 mul8su::return#2 +Not aliassing across scopes: char_cursor#35 char_cursor#2 +Not aliassing across scopes: print_word::w#2 sin8u_table::x#10 +Not aliassing across scopes: char_cursor#36 char_cursor#12 +Not aliassing across scopes: char_cursor#37 char_cursor#2 +Not aliassing across scopes: print_sbyte::b#1 sin8u_table::sinx#0 +Not aliassing across scopes: char_cursor#38 char_cursor#10 +Not aliassing across scopes: char_cursor#39 char_cursor#2 +Not aliassing across scopes: print_sword::w#1 sin8u_table::sinx_sc#0 +Not aliassing across scopes: char_cursor#40 char_cursor#5 +Not aliassing across scopes: char_cursor#41 char_cursor#2 +Not aliassing across scopes: print_byte::b#7 sin8u_table::sinx_tr#0 +Not aliassing across scopes: char_cursor#42 char_cursor#15 Not aliassing across scopes: line_cursor#10 line_cursor#1 -Not aliassing across scopes: char_cursor#33 line_cursor#1 +Not aliassing across scopes: char_cursor#43 line_cursor#1 Not aliassing across scopes: line_cursor#11 line_cursor#17 -Not aliassing across scopes: char_cursor#35 char_cursor#16 +Not aliassing across scopes: char_cursor#45 char_cursor#22 Not aliassing across scopes: rem16u#17 rem16u#13 Alias (word) divr16u::dividend#2 = (word) divr16u::dividend#3 Alias (word) divr16u::quotient#3 = (word) divr16u::quotient#6 @@ -4833,37 +5202,45 @@ Not aliassing across scopes: mul8u::a#2 mulu8_sel::v1#5 Not aliassing across scopes: mul8u::b#1 mulu8_sel::v2#5 Not aliassing across scopes: mul8u::return#3 mul8u::res#2 Not aliassing across scopes: mulu8_sel::$0 mul8u::return#3 -Not aliassing across scopes: print_str::str#10 print_str::str#5 -Not aliassing across scopes: char_cursor#78 char_cursor#25 +Not aliassing across scopes: print_str::str#12 print_str::str#5 +Not aliassing across scopes: char_cursor#102 char_cursor#31 Not aliassing across scopes: line_cursor#23 line_cursor#25 -Not aliassing across scopes: char_cursor#71 char_cursor#27 -Not aliassing across scopes: print_word::w#2 print_word::w#1 -Not aliassing across scopes: char_cursor#72 char_cursor#29 -Not aliassing across scopes: char_cursor#40 char_cursor#10 -Not aliassing across scopes: char_cursor#41 char_cursor#10 -Not aliassing across scopes: print_byte::b#7 print_byte::b#0 -Not aliassing across scopes: char_cursor#73 char_cursor#72 -Not aliassing across scopes: char_cursor#43 char_cursor#11 -Not aliassing across scopes: char_cursor#10 char_cursor#11 -Not aliassing across scopes: print_char::ch#2 print_char::ch#0 -Not aliassing across scopes: char_cursor#46 char_cursor#73 +Not aliassing across scopes: char_cursor#91 char_cursor#33 +Not aliassing across scopes: print_sword::w#2 print_sword::w#1 +Not aliassing across scopes: char_cursor#103 char_cursor#39 +Not aliassing across scopes: char_cursor#5 char_cursor#12 +Not aliassing across scopes: char_cursor#51 char_cursor#17 +Not aliassing across scopes: print_sbyte::b#2 print_sbyte::b#1 +Not aliassing across scopes: char_cursor#104 char_cursor#37 +Not aliassing across scopes: char_cursor#10 char_cursor#15 +Not aliassing across scopes: char_cursor#54 char_cursor#17 +Not aliassing across scopes: print_word::w#3 print_word::w#0 +Not aliassing across scopes: char_cursor#96 char_cursor#92 +Not aliassing across scopes: char_cursor#11 char_cursor#15 +Not aliassing across scopes: char_cursor#12 char_cursor#15 +Not aliassing across scopes: print_byte::b#8 print_byte::b#0 +Not aliassing across scopes: char_cursor#97 char_cursor#94 +Not aliassing across scopes: char_cursor#14 char_cursor#17 +Not aliassing across scopes: char_cursor#15 char_cursor#17 +Not aliassing across scopes: print_char::ch#4 print_char::ch#2 +Not aliassing across scopes: char_cursor#62 char_cursor#97 Not aliassing across scopes: print_cls::sc#0 SCREEN#0 Not aliassing across scopes: line_cursor#15 SCREEN#0 Not aliassing across scopes: line_cursor#24 SCREEN#0 -Not aliassing across scopes: char_cursor#74 SCREEN#0 +Not aliassing across scopes: char_cursor#98 SCREEN#0 Not aliassing across scopes: rem16u#19 rem16u#0 Not aliassing across scopes: line_cursor#16 line_cursor#15 -Not aliassing across scopes: char_cursor#15 line_cursor#15 +Not aliassing across scopes: char_cursor#21 line_cursor#15 Not aliassing across scopes: sin8u_table::sintab#0 main::sintab#0 Not aliassing across scopes: sin8u_table::tabsize#0 main::tabsize#0 Not aliassing across scopes: rem16u#13 rem16u#16 -Not aliassing across scopes: char_cursor#16 char_cursor#33 +Not aliassing across scopes: char_cursor#22 char_cursor#43 Not aliassing across scopes: line_cursor#17 line_cursor#10 Not aliassing across scopes: sin8u_table::max#1 sin8u_table::max#0 Not aliassing across scopes: sin8u_table::min#1 sin8u_table::min#0 Not aliassing across scopes: sin8u_table::tabsize#1 sin8u_table::tabsize#0 Not aliassing across scopes: rem16u#20 rem16u#19 -Not aliassing across scopes: char_cursor#75 char_cursor#15 +Not aliassing across scopes: char_cursor#105 char_cursor#21 Not aliassing across scopes: line_cursor#25 line_cursor#16 Not aliassing across scopes: sin8u_table::sintab#11 sin8u_table::sintab#0 Not aliassing across scopes: div16u::dividend#0 PI2_u4f12#0 @@ -4871,46 +5248,52 @@ Not aliassing across scopes: div16u::divisor#0 sin8u_table::tabsize#1 Not aliassing across scopes: div16u::return#2 div16u::return#0 Not aliassing across scopes: rem16u#15 rem16u#11 Not aliassing across scopes: sin8u_table::step#0 div16u::return#2 -Not aliassing across scopes: char_cursor#18 char_cursor#2 -Not aliassing across scopes: print_word::w#0 sin8u_table::step#0 -Not aliassing across scopes: char_cursor#19 char_cursor#41 -Not aliassing across scopes: char_cursor#20 char_cursor#2 -Not aliassing across scopes: print_byte::b#2 sin8u_table::min#1 -Not aliassing across scopes: char_cursor#21 char_cursor#10 -Not aliassing across scopes: char_cursor#22 char_cursor#2 -Not aliassing across scopes: print_byte::b#3 sin8u_table::max#1 -Not aliassing across scopes: char_cursor#23 char_cursor#10 Not aliassing across scopes: char_cursor#24 char_cursor#2 -Not aliassing across scopes: print_byte::b#4 sin8u_table::amplitude#0 -Not aliassing across scopes: char_cursor#25 char_cursor#10 +Not aliassing across scopes: print_word::w#1 sin8u_table::step#0 +Not aliassing across scopes: char_cursor#25 char_cursor#12 Not aliassing across scopes: char_cursor#26 char_cursor#2 -Not aliassing across scopes: print_byte::b#5 sin8u_table::mid#0 -Not aliassing across scopes: char_cursor#27 char_cursor#10 +Not aliassing across scopes: print_byte::b#3 sin8u_table::min#1 +Not aliassing across scopes: char_cursor#27 char_cursor#15 +Not aliassing across scopes: char_cursor#28 char_cursor#2 +Not aliassing across scopes: print_byte::b#4 sin8u_table::max#1 +Not aliassing across scopes: char_cursor#29 char_cursor#15 +Not aliassing across scopes: char_cursor#30 char_cursor#2 +Not aliassing across scopes: print_byte::b#5 sin8u_table::amplitude#0 +Not aliassing across scopes: char_cursor#31 char_cursor#15 +Not aliassing across scopes: char_cursor#32 char_cursor#2 +Not aliassing across scopes: print_byte::b#6 sin8u_table::mid#0 +Not aliassing across scopes: char_cursor#33 char_cursor#15 Not aliassing across scopes: line_cursor#19 line_cursor#1 -Not aliassing across scopes: char_cursor#28 line_cursor#1 -Not aliassing across scopes: sin8s::x#2 sin8u_table::x#2 +Not aliassing across scopes: char_cursor#34 line_cursor#1 +Not aliassing across scopes: sin8s::x#2 sin8u_table::x#10 Not aliassing across scopes: sin8s::return#2 sin8s::return#0 -Not aliassing across scopes: mul8su::a#0 sin8s::return#2 -Not aliassing across scopes: mul8su::b#0 sin8u_table::amplitude#10 +Not aliassing across scopes: sin8u_table::sinx#0 sin8s::return#2 +Not aliassing across scopes: mul8su::a#0 sin8u_table::sinx#0 Not aliassing across scopes: mul8su::return#2 mul8su::return#0 -Not aliassing across scopes: sin8u_table::$17 mul8su::return#2 -Not aliassing across scopes: char_cursor#29 char_cursor#2 -Not aliassing across scopes: print_word::w#1 sin8u_table::x#2 -Not aliassing across scopes: char_cursor#30 char_cursor#41 -Not aliassing across scopes: char_cursor#31 char_cursor#2 -Not aliassing across scopes: print_byte::b#6 sin8u_table::sinval#0 -Not aliassing across scopes: char_cursor#32 char_cursor#10 +Not aliassing across scopes: sin8u_table::sinx_sc#0 mul8su::return#2 +Not aliassing across scopes: char_cursor#35 char_cursor#2 +Not aliassing across scopes: print_word::w#2 sin8u_table::x#10 +Not aliassing across scopes: char_cursor#36 char_cursor#12 +Not aliassing across scopes: char_cursor#37 char_cursor#2 +Not aliassing across scopes: print_sbyte::b#1 sin8u_table::sinx#0 +Not aliassing across scopes: char_cursor#38 char_cursor#10 +Not aliassing across scopes: char_cursor#39 char_cursor#2 +Not aliassing across scopes: print_sword::w#1 sin8u_table::sinx_sc#0 +Not aliassing across scopes: char_cursor#40 char_cursor#5 +Not aliassing across scopes: char_cursor#41 char_cursor#2 +Not aliassing across scopes: print_byte::b#7 sin8u_table::sinx_tr#0 +Not aliassing across scopes: char_cursor#42 char_cursor#15 Not aliassing across scopes: line_cursor#10 line_cursor#1 -Not aliassing across scopes: char_cursor#33 line_cursor#1 +Not aliassing across scopes: char_cursor#43 line_cursor#1 Not aliassing across scopes: line_cursor#11 line_cursor#17 -Not aliassing across scopes: char_cursor#35 char_cursor#16 +Not aliassing across scopes: char_cursor#45 char_cursor#22 Not aliassing across scopes: rem16u#17 rem16u#13 Self Phi Eliminated (word) divr16u::divisor#1 -Self Phi Eliminated (byte*) char_cursor#38 +Self Phi Eliminated (byte*) char_cursor#48 Self Phi Eliminated (byte) sin8u_table::amplitude#10 Self Phi Eliminated (byte) sin8u_table::mid#12 -Self Phi Eliminated (word) sin8u_table::step#2 -Self Phi Eliminated (word) sin8u_table::tabsize#2 +Self Phi Eliminated (word) sin8u_table::step#10 +Self Phi Eliminated (word) sin8u_table::tabsize#10 Self Phi Eliminated (word) rem16u#16 Succesful SSA optimization Pass2SelfPhiElimination Redundant Phi (word) divr16u::rem#9 (word) divr16u::rem#3 @@ -4924,57 +5307,68 @@ Redundant Phi (word) rem16u#11 (word) rem16u#1 Redundant Phi (signed byte) mul8su::a#1 (signed byte) mul8su::a#0 Redundant Phi (byte) mul8su::b#1 (byte) mul8su::b#0 Redundant Phi (word) sin8s::x#3 (word) sin8s::x#2 -Redundant Phi (byte*) char_cursor#38 (byte*) char_cursor#71 -Redundant Phi (byte*) char_cursor#40 (byte*) char_cursor#10 -Redundant Phi (byte*) char_cursor#41 (byte*) char_cursor#10 -Redundant Phi (byte*) char_cursor#43 (byte*) char_cursor#11 -Redundant Phi (byte*) char_cursor#10 (byte*) char_cursor#11 +Redundant Phi (byte*) char_cursor#48 (byte*) char_cursor#91 +Redundant Phi (signed word) print_sword::w#2 (signed word) print_sword::w#1 +Redundant Phi (byte*) char_cursor#103 (byte*) char_cursor#39 +Redundant Phi (byte*) char_cursor#5 (byte*) char_cursor#12 +Redundant Phi (byte*) char_cursor#51 (byte*) char_cursor#17 +Redundant Phi (signed byte) print_sbyte::b#2 (signed byte) print_sbyte::b#1 +Redundant Phi (byte*) char_cursor#104 (byte*) char_cursor#37 +Redundant Phi (byte*) char_cursor#10 (byte*) char_cursor#15 +Redundant Phi (byte*) char_cursor#54 (byte*) char_cursor#17 +Redundant Phi (byte*) char_cursor#11 (byte*) char_cursor#15 +Redundant Phi (byte*) char_cursor#12 (byte*) char_cursor#15 +Redundant Phi (byte*) char_cursor#14 (byte*) char_cursor#17 +Redundant Phi (byte*) char_cursor#15 (byte*) char_cursor#17 Redundant Phi (byte*) line_cursor#24 (byte*) SCREEN#0 -Redundant Phi (byte*) char_cursor#74 (byte*) SCREEN#0 +Redundant Phi (byte*) char_cursor#98 (byte*) SCREEN#0 Redundant Phi (word) rem16u#19 (word) rem16u#0 Redundant Phi (byte*) line_cursor#16 (byte*) line_cursor#15 -Redundant Phi (byte*) char_cursor#15 (byte*) line_cursor#15 +Redundant Phi (byte*) char_cursor#21 (byte*) line_cursor#15 Redundant Phi (word) rem16u#13 (word) rem16u#16 -Redundant Phi (byte*) char_cursor#16 (byte*) char_cursor#33 +Redundant Phi (byte*) char_cursor#22 (byte*) char_cursor#43 Redundant Phi (byte*) line_cursor#17 (byte*) line_cursor#10 Redundant Phi (byte) sin8u_table::max#1 (byte) sin8u_table::max#0 Redundant Phi (byte) sin8u_table::min#1 (byte) sin8u_table::min#0 Redundant Phi (word) sin8u_table::tabsize#1 (word) sin8u_table::tabsize#0 Redundant Phi (word) rem16u#20 (word) rem16u#19 -Redundant Phi (byte*) char_cursor#75 (byte*) char_cursor#15 +Redundant Phi (byte*) char_cursor#105 (byte*) char_cursor#21 Redundant Phi (byte*) line_cursor#25 (byte*) line_cursor#16 Redundant Phi (byte*) sin8u_table::sintab#11 (byte*) sin8u_table::sintab#0 Redundant Phi (word) rem16u#15 (word) rem16u#11 -Redundant Phi (byte*) char_cursor#18 (byte*) char_cursor#2 -Redundant Phi (byte*) char_cursor#19 (byte*) char_cursor#41 -Redundant Phi (byte*) char_cursor#20 (byte*) char_cursor#2 -Redundant Phi (byte*) char_cursor#21 (byte*) char_cursor#10 -Redundant Phi (byte*) char_cursor#22 (byte*) char_cursor#2 -Redundant Phi (byte*) char_cursor#23 (byte*) char_cursor#10 Redundant Phi (byte*) char_cursor#24 (byte*) char_cursor#2 -Redundant Phi (byte*) char_cursor#25 (byte*) char_cursor#10 +Redundant Phi (byte*) char_cursor#25 (byte*) char_cursor#12 Redundant Phi (byte*) char_cursor#26 (byte*) char_cursor#2 -Redundant Phi (byte*) char_cursor#27 (byte*) char_cursor#10 +Redundant Phi (byte*) char_cursor#27 (byte*) char_cursor#15 +Redundant Phi (byte*) char_cursor#28 (byte*) char_cursor#2 +Redundant Phi (byte*) char_cursor#29 (byte*) char_cursor#15 +Redundant Phi (byte*) char_cursor#30 (byte*) char_cursor#2 +Redundant Phi (byte*) char_cursor#31 (byte*) char_cursor#15 +Redundant Phi (byte*) char_cursor#32 (byte*) char_cursor#2 +Redundant Phi (byte*) char_cursor#33 (byte*) char_cursor#15 Redundant Phi (byte*) line_cursor#19 (byte*) line_cursor#1 -Redundant Phi (byte*) char_cursor#28 (byte*) line_cursor#1 +Redundant Phi (byte*) char_cursor#34 (byte*) line_cursor#1 Redundant Phi (byte) sin8u_table::amplitude#10 (byte) sin8u_table::amplitude#0 Redundant Phi (byte) sin8u_table::mid#12 (byte) sin8u_table::mid#0 -Redundant Phi (word) sin8u_table::step#2 (word) sin8u_table::step#0 -Redundant Phi (word) sin8u_table::tabsize#2 (word) sin8u_table::tabsize#1 +Redundant Phi (word) sin8u_table::step#10 (word) sin8u_table::step#0 +Redundant Phi (word) sin8u_table::tabsize#10 (word) sin8u_table::tabsize#1 Redundant Phi (word) rem16u#16 (word) rem16u#15 -Redundant Phi (byte*) char_cursor#29 (byte*) char_cursor#2 -Redundant Phi (byte*) char_cursor#30 (byte*) char_cursor#41 -Redundant Phi (byte*) char_cursor#31 (byte*) char_cursor#2 -Redundant Phi (byte*) char_cursor#32 (byte*) char_cursor#10 +Redundant Phi (byte*) char_cursor#35 (byte*) char_cursor#2 +Redundant Phi (byte*) char_cursor#36 (byte*) char_cursor#12 +Redundant Phi (byte*) char_cursor#37 (byte*) char_cursor#2 +Redundant Phi (byte*) char_cursor#38 (byte*) char_cursor#10 +Redundant Phi (byte*) char_cursor#39 (byte*) char_cursor#2 +Redundant Phi (byte*) char_cursor#40 (byte*) char_cursor#5 +Redundant Phi (byte*) char_cursor#41 (byte*) char_cursor#2 +Redundant Phi (byte*) char_cursor#42 (byte*) char_cursor#15 Redundant Phi (byte*) line_cursor#10 (byte*) line_cursor#1 -Redundant Phi (byte*) char_cursor#33 (byte*) line_cursor#1 +Redundant Phi (byte*) char_cursor#43 (byte*) line_cursor#1 Redundant Phi (byte*) line_cursor#11 (byte*) line_cursor#17 -Redundant Phi (byte*) char_cursor#35 (byte*) char_cursor#16 +Redundant Phi (byte*) char_cursor#45 (byte*) char_cursor#22 Redundant Phi (word) rem16u#17 (word) rem16u#13 Succesful SSA optimization Pass2RedundantPhiElimination -Redundant Phi (byte*) char_cursor#71 (byte*) char_cursor#11 -Redundant Phi (byte*) char_cursor#72 (byte*) char_cursor#2 -Redundant Phi (byte*) char_cursor#76 (byte*) line_cursor#1 +Redundant Phi (byte*) char_cursor#91 (byte*) char_cursor#17 +Redundant Phi (byte*) char_cursor#100 (byte*) line_cursor#1 Redundant Phi (byte*) line_cursor#26 (byte*) line_cursor#1 Succesful SSA optimization Pass2RedundantPhiElimination Simple Condition (boolean~) divr16u::$4 if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 @@ -4987,10 +5381,12 @@ Simple Condition (boolean~) sin8s::$1 if((word) sin8s::x#2<(word) PI_u4f12#0) go Simple Condition (boolean~) sin8s::$4 if((word) sin8s::x#4<(word) PI_HALF_u4f12#0) goto sin8s::@2 Simple Condition (boolean~) sin8s::$17 if((byte) sin8s::usinx#1<(byte/word/signed word/dword/signed dword) 128) goto sin8s::@3 Simple Condition (boolean~) sin8s::$20 if((byte) sin8s::isUpper#10==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin8s::@4 -Simple Condition (boolean~) print_str::$0 if(*((byte*) print_str::str#8)!=(byte) '@') goto print_str::@2 -Simple Condition (boolean~) print_ln::$1 if((byte*) line_cursor#1<(byte*) char_cursor#11) goto print_ln::@1 +Simple Condition (boolean~) print_str::$0 if(*((byte*) print_str::str#10)!=(byte) '@') goto print_str::@2 +Simple Condition (boolean~) print_ln::$1 if((byte*) line_cursor#1<(byte*) char_cursor#17) goto print_ln::@1 +Simple Condition (boolean~) print_sword::$1 if((signed word) print_sword::w#1>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto print_sword::@1 +Simple Condition (boolean~) print_sbyte::$1 if((signed byte) print_sbyte::b#1>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto print_sbyte::@1 Simple Condition (boolean~) print_cls::$1 if((byte*) print_cls::sc#1!=(byte*~) print_cls::$0) goto print_cls::@1 -Simple Condition (boolean~) sin8u_table::$26 if((word) sin8u_table::i#1<(word) sin8u_table::tabsize#0) goto sin8u_table::@1 +Simple Condition (boolean~) sin8u_table::$32 if((word) sin8u_table::i#1<(word) sin8u_table::tabsize#0) goto sin8u_table::@1 Succesful SSA optimization Pass2ConditionalJumpSimplification Constant (const word) rem16u#0 = 0 Constant (const word) divr16u::quotient#0 = 0 @@ -5009,6 +5405,8 @@ Constant (const byte) mulu8_sel::select#2 = 1 Constant (const byte) mulu8_sel::select#3 = 0 Constant (const byte) mulu8_sel::select#4 = 0 Constant (const byte*) SCREEN#0 = ((byte*))1024 +Constant (const byte) print_char::ch#0 = '-' +Constant (const byte) print_char::ch#1 = '-' Constant (const string) print_byte::hextab#0 = print_byte::$4 Constant (const word) main::tabsize#0 = 20 Constant (const byte[20]) main::sintab#0 = { fill( 20, 0) } @@ -5023,6 +5421,8 @@ Constant (const word) sin8u_table::x#0 = 0 Constant (const word) sin8u_table::i#0 = 0 Constant (const string) print_str::str#6 = sin8u_table::str5 Constant (const string) print_str::str#7 = sin8u_table::str6 +Constant (const string) print_str::str#8 = sin8u_table::str7 +Constant (const string) print_str::str#9 = sin8u_table::str8 Succesful SSA optimization Pass2ConstantIdentification Constant (const byte) mulu8_sel::v2#2 = sin8s::DIV_6#0 Constant (const byte*) print_cls::sc#0 = SCREEN#0 @@ -5033,21 +5433,23 @@ Constant (const word) sin8u_table::tabsize#0 = main::tabsize#0 Constant (const byte) sin8u_table::amplitude#0 = sin8u_table::max#0-sin8u_table::min#0 Constant (const word) sin8u_table::sum#0 = sin8u_table::min#0+sin8u_table::max#0 Constant (const word) div16u::dividend#0 = PI2_u4f12#0 -Constant (const byte) print_byte::b#2 = sin8u_table::min#0 -Constant (const byte) print_byte::b#3 = sin8u_table::max#0 +Constant (const byte) print_byte::b#3 = sin8u_table::min#0 +Constant (const byte) print_byte::b#4 = sin8u_table::max#0 Succesful SSA optimization Pass2ConstantIdentification Constant (const word) divr16u::dividend#1 = div16u::dividend#0 Constant (const word) sin8u_table::$2 = sin8u_table::sum#0>>1 Constant (const word) div16u::divisor#0 = sin8u_table::tabsize#0 -Constant (const byte) print_byte::b#4 = sin8u_table::amplitude#0 -Constant (const byte) mul8su::b#0 = sin8u_table::amplitude#0 +Constant (const byte) print_byte::b#5 = sin8u_table::amplitude#0 +Constant (const byte) mul8su::b#0 = sin8u_table::amplitude#0+1 Succesful SSA optimization Pass2ConstantIdentification Constant (const word) divr16u::divisor#0 = div16u::divisor#0 Constant (const byte) mul8u::b#0 = ((byte))mul8su::b#0 Constant (const byte) mul8su::$7 = ((byte))mul8su::b#0 -Constant (const byte) sin8u_table::mid#0 = ((byte))sin8u_table::$2 +Constant (const word) sin8u_table::$3 = sin8u_table::$2+1 Succesful SSA optimization Pass2ConstantIdentification -Constant (const byte) print_byte::b#5 = sin8u_table::mid#0 +Constant (const byte) sin8u_table::mid#0 = ((byte))sin8u_table::$3 +Succesful SSA optimization Pass2ConstantIdentification +Constant (const byte) print_byte::b#6 = sin8u_table::mid#0 Succesful SSA optimization Pass2ConstantIdentification Eliminating unused variable (word) rem16u#1 and assignment [15] (word) rem16u#1 ← (word) divr16u::rem#10 Eliminating unused constant (const word) rem16u#0 @@ -5056,6 +5458,8 @@ Eliminating Noop Cast (byte) mul8u::a#1 ← ((byte)) (signed byte) mul8su::a#0 Eliminating Noop Cast (signed word) mul8su::return#0 ← ((signed word)) (word) mul8su::m#2 Eliminating Noop Cast (signed byte) sin8s::sinx#0 ← ((signed byte)) (byte) sin8s::usinx#4 Eliminating Noop Cast (signed byte~) sin8s::$21 ← ((signed byte)) (byte) sin8s::usinx#4 +Eliminating Noop Cast (word) print_word::w#0 ← ((word)) (signed word) print_sword::w#3 +Eliminating Noop Cast (byte) print_byte::b#0 ← ((byte)) (signed byte) print_sbyte::b#3 Succesful SSA optimization Pass2NopCastElimination Culled Empty Block (label) @2 Culled Empty Block (label) divr16u::@6 @@ -5063,6 +5467,8 @@ Culled Empty Block (label) mul8u::@3 Culled Empty Block (label) @12 Culled Empty Block (label) @18 Culled Empty Block (label) print_ln::@2 +Culled Empty Block (label) print_sword::@3 +Culled Empty Block (label) print_sbyte::@3 Culled Empty Block (label) print_word::@2 Culled Empty Block (label) print_byte::@2 Culled Empty Block (label) print_cls::@2 @@ -5100,21 +5506,27 @@ Not aliassing across scopes: mul8u::a#2 mulu8_sel::v1#5 Not aliassing across scopes: mul8u::b#1 mulu8_sel::v2#5 Not aliassing across scopes: mul8u::return#3 mul8u::res#2 Not aliassing across scopes: mulu8_sel::$0 mul8u::return#3 -Not aliassing across scopes: char_cursor#78 char_cursor#11 -Not aliassing across scopes: print_word::w#2 print_word::w#1 -Not aliassing across scopes: print_byte::b#7 print_byte::b#0 -Not aliassing across scopes: char_cursor#73 char_cursor#2 -Not aliassing across scopes: print_char::ch#2 print_char::ch#0 -Not aliassing across scopes: char_cursor#46 char_cursor#73 +Not aliassing across scopes: char_cursor#102 char_cursor#17 +Not aliassing across scopes: print_sword::w#3 print_sword::w#1 +Not aliassing across scopes: char_cursor#92 char_cursor#2 +Not aliassing across scopes: print_sbyte::b#3 print_sbyte::b#1 +Not aliassing across scopes: char_cursor#94 char_cursor#2 +Not aliassing across scopes: char_cursor#96 char_cursor#92 +Not aliassing across scopes: char_cursor#97 char_cursor#94 +Not aliassing across scopes: print_char::ch#4 print_char::ch#2 +Not aliassing across scopes: char_cursor#62 char_cursor#97 Not aliassing across scopes: div16u::return#2 div16u::return#0 Not aliassing across scopes: sin8u_table::step#0 div16u::return#2 -Not aliassing across scopes: print_word::w#0 sin8u_table::step#0 -Not aliassing across scopes: sin8s::x#2 sin8u_table::x#2 +Not aliassing across scopes: print_word::w#1 sin8u_table::step#0 +Not aliassing across scopes: sin8s::x#2 sin8u_table::x#10 Not aliassing across scopes: sin8s::return#2 sin8s::return#0 -Not aliassing across scopes: mul8su::a#0 sin8s::return#2 -Not aliassing across scopes: sin8u_table::$17 mul8su::return#2 -Not aliassing across scopes: print_word::w#1 sin8u_table::x#2 -Not aliassing across scopes: print_byte::b#6 sin8u_table::sinval#0 +Not aliassing across scopes: sin8u_table::sinx#0 sin8s::return#2 +Not aliassing across scopes: mul8su::a#0 sin8u_table::sinx#0 +Not aliassing across scopes: sin8u_table::sinx_sc#0 mul8su::return#2 +Not aliassing across scopes: print_word::w#2 sin8u_table::x#10 +Not aliassing across scopes: print_sbyte::b#1 sin8u_table::sinx#0 +Not aliassing across scopes: print_sword::w#1 sin8u_table::sinx_sc#0 +Not aliassing across scopes: print_byte::b#7 sin8u_table::sinx_tr#0 Not aliassing across scopes: divr16u::return#2 divr16u::return#0 Not aliassing across scopes: div16u::return#0 divr16u::return#2 Not aliassing across scopes: mul8u::return#2 mul8u::res#2 @@ -5145,21 +5557,27 @@ Not aliassing across scopes: mul8u::a#2 mulu8_sel::v1#5 Not aliassing across scopes: mul8u::b#1 mulu8_sel::v2#5 Not aliassing across scopes: mul8u::return#3 mul8u::res#2 Not aliassing across scopes: mulu8_sel::$0 mul8u::return#3 -Not aliassing across scopes: char_cursor#78 char_cursor#11 -Not aliassing across scopes: print_word::w#2 print_word::w#1 -Not aliassing across scopes: print_byte::b#7 print_byte::b#0 -Not aliassing across scopes: char_cursor#73 char_cursor#2 -Not aliassing across scopes: print_char::ch#2 print_char::ch#0 -Not aliassing across scopes: char_cursor#46 char_cursor#73 +Not aliassing across scopes: char_cursor#102 char_cursor#17 +Not aliassing across scopes: print_sword::w#3 print_sword::w#1 +Not aliassing across scopes: char_cursor#92 char_cursor#2 +Not aliassing across scopes: print_sbyte::b#3 print_sbyte::b#1 +Not aliassing across scopes: char_cursor#94 char_cursor#2 +Not aliassing across scopes: char_cursor#96 char_cursor#92 +Not aliassing across scopes: char_cursor#97 char_cursor#94 +Not aliassing across scopes: print_char::ch#4 print_char::ch#2 +Not aliassing across scopes: char_cursor#62 char_cursor#97 Not aliassing across scopes: div16u::return#2 div16u::return#0 Not aliassing across scopes: sin8u_table::step#0 div16u::return#2 -Not aliassing across scopes: print_word::w#0 sin8u_table::step#0 -Not aliassing across scopes: sin8s::x#2 sin8u_table::x#2 +Not aliassing across scopes: print_word::w#1 sin8u_table::step#0 +Not aliassing across scopes: sin8s::x#2 sin8u_table::x#10 Not aliassing across scopes: sin8s::return#2 sin8s::return#0 -Not aliassing across scopes: mul8su::a#0 sin8s::return#2 -Not aliassing across scopes: sin8u_table::$17 mul8su::return#2 -Not aliassing across scopes: print_word::w#1 sin8u_table::x#2 -Not aliassing across scopes: print_byte::b#6 sin8u_table::sinval#0 +Not aliassing across scopes: sin8u_table::sinx#0 sin8s::return#2 +Not aliassing across scopes: mul8su::a#0 sin8u_table::sinx#0 +Not aliassing across scopes: sin8u_table::sinx_sc#0 mul8su::return#2 +Not aliassing across scopes: print_word::w#2 sin8u_table::x#10 +Not aliassing across scopes: print_sbyte::b#1 sin8u_table::sinx#0 +Not aliassing across scopes: print_sword::w#1 sin8u_table::sinx_sc#0 +Not aliassing across scopes: print_byte::b#7 sin8u_table::sinx_tr#0 OPTIMIZING CONTROL FLOW GRAPH Inlining constant with var siblings (const word) divr16u::quotient#0 Inlining constant with var siblings (const word) divr16u::quotient#0 @@ -5226,10 +5644,12 @@ Inlining constant with var siblings (const string) print_str::str#6 Inlining constant with var siblings (const string) print_str::str#7 Inlining constant with var siblings (const string) print_str::str#7 Inlining constant with var siblings (const string) print_str::str#7 -Inlining constant with var siblings (const byte) print_byte::b#2 -Inlining constant with var siblings (const byte) print_byte::b#2 -Inlining constant with var siblings (const byte) print_byte::b#2 -Inlining constant with var siblings (const byte) print_byte::b#2 +Inlining constant with var siblings (const string) print_str::str#8 +Inlining constant with var siblings (const string) print_str::str#8 +Inlining constant with var siblings (const string) print_str::str#8 +Inlining constant with var siblings (const string) print_str::str#9 +Inlining constant with var siblings (const string) print_str::str#9 +Inlining constant with var siblings (const string) print_str::str#9 Inlining constant with var siblings (const byte) print_byte::b#3 Inlining constant with var siblings (const byte) print_byte::b#3 Inlining constant with var siblings (const byte) print_byte::b#3 @@ -5242,6 +5662,18 @@ Inlining constant with var siblings (const byte) print_byte::b#5 Inlining constant with var siblings (const byte) print_byte::b#5 Inlining constant with var siblings (const byte) print_byte::b#5 Inlining constant with var siblings (const byte) print_byte::b#5 +Inlining constant with var siblings (const byte) print_byte::b#6 +Inlining constant with var siblings (const byte) print_byte::b#6 +Inlining constant with var siblings (const byte) print_byte::b#6 +Inlining constant with var siblings (const byte) print_byte::b#6 +Inlining constant with var siblings (const byte) print_char::ch#0 +Inlining constant with var siblings (const byte) print_char::ch#0 +Inlining constant with var siblings (const byte) print_char::ch#0 +Inlining constant with different constant siblings (const byte) print_char::ch#0 +Inlining constant with var siblings (const byte) print_char::ch#1 +Inlining constant with var siblings (const byte) print_char::ch#1 +Inlining constant with var siblings (const byte) print_char::ch#1 +Inlining constant with different constant siblings (const byte) print_char::ch#1 Inlining constant with var siblings (const byte*) print_cls::sc#0 Inlining constant with var siblings (const byte*) print_cls::sc#0 Inlining constant with var siblings (const word) sin8u_table::x#0 @@ -5258,13 +5690,13 @@ Constant inlined print_cls::$0 = (const byte*) SCREEN#0+(word/signed word/dword/ Constant inlined divr16u::i#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 Constant inlined sin8u_table::i#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 Constant inlined sin8u_table::sintab#0 = (const byte[20]) main::sintab#0 -Constant inlined mul8su::b#0 = (const byte) sin8u_table::amplitude#0 Constant inlined sin8s::isUpper#1 = (byte/signed byte/word/signed word/dword/signed dword) 1 Constant inlined sin8s::isUpper#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 Constant inlined divr16u::quotient#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 Constant inlined div16u::divisor#0 = (const word) main::tabsize#0 Constant inlined sin8u_table::$2 = (const word) sin8u_table::sum#0>>(byte/signed byte/word/signed word/dword/signed dword) 1 -Constant inlined mul8su::$7 = ((byte))(const byte) sin8u_table::amplitude#0 +Constant inlined sin8u_table::$3 = (const word) sin8u_table::sum#0>>(byte/signed byte/word/signed word/dword/signed dword) 1+(byte/signed byte/word/signed word/dword/signed dword) 1 +Constant inlined mul8su::$7 = ((byte))(const byte) mul8su::b#0 Constant inlined mulu8_sel::select#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 Constant inlined div16u::dividend#0 = (const word) PI2_u4f12#0 Constant inlined mulu8_sel::select#2 = (byte/signed byte/word/signed word/dword/signed dword) 1 @@ -5273,29 +5705,35 @@ Constant inlined mulu8_sel::select#1 = (byte/signed byte/word/signed word/dword/ Constant inlined mulu8_sel::select#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 Constant inlined mulu8_sel::select#3 = (byte/signed byte/word/signed word/dword/signed dword) 0 Constant inlined sin8u_table::tabsize#0 = (const word) main::tabsize#0 -Constant inlined print_byte::b#2 = (const byte) sin8u_table::min#0 -Constant inlined print_byte::b#4 = (const byte) sin8u_table::amplitude#0 -Constant inlined print_byte::b#3 = (const byte) sin8u_table::max#0 -Constant inlined print_byte::b#5 = (const byte) sin8u_table::mid#0 +Constant inlined print_byte::b#4 = (const byte) sin8u_table::max#0 +Constant inlined print_byte::b#3 = (const byte) sin8u_table::min#0 +Constant inlined print_byte::b#6 = (const byte) sin8u_table::mid#0 +Constant inlined print_byte::b#5 = (const byte) sin8u_table::amplitude#0 Constant inlined divr16u::dividend#1 = (const word) PI2_u4f12#0 Constant inlined print_cls::sc#0 = (const byte*) SCREEN#0 Constant inlined mulu8_sel::v2#2 = (const byte) sin8s::DIV_6#0 +Constant inlined print_str::str#9 = (const string) sin8u_table::str8 Constant inlined mul8u::res#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 Constant inlined line_cursor#15 = (const byte*) SCREEN#0 -Constant inlined mul8u::b#0 = ((byte))(const byte) sin8u_table::amplitude#0 +Constant inlined mul8u::b#0 = ((byte))(const byte) mul8su::b#0 +Constant inlined print_char::ch#1 = (byte) '-' +Constant inlined print_char::ch#0 = (byte) '-' Constant inlined print_str::str#4 = (const string) sin8u_table::str3 Constant inlined print_str::str#3 = (const string) sin8u_table::str2 Constant inlined print_str::str#2 = (const string) sin8u_table::str1 Constant inlined print_str::str#1 = (const string) sin8u_table::str Constant inlined print_byte::$4 = (const string) print_byte::hextab#0 Constant inlined sin8u_table::x#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined print_str::str#8 = (const string) sin8u_table::str7 Constant inlined print_str::str#7 = (const string) sin8u_table::str6 Constant inlined print_str::str#6 = (const string) sin8u_table::str5 Constant inlined print_str::str#5 = (const string) sin8u_table::str4 Succesful SSA optimization Pass2ConstantInlining -Block Sequence Planned @begin @30 @end main main::@1 main::@return sin8u_table sin8u_table::@3 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@8 sin8u_table::@9 sin8u_table::@10 sin8u_table::@11 sin8u_table::@12 sin8u_table::@13 sin8u_table::@1 sin8u_table::@15 sin8u_table::@16 sin8u_table::@17 sin8u_table::@18 sin8u_table::@19 sin8u_table::@20 sin8u_table::@21 sin8u_table::@return print_ln print_ln::@1 print_ln::@return print_byte print_byte::@1 print_byte::@return print_char print_char::@return print_str print_str::@1 print_str::@return print_str::@2 print_word print_word::@1 print_word::@return mul8su mul8su::@4 mul8su::@2 mul8su::@1 mul8su::@return mul8u mul8u::@1 mul8u::@return mul8u::@2 mul8u::@7 mul8u::@4 sin8s sin8s::@5 sin8s::@1 sin8s::@6 sin8s::@2 sin8s::@10 sin8s::@11 sin8s::@12 sin8s::@13 sin8s::@14 sin8s::@7 sin8s::@3 sin8s::@8 sin8s::@4 sin8s::@return mulu8_sel mulu8_sel::@2 mulu8_sel::@return div16u div16u::@2 div16u::@return divr16u divr16u::@1 divr16u::@4 divr16u::@2 divr16u::@5 divr16u::@3 divr16u::@return print_cls print_cls::@1 print_cls::@return -Added new block during phi lifting sin8u_table::@22(between sin8u_table::@21 and sin8u_table::@1) +Block Sequence Planned @begin @30 @end main main::@1 main::@return sin8u_table sin8u_table::@3 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@8 sin8u_table::@9 sin8u_table::@10 sin8u_table::@11 sin8u_table::@12 sin8u_table::@13 sin8u_table::@1 sin8u_table::@15 sin8u_table::@16 sin8u_table::@17 sin8u_table::@18 sin8u_table::@19 sin8u_table::@20 sin8u_table::@21 sin8u_table::@22 sin8u_table::@23 sin8u_table::@24 sin8u_table::@25 sin8u_table::@return print_ln print_ln::@1 print_ln::@return print_byte print_byte::@1 print_byte::@return print_char print_char::@return print_str print_str::@1 print_str::@return print_str::@2 print_sword print_sword::@2 print_sword::@4 print_sword::@1 print_sword::@return print_word print_word::@1 print_word::@return print_sbyte print_sbyte::@2 print_sbyte::@4 print_sbyte::@1 print_sbyte::@return mul8su mul8su::@4 mul8su::@2 mul8su::@1 mul8su::@return mul8u mul8u::@1 mul8u::@return mul8u::@2 mul8u::@7 mul8u::@4 sin8s sin8s::@5 sin8s::@1 sin8s::@6 sin8s::@2 sin8s::@10 sin8s::@11 sin8s::@12 sin8s::@13 sin8s::@14 sin8s::@7 sin8s::@3 sin8s::@8 sin8s::@4 sin8s::@return mulu8_sel mulu8_sel::@2 mulu8_sel::@return div16u div16u::@2 div16u::@return divr16u divr16u::@1 divr16u::@4 divr16u::@2 divr16u::@5 divr16u::@3 divr16u::@return print_cls print_cls::@1 print_cls::@return +Added new block during phi lifting sin8u_table::@26(between sin8u_table::@25 and sin8u_table::@1) Added new block during phi lifting print_ln::@3(between print_ln::@1 and print_ln::@1) +Added new block during phi lifting print_sword::@5(between print_sword and print_sword::@1) +Added new block during phi lifting print_sbyte::@5(between print_sbyte and print_sbyte::@1) Added new block during phi lifting mul8su::@5(between mul8su::@4 and mul8su::@1) Added new block during phi lifting mul8u::@10(between mul8u::@2 and mul8u::@4) Added new block during phi lifting sin8s::@15(between sin8s and sin8s::@1) @@ -5307,7 +5745,7 @@ Added new block during phi lifting divr16u::@8(between divr16u::@3 and divr16u:: Added new block during phi lifting divr16u::@9(between divr16u::@1 and divr16u::@2) Added new block during phi lifting divr16u::@10(between divr16u::@2 and divr16u::@3) Added new block during phi lifting print_cls::@3(between print_cls::@1 and print_cls::@1) -Block Sequence Planned @begin @30 @end main main::@1 main::@return sin8u_table sin8u_table::@3 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@8 sin8u_table::@9 sin8u_table::@10 sin8u_table::@11 sin8u_table::@12 sin8u_table::@13 sin8u_table::@1 sin8u_table::@15 sin8u_table::@16 sin8u_table::@17 sin8u_table::@18 sin8u_table::@19 sin8u_table::@20 sin8u_table::@21 sin8u_table::@return sin8u_table::@22 print_ln print_ln::@1 print_ln::@return print_ln::@3 print_byte print_byte::@1 print_byte::@return print_char print_char::@return print_str print_str::@1 print_str::@return print_str::@2 print_word print_word::@1 print_word::@return mul8su mul8su::@4 mul8su::@2 mul8su::@1 mul8su::@return mul8su::@5 mul8u mul8u::@1 mul8u::@return mul8u::@2 mul8u::@7 mul8u::@4 mul8u::@10 sin8s sin8s::@5 sin8s::@1 sin8s::@6 sin8s::@2 sin8s::@10 sin8s::@11 sin8s::@12 sin8s::@13 sin8s::@14 sin8s::@7 sin8s::@3 sin8s::@8 sin8s::@4 sin8s::@return sin8s::@18 sin8s::@17 sin8s::@16 sin8s::@15 mulu8_sel mulu8_sel::@2 mulu8_sel::@return div16u div16u::@2 div16u::@return divr16u divr16u::@1 divr16u::@4 divr16u::@2 divr16u::@5 divr16u::@3 divr16u::@return divr16u::@8 divr16u::@10 divr16u::@9 print_cls print_cls::@1 print_cls::@return print_cls::@3 +Block Sequence Planned @begin @30 @end main main::@1 main::@return sin8u_table sin8u_table::@3 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@8 sin8u_table::@9 sin8u_table::@10 sin8u_table::@11 sin8u_table::@12 sin8u_table::@13 sin8u_table::@1 sin8u_table::@15 sin8u_table::@16 sin8u_table::@17 sin8u_table::@18 sin8u_table::@19 sin8u_table::@20 sin8u_table::@21 sin8u_table::@22 sin8u_table::@23 sin8u_table::@24 sin8u_table::@25 sin8u_table::@return sin8u_table::@26 print_ln print_ln::@1 print_ln::@return print_ln::@3 print_byte print_byte::@1 print_byte::@return print_char print_char::@return print_str print_str::@1 print_str::@return print_str::@2 print_sword print_sword::@2 print_sword::@4 print_sword::@1 print_sword::@return print_sword::@5 print_word print_word::@1 print_word::@return print_sbyte print_sbyte::@2 print_sbyte::@4 print_sbyte::@1 print_sbyte::@return print_sbyte::@5 mul8su mul8su::@4 mul8su::@2 mul8su::@1 mul8su::@return mul8su::@5 mul8u mul8u::@1 mul8u::@return mul8u::@2 mul8u::@7 mul8u::@4 mul8u::@10 sin8s sin8s::@5 sin8s::@1 sin8s::@6 sin8s::@2 sin8s::@10 sin8s::@11 sin8s::@12 sin8s::@13 sin8s::@14 sin8s::@7 sin8s::@3 sin8s::@8 sin8s::@4 sin8s::@return sin8s::@18 sin8s::@17 sin8s::@16 sin8s::@15 mulu8_sel mulu8_sel::@2 mulu8_sel::@return div16u div16u::@2 div16u::@return divr16u divr16u::@1 divr16u::@4 divr16u::@2 divr16u::@5 divr16u::@3 divr16u::@return divr16u::@8 divr16u::@10 divr16u::@9 print_cls print_cls::@1 print_cls::@return print_cls::@3 Adding NOP phi() at start of @begin Adding NOP phi() at start of @30 Adding NOP phi() at start of @end @@ -5321,13 +5759,15 @@ Adding NOP phi() at start of print_cls CALL GRAPH Calls in [] to main:2 Calls in [main] to print_cls:5 sin8u_table:7 -Calls in [sin8u_table] to div16u:10 print_str:13 print_word:16 print_str:18 print_byte:20 print_str:22 print_byte:24 print_str:26 print_byte:28 print_str:30 print_byte:32 print_ln:34 sin8s:37 mul8su:40 print_str:48 print_word:51 print_str:53 print_byte:57 print_ln:59 -Calls in [print_byte] to print_char:79 print_char:84 -Calls in [print_word] to print_byte:105 print_byte:109 -Calls in [mul8su] to mul8u:112 -Calls in [sin8s] to mulu8_sel:155 mulu8_sel:162 mulu8_sel:167 mulu8_sel:175 mulu8_sel:182 -Calls in [mulu8_sel] to mul8u:205 -Calls in [div16u] to divr16u:212 +Calls in [sin8u_table] to div16u:10 print_str:13 print_word:17 print_str:19 print_byte:21 print_str:23 print_byte:25 print_str:27 print_byte:29 print_str:31 print_byte:33 print_ln:35 sin8s:38 mul8su:42 print_str:50 print_word:54 print_str:56 print_sbyte:58 print_str:60 print_sword:62 print_str:64 print_byte:68 print_ln:70 +Calls in [print_byte] to print_char:90 print_char:95 +Calls in [print_sword] to print_char:114 print_word:121 +Calls in [print_word] to print_byte:129 print_byte:133 +Calls in [print_sbyte] to print_char:137 print_byte:144 +Calls in [mul8su] to mul8u:149 +Calls in [sin8s] to mulu8_sel:192 mulu8_sel:199 mulu8_sel:204 mulu8_sel:212 mulu8_sel:219 +Calls in [mulu8_sel] to mul8u:242 +Calls in [div16u] to divr16u:249 Propagating live ranges... Propagating live ranges... @@ -5376,80 +5816,109 @@ Propagating live ranges... Propagating live ranges... Propagating live ranges... Propagating live ranges... -Created 37 initial phi equivalence classes -Coalesced [15] print_word::w#5 ← print_word::w#0 -Coalesced [17] char_cursor#94 ← char_cursor#11 -Coalesced [19] char_cursor#87 ← char_cursor#2 -Coalesced (already) [21] char_cursor#95 ← char_cursor#11 -Coalesced (already) [23] char_cursor#88 ← char_cursor#2 -Coalesced (already) [25] char_cursor#96 ← char_cursor#11 -Coalesced (already) [27] char_cursor#84 ← char_cursor#2 -Coalesced (already) [29] char_cursor#91 ← char_cursor#11 -Coalesced (already) [31] char_cursor#85 ← char_cursor#2 -Not coalescing [47] char_cursor#92 ← line_cursor#1 -Coalesced [50] print_word::w#4 ← print_word::w#1 -Coalesced (already) [52] char_cursor#93 ← char_cursor#11 -Coalesced [55] print_byte::b#11 ← print_byte::b#6 -Coalesced (already) [56] char_cursor#86 ← char_cursor#2 -Coalesced [58] line_cursor#45 ← line_cursor#1 -Coalesced [64] sin8u_table::x#10 ← sin8u_table::x#1 -Coalesced [65] sin8u_table::sintab#23 ← sin8u_table::sintab#1 -Coalesced [66] sin8u_table::i#10 ← sin8u_table::i#1 -Coalesced [68] line_cursor#46 ← line_cursor#23 -Coalesced (already) [73] line_cursor#47 ← line_cursor#1 -Coalesced [77] print_char::ch#3 ← print_char::ch#0 -Coalesced [78] char_cursor#89 ← char_cursor#73 -Coalesced [82] print_char::ch#4 ← print_char::ch#1 -Coalesced [83] char_cursor#90 ← char_cursor#11 -Coalesced [91] print_str::str#11 ← print_str::str#10 -Coalesced (already) [92] char_cursor#97 ← char_cursor#78 -Coalesced [99] print_str::str#12 ← print_str::str#0 -Coalesced [100] char_cursor#98 ← char_cursor#1 -Coalesced [103] print_byte::b#9 ← print_byte::b#0 -Coalesced (already) [104] char_cursor#82 ← char_cursor#2 -Coalesced [107] print_byte::b#10 ← print_byte::b#1 -Coalesced (already) [108] char_cursor#83 ← char_cursor#11 -Coalesced [119] mul8su::m#4 ← mul8su::m#1 -Coalesced [122] mul8su::m#5 ← mul8su::m#0 -Coalesced [125] mul8u::a#10 ← mul8u::a#6 -Coalesced [126] mul8u::mb#6 ← mul8u::mb#0 -Coalesced [133] mul8u::res#9 ← mul8u::res#1 -Coalesced [137] mul8u::a#11 ← mul8u::a#0 -Coalesced [138] mul8u::res#7 ← mul8u::res#6 -Coalesced [139] mul8u::mb#7 ← mul8u::mb#1 -Coalesced (already) [140] mul8u::res#8 ← mul8u::res#2 -Coalesced [143] sin8s::x#9 ← sin8s::x#0 -Coalesced [147] sin8s::x#11 ← sin8s::x#1 -Coalesced [153] mulu8_sel::v1#10 ← mulu8_sel::v1#0 -Coalesced [154] mulu8_sel::v2#9 ← mulu8_sel::v2#0 -Coalesced [160] mulu8_sel::v1#6 ← mulu8_sel::v1#1 -Coalesced [161] mulu8_sel::v2#6 ← mulu8_sel::v2#1 -Coalesced [166] mulu8_sel::v1#7 ← mulu8_sel::v1#2 -Coalesced [173] mulu8_sel::v1#8 ← mulu8_sel::v1#3 -Coalesced [174] mulu8_sel::v2#7 ← mulu8_sel::v2#3 -Coalesced [180] mulu8_sel::v1#9 ← mulu8_sel::v1#4 -Coalesced [181] mulu8_sel::v2#8 ← mulu8_sel::v2#4 -Coalesced [189] sin8s::usinx#9 ← sin8s::usinx#2 -Coalesced [193] sin8s::return#6 ← sin8s::sinx#1 -Coalesced [197] sin8s::usinx#8 ← sin8s::usinx#1 -Coalesced [198] sin8s::x#10 ← sin8s::x#4 -Coalesced [199] sin8s::x#8 ← sin8s::x#2 -Coalesced [203] mul8u::b#3 ← mul8u::b#1 -Coalesced [204] mul8u::a#9 ← mul8u::a#2 -Coalesced [223] divr16u::rem#13 ← divr16u::rem#1 -Coalesced [230] divr16u::rem#15 ← divr16u::rem#2 -Coalesced [231] divr16u::return#6 ← divr16u::quotient#2 -Coalesced [236] divr16u::rem#11 ← divr16u::rem#10 -Coalesced [237] divr16u::dividend#8 ← divr16u::dividend#0 -Coalesced [238] divr16u::quotient#9 ← divr16u::return#0 -Coalesced [239] divr16u::i#7 ← divr16u::i#1 -Coalesced [240] divr16u::rem#14 ← divr16u::rem#5 -Coalesced [241] divr16u::return#5 ← divr16u::quotient#1 -Coalesced [242] divr16u::rem#12 ← divr16u::rem#0 -Coalesced [249] print_cls::sc#3 ← print_cls::sc#1 -Coalesced down to 26 phi equivalence classes -Culled Empty Block (label) sin8u_table::@22 +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Created 42 initial phi equivalence classes +Coalesced [15] print_word::w#7 ← print_word::w#1 +Coalesced [16] char_cursor#134 ← char_cursor#2 +Coalesced [18] char_cursor#125 ← char_cursor#17 +Coalesced [20] char_cursor#114 ← char_cursor#2 +Coalesced (already) [22] char_cursor#126 ← char_cursor#17 +Coalesced (already) [24] char_cursor#115 ← char_cursor#2 +Coalesced (already) [26] char_cursor#127 ← char_cursor#17 +Coalesced (already) [28] char_cursor#111 ← char_cursor#2 +Coalesced (already) [30] char_cursor#120 ← char_cursor#17 +Coalesced (already) [32] char_cursor#112 ← char_cursor#2 +Not coalescing [49] char_cursor#121 ← line_cursor#1 +Coalesced [52] print_word::w#6 ← print_word::w#2 +Coalesced (already) [53] char_cursor#133 ← char_cursor#2 +Coalesced (already) [55] char_cursor#122 ← char_cursor#17 +Coalesced (already) [59] char_cursor#123 ← char_cursor#17 +Coalesced (already) [63] char_cursor#124 ← char_cursor#17 +Coalesced [66] print_byte::b#13 ← print_byte::b#7 +Coalesced (already) [67] char_cursor#113 ← char_cursor#2 +Coalesced [69] line_cursor#49 ← line_cursor#1 +Coalesced [75] sin8u_table::x#14 ← sin8u_table::x#1 +Coalesced [76] sin8u_table::sintab#27 ← sin8u_table::sintab#1 +Coalesced [77] sin8u_table::i#14 ← sin8u_table::i#1 +Coalesced [79] line_cursor#50 ← line_cursor#23 +Coalesced (already) [84] line_cursor#51 ← line_cursor#1 +Coalesced [88] print_char::ch#5 ← print_char::ch#2 +Coalesced [89] char_cursor#116 ← char_cursor#97 +Coalesced [93] print_char::ch#6 ← print_char::ch#3 +Coalesced [94] char_cursor#117 ← char_cursor#17 +Coalesced [102] print_str::str#13 ← print_str::str#12 +Coalesced (already) [103] char_cursor#128 ← char_cursor#102 +Coalesced [110] print_str::str#14 ← print_str::str#0 +Coalesced [111] char_cursor#129 ← char_cursor#1 +Coalesced (already) [113] char_cursor#119 ← char_cursor#2 +Coalesced [116] print_sword::w#7 ← print_sword::w#0 +Coalesced [117] char_cursor#131 ← char_cursor#17 +Coalesced (already) [120] char_cursor#132 ← char_cursor#92 +Coalesced [123] print_sword::w#6 ← print_sword::w#1 +Coalesced (already) [124] char_cursor#130 ← char_cursor#2 +Coalesced [127] print_byte::b#11 ← print_byte::b#1 +Coalesced (already) [128] char_cursor#109 ← char_cursor#96 +Coalesced [131] print_byte::b#12 ← print_byte::b#2 +Coalesced (already) [132] char_cursor#110 ← char_cursor#17 +Coalesced (already) [136] char_cursor#118 ← char_cursor#2 +Coalesced [139] print_sbyte::b#7 ← print_sbyte::b#0 +Coalesced [140] char_cursor#136 ← char_cursor#17 +Coalesced (already) [143] char_cursor#108 ← char_cursor#94 +Coalesced [146] print_sbyte::b#6 ← print_sbyte::b#1 +Coalesced (already) [147] char_cursor#135 ← char_cursor#2 +Coalesced [156] mul8su::m#4 ← mul8su::m#1 +Coalesced [159] mul8su::m#5 ← mul8su::m#0 +Coalesced [162] mul8u::a#10 ← mul8u::a#6 +Coalesced [163] mul8u::mb#6 ← mul8u::mb#0 +Coalesced [170] mul8u::res#9 ← mul8u::res#1 +Coalesced [174] mul8u::a#11 ← mul8u::a#0 +Coalesced [175] mul8u::res#7 ← mul8u::res#6 +Coalesced [176] mul8u::mb#7 ← mul8u::mb#1 +Coalesced (already) [177] mul8u::res#8 ← mul8u::res#2 +Coalesced [180] sin8s::x#9 ← sin8s::x#0 +Coalesced [184] sin8s::x#11 ← sin8s::x#1 +Coalesced [190] mulu8_sel::v1#10 ← mulu8_sel::v1#0 +Coalesced [191] mulu8_sel::v2#9 ← mulu8_sel::v2#0 +Coalesced [197] mulu8_sel::v1#6 ← mulu8_sel::v1#1 +Coalesced [198] mulu8_sel::v2#6 ← mulu8_sel::v2#1 +Coalesced [203] mulu8_sel::v1#7 ← mulu8_sel::v1#2 +Coalesced [210] mulu8_sel::v1#8 ← mulu8_sel::v1#3 +Coalesced [211] mulu8_sel::v2#7 ← mulu8_sel::v2#3 +Coalesced [217] mulu8_sel::v1#9 ← mulu8_sel::v1#4 +Coalesced [218] mulu8_sel::v2#8 ← mulu8_sel::v2#4 +Coalesced [226] sin8s::usinx#9 ← sin8s::usinx#2 +Coalesced [230] sin8s::return#6 ← sin8s::sinx#1 +Coalesced [234] sin8s::usinx#8 ← sin8s::usinx#1 +Coalesced [235] sin8s::x#10 ← sin8s::x#4 +Coalesced [236] sin8s::x#8 ← sin8s::x#2 +Coalesced [240] mul8u::b#3 ← mul8u::b#1 +Coalesced [241] mul8u::a#9 ← mul8u::a#2 +Coalesced [260] divr16u::rem#13 ← divr16u::rem#1 +Coalesced [267] divr16u::rem#15 ← divr16u::rem#2 +Coalesced [268] divr16u::return#6 ← divr16u::quotient#2 +Coalesced [273] divr16u::rem#11 ← divr16u::rem#10 +Coalesced [274] divr16u::dividend#8 ← divr16u::dividend#0 +Coalesced [275] divr16u::quotient#9 ← divr16u::return#0 +Coalesced [276] divr16u::i#7 ← divr16u::i#1 +Coalesced [277] divr16u::rem#14 ← divr16u::rem#5 +Coalesced [278] divr16u::return#5 ← divr16u::quotient#1 +Coalesced [279] divr16u::rem#12 ← divr16u::rem#0 +Coalesced [286] print_cls::sc#3 ← print_cls::sc#1 +Coalesced down to 28 phi equivalence classes +Culled Empty Block (label) sin8u_table::@26 Culled Empty Block (label) print_ln::@3 +Culled Empty Block (label) print_sword::@5 +Culled Empty Block (label) print_sbyte::@5 Culled Empty Block (label) mul8su::@5 Culled Empty Block (label) mul8u::@10 Culled Empty Block (label) sin8s::@17 @@ -5459,7 +5928,7 @@ Culled Empty Block (label) divr16u::@8 Culled Empty Block (label) divr16u::@10 Culled Empty Block (label) divr16u::@9 Culled Empty Block (label) print_cls::@3 -Block Sequence Planned @begin @30 @end main main::@1 main::@return sin8u_table sin8u_table::@3 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@8 sin8u_table::@9 sin8u_table::@10 sin8u_table::@11 sin8u_table::@12 sin8u_table::@13 sin8u_table::@1 sin8u_table::@15 sin8u_table::@16 sin8u_table::@17 sin8u_table::@18 sin8u_table::@19 sin8u_table::@20 sin8u_table::@21 sin8u_table::@return print_ln print_ln::@1 print_ln::@return print_byte print_byte::@1 print_byte::@return print_char print_char::@return print_str print_str::@1 print_str::@return print_str::@2 print_word print_word::@1 print_word::@return mul8su mul8su::@4 mul8su::@2 mul8su::@1 mul8su::@return mul8u mul8u::@1 mul8u::@return mul8u::@2 mul8u::@7 mul8u::@4 sin8s sin8s::@5 sin8s::@1 sin8s::@6 sin8s::@2 sin8s::@10 sin8s::@11 sin8s::@12 sin8s::@13 sin8s::@14 sin8s::@7 sin8s::@3 sin8s::@8 sin8s::@4 sin8s::@return sin8s::@18 mulu8_sel mulu8_sel::@2 mulu8_sel::@return div16u div16u::@2 div16u::@return divr16u divr16u::@1 divr16u::@4 divr16u::@2 divr16u::@5 divr16u::@3 divr16u::@return print_cls print_cls::@1 print_cls::@return +Block Sequence Planned @begin @30 @end main main::@1 main::@return sin8u_table sin8u_table::@3 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@8 sin8u_table::@9 sin8u_table::@10 sin8u_table::@11 sin8u_table::@12 sin8u_table::@13 sin8u_table::@1 sin8u_table::@15 sin8u_table::@16 sin8u_table::@17 sin8u_table::@18 sin8u_table::@19 sin8u_table::@20 sin8u_table::@21 sin8u_table::@22 sin8u_table::@23 sin8u_table::@24 sin8u_table::@25 sin8u_table::@return print_ln print_ln::@1 print_ln::@return print_byte print_byte::@1 print_byte::@return print_char print_char::@return print_str print_str::@1 print_str::@return print_str::@2 print_sword print_sword::@2 print_sword::@4 print_sword::@1 print_sword::@return print_word print_word::@1 print_word::@return print_sbyte print_sbyte::@2 print_sbyte::@4 print_sbyte::@1 print_sbyte::@return mul8su mul8su::@4 mul8su::@2 mul8su::@1 mul8su::@return mul8u mul8u::@1 mul8u::@return mul8u::@2 mul8u::@7 mul8u::@4 sin8s sin8s::@5 sin8s::@1 sin8s::@6 sin8s::@2 sin8s::@10 sin8s::@11 sin8s::@12 sin8s::@13 sin8s::@14 sin8s::@7 sin8s::@3 sin8s::@8 sin8s::@4 sin8s::@return sin8s::@18 mulu8_sel mulu8_sel::@2 mulu8_sel::@return div16u div16u::@2 div16u::@return divr16u divr16u::@1 divr16u::@4 divr16u::@2 divr16u::@5 divr16u::@3 divr16u::@return print_cls print_cls::@1 print_cls::@return Adding NOP phi() at start of @begin Adding NOP phi() at start of @30 Adding NOP phi() at start of @end @@ -5477,6 +5946,10 @@ Adding NOP phi() at start of sin8u_table::@12 Adding NOP phi() at start of sin8u_table::@13 Adding NOP phi() at start of sin8u_table::@18 Adding NOP phi() at start of sin8u_table::@20 +Adding NOP phi() at start of sin8u_table::@22 +Adding NOP phi() at start of sin8u_table::@24 +Adding NOP phi() at start of print_sword::@2 +Adding NOP phi() at start of print_sbyte::@2 Adding NOP phi() at start of div16u Adding NOP phi() at start of divr16u Adding NOP phi() at start of print_cls @@ -5523,6 +5996,15 @@ Propagating live ranges... Propagating live ranges... Propagating live ranges... Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... +Propagating live ranges... FINAL CONTROL FLOW GRAPH @begin: scope:[] from @@ -5555,351 +6037,407 @@ sin8u_table::@3: scope:[sin8u_table] from sin8u_table [13] call print_str param-assignment [ sin8u_table::step#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#2 ] ) to:sin8u_table::@4 sin8u_table::@4: scope:[sin8u_table] from sin8u_table::@3 - [14] (word) print_word::w#0 ← (word) sin8u_table::step#0 [ sin8u_table::step#0 print_word::w#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 print_word::w#0 char_cursor#2 ] ) - [15] call print_word param-assignment [ sin8u_table::step#0 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#11 ] ) + [14] (word) print_word::w#1 ← (word) sin8u_table::step#0 [ sin8u_table::step#0 print_word::w#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 print_word::w#1 char_cursor#2 ] ) + [15] call print_word param-assignment [ sin8u_table::step#0 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#17 ] ) to:sin8u_table::@5 sin8u_table::@5: scope:[sin8u_table] from sin8u_table::@4 - [16] phi() [ sin8u_table::step#0 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#11 ] ) + [16] phi() [ sin8u_table::step#0 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#17 ] ) [17] call print_str param-assignment [ sin8u_table::step#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#2 ] ) to:sin8u_table::@6 sin8u_table::@6: scope:[sin8u_table] from sin8u_table::@5 [18] phi() [ sin8u_table::step#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#2 ] ) - [19] call print_byte param-assignment [ sin8u_table::step#0 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#11 ] ) + [19] call print_byte param-assignment [ sin8u_table::step#0 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#17 ] ) to:sin8u_table::@7 sin8u_table::@7: scope:[sin8u_table] from sin8u_table::@6 - [20] phi() [ sin8u_table::step#0 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#11 ] ) + [20] phi() [ sin8u_table::step#0 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#17 ] ) [21] call print_str param-assignment [ sin8u_table::step#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#2 ] ) to:sin8u_table::@8 sin8u_table::@8: scope:[sin8u_table] from sin8u_table::@7 [22] phi() [ sin8u_table::step#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#2 ] ) - [23] call print_byte param-assignment [ sin8u_table::step#0 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#11 ] ) + [23] call print_byte param-assignment [ sin8u_table::step#0 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#17 ] ) to:sin8u_table::@9 sin8u_table::@9: scope:[sin8u_table] from sin8u_table::@8 - [24] phi() [ sin8u_table::step#0 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#11 ] ) + [24] phi() [ sin8u_table::step#0 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#17 ] ) [25] call print_str param-assignment [ sin8u_table::step#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#2 ] ) to:sin8u_table::@10 sin8u_table::@10: scope:[sin8u_table] from sin8u_table::@9 [26] phi() [ sin8u_table::step#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#2 ] ) - [27] call print_byte param-assignment [ sin8u_table::step#0 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#11 ] ) + [27] call print_byte param-assignment [ sin8u_table::step#0 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#17 ] ) to:sin8u_table::@11 sin8u_table::@11: scope:[sin8u_table] from sin8u_table::@10 - [28] phi() [ sin8u_table::step#0 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#11 ] ) + [28] phi() [ sin8u_table::step#0 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#17 ] ) [29] call print_str param-assignment [ sin8u_table::step#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#2 ] ) to:sin8u_table::@12 sin8u_table::@12: scope:[sin8u_table] from sin8u_table::@11 [30] phi() [ sin8u_table::step#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#2 ] ) - [31] call print_byte param-assignment [ sin8u_table::step#0 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#11 ] ) + [31] call print_byte param-assignment [ sin8u_table::step#0 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#17 ] ) to:sin8u_table::@13 sin8u_table::@13: scope:[sin8u_table] from sin8u_table::@12 - [32] phi() [ sin8u_table::step#0 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#11 ] ) + [32] phi() [ sin8u_table::step#0 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#17 ] ) [33] call print_ln param-assignment [ sin8u_table::step#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 line_cursor#1 ] ) to:sin8u_table::@1 -sin8u_table::@1: scope:[sin8u_table] from sin8u_table::@13 sin8u_table::@21 - [34] (word) sin8u_table::i#2 ← phi( sin8u_table::@13/(byte/signed byte/word/signed word/dword/signed dword) 0 sin8u_table::@21/(word) sin8u_table::i#1 ) [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 ] ) - [34] (byte*) sin8u_table::sintab#2 ← phi( sin8u_table::@13/(const byte[20]) main::sintab#0 sin8u_table::@21/(byte*) sin8u_table::sintab#1 ) [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 ] ) - [34] (word) sin8u_table::x#2 ← phi( sin8u_table::@13/(byte/signed byte/word/signed word/dword/signed dword) 0 sin8u_table::@21/(word) sin8u_table::x#1 ) [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 ] ) - [35] (word) sin8s::x#2 ← (word) sin8u_table::x#2 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8s::x#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8s::x#2 line_cursor#1 ] ) - [36] call sin8s param-assignment [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8s::return#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8s::return#0 line_cursor#1 ] ) - [37] (signed byte) sin8s::return#2 ← (signed byte) sin8s::return#0 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8s::return#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8s::return#2 line_cursor#1 ] ) +sin8u_table::@1: scope:[sin8u_table] from sin8u_table::@13 sin8u_table::@25 + [34] (word) sin8u_table::i#10 ← phi( sin8u_table::@13/(byte/signed byte/word/signed word/dword/signed dword) 0 sin8u_table::@25/(word) sin8u_table::i#1 ) [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 ] ) + [34] (byte*) sin8u_table::sintab#2 ← phi( sin8u_table::@13/(const byte[20]) main::sintab#0 sin8u_table::@25/(byte*) sin8u_table::sintab#1 ) [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 ] ) + [34] (word) sin8u_table::x#10 ← phi( sin8u_table::@13/(byte/signed byte/word/signed word/dword/signed dword) 0 sin8u_table::@25/(word) sin8u_table::x#1 ) [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 ] ) + [35] (word) sin8s::x#2 ← (word) sin8u_table::x#10 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8s::x#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8s::x#2 line_cursor#1 ] ) + [36] call sin8s param-assignment [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8s::return#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8s::return#0 line_cursor#1 ] ) + [37] (signed byte) sin8s::return#2 ← (signed byte) sin8s::return#0 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8s::return#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8s::return#2 line_cursor#1 ] ) to:sin8u_table::@15 sin8u_table::@15: scope:[sin8u_table] from sin8u_table::@1 - [38] (signed byte) mul8su::a#0 ← (signed byte) sin8s::return#2 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 mul8su::a#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 mul8su::a#0 line_cursor#1 ] ) - [39] call mul8su param-assignment [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 mul8su::m#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 mul8su::m#2 line_cursor#1 ] ) - [40] (signed word) mul8su::return#2 ← (signed word)(word) mul8su::m#2 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 mul8su::return#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 mul8su::return#2 line_cursor#1 ] ) + [38] (signed byte) sin8u_table::sinx#0 ← (signed byte) sin8s::return#2 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 ] ) + [39] (signed byte) mul8su::a#0 ← (signed byte) sin8u_table::sinx#0 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 mul8su::a#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 mul8su::a#0 line_cursor#1 ] ) + [40] call mul8su param-assignment [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 mul8su::m#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 mul8su::m#2 line_cursor#1 ] ) + [41] (signed word) mul8su::return#2 ← (signed word)(word) mul8su::m#2 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 mul8su::return#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 mul8su::return#2 line_cursor#1 ] ) to:sin8u_table::@16 sin8u_table::@16: scope:[sin8u_table] from sin8u_table::@15 - [41] (signed word~) sin8u_table::$17 ← (signed word) mul8su::return#2 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8u_table::$17 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8u_table::$17 line_cursor#1 ] ) - [42] (byte~) sin8u_table::$18 ← > (signed word~) sin8u_table::$17 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8u_table::$18 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8u_table::$18 line_cursor#1 ] ) - [43] (byte) sin8u_table::sinval#0 ← (const byte) sin8u_table::mid#0 + (byte~) sin8u_table::$18 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8u_table::sinval#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8u_table::sinval#0 line_cursor#1 ] ) - [44] *((byte*) sin8u_table::sintab#2) ← (byte) sin8u_table::sinval#0 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8u_table::sinval#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8u_table::sinval#0 line_cursor#1 ] ) - [45] (byte*) sin8u_table::sintab#1 ← ++ (byte*) sin8u_table::sintab#2 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 ] ) - [46] (byte*~) char_cursor#92 ← (byte*) line_cursor#1 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 char_cursor#92 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 char_cursor#92 line_cursor#1 ] ) - [47] call print_str param-assignment [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 ] ) + [42] (signed word) sin8u_table::sinx_sc#0 ← (signed word) mul8su::return#2 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 line_cursor#1 ] ) + [43] (byte~) sin8u_table::$20 ← > (signed word) sin8u_table::sinx_sc#0 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::$20 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::$20 line_cursor#1 ] ) + [44] (byte) sin8u_table::sinx_tr#0 ← (const byte) sin8u_table::mid#0 + (byte~) sin8u_table::$20 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 ] ) + [45] *((byte*) sin8u_table::sintab#2) ← (byte) sin8u_table::sinx_tr#0 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 ] ) + [46] (byte*) sin8u_table::sintab#1 ← ++ (byte*) sin8u_table::sintab#2 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 ] ) + [47] (byte*~) char_cursor#121 ← (byte*) line_cursor#1 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 char_cursor#121 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 char_cursor#121 line_cursor#1 ] ) + [48] call print_str param-assignment [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] ) to:sin8u_table::@17 sin8u_table::@17: scope:[sin8u_table] from sin8u_table::@16 - [48] (word) print_word::w#1 ← (word) sin8u_table::x#2 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#1 char_cursor#2 ] ) - [49] call print_word param-assignment [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 ] ) + [49] (word) print_word::w#2 ← (word) sin8u_table::x#10 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#2 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#2 char_cursor#2 ] ) + [50] call print_word param-assignment [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) to:sin8u_table::@18 sin8u_table::@18: scope:[sin8u_table] from sin8u_table::@17 - [50] phi() [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 ] ) - [51] call print_str param-assignment [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 ] ) + [51] phi() [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) + [52] call print_str param-assignment [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] ) to:sin8u_table::@19 sin8u_table::@19: scope:[sin8u_table] from sin8u_table::@18 - [52] (byte) print_byte::b#6 ← (byte) sin8u_table::sinval#0 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_byte::b#6 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_byte::b#6 char_cursor#2 ] ) - [53] call print_byte param-assignment [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 ] ) + [53] (signed byte) print_sbyte::b#1 ← (signed byte) sin8u_table::sinx#0 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_sbyte::b#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_sbyte::b#1 char_cursor#2 ] ) + [54] call print_sbyte param-assignment [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) to:sin8u_table::@20 sin8u_table::@20: scope:[sin8u_table] from sin8u_table::@19 - [54] phi() [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 ] ) - [55] call print_ln param-assignment [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 ] ) + [55] phi() [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) + [56] call print_str param-assignment [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] ) to:sin8u_table::@21 sin8u_table::@21: scope:[sin8u_table] from sin8u_table::@20 - [56] (word) sin8u_table::x#1 ← (word) sin8u_table::x#2 + (word) sin8u_table::step#0 [ sin8u_table::step#0 sin8u_table::i#2 sin8u_table::x#1 sin8u_table::sintab#1 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::i#2 sin8u_table::x#1 sin8u_table::sintab#1 line_cursor#1 ] ) - [57] (word) sin8u_table::i#1 ← ++ (word) sin8u_table::i#2 [ sin8u_table::step#0 sin8u_table::x#1 sin8u_table::sintab#1 sin8u_table::i#1 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#1 sin8u_table::sintab#1 sin8u_table::i#1 line_cursor#1 ] ) - [58] if((word) sin8u_table::i#1<(const word) main::tabsize#0) goto sin8u_table::@1 [ sin8u_table::step#0 sin8u_table::x#1 sin8u_table::sintab#1 sin8u_table::i#1 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#1 sin8u_table::sintab#1 sin8u_table::i#1 line_cursor#1 ] ) + [57] (signed word) print_sword::w#1 ← (signed word) sin8u_table::sinx_sc#0 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_sword::w#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_sword::w#1 char_cursor#2 ] ) + [58] call print_sword param-assignment [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) + to:sin8u_table::@22 +sin8u_table::@22: scope:[sin8u_table] from sin8u_table::@21 + [59] phi() [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) + [60] call print_str param-assignment [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] ) + to:sin8u_table::@23 +sin8u_table::@23: scope:[sin8u_table] from sin8u_table::@22 + [61] (byte) print_byte::b#7 ← (byte) sin8u_table::sinx_tr#0 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 print_byte::b#7 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 print_byte::b#7 char_cursor#2 ] ) + [62] call print_byte param-assignment [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 ] ) + to:sin8u_table::@24 +sin8u_table::@24: scope:[sin8u_table] from sin8u_table::@23 + [63] phi() [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 ] ) + [64] call print_ln param-assignment [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 ] ) + to:sin8u_table::@25 +sin8u_table::@25: scope:[sin8u_table] from sin8u_table::@24 + [65] (word) sin8u_table::x#1 ← (word) sin8u_table::x#10 + (word) sin8u_table::step#0 [ sin8u_table::step#0 sin8u_table::i#10 sin8u_table::x#1 sin8u_table::sintab#1 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::i#10 sin8u_table::x#1 sin8u_table::sintab#1 line_cursor#1 ] ) + [66] (word) sin8u_table::i#1 ← ++ (word) sin8u_table::i#10 [ sin8u_table::step#0 sin8u_table::x#1 sin8u_table::sintab#1 sin8u_table::i#1 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#1 sin8u_table::sintab#1 sin8u_table::i#1 line_cursor#1 ] ) + [67] if((word) sin8u_table::i#1<(const word) main::tabsize#0) goto sin8u_table::@1 [ sin8u_table::step#0 sin8u_table::x#1 sin8u_table::sintab#1 sin8u_table::i#1 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#1 sin8u_table::sintab#1 sin8u_table::i#1 line_cursor#1 ] ) to:sin8u_table::@return -sin8u_table::@return: scope:[sin8u_table] from sin8u_table::@21 - [59] return [ ] ( main:2::sin8u_table:7 [ ] ) +sin8u_table::@return: scope:[sin8u_table] from sin8u_table::@25 + [68] return [ ] ( main:2::sin8u_table:7 [ ] ) to:@return -print_ln: scope:[print_ln] from sin8u_table::@13 sin8u_table::@20 - [60] (byte*) line_cursor#23 ← phi( sin8u_table::@13/(const byte*) SCREEN#0 sin8u_table::@20/(byte*) line_cursor#1 ) [ line_cursor#23 char_cursor#11 ] ( main:2::sin8u_table:7::print_ln:33 [ sin8u_table::step#0 line_cursor#23 char_cursor#11 ] main:2::sin8u_table:7::print_ln:55 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#23 char_cursor#11 ] ) +print_ln: scope:[print_ln] from sin8u_table::@13 sin8u_table::@24 + [69] (byte*) line_cursor#23 ← phi( sin8u_table::@13/(const byte*) SCREEN#0 sin8u_table::@24/(byte*) line_cursor#1 ) [ line_cursor#23 char_cursor#17 ] ( main:2::sin8u_table:7::print_ln:33 [ sin8u_table::step#0 line_cursor#23 char_cursor#17 ] main:2::sin8u_table:7::print_ln:64 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#23 char_cursor#17 ] ) to:print_ln::@1 print_ln::@1: scope:[print_ln] from print_ln print_ln::@1 - [61] (byte*) line_cursor#12 ← phi( print_ln/(byte*) line_cursor#23 print_ln::@1/(byte*) line_cursor#1 ) [ line_cursor#12 char_cursor#11 ] ( main:2::sin8u_table:7::print_ln:33 [ sin8u_table::step#0 line_cursor#12 char_cursor#11 ] main:2::sin8u_table:7::print_ln:55 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#12 char_cursor#11 ] ) - [62] (byte*) line_cursor#1 ← (byte*) line_cursor#12 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ line_cursor#1 char_cursor#11 ] ( main:2::sin8u_table:7::print_ln:33 [ sin8u_table::step#0 line_cursor#1 char_cursor#11 ] main:2::sin8u_table:7::print_ln:55 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 ] ) - [63] if((byte*) line_cursor#1<(byte*) char_cursor#11) goto print_ln::@1 [ line_cursor#1 char_cursor#11 ] ( main:2::sin8u_table:7::print_ln:33 [ sin8u_table::step#0 line_cursor#1 char_cursor#11 ] main:2::sin8u_table:7::print_ln:55 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 ] ) + [70] (byte*) line_cursor#12 ← phi( print_ln/(byte*) line_cursor#23 print_ln::@1/(byte*) line_cursor#1 ) [ line_cursor#12 char_cursor#17 ] ( main:2::sin8u_table:7::print_ln:33 [ sin8u_table::step#0 line_cursor#12 char_cursor#17 ] main:2::sin8u_table:7::print_ln:64 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#12 char_cursor#17 ] ) + [71] (byte*) line_cursor#1 ← (byte*) line_cursor#12 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ line_cursor#1 char_cursor#17 ] ( main:2::sin8u_table:7::print_ln:33 [ sin8u_table::step#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_ln:64 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 ] ) + [72] if((byte*) line_cursor#1<(byte*) char_cursor#17) goto print_ln::@1 [ line_cursor#1 char_cursor#17 ] ( main:2::sin8u_table:7::print_ln:33 [ sin8u_table::step#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_ln:64 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 ] ) to:print_ln::@return print_ln::@return: scope:[print_ln] from print_ln::@1 - [64] return [ line_cursor#1 ] ( main:2::sin8u_table:7::print_ln:33 [ sin8u_table::step#0 line_cursor#1 ] main:2::sin8u_table:7::print_ln:55 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 ] ) + [73] return [ line_cursor#1 ] ( main:2::sin8u_table:7::print_ln:33 [ sin8u_table::step#0 line_cursor#1 ] main:2::sin8u_table:7::print_ln:64 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 ] ) to:@return -print_byte: scope:[print_byte] from print_word print_word::@1 sin8u_table::@10 sin8u_table::@12 sin8u_table::@19 sin8u_table::@6 sin8u_table::@8 - [65] (byte*) char_cursor#73 ← phi( print_word/(byte*) char_cursor#2 print_word::@1/(byte*) char_cursor#11 sin8u_table::@10/(byte*) char_cursor#2 sin8u_table::@12/(byte*) char_cursor#2 sin8u_table::@19/(byte*) char_cursor#2 sin8u_table::@6/(byte*) char_cursor#2 sin8u_table::@8/(byte*) char_cursor#2 ) [ print_byte::b#7 char_cursor#73 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 ] main:2::sin8u_table:7::print_byte:53 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_byte::b#7 char_cursor#73 ] main:2::sin8u_table:7::print_word:15::print_byte:86 [ sin8u_table::step#0 print_word::w#2 print_byte::b#7 char_cursor#73 ] main:2::sin8u_table:7::print_word:49::print_byte:86 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 print_byte::b#7 char_cursor#73 ] main:2::sin8u_table:7::print_word:15::print_byte:88 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 ] main:2::sin8u_table:7::print_word:49::print_byte:88 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_byte::b#7 char_cursor#73 ] ) - [65] (byte) print_byte::b#7 ← phi( print_word/(byte) print_byte::b#0 print_word::@1/(byte) print_byte::b#1 sin8u_table::@10/(const byte) sin8u_table::amplitude#0 sin8u_table::@12/(const byte) sin8u_table::mid#0 sin8u_table::@19/(byte) print_byte::b#6 sin8u_table::@6/(const byte) sin8u_table::min#0 sin8u_table::@8/(const byte) sin8u_table::max#0 ) [ print_byte::b#7 char_cursor#73 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 ] main:2::sin8u_table:7::print_byte:53 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_byte::b#7 char_cursor#73 ] main:2::sin8u_table:7::print_word:15::print_byte:86 [ sin8u_table::step#0 print_word::w#2 print_byte::b#7 char_cursor#73 ] main:2::sin8u_table:7::print_word:49::print_byte:86 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 print_byte::b#7 char_cursor#73 ] main:2::sin8u_table:7::print_word:15::print_byte:88 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 ] main:2::sin8u_table:7::print_word:49::print_byte:88 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_byte::b#7 char_cursor#73 ] ) - [66] (byte~) print_byte::$0 ← (byte) print_byte::b#7 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ print_byte::b#7 char_cursor#73 print_byte::$0 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_byte::$0 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_byte::$0 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_byte::$0 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_byte::$0 ] main:2::sin8u_table:7::print_byte:53 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_byte::b#7 char_cursor#73 print_byte::$0 ] main:2::sin8u_table:7::print_word:15::print_byte:86 [ sin8u_table::step#0 print_word::w#2 print_byte::b#7 char_cursor#73 print_byte::$0 ] main:2::sin8u_table:7::print_word:49::print_byte:86 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 print_byte::b#7 char_cursor#73 print_byte::$0 ] main:2::sin8u_table:7::print_word:15::print_byte:88 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_byte::$0 ] main:2::sin8u_table:7::print_word:49::print_byte:88 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_byte::b#7 char_cursor#73 print_byte::$0 ] ) - [67] (byte) print_char::ch#0 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$0) [ print_byte::b#7 char_cursor#73 print_char::ch#0 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_char::ch#0 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_char::ch#0 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_char::ch#0 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_char::ch#0 ] main:2::sin8u_table:7::print_byte:53 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_byte::b#7 char_cursor#73 print_char::ch#0 ] main:2::sin8u_table:7::print_word:15::print_byte:86 [ sin8u_table::step#0 print_word::w#2 print_byte::b#7 char_cursor#73 print_char::ch#0 ] main:2::sin8u_table:7::print_word:49::print_byte:86 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 print_byte::b#7 char_cursor#73 print_char::ch#0 ] main:2::sin8u_table:7::print_word:15::print_byte:88 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_char::ch#0 ] main:2::sin8u_table:7::print_word:49::print_byte:88 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_byte::b#7 char_cursor#73 print_char::ch#0 ] ) - [68] call print_char param-assignment [ char_cursor#11 print_byte::b#7 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#11 print_byte::b#7 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#11 print_byte::b#7 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#11 print_byte::b#7 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#11 print_byte::b#7 ] main:2::sin8u_table:7::print_byte:53 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 print_byte::b#7 ] main:2::sin8u_table:7::print_word:15::print_byte:86 [ sin8u_table::step#0 print_word::w#2 char_cursor#11 print_byte::b#7 ] main:2::sin8u_table:7::print_word:49::print_byte:86 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 char_cursor#11 print_byte::b#7 ] main:2::sin8u_table:7::print_word:15::print_byte:88 [ sin8u_table::step#0 char_cursor#11 print_byte::b#7 ] main:2::sin8u_table:7::print_word:49::print_byte:88 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 print_byte::b#7 ] ) +print_byte: scope:[print_byte] from print_sbyte::@1 print_word print_word::@1 sin8u_table::@10 sin8u_table::@12 sin8u_table::@23 sin8u_table::@6 sin8u_table::@8 + [74] (byte*) char_cursor#97 ← phi( print_sbyte::@1/(byte*) char_cursor#94 print_word/(byte*) char_cursor#96 print_word::@1/(byte*) char_cursor#17 sin8u_table::@10/(byte*) char_cursor#2 sin8u_table::@12/(byte*) char_cursor#2 sin8u_table::@23/(byte*) char_cursor#2 sin8u_table::@6/(byte*) char_cursor#2 sin8u_table::@8/(byte*) char_cursor#2 ) [ print_byte::b#8 char_cursor#97 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 ] main:2::sin8u_table:7::print_byte:62 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 print_byte::b#8 char_cursor#97 ] main:2::sin8u_table:7::print_word:15::print_byte:103 [ sin8u_table::step#0 print_word::w#3 print_byte::b#8 char_cursor#97 ] main:2::sin8u_table:7::print_word:50::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#97 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#97 ] main:2::sin8u_table:7::print_word:15::print_byte:105 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 ] main:2::sin8u_table:7::print_word:50::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#97 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#97 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#97 ] ) + [74] (byte) print_byte::b#8 ← phi( print_sbyte::@1/(byte~) print_byte::b#10 print_word/(byte) print_byte::b#1 print_word::@1/(byte) print_byte::b#2 sin8u_table::@10/(const byte) sin8u_table::amplitude#0 sin8u_table::@12/(const byte) sin8u_table::mid#0 sin8u_table::@23/(byte) print_byte::b#7 sin8u_table::@6/(const byte) sin8u_table::min#0 sin8u_table::@8/(const byte) sin8u_table::max#0 ) [ print_byte::b#8 char_cursor#97 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 ] main:2::sin8u_table:7::print_byte:62 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 print_byte::b#8 char_cursor#97 ] main:2::sin8u_table:7::print_word:15::print_byte:103 [ sin8u_table::step#0 print_word::w#3 print_byte::b#8 char_cursor#97 ] main:2::sin8u_table:7::print_word:50::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#97 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#97 ] main:2::sin8u_table:7::print_word:15::print_byte:105 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 ] main:2::sin8u_table:7::print_word:50::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#97 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#97 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#97 ] ) + [75] (byte~) print_byte::$0 ← (byte) print_byte::b#8 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ print_byte::b#8 char_cursor#97 print_byte::$0 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 print_byte::$0 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 print_byte::$0 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 print_byte::$0 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 print_byte::$0 ] main:2::sin8u_table:7::print_byte:62 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 print_byte::b#8 char_cursor#97 print_byte::$0 ] main:2::sin8u_table:7::print_word:15::print_byte:103 [ sin8u_table::step#0 print_word::w#3 print_byte::b#8 char_cursor#97 print_byte::$0 ] main:2::sin8u_table:7::print_word:50::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#97 print_byte::$0 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#97 print_byte::$0 ] main:2::sin8u_table:7::print_word:15::print_byte:105 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 print_byte::$0 ] main:2::sin8u_table:7::print_word:50::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#97 print_byte::$0 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#97 print_byte::$0 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#97 print_byte::$0 ] ) + [76] (byte) print_char::ch#2 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$0) [ print_byte::b#8 char_cursor#97 print_char::ch#2 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 print_char::ch#2 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 print_char::ch#2 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 print_char::ch#2 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 print_char::ch#2 ] main:2::sin8u_table:7::print_byte:62 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 print_byte::b#8 char_cursor#97 print_char::ch#2 ] main:2::sin8u_table:7::print_word:15::print_byte:103 [ sin8u_table::step#0 print_word::w#3 print_byte::b#8 char_cursor#97 print_char::ch#2 ] main:2::sin8u_table:7::print_word:50::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#97 print_char::ch#2 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#97 print_char::ch#2 ] main:2::sin8u_table:7::print_word:15::print_byte:105 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 print_char::ch#2 ] main:2::sin8u_table:7::print_word:50::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#97 print_char::ch#2 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#97 print_char::ch#2 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#97 print_char::ch#2 ] ) + [77] call print_char param-assignment [ char_cursor#17 print_byte::b#8 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#17 print_byte::b#8 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#17 print_byte::b#8 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#17 print_byte::b#8 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#17 print_byte::b#8 ] main:2::sin8u_table:7::print_byte:62 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 print_byte::b#8 ] main:2::sin8u_table:7::print_word:15::print_byte:103 [ sin8u_table::step#0 print_word::w#3 char_cursor#17 print_byte::b#8 ] main:2::sin8u_table:7::print_word:50::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 print_byte::b#8 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 print_byte::b#8 ] main:2::sin8u_table:7::print_word:15::print_byte:105 [ sin8u_table::step#0 char_cursor#17 print_byte::b#8 ] main:2::sin8u_table:7::print_word:50::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_byte::b#8 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_byte::b#8 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_byte::b#8 ] ) to:print_byte::@1 print_byte::@1: scope:[print_byte] from print_byte - [69] (byte~) print_byte::$2 ← (byte) print_byte::b#7 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ char_cursor#11 print_byte::$2 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#11 print_byte::$2 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#11 print_byte::$2 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#11 print_byte::$2 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#11 print_byte::$2 ] main:2::sin8u_table:7::print_byte:53 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 print_byte::$2 ] main:2::sin8u_table:7::print_word:15::print_byte:86 [ sin8u_table::step#0 print_word::w#2 char_cursor#11 print_byte::$2 ] main:2::sin8u_table:7::print_word:49::print_byte:86 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 char_cursor#11 print_byte::$2 ] main:2::sin8u_table:7::print_word:15::print_byte:88 [ sin8u_table::step#0 char_cursor#11 print_byte::$2 ] main:2::sin8u_table:7::print_word:49::print_byte:88 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 print_byte::$2 ] ) - [70] (byte) print_char::ch#1 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$2) [ char_cursor#11 print_char::ch#1 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#11 print_char::ch#1 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#11 print_char::ch#1 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#11 print_char::ch#1 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#11 print_char::ch#1 ] main:2::sin8u_table:7::print_byte:53 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 print_char::ch#1 ] main:2::sin8u_table:7::print_word:15::print_byte:86 [ sin8u_table::step#0 print_word::w#2 char_cursor#11 print_char::ch#1 ] main:2::sin8u_table:7::print_word:49::print_byte:86 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 char_cursor#11 print_char::ch#1 ] main:2::sin8u_table:7::print_word:15::print_byte:88 [ sin8u_table::step#0 char_cursor#11 print_char::ch#1 ] main:2::sin8u_table:7::print_word:49::print_byte:88 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 print_char::ch#1 ] ) - [71] call print_char param-assignment [ char_cursor#11 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:53 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:86 [ sin8u_table::step#0 print_word::w#2 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:86 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:88 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:88 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 ] ) + [78] (byte~) print_byte::$2 ← (byte) print_byte::b#8 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ char_cursor#17 print_byte::$2 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_byte:62 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_word:15::print_byte:103 [ sin8u_table::step#0 print_word::w#3 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_word:50::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_word:15::print_byte:105 [ sin8u_table::step#0 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_word:50::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_byte::$2 ] ) + [79] (byte) print_char::ch#3 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$2) [ char_cursor#17 print_char::ch#3 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#17 print_char::ch#3 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#17 print_char::ch#3 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#17 print_char::ch#3 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#17 print_char::ch#3 ] main:2::sin8u_table:7::print_byte:62 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 print_char::ch#3 ] main:2::sin8u_table:7::print_word:15::print_byte:103 [ sin8u_table::step#0 print_word::w#3 char_cursor#17 print_char::ch#3 ] main:2::sin8u_table:7::print_word:50::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 print_char::ch#3 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 print_char::ch#3 ] main:2::sin8u_table:7::print_word:15::print_byte:105 [ sin8u_table::step#0 char_cursor#17 print_char::ch#3 ] main:2::sin8u_table:7::print_word:50::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_char::ch#3 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_char::ch#3 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_char::ch#3 ] ) + [80] call print_char param-assignment [ char_cursor#17 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:62 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:103 [ sin8u_table::step#0 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:105 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) to:print_byte::@return print_byte::@return: scope:[print_byte] from print_byte::@1 - [72] return [ char_cursor#11 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:53 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:86 [ sin8u_table::step#0 print_word::w#2 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:86 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:88 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:88 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 ] ) + [81] return [ char_cursor#17 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:62 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:103 [ sin8u_table::step#0 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:105 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) to:@return -print_char: scope:[print_char] from print_byte print_byte::@1 - [73] (byte*) char_cursor#46 ← phi( print_byte/(byte*) char_cursor#73 print_byte::@1/(byte*) char_cursor#11 ) [ print_char::ch#2 char_cursor#46 ] ( main:2::sin8u_table:7::print_byte:19::print_char:68 [ sin8u_table::step#0 print_byte::b#7 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_byte:23::print_char:68 [ sin8u_table::step#0 print_byte::b#7 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_byte:27::print_char:68 [ sin8u_table::step#0 print_byte::b#7 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_byte:31::print_char:68 [ sin8u_table::step#0 print_byte::b#7 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_byte:53::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_byte::b#7 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:15::print_byte:86::print_char:68 [ sin8u_table::step#0 print_word::w#2 print_byte::b#7 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:49::print_byte:86::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 print_byte::b#7 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:15::print_byte:88::print_char:68 [ sin8u_table::step#0 print_byte::b#7 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:49::print_byte:88::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_byte::b#7 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_byte:19::print_char:71 [ sin8u_table::step#0 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_byte:23::print_char:71 [ sin8u_table::step#0 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_byte:27::print_char:71 [ sin8u_table::step#0 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_byte:31::print_char:71 [ sin8u_table::step#0 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_byte:53::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:15::print_byte:86::print_char:71 [ sin8u_table::step#0 print_word::w#2 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:49::print_byte:86::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:15::print_byte:88::print_char:71 [ sin8u_table::step#0 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:49::print_byte:88::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_char::ch#2 char_cursor#46 ] ) - [73] (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#46 ] ( main:2::sin8u_table:7::print_byte:19::print_char:68 [ sin8u_table::step#0 print_byte::b#7 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_byte:23::print_char:68 [ sin8u_table::step#0 print_byte::b#7 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_byte:27::print_char:68 [ sin8u_table::step#0 print_byte::b#7 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_byte:31::print_char:68 [ sin8u_table::step#0 print_byte::b#7 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_byte:53::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_byte::b#7 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:15::print_byte:86::print_char:68 [ sin8u_table::step#0 print_word::w#2 print_byte::b#7 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:49::print_byte:86::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 print_byte::b#7 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:15::print_byte:88::print_char:68 [ sin8u_table::step#0 print_byte::b#7 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:49::print_byte:88::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_byte::b#7 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_byte:19::print_char:71 [ sin8u_table::step#0 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_byte:23::print_char:71 [ sin8u_table::step#0 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_byte:27::print_char:71 [ sin8u_table::step#0 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_byte:31::print_char:71 [ sin8u_table::step#0 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_byte:53::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:15::print_byte:86::print_char:71 [ sin8u_table::step#0 print_word::w#2 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:49::print_byte:86::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:15::print_byte:88::print_char:71 [ sin8u_table::step#0 print_char::ch#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:49::print_byte:88::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_char::ch#2 char_cursor#46 ] ) - [74] *((byte*) char_cursor#46) ← (byte) print_char::ch#2 [ char_cursor#46 ] ( main:2::sin8u_table:7::print_byte:19::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_byte:23::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_byte:27::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_byte:31::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_byte:53::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_word:15::print_byte:86::print_char:68 [ sin8u_table::step#0 print_word::w#2 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_word:49::print_byte:86::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_word:15::print_byte:88::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_word:49::print_byte:88::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_byte:19::print_char:71 [ sin8u_table::step#0 char_cursor#46 ] main:2::sin8u_table:7::print_byte:23::print_char:71 [ sin8u_table::step#0 char_cursor#46 ] main:2::sin8u_table:7::print_byte:27::print_char:71 [ sin8u_table::step#0 char_cursor#46 ] main:2::sin8u_table:7::print_byte:31::print_char:71 [ sin8u_table::step#0 char_cursor#46 ] main:2::sin8u_table:7::print_byte:53::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#46 ] main:2::sin8u_table:7::print_word:15::print_byte:86::print_char:71 [ sin8u_table::step#0 print_word::w#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:49::print_byte:86::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:15::print_byte:88::print_char:71 [ sin8u_table::step#0 char_cursor#46 ] main:2::sin8u_table:7::print_word:49::print_byte:88::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#46 ] ) - [75] (byte*) char_cursor#11 ← ++ (byte*) char_cursor#46 [ char_cursor#11 ] ( main:2::sin8u_table:7::print_byte:19::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:23::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:27::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:31::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:53::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:86::print_char:68 [ sin8u_table::step#0 print_word::w#2 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:86::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:88::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:88::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:19::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:23::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:27::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:31::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:53::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:86::print_char:71 [ sin8u_table::step#0 print_word::w#2 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:86::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:88::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:88::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 ] ) +print_char: scope:[print_char] from print_byte print_byte::@1 print_sbyte::@2 print_sword::@2 + [82] (byte*) char_cursor#62 ← phi( print_byte/(byte*) char_cursor#97 print_byte::@1/(byte*) char_cursor#17 print_sbyte::@2/(byte*) char_cursor#2 print_sword::@2/(byte*) char_cursor#2 ) [ print_char::ch#4 char_cursor#62 ] ( main:2::sin8u_table:7::print_byte:19::print_char:77 [ sin8u_table::step#0 print_byte::b#8 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_byte:23::print_char:77 [ sin8u_table::step#0 print_byte::b#8 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_byte:27::print_char:77 [ sin8u_table::step#0 print_byte::b#8 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_byte:31::print_char:77 [ sin8u_table::step#0 print_byte::b#8 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_byte:62::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 print_byte::b#8 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_word:15::print_byte:103::print_char:77 [ sin8u_table::step#0 print_word::w#3 print_byte::b#8 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_word:50::print_byte:103::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_word:15::print_byte:105::print_char:77 [ sin8u_table::step#0 print_byte::b#8 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_word:50::print_byte:105::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_byte:19::print_char:80 [ sin8u_table::step#0 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_byte:23::print_char:80 [ sin8u_table::step#0 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_byte:27::print_char:80 [ sin8u_table::step#0 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_byte:31::print_char:80 [ sin8u_table::step#0 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_byte:62::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_word:15::print_byte:103::print_char:80 [ sin8u_table::step#0 print_word::w#3 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_word:50::print_byte:103::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_word:15::print_byte:105::print_char:80 [ sin8u_table::step#0 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_word:50::print_byte:105::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_sword:58::print_char:95 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_sword::w#1 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_sbyte:54::print_char:109 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_sbyte::b#1 print_char::ch#4 char_cursor#62 ] ) + [82] (byte) print_char::ch#4 ← phi( print_byte/(byte) print_char::ch#2 print_byte::@1/(byte) print_char::ch#3 print_sbyte::@2/(byte) '-' print_sword::@2/(byte) '-' ) [ print_char::ch#4 char_cursor#62 ] ( main:2::sin8u_table:7::print_byte:19::print_char:77 [ sin8u_table::step#0 print_byte::b#8 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_byte:23::print_char:77 [ sin8u_table::step#0 print_byte::b#8 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_byte:27::print_char:77 [ sin8u_table::step#0 print_byte::b#8 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_byte:31::print_char:77 [ sin8u_table::step#0 print_byte::b#8 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_byte:62::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 print_byte::b#8 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_word:15::print_byte:103::print_char:77 [ sin8u_table::step#0 print_word::w#3 print_byte::b#8 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_word:50::print_byte:103::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_word:15::print_byte:105::print_char:77 [ sin8u_table::step#0 print_byte::b#8 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_word:50::print_byte:105::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_byte:19::print_char:80 [ sin8u_table::step#0 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_byte:23::print_char:80 [ sin8u_table::step#0 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_byte:27::print_char:80 [ sin8u_table::step#0 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_byte:31::print_char:80 [ sin8u_table::step#0 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_byte:62::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_word:15::print_byte:103::print_char:80 [ sin8u_table::step#0 print_word::w#3 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_word:50::print_byte:103::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_word:15::print_byte:105::print_char:80 [ sin8u_table::step#0 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_word:50::print_byte:105::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_sword:58::print_char:95 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_sword::w#1 print_char::ch#4 char_cursor#62 ] main:2::sin8u_table:7::print_sbyte:54::print_char:109 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_sbyte::b#1 print_char::ch#4 char_cursor#62 ] ) + [83] *((byte*) char_cursor#62) ← (byte) print_char::ch#4 [ char_cursor#62 ] ( main:2::sin8u_table:7::print_byte:19::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_byte:23::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_byte:27::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_byte:31::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_byte:62::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_word:15::print_byte:103::print_char:77 [ sin8u_table::step#0 print_word::w#3 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_word:50::print_byte:103::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_word:15::print_byte:105::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_word:50::print_byte:105::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_byte:19::print_char:80 [ sin8u_table::step#0 char_cursor#62 ] main:2::sin8u_table:7::print_byte:23::print_char:80 [ sin8u_table::step#0 char_cursor#62 ] main:2::sin8u_table:7::print_byte:27::print_char:80 [ sin8u_table::step#0 char_cursor#62 ] main:2::sin8u_table:7::print_byte:31::print_char:80 [ sin8u_table::step#0 char_cursor#62 ] main:2::sin8u_table:7::print_byte:62::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#62 ] main:2::sin8u_table:7::print_word:15::print_byte:103::print_char:80 [ sin8u_table::step#0 print_word::w#3 char_cursor#62 ] main:2::sin8u_table:7::print_word:50::print_byte:103::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#62 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#62 ] main:2::sin8u_table:7::print_word:15::print_byte:105::print_char:80 [ sin8u_table::step#0 char_cursor#62 ] main:2::sin8u_table:7::print_word:50::print_byte:105::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#62 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#62 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#62 ] main:2::sin8u_table:7::print_sword:58::print_char:95 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_sword::w#1 char_cursor#62 ] main:2::sin8u_table:7::print_sbyte:54::print_char:109 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_sbyte::b#1 char_cursor#62 ] ) + [84] (byte*) char_cursor#17 ← ++ (byte*) char_cursor#62 [ char_cursor#17 ] ( main:2::sin8u_table:7::print_byte:19::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_byte:23::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_byte:27::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_byte:31::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_byte:62::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:103::print_char:77 [ sin8u_table::step#0 print_word::w#3 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:103::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:105::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:105::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_byte:19::print_char:80 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:23::print_char:80 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:27::print_char:80 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:31::print_char:80 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:62::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:103::print_char:80 [ sin8u_table::step#0 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:103::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:105::print_char:80 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:105::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_char:95 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_sword::w#1 char_cursor#17 ] main:2::sin8u_table:7::print_sbyte:54::print_char:109 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_sbyte::b#1 char_cursor#17 ] ) to:print_char::@return print_char::@return: scope:[print_char] from print_char - [76] return [ char_cursor#11 ] ( main:2::sin8u_table:7::print_byte:19::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:23::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:27::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:31::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:53::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:86::print_char:68 [ sin8u_table::step#0 print_word::w#2 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:86::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:88::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:88::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:19::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:23::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:27::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:31::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:53::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:86::print_char:71 [ sin8u_table::step#0 print_word::w#2 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:86::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:88::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:88::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 ] ) + [85] return [ char_cursor#17 ] ( main:2::sin8u_table:7::print_byte:19::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_byte:23::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_byte:27::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_byte:31::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_byte:62::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:103::print_char:77 [ sin8u_table::step#0 print_word::w#3 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:103::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:105::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:105::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_byte:19::print_char:80 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:23::print_char:80 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:27::print_char:80 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:31::print_char:80 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:62::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:103::print_char:80 [ sin8u_table::step#0 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:103::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:105::print_char:80 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:105::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_char:95 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_sword::w#1 char_cursor#17 ] main:2::sin8u_table:7::print_sbyte:54::print_char:109 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_sbyte::b#1 char_cursor#17 ] ) to:@return -print_str: scope:[print_str] from sin8u_table::@11 sin8u_table::@16 sin8u_table::@18 sin8u_table::@3 sin8u_table::@5 sin8u_table::@7 sin8u_table::@9 - [77] (byte*) char_cursor#78 ← phi( sin8u_table::@11/(byte*) char_cursor#11 sin8u_table::@16/(byte*~) char_cursor#92 sin8u_table::@18/(byte*) char_cursor#11 sin8u_table::@3/(const byte*) SCREEN#0 sin8u_table::@5/(byte*) char_cursor#11 sin8u_table::@7/(byte*) char_cursor#11 sin8u_table::@9/(byte*) char_cursor#11 ) [ print_str::str#10 char_cursor#78 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 print_str::str#10 char_cursor#78 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 print_str::str#10 char_cursor#78 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 print_str::str#10 char_cursor#78 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 print_str::str#10 char_cursor#78 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 print_str::str#10 char_cursor#78 ] main:2::sin8u_table:7::print_str:47 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_str::str#10 char_cursor#78 ] main:2::sin8u_table:7::print_str:51 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_str::str#10 char_cursor#78 ] ) - [77] (byte*) print_str::str#10 ← phi( sin8u_table::@11/(const string) sin8u_table::str4 sin8u_table::@16/(const string) sin8u_table::str5 sin8u_table::@18/(const string) sin8u_table::str6 sin8u_table::@3/(const string) sin8u_table::str sin8u_table::@5/(const string) sin8u_table::str1 sin8u_table::@7/(const string) sin8u_table::str2 sin8u_table::@9/(const string) sin8u_table::str3 ) [ print_str::str#10 char_cursor#78 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 print_str::str#10 char_cursor#78 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 print_str::str#10 char_cursor#78 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 print_str::str#10 char_cursor#78 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 print_str::str#10 char_cursor#78 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 print_str::str#10 char_cursor#78 ] main:2::sin8u_table:7::print_str:47 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_str::str#10 char_cursor#78 ] main:2::sin8u_table:7::print_str:51 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_str::str#10 char_cursor#78 ] ) +print_str: scope:[print_str] from sin8u_table::@11 sin8u_table::@16 sin8u_table::@18 sin8u_table::@20 sin8u_table::@22 sin8u_table::@3 sin8u_table::@5 sin8u_table::@7 sin8u_table::@9 + [86] (byte*) char_cursor#102 ← phi( sin8u_table::@11/(byte*) char_cursor#17 sin8u_table::@16/(byte*~) char_cursor#121 sin8u_table::@18/(byte*) char_cursor#17 sin8u_table::@20/(byte*) char_cursor#17 sin8u_table::@22/(byte*) char_cursor#17 sin8u_table::@3/(const byte*) SCREEN#0 sin8u_table::@5/(byte*) char_cursor#17 sin8u_table::@7/(byte*) char_cursor#17 sin8u_table::@9/(byte*) char_cursor#17 ) [ print_str::str#12 char_cursor#102 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 print_str::str#12 char_cursor#102 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 print_str::str#12 char_cursor#102 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 print_str::str#12 char_cursor#102 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 print_str::str#12 char_cursor#102 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 print_str::str#12 char_cursor#102 ] main:2::sin8u_table:7::print_str:48 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_str::str#12 char_cursor#102 ] main:2::sin8u_table:7::print_str:52 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_str::str#12 char_cursor#102 ] main:2::sin8u_table:7::print_str:56 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_str::str#12 char_cursor#102 ] main:2::sin8u_table:7::print_str:60 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_str::str#12 char_cursor#102 ] ) + [86] (byte*) print_str::str#12 ← phi( sin8u_table::@11/(const string) sin8u_table::str4 sin8u_table::@16/(const string) sin8u_table::str5 sin8u_table::@18/(const string) sin8u_table::str6 sin8u_table::@20/(const string) sin8u_table::str7 sin8u_table::@22/(const string) sin8u_table::str8 sin8u_table::@3/(const string) sin8u_table::str sin8u_table::@5/(const string) sin8u_table::str1 sin8u_table::@7/(const string) sin8u_table::str2 sin8u_table::@9/(const string) sin8u_table::str3 ) [ print_str::str#12 char_cursor#102 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 print_str::str#12 char_cursor#102 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 print_str::str#12 char_cursor#102 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 print_str::str#12 char_cursor#102 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 print_str::str#12 char_cursor#102 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 print_str::str#12 char_cursor#102 ] main:2::sin8u_table:7::print_str:48 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_str::str#12 char_cursor#102 ] main:2::sin8u_table:7::print_str:52 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_str::str#12 char_cursor#102 ] main:2::sin8u_table:7::print_str:56 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_str::str#12 char_cursor#102 ] main:2::sin8u_table:7::print_str:60 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_str::str#12 char_cursor#102 ] ) to:print_str::@1 print_str::@1: scope:[print_str] from print_str print_str::@2 - [78] (byte*) char_cursor#2 ← phi( print_str/(byte*) char_cursor#78 print_str::@2/(byte*) char_cursor#1 ) [ char_cursor#2 print_str::str#8 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:47 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:51 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 print_str::str#8 ] ) - [78] (byte*) print_str::str#8 ← phi( print_str/(byte*) print_str::str#10 print_str::@2/(byte*) print_str::str#0 ) [ char_cursor#2 print_str::str#8 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:47 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:51 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 print_str::str#8 ] ) - [79] if(*((byte*) print_str::str#8)!=(byte) '@') goto print_str::@2 [ char_cursor#2 print_str::str#8 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:47 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:51 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 print_str::str#8 ] ) + [87] (byte*) char_cursor#2 ← phi( print_str/(byte*) char_cursor#102 print_str::@2/(byte*) char_cursor#1 ) [ char_cursor#2 print_str::str#10 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:48 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:52 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:56 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:60 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] ) + [87] (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::sin8u_table:7::print_str:13 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:48 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:52 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:56 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:60 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] ) + [88] if(*((byte*) print_str::str#10)!=(byte) '@') goto print_str::@2 [ char_cursor#2 print_str::str#10 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:48 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:52 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:56 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:60 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] ) to:print_str::@return print_str::@return: scope:[print_str] from print_str::@1 - [80] return [ char_cursor#2 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 char_cursor#2 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 char_cursor#2 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 char_cursor#2 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 char_cursor#2 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 char_cursor#2 ] main:2::sin8u_table:7::print_str:47 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 ] main:2::sin8u_table:7::print_str:51 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 ] ) + [89] return [ char_cursor#2 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 char_cursor#2 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 char_cursor#2 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 char_cursor#2 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 char_cursor#2 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 char_cursor#2 ] main:2::sin8u_table:7::print_str:48 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] main:2::sin8u_table:7::print_str:52 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] main:2::sin8u_table:7::print_str:56 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] main:2::sin8u_table:7::print_str:60 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] ) to:@return print_str::@2: scope:[print_str] from print_str::@1 - [81] *((byte*) char_cursor#2) ← *((byte*) print_str::str#8) [ char_cursor#2 print_str::str#8 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:47 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:51 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 print_str::str#8 ] ) - [82] (byte*) char_cursor#1 ← ++ (byte*) char_cursor#2 [ print_str::str#8 char_cursor#1 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 print_str::str#8 char_cursor#1 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 print_str::str#8 char_cursor#1 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 print_str::str#8 char_cursor#1 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 print_str::str#8 char_cursor#1 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 print_str::str#8 char_cursor#1 ] main:2::sin8u_table:7::print_str:47 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_str::str#8 char_cursor#1 ] main:2::sin8u_table:7::print_str:51 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_str::str#8 char_cursor#1 ] ) - [83] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#8 [ print_str::str#0 char_cursor#1 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:47 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:51 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_str::str#0 char_cursor#1 ] ) + [90] *((byte*) char_cursor#2) ← *((byte*) print_str::str#10) [ char_cursor#2 print_str::str#10 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:48 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:52 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:56 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:60 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] ) + [91] (byte*) char_cursor#1 ← ++ (byte*) char_cursor#2 [ print_str::str#10 char_cursor#1 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 print_str::str#10 char_cursor#1 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 print_str::str#10 char_cursor#1 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 print_str::str#10 char_cursor#1 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 print_str::str#10 char_cursor#1 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 print_str::str#10 char_cursor#1 ] main:2::sin8u_table:7::print_str:48 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::sin8u_table:7::print_str:52 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::sin8u_table:7::print_str:56 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::sin8u_table:7::print_str:60 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_str::str#10 char_cursor#1 ] ) + [92] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#10 [ print_str::str#0 char_cursor#1 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:48 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:52 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:56 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:60 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_str::str#0 char_cursor#1 ] ) to:print_str::@1 -print_word: scope:[print_word] from sin8u_table::@17 sin8u_table::@4 - [84] (word) print_word::w#2 ← phi( sin8u_table::@17/(word) print_word::w#1 sin8u_table::@4/(word) print_word::w#0 ) [ char_cursor#2 print_word::w#2 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#2 print_word::w#2 ] main:2::sin8u_table:7::print_word:49 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 print_word::w#2 ] ) - [85] (byte) print_byte::b#0 ← > (word) print_word::w#2 [ char_cursor#2 print_byte::b#0 print_word::w#2 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#2 print_byte::b#0 print_word::w#2 ] main:2::sin8u_table:7::print_word:49 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 print_byte::b#0 print_word::w#2 ] ) - [86] call print_byte param-assignment [ char_cursor#11 print_word::w#2 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#11 print_word::w#2 ] main:2::sin8u_table:7::print_word:49 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 print_word::w#2 ] ) +print_sword: scope:[print_sword] from sin8u_table::@21 + [93] if((signed word) print_sword::w#1>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto print_sword::@1 [ print_sword::w#1 char_cursor#2 ] ( main:2::sin8u_table:7::print_sword:58 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_sword::w#1 char_cursor#2 ] ) + to:print_sword::@2 +print_sword::@2: scope:[print_sword] from print_sword + [94] phi() [ print_sword::w#1 char_cursor#2 ] ( main:2::sin8u_table:7::print_sword:58 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_sword::w#1 char_cursor#2 ] ) + [95] call print_char param-assignment [ print_sword::w#1 char_cursor#17 ] ( main:2::sin8u_table:7::print_sword:58 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_sword::w#1 char_cursor#17 ] ) + to:print_sword::@4 +print_sword::@4: scope:[print_sword] from print_sword::@2 + [96] (signed word) print_sword::w#0 ← - (signed word) print_sword::w#1 [ char_cursor#17 print_sword::w#0 ] ( main:2::sin8u_table:7::print_sword:58 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_sword::w#0 ] ) + to:print_sword::@1 +print_sword::@1: scope:[print_sword] from print_sword print_sword::@4 + [97] (byte*) char_cursor#92 ← phi( print_sword/(byte*) char_cursor#2 print_sword::@4/(byte*) char_cursor#17 ) [ print_sword::w#3 char_cursor#92 ] ( main:2::sin8u_table:7::print_sword:58 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_sword::w#3 char_cursor#92 ] ) + [97] (signed word) print_sword::w#3 ← phi( print_sword/(signed word) print_sword::w#1 print_sword::@4/(signed word) print_sword::w#0 ) [ print_sword::w#3 char_cursor#92 ] ( main:2::sin8u_table:7::print_sword:58 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_sword::w#3 char_cursor#92 ] ) + [98] (word~) print_word::w#5 ← (word)(signed word) print_sword::w#3 [ char_cursor#92 print_word::w#5 ] ( main:2::sin8u_table:7::print_sword:58 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#92 print_word::w#5 ] ) + [99] call print_word param-assignment [ char_cursor#17 ] ( main:2::sin8u_table:7::print_sword:58 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) + to:print_sword::@return +print_sword::@return: scope:[print_sword] from print_sword::@1 + [100] return [ char_cursor#17 ] ( main:2::sin8u_table:7::print_sword:58 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) + to:@return +print_word: scope:[print_word] from print_sword::@1 sin8u_table::@17 sin8u_table::@4 + [101] (byte*) char_cursor#96 ← phi( print_sword::@1/(byte*) char_cursor#92 sin8u_table::@17/(byte*) char_cursor#2 sin8u_table::@4/(byte*) char_cursor#2 ) [ char_cursor#96 print_word::w#3 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#96 print_word::w#3 ] main:2::sin8u_table:7::print_word:50 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#96 print_word::w#3 ] main:2::sin8u_table:7::print_sword:58::print_word:99 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#96 print_word::w#3 ] ) + [101] (word) print_word::w#3 ← phi( print_sword::@1/(word~) print_word::w#5 sin8u_table::@17/(word) print_word::w#2 sin8u_table::@4/(word) print_word::w#1 ) [ char_cursor#96 print_word::w#3 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#96 print_word::w#3 ] main:2::sin8u_table:7::print_word:50 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#96 print_word::w#3 ] main:2::sin8u_table:7::print_sword:58::print_word:99 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#96 print_word::w#3 ] ) + [102] (byte) print_byte::b#1 ← > (word) print_word::w#3 [ print_byte::b#1 char_cursor#96 print_word::w#3 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 print_byte::b#1 char_cursor#96 print_word::w#3 ] main:2::sin8u_table:7::print_word:50 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#1 char_cursor#96 print_word::w#3 ] main:2::sin8u_table:7::print_sword:58::print_word:99 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#1 char_cursor#96 print_word::w#3 ] ) + [103] call print_byte param-assignment [ char_cursor#17 print_word::w#3 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#17 print_word::w#3 ] main:2::sin8u_table:7::print_word:50 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_word::w#3 ] main:2::sin8u_table:7::print_sword:58::print_word:99 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_word::w#3 ] ) to:print_word::@1 print_word::@1: scope:[print_word] from print_word - [87] (byte) print_byte::b#1 ← < (word) print_word::w#2 [ char_cursor#11 print_byte::b#1 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#11 print_byte::b#1 ] main:2::sin8u_table:7::print_word:49 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 print_byte::b#1 ] ) - [88] call print_byte param-assignment [ char_cursor#11 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_word:49 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 ] ) + [104] (byte) print_byte::b#2 ← < (word) print_word::w#3 [ char_cursor#17 print_byte::b#2 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#17 print_byte::b#2 ] main:2::sin8u_table:7::print_word:50 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_byte::b#2 ] main:2::sin8u_table:7::print_sword:58::print_word:99 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_byte::b#2 ] ) + [105] call print_byte param-assignment [ char_cursor#17 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_word:50 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) to:print_word::@return print_word::@return: scope:[print_word] from print_word::@1 - [89] return [ char_cursor#11 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_word:49 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 ] ) + [106] return [ char_cursor#17 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_word:50 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) + to:@return +print_sbyte: scope:[print_sbyte] from sin8u_table::@19 + [107] if((signed byte) print_sbyte::b#1>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto print_sbyte::@1 [ print_sbyte::b#1 char_cursor#2 ] ( main:2::sin8u_table:7::print_sbyte:54 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_sbyte::b#1 char_cursor#2 ] ) + to:print_sbyte::@2 +print_sbyte::@2: scope:[print_sbyte] from print_sbyte + [108] phi() [ print_sbyte::b#1 char_cursor#2 ] ( main:2::sin8u_table:7::print_sbyte:54 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_sbyte::b#1 char_cursor#2 ] ) + [109] call print_char param-assignment [ print_sbyte::b#1 char_cursor#17 ] ( main:2::sin8u_table:7::print_sbyte:54 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_sbyte::b#1 char_cursor#17 ] ) + to:print_sbyte::@4 +print_sbyte::@4: scope:[print_sbyte] from print_sbyte::@2 + [110] (signed byte) print_sbyte::b#0 ← - (signed byte) print_sbyte::b#1 [ char_cursor#17 print_sbyte::b#0 ] ( main:2::sin8u_table:7::print_sbyte:54 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_sbyte::b#0 ] ) + to:print_sbyte::@1 +print_sbyte::@1: scope:[print_sbyte] from print_sbyte print_sbyte::@4 + [111] (byte*) char_cursor#94 ← phi( print_sbyte/(byte*) char_cursor#2 print_sbyte::@4/(byte*) char_cursor#17 ) [ char_cursor#94 print_sbyte::b#3 ] ( main:2::sin8u_table:7::print_sbyte:54 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#94 print_sbyte::b#3 ] ) + [111] (signed byte) print_sbyte::b#3 ← phi( print_sbyte/(signed byte) print_sbyte::b#1 print_sbyte::@4/(signed byte) print_sbyte::b#0 ) [ char_cursor#94 print_sbyte::b#3 ] ( main:2::sin8u_table:7::print_sbyte:54 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#94 print_sbyte::b#3 ] ) + [112] (byte~) print_byte::b#10 ← (byte)(signed byte) print_sbyte::b#3 [ print_byte::b#10 char_cursor#94 ] ( main:2::sin8u_table:7::print_sbyte:54 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#10 char_cursor#94 ] ) + [113] call print_byte param-assignment [ char_cursor#17 ] ( main:2::sin8u_table:7::print_sbyte:54 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) + to:print_sbyte::@return +print_sbyte::@return: scope:[print_sbyte] from print_sbyte::@1 + [114] return [ char_cursor#17 ] ( main:2::sin8u_table:7::print_sbyte:54 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) to:@return mul8su: scope:[mul8su] from sin8u_table::@15 - [90] (byte~) mul8u::a#8 ← (byte)(signed byte) mul8su::a#0 [ mul8su::a#0 mul8u::a#8 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::a#8 ] ) - [91] call mul8u param-assignment [ mul8su::a#0 mul8u::res#2 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::res#2 ] ) - [92] (word) mul8u::return#2 ← (word) mul8u::res#2 [ mul8su::a#0 mul8u::return#2 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::return#2 ] ) + [115] (byte~) mul8u::a#8 ← (byte)(signed byte) mul8su::a#0 [ mul8su::a#0 mul8u::a#8 ] ( main:2::sin8u_table:7::mul8su:40 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::a#8 ] ) + [116] call mul8u param-assignment [ mul8su::a#0 mul8u::res#2 ] ( main:2::sin8u_table:7::mul8su:40 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::res#2 ] ) + [117] (word) mul8u::return#2 ← (word) mul8u::res#2 [ mul8su::a#0 mul8u::return#2 ] ( main:2::sin8u_table:7::mul8su:40 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::return#2 ] ) to:mul8su::@4 mul8su::@4: scope:[mul8su] from mul8su - [93] (word) mul8su::m#0 ← (word) mul8u::return#2 [ mul8su::a#0 mul8su::m#0 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8su::m#0 ] ) - [94] if((signed byte) mul8su::a#0>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8su::@1 [ mul8su::m#0 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::m#0 ] ) + [118] (word) mul8su::m#0 ← (word) mul8u::return#2 [ mul8su::a#0 mul8su::m#0 ] ( main:2::sin8u_table:7::mul8su:40 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8su::m#0 ] ) + [119] if((signed byte) mul8su::a#0>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8su::@1 [ mul8su::m#0 ] ( main:2::sin8u_table:7::mul8su:40 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::m#0 ] ) to:mul8su::@2 mul8su::@2: scope:[mul8su] from mul8su::@4 - [95] (byte~) mul8su::$6 ← > (word) mul8su::m#0 [ mul8su::m#0 mul8su::$6 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::m#0 mul8su::$6 ] ) - [96] (byte/signed byte/word/signed word/dword/signed dword~) mul8su::$10 ← (byte~) mul8su::$6 - ((byte))(const byte) sin8u_table::amplitude#0 [ mul8su::m#0 mul8su::$10 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::m#0 mul8su::$10 ] ) - [97] (word) mul8su::m#1 ← (word) mul8su::m#0 hi= (byte/signed byte/word/signed word/dword/signed dword~) mul8su::$10 [ mul8su::m#1 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::m#1 ] ) + [120] (byte~) mul8su::$6 ← > (word) mul8su::m#0 [ mul8su::m#0 mul8su::$6 ] ( main:2::sin8u_table:7::mul8su:40 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::m#0 mul8su::$6 ] ) + [121] (byte/signed byte/word/signed word/dword/signed dword~) mul8su::$10 ← (byte~) mul8su::$6 - ((byte))(const byte) mul8su::b#0 [ mul8su::m#0 mul8su::$10 ] ( main:2::sin8u_table:7::mul8su:40 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::m#0 mul8su::$10 ] ) + [122] (word) mul8su::m#1 ← (word) mul8su::m#0 hi= (byte/signed byte/word/signed word/dword/signed dword~) mul8su::$10 [ mul8su::m#1 ] ( main:2::sin8u_table:7::mul8su:40 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::m#1 ] ) to:mul8su::@1 mul8su::@1: scope:[mul8su] from mul8su::@2 mul8su::@4 - [98] (word) mul8su::m#2 ← phi( mul8su::@2/(word) mul8su::m#1 mul8su::@4/(word) mul8su::m#0 ) [ mul8su::m#2 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::m#2 ] ) + [123] (word) mul8su::m#2 ← phi( mul8su::@2/(word) mul8su::m#1 mul8su::@4/(word) mul8su::m#0 ) [ mul8su::m#2 ] ( main:2::sin8u_table:7::mul8su:40 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::m#2 ] ) to:mul8su::@return mul8su::@return: scope:[mul8su] from mul8su::@1 - [99] return [ mul8su::m#2 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::m#2 ] ) + [124] return [ mul8su::m#2 ] ( main:2::sin8u_table:7::mul8su:40 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::m#2 ] ) to:@return mul8u: scope:[mul8u] from mul8su mulu8_sel - [100] (byte) mul8u::a#6 ← phi( mul8su/(byte~) mul8u::a#8 mulu8_sel/(byte) mul8u::a#2 ) [ mul8u::b#2 mul8u::a#6 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::b#2 mul8u::a#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::b#2 mul8u::a#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::b#2 mul8u::a#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::b#2 mul8u::a#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::b#2 mul8u::a#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::b#2 mul8u::a#6 ] ) - [100] (byte) mul8u::b#2 ← phi( mul8su/((byte))(const byte) sin8u_table::amplitude#0 mulu8_sel/(byte) mul8u::b#1 ) [ mul8u::b#2 mul8u::a#6 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::b#2 mul8u::a#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::b#2 mul8u::a#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::b#2 mul8u::a#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::b#2 mul8u::a#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::b#2 mul8u::a#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::b#2 mul8u::a#6 ] ) - [101] (word) mul8u::mb#0 ← ((word)) (byte) mul8u::b#2 [ mul8u::a#6 mul8u::mb#0 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] ) + [125] (byte) mul8u::a#6 ← phi( mul8su/(byte~) mul8u::a#8 mulu8_sel/(byte) mul8u::a#2 ) [ mul8u::b#2 mul8u::a#6 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::b#2 mul8u::a#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::b#2 mul8u::a#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::b#2 mul8u::a#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::b#2 mul8u::a#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::b#2 mul8u::a#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::b#2 mul8u::a#6 ] ) + [125] (byte) mul8u::b#2 ← phi( mul8su/((byte))(const byte) mul8su::b#0 mulu8_sel/(byte) mul8u::b#1 ) [ mul8u::b#2 mul8u::a#6 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::b#2 mul8u::a#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::b#2 mul8u::a#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::b#2 mul8u::a#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::b#2 mul8u::a#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::b#2 mul8u::a#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::b#2 mul8u::a#6 ] ) + [126] (word) mul8u::mb#0 ← ((word)) (byte) mul8u::b#2 [ mul8u::a#6 mul8u::mb#0 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] ) to:mul8u::@1 mul8u::@1: scope:[mul8u] from mul8u mul8u::@4 - [102] (word) mul8u::mb#2 ← phi( mul8u/(word) mul8u::mb#0 mul8u::@4/(word) mul8u::mb#1 ) [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ) - [102] (word) mul8u::res#2 ← phi( mul8u/(byte/signed byte/word/signed word/dword/signed dword) 0 mul8u::@4/(word) mul8u::res#6 ) [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ) - [102] (byte) mul8u::a#3 ← phi( mul8u/(byte) mul8u::a#6 mul8u::@4/(byte) mul8u::a#0 ) [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ) - [103] if((byte) mul8u::a#3!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@2 [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ) + [127] (word) mul8u::mb#2 ← phi( mul8u/(word) mul8u::mb#0 mul8u::@4/(word) mul8u::mb#1 ) [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ) + [127] (word) mul8u::res#2 ← phi( mul8u/(byte/signed byte/word/signed word/dword/signed dword) 0 mul8u::@4/(word) mul8u::res#6 ) [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ) + [127] (byte) mul8u::a#3 ← phi( mul8u/(byte) mul8u::a#6 mul8u::@4/(byte) mul8u::a#0 ) [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ) + [128] if((byte) mul8u::a#3!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@2 [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ) to:mul8u::@return mul8u::@return: scope:[mul8u] from mul8u::@1 - [104] return [ mul8u::res#2 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::res#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 ] ) + [129] return [ mul8u::res#2 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::res#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 ] ) to:@return mul8u::@2: scope:[mul8u] from mul8u::@1 - [105] (byte~) mul8u::$1 ← (byte) mul8u::a#3 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] ) - [106] if((byte~) mul8u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@4 [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ) + [130] (byte~) mul8u::$1 ← (byte) mul8u::a#3 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] ) + [131] if((byte~) mul8u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@4 [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ) to:mul8u::@7 mul8u::@7: scope:[mul8u] from mul8u::@2 - [107] (word) mul8u::res#1 ← (word) mul8u::res#2 + (word) mul8u::mb#2 [ mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] ) + [132] (word) mul8u::res#1 ← (word) mul8u::res#2 + (word) mul8u::mb#2 [ mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] ) to:mul8u::@4 mul8u::@4: scope:[mul8u] from mul8u::@2 mul8u::@7 - [108] (word) mul8u::res#6 ← phi( mul8u::@2/(word) mul8u::res#2 mul8u::@7/(word) mul8u::res#1 ) [ mul8u::a#3 mul8u::mb#2 mul8u::res#6 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::a#3 mul8u::mb#2 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#6 ] ) - [109] (byte) mul8u::a#0 ← (byte) mul8u::a#3 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] ) - [110] (word) mul8u::mb#1 ← (word) mul8u::mb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] ) + [133] (word) mul8u::res#6 ← phi( mul8u::@2/(word) mul8u::res#2 mul8u::@7/(word) mul8u::res#1 ) [ mul8u::a#3 mul8u::mb#2 mul8u::res#6 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::a#3 mul8u::mb#2 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#6 ] ) + [134] (byte) mul8u::a#0 ← (byte) mul8u::a#3 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] ) + [135] (word) mul8u::mb#1 ← (word) mul8u::mb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] ) to:mul8u::@1 sin8s: scope:[sin8s] from sin8u_table::@1 - [111] if((word) sin8s::x#2<(const word) PI_u4f12#0) goto sin8s::@1 [ sin8s::x#2 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::x#2 ] ) + [136] if((word) sin8s::x#2<(const word) PI_u4f12#0) goto sin8s::@1 [ sin8s::x#2 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::x#2 ] ) to:sin8s::@5 sin8s::@5: scope:[sin8s] from sin8s - [112] (word) sin8s::x#0 ← (word) sin8s::x#2 - (const word) PI_u4f12#0 [ sin8s::x#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::x#0 ] ) + [137] (word) sin8s::x#0 ← (word) sin8s::x#2 - (const word) PI_u4f12#0 [ sin8s::x#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::x#0 ] ) to:sin8s::@1 sin8s::@1: scope:[sin8s] from sin8s sin8s::@5 - [113] (byte) sin8s::isUpper#10 ← phi( sin8s/(byte/signed byte/word/signed word/dword/signed dword) 0 sin8s::@5/(byte/signed byte/word/signed word/dword/signed dword) 1 ) [ sin8s::x#4 sin8s::isUpper#10 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::x#4 sin8s::isUpper#10 ] ) - [113] (word) sin8s::x#4 ← phi( sin8s/(word) sin8s::x#2 sin8s::@5/(word) sin8s::x#0 ) [ sin8s::x#4 sin8s::isUpper#10 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::x#4 sin8s::isUpper#10 ] ) - [114] if((word) sin8s::x#4<(const word) PI_HALF_u4f12#0) goto sin8s::@2 [ sin8s::x#4 sin8s::isUpper#10 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::x#4 sin8s::isUpper#10 ] ) + [138] (byte) sin8s::isUpper#10 ← phi( sin8s/(byte/signed byte/word/signed word/dword/signed dword) 0 sin8s::@5/(byte/signed byte/word/signed word/dword/signed dword) 1 ) [ sin8s::x#4 sin8s::isUpper#10 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::x#4 sin8s::isUpper#10 ] ) + [138] (word) sin8s::x#4 ← phi( sin8s/(word) sin8s::x#2 sin8s::@5/(word) sin8s::x#0 ) [ sin8s::x#4 sin8s::isUpper#10 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::x#4 sin8s::isUpper#10 ] ) + [139] if((word) sin8s::x#4<(const word) PI_HALF_u4f12#0) goto sin8s::@2 [ sin8s::x#4 sin8s::isUpper#10 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::x#4 sin8s::isUpper#10 ] ) to:sin8s::@6 sin8s::@6: scope:[sin8s] from sin8s::@1 - [115] (word) sin8s::x#1 ← (const word) PI_u4f12#0 - (word) sin8s::x#4 [ sin8s::isUpper#10 sin8s::x#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x#1 ] ) + [140] (word) sin8s::x#1 ← (const word) PI_u4f12#0 - (word) sin8s::x#4 [ sin8s::isUpper#10 sin8s::x#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x#1 ] ) to:sin8s::@2 sin8s::@2: scope:[sin8s] from sin8s::@1 sin8s::@6 - [116] (word) sin8s::x#6 ← phi( sin8s::@1/(word) sin8s::x#4 sin8s::@6/(word) sin8s::x#1 ) [ sin8s::isUpper#10 sin8s::x#6 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x#6 ] ) - [117] (word~) sin8s::$6 ← (word) sin8s::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin8s::isUpper#10 sin8s::$6 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::$6 ] ) - [118] (byte) sin8s::x1#0 ← > (word~) sin8s::$6 [ sin8s::isUpper#10 sin8s::x1#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 ] ) - [119] (byte) mulu8_sel::v1#0 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 ] ) - [120] (byte) mulu8_sel::v2#0 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 mulu8_sel::v2#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 mulu8_sel::v2#0 ] ) - [121] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ) - [122] (byte) mulu8_sel::return#0 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#0 ] ) + [141] (word) sin8s::x#6 ← phi( sin8s::@1/(word) sin8s::x#4 sin8s::@6/(word) sin8s::x#1 ) [ sin8s::isUpper#10 sin8s::x#6 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x#6 ] ) + [142] (word~) sin8s::$6 ← (word) sin8s::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin8s::isUpper#10 sin8s::$6 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::$6 ] ) + [143] (byte) sin8s::x1#0 ← > (word~) sin8s::$6 [ sin8s::isUpper#10 sin8s::x1#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 ] ) + [144] (byte) mulu8_sel::v1#0 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 ] ) + [145] (byte) mulu8_sel::v2#0 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 mulu8_sel::v2#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 mulu8_sel::v2#0 ] ) + [146] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ) + [147] (byte) mulu8_sel::return#0 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#0 ] ) to:sin8s::@10 sin8s::@10: scope:[sin8s] from sin8s::@2 - [123] (byte) sin8s::x2#0 ← (byte) mulu8_sel::return#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x2#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x2#0 ] ) - [124] (byte) mulu8_sel::v1#1 ← (byte) sin8s::x2#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 ] ) - [125] (byte) mulu8_sel::v2#1 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 mulu8_sel::v2#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 mulu8_sel::v2#1 ] ) - [126] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ) - [127] (byte) mulu8_sel::return#1 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#1 ] ) + [148] (byte) sin8s::x2#0 ← (byte) mulu8_sel::return#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x2#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x2#0 ] ) + [149] (byte) mulu8_sel::v1#1 ← (byte) sin8s::x2#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 ] ) + [150] (byte) mulu8_sel::v2#1 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 mulu8_sel::v2#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 mulu8_sel::v2#1 ] ) + [151] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ) + [152] (byte) mulu8_sel::return#1 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#1 ] ) to:sin8s::@11 sin8s::@11: scope:[sin8s] from sin8s::@10 - [128] (byte) sin8s::x3#0 ← (byte) mulu8_sel::return#1 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 ] ) - [129] (byte) mulu8_sel::v1#2 ← (byte) sin8s::x3#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#2 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#2 ] ) - [130] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::x3#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::x3#0 ] ) - [131] (byte) mulu8_sel::return#2 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#2 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#2 ] ) + [153] (byte) sin8s::x3#0 ← (byte) mulu8_sel::return#1 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 ] ) + [154] (byte) mulu8_sel::v1#2 ← (byte) sin8s::x3#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#2 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#2 ] ) + [155] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::x3#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::x3#0 ] ) + [156] (byte) mulu8_sel::return#2 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#2 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#2 ] ) to:sin8s::@12 sin8s::@12: scope:[sin8s] from sin8s::@11 - [132] (byte) sin8s::x3_6#0 ← (byte) mulu8_sel::return#2 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::x3_6#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::x3_6#0 ] ) - [133] (byte) sin8s::usinx#0 ← (byte) sin8s::x1#0 - (byte) sin8s::x3_6#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::usinx#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::usinx#0 ] ) - [134] (byte) mulu8_sel::v1#3 ← (byte) sin8s::x3#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 ] ) - [135] (byte) mulu8_sel::v2#3 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 mulu8_sel::v2#3 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 mulu8_sel::v2#3 ] ) - [136] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::usinx#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::usinx#0 ] ) - [137] (byte) mulu8_sel::return#10 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#10 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#10 ] ) + [157] (byte) sin8s::x3_6#0 ← (byte) mulu8_sel::return#2 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::x3_6#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::x3_6#0 ] ) + [158] (byte) sin8s::usinx#0 ← (byte) sin8s::x1#0 - (byte) sin8s::x3_6#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::usinx#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::usinx#0 ] ) + [159] (byte) mulu8_sel::v1#3 ← (byte) sin8s::x3#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 ] ) + [160] (byte) mulu8_sel::v2#3 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 mulu8_sel::v2#3 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 mulu8_sel::v2#3 ] ) + [161] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::usinx#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::usinx#0 ] ) + [162] (byte) mulu8_sel::return#10 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#10 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#10 ] ) to:sin8s::@13 sin8s::@13: scope:[sin8s] from sin8s::@12 - [138] (byte) sin8s::x4#0 ← (byte) mulu8_sel::return#10 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 sin8s::x4#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 sin8s::x4#0 ] ) - [139] (byte) mulu8_sel::v1#4 ← (byte) sin8s::x4#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#4 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#4 ] ) - [140] (byte) mulu8_sel::v2#4 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v1#4 mulu8_sel::v2#4 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v1#4 mulu8_sel::v2#4 ] ) - [141] call mulu8_sel param-assignment [ sin8s::isUpper#10 mulu8_sel::return#12 sin8s::usinx#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 mulu8_sel::return#12 sin8s::usinx#0 ] ) - [142] (byte) mulu8_sel::return#11 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#11 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#11 ] ) + [163] (byte) sin8s::x4#0 ← (byte) mulu8_sel::return#10 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 sin8s::x4#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 sin8s::x4#0 ] ) + [164] (byte) mulu8_sel::v1#4 ← (byte) sin8s::x4#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#4 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#4 ] ) + [165] (byte) mulu8_sel::v2#4 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v1#4 mulu8_sel::v2#4 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v1#4 mulu8_sel::v2#4 ] ) + [166] call mulu8_sel param-assignment [ sin8s::isUpper#10 mulu8_sel::return#12 sin8s::usinx#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 mulu8_sel::return#12 sin8s::usinx#0 ] ) + [167] (byte) mulu8_sel::return#11 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#11 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#11 ] ) to:sin8s::@14 sin8s::@14: scope:[sin8s] from sin8s::@13 - [143] (byte) sin8s::x5#0 ← (byte) mulu8_sel::return#11 [ sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5#0 ] ) - [144] (byte) sin8s::x5_128#0 ← (byte) sin8s::x5#0 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5_128#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5_128#0 ] ) - [145] (byte) sin8s::usinx#1 ← (byte) sin8s::usinx#0 + (byte) sin8s::x5_128#0 [ sin8s::isUpper#10 sin8s::usinx#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#1 ] ) - [146] if((byte) sin8s::usinx#1<(byte/word/signed word/dword/signed dword) 128) goto sin8s::@3 [ sin8s::isUpper#10 sin8s::usinx#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#1 ] ) + [168] (byte) sin8s::x5#0 ← (byte) mulu8_sel::return#11 [ sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5#0 ] ) + [169] (byte) sin8s::x5_128#0 ← (byte) sin8s::x5#0 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5_128#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5_128#0 ] ) + [170] (byte) sin8s::usinx#1 ← (byte) sin8s::usinx#0 + (byte) sin8s::x5_128#0 [ sin8s::isUpper#10 sin8s::usinx#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#1 ] ) + [171] if((byte) sin8s::usinx#1<(byte/word/signed word/dword/signed dword) 128) goto sin8s::@3 [ sin8s::isUpper#10 sin8s::usinx#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#1 ] ) to:sin8s::@7 sin8s::@7: scope:[sin8s] from sin8s::@14 - [147] (byte) sin8s::usinx#2 ← -- (byte) sin8s::usinx#1 [ sin8s::isUpper#10 sin8s::usinx#2 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#2 ] ) + [172] (byte) sin8s::usinx#2 ← -- (byte) sin8s::usinx#1 [ sin8s::isUpper#10 sin8s::usinx#2 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#2 ] ) to:sin8s::@3 sin8s::@3: scope:[sin8s] from sin8s::@14 sin8s::@7 - [148] (byte) sin8s::usinx#4 ← phi( sin8s::@14/(byte) sin8s::usinx#1 sin8s::@7/(byte) sin8s::usinx#2 ) [ sin8s::isUpper#10 sin8s::usinx#4 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#4 ] ) - [149] if((byte) sin8s::isUpper#10==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin8s::@18 [ sin8s::usinx#4 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::usinx#4 ] ) + [173] (byte) sin8s::usinx#4 ← phi( sin8s::@14/(byte) sin8s::usinx#1 sin8s::@7/(byte) sin8s::usinx#2 ) [ sin8s::isUpper#10 sin8s::usinx#4 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#4 ] ) + [174] if((byte) sin8s::isUpper#10==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin8s::@18 [ sin8s::usinx#4 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::usinx#4 ] ) to:sin8s::@8 sin8s::@8: scope:[sin8s] from sin8s::@3 - [150] (signed byte) sin8s::sinx#1 ← - (signed byte)(byte) sin8s::usinx#4 [ sin8s::sinx#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::sinx#1 ] ) + [175] (signed byte) sin8s::sinx#1 ← - (signed byte)(byte) sin8s::usinx#4 [ sin8s::sinx#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::sinx#1 ] ) to:sin8s::@4 sin8s::@4: scope:[sin8s] from sin8s::@18 sin8s::@8 - [151] (signed byte) sin8s::return#0 ← phi( sin8s::@18/(signed byte~) sin8s::return#5 sin8s::@8/(signed byte) sin8s::sinx#1 ) [ sin8s::return#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::return#0 ] ) + [176] (signed byte) sin8s::return#0 ← phi( sin8s::@18/(signed byte~) sin8s::return#5 sin8s::@8/(signed byte) sin8s::sinx#1 ) [ sin8s::return#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::return#0 ] ) to:sin8s::@return sin8s::@return: scope:[sin8s] from sin8s::@4 - [152] return [ sin8s::return#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::return#0 ] ) + [177] return [ sin8s::return#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::return#0 ] ) to:@return sin8s::@18: scope:[sin8s] from sin8s::@3 - [153] (signed byte~) sin8s::return#5 ← (signed byte)(byte) sin8s::usinx#4 [ sin8s::return#5 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::return#5 ] ) + [178] (signed byte~) sin8s::return#5 ← (signed byte)(byte) sin8s::usinx#4 [ sin8s::return#5 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::return#5 ] ) to:sin8s::@4 mulu8_sel: scope:[mulu8_sel] from sin8s::@10 sin8s::@11 sin8s::@12 sin8s::@13 sin8s::@2 - [154] (byte) mulu8_sel::select#5 ← phi( sin8s::@10/(byte/signed byte/word/signed word/dword/signed dword) 1 sin8s::@11/(byte/signed byte/word/signed word/dword/signed dword) 1 sin8s::@12/(byte/signed byte/word/signed word/dword/signed dword) 0 sin8s::@13/(byte/signed byte/word/signed word/dword/signed dword) 0 sin8s::@2/(byte/signed byte/word/signed word/dword/signed dword) 0 ) [ mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] ) - [154] (byte) mulu8_sel::v2#5 ← phi( sin8s::@10/(byte) mulu8_sel::v2#1 sin8s::@11/(const byte) sin8s::DIV_6#0 sin8s::@12/(byte) mulu8_sel::v2#3 sin8s::@13/(byte) mulu8_sel::v2#4 sin8s::@2/(byte) mulu8_sel::v2#0 ) [ mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] ) - [154] (byte) mulu8_sel::v1#5 ← phi( sin8s::@10/(byte) mulu8_sel::v1#1 sin8s::@11/(byte) mulu8_sel::v1#2 sin8s::@12/(byte) mulu8_sel::v1#3 sin8s::@13/(byte) mulu8_sel::v1#4 sin8s::@2/(byte) mulu8_sel::v1#0 ) [ mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] ) - [155] (byte) mul8u::a#2 ← (byte) mulu8_sel::v1#5 [ mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] ) - [156] (byte) mul8u::b#1 ← (byte) mulu8_sel::v2#5 [ mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] ) - [157] call mul8u param-assignment [ mul8u::res#2 mulu8_sel::select#5 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::res#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::res#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mul8u::res#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mul8u::res#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mul8u::res#2 mulu8_sel::select#5 ] ) - [158] (word) mul8u::return#3 ← (word) mul8u::res#2 [ mulu8_sel::select#5 mul8u::return#3 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::return#3 ] ) + [179] (byte) mulu8_sel::select#5 ← phi( sin8s::@10/(byte/signed byte/word/signed word/dword/signed dword) 1 sin8s::@11/(byte/signed byte/word/signed word/dword/signed dword) 1 sin8s::@12/(byte/signed byte/word/signed word/dword/signed dword) 0 sin8s::@13/(byte/signed byte/word/signed word/dword/signed dword) 0 sin8s::@2/(byte/signed byte/word/signed word/dword/signed dword) 0 ) [ mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:146 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] ) + [179] (byte) mulu8_sel::v2#5 ← phi( sin8s::@10/(byte) mulu8_sel::v2#1 sin8s::@11/(const byte) sin8s::DIV_6#0 sin8s::@12/(byte) mulu8_sel::v2#3 sin8s::@13/(byte) mulu8_sel::v2#4 sin8s::@2/(byte) mulu8_sel::v2#0 ) [ mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:146 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] ) + [179] (byte) mulu8_sel::v1#5 ← phi( sin8s::@10/(byte) mulu8_sel::v1#1 sin8s::@11/(byte) mulu8_sel::v1#2 sin8s::@12/(byte) mulu8_sel::v1#3 sin8s::@13/(byte) mulu8_sel::v1#4 sin8s::@2/(byte) mulu8_sel::v1#0 ) [ mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:146 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] ) + [180] (byte) mul8u::a#2 ← (byte) mulu8_sel::v1#5 [ mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:146 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] ) + [181] (byte) mul8u::b#1 ← (byte) mulu8_sel::v2#5 [ mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:146 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] ) + [182] call mul8u param-assignment [ mul8u::res#2 mulu8_sel::select#5 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:146 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::res#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::res#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mul8u::res#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mul8u::res#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mul8u::res#2 mulu8_sel::select#5 ] ) + [183] (word) mul8u::return#3 ← (word) mul8u::res#2 [ mulu8_sel::select#5 mul8u::return#3 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:146 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::return#3 ] ) to:mulu8_sel::@2 mulu8_sel::@2: scope:[mulu8_sel] from mulu8_sel - [159] (word~) mulu8_sel::$0 ← (word) mul8u::return#3 [ mulu8_sel::select#5 mulu8_sel::$0 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mulu8_sel::$0 ] ) - [160] (word~) mulu8_sel::$1 ← (word~) mulu8_sel::$0 << (byte) mulu8_sel::select#5 [ mulu8_sel::$1 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::$1 ] ) - [161] (byte) mulu8_sel::return#12 ← > (word~) mulu8_sel::$1 [ mulu8_sel::return#12 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#12 ] ) + [184] (word~) mulu8_sel::$0 ← (word) mul8u::return#3 [ mulu8_sel::select#5 mulu8_sel::$0 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:146 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mulu8_sel::$0 ] ) + [185] (word~) mulu8_sel::$1 ← (word~) mulu8_sel::$0 << (byte) mulu8_sel::select#5 [ mulu8_sel::$1 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:146 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::$1 ] ) + [186] (byte) mulu8_sel::return#12 ← > (word~) mulu8_sel::$1 [ mulu8_sel::return#12 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:146 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#12 ] ) to:mulu8_sel::@return mulu8_sel::@return: scope:[mulu8_sel] from mulu8_sel::@2 - [162] return [ mulu8_sel::return#12 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#12 ] ) + [187] return [ mulu8_sel::return#12 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:146 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#12 ] ) to:@return div16u: scope:[div16u] from sin8u_table - [163] phi() [ ] ( main:2::sin8u_table:7::div16u:10 [ ] ) - [164] call divr16u param-assignment [ divr16u::return#0 ] ( main:2::sin8u_table:7::div16u:10 [ divr16u::return#0 ] ) - [165] (word) divr16u::return#2 ← (word) divr16u::return#0 [ divr16u::return#2 ] ( main:2::sin8u_table:7::div16u:10 [ divr16u::return#2 ] ) + [188] phi() [ ] ( main:2::sin8u_table:7::div16u:10 [ ] ) + [189] call divr16u param-assignment [ divr16u::return#0 ] ( main:2::sin8u_table:7::div16u:10 [ divr16u::return#0 ] ) + [190] (word) divr16u::return#2 ← (word) divr16u::return#0 [ divr16u::return#2 ] ( main:2::sin8u_table:7::div16u:10 [ divr16u::return#2 ] ) to:div16u::@2 div16u::@2: scope:[div16u] from div16u - [166] (word) div16u::return#0 ← (word) divr16u::return#2 [ div16u::return#0 ] ( main:2::sin8u_table:7::div16u:10 [ div16u::return#0 ] ) + [191] (word) div16u::return#0 ← (word) divr16u::return#2 [ div16u::return#0 ] ( main:2::sin8u_table:7::div16u:10 [ div16u::return#0 ] ) to:div16u::@return div16u::@return: scope:[div16u] from div16u::@2 - [167] return [ div16u::return#0 ] ( main:2::sin8u_table:7::div16u:10 [ div16u::return#0 ] ) + [192] return [ div16u::return#0 ] ( main:2::sin8u_table:7::div16u:10 [ div16u::return#0 ] ) to:@return divr16u: scope:[divr16u] from div16u - [168] phi() [ ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ ] ) + [193] phi() [ ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ ] ) to:divr16u::@1 divr16u::@1: scope:[divr16u] from divr16u divr16u::@3 - [169] (byte) divr16u::i#2 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(byte) divr16u::i#1 ) [ divr16u::rem#4 divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::rem#4 divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 ] ) - [169] (word) divr16u::quotient#3 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(word) divr16u::return#0 ) [ divr16u::rem#4 divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::rem#4 divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 ] ) - [169] (word) divr16u::dividend#2 ← phi( divr16u/(const word) PI2_u4f12#0 divr16u::@3/(word) divr16u::dividend#0 ) [ divr16u::rem#4 divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::rem#4 divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 ] ) - [169] (word) divr16u::rem#4 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(word) divr16u::rem#10 ) [ divr16u::rem#4 divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::rem#4 divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 ] ) - [170] (word) divr16u::rem#0 ← (word) divr16u::rem#4 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) - [171] (byte~) divr16u::$1 ← > (word) divr16u::dividend#2 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) - [172] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) - [173] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) + [194] (byte) divr16u::i#2 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(byte) divr16u::i#1 ) [ divr16u::rem#4 divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::rem#4 divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 ] ) + [194] (word) divr16u::quotient#3 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(word) divr16u::return#0 ) [ divr16u::rem#4 divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::rem#4 divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 ] ) + [194] (word) divr16u::dividend#2 ← phi( divr16u/(const word) PI2_u4f12#0 divr16u::@3/(word) divr16u::dividend#0 ) [ divr16u::rem#4 divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::rem#4 divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 ] ) + [194] (word) divr16u::rem#4 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(word) divr16u::rem#10 ) [ divr16u::rem#4 divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::rem#4 divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 ] ) + [195] (word) divr16u::rem#0 ← (word) divr16u::rem#4 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) + [196] (byte~) divr16u::$1 ← > (word) divr16u::dividend#2 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) + [197] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) + [198] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) to:divr16u::@4 divr16u::@4: scope:[divr16u] from divr16u::@1 - [174] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) + [199] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) to:divr16u::@2 divr16u::@2: scope:[divr16u] from divr16u::@1 divr16u::@4 - [175] (word) divr16u::rem#5 ← phi( divr16u::@1/(word) divr16u::rem#0 divr16u::@4/(word) divr16u::rem#1 ) [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#5 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#5 ] ) - [176] (word) divr16u::dividend#0 ← (word) divr16u::dividend#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 ] ) - [177] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ) - [178] if((word) divr16u::rem#5<(const word) main::tabsize#0) goto divr16u::@3 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ) + [200] (word) divr16u::rem#5 ← phi( divr16u::@1/(word) divr16u::rem#0 divr16u::@4/(word) divr16u::rem#1 ) [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#5 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#5 ] ) + [201] (word) divr16u::dividend#0 ← (word) divr16u::dividend#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 ] ) + [202] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ) + [203] if((word) divr16u::rem#5<(const word) main::tabsize#0) goto divr16u::@3 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ) to:divr16u::@5 divr16u::@5: scope:[divr16u] from divr16u::@2 - [179] (word) divr16u::quotient#2 ← ++ (word) divr16u::quotient#1 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#2 ] ) - [180] (word) divr16u::rem#2 ← (word) divr16u::rem#5 - (const word) main::tabsize#0 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) + [204] (word) divr16u::quotient#2 ← ++ (word) divr16u::quotient#1 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#2 ] ) + [205] (word) divr16u::rem#2 ← (word) divr16u::rem#5 - (const word) main::tabsize#0 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) to:divr16u::@3 divr16u::@3: scope:[divr16u] from divr16u::@2 divr16u::@5 - [181] (word) divr16u::return#0 ← phi( divr16u::@2/(word) divr16u::quotient#1 divr16u::@5/(word) divr16u::quotient#2 ) [ divr16u::return#0 divr16u::i#2 divr16u::rem#10 divr16u::dividend#0 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::return#0 divr16u::i#2 divr16u::rem#10 divr16u::dividend#0 ] ) - [181] (word) divr16u::rem#10 ← phi( divr16u::@2/(word) divr16u::rem#5 divr16u::@5/(word) divr16u::rem#2 ) [ divr16u::return#0 divr16u::i#2 divr16u::rem#10 divr16u::dividend#0 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::return#0 divr16u::i#2 divr16u::rem#10 divr16u::dividend#0 ] ) - [182] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ) - [183] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ) + [206] (word) divr16u::return#0 ← phi( divr16u::@2/(word) divr16u::quotient#1 divr16u::@5/(word) divr16u::quotient#2 ) [ divr16u::return#0 divr16u::i#2 divr16u::rem#10 divr16u::dividend#0 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::return#0 divr16u::i#2 divr16u::rem#10 divr16u::dividend#0 ] ) + [206] (word) divr16u::rem#10 ← phi( divr16u::@2/(word) divr16u::rem#5 divr16u::@5/(word) divr16u::rem#2 ) [ divr16u::return#0 divr16u::i#2 divr16u::rem#10 divr16u::dividend#0 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::return#0 divr16u::i#2 divr16u::rem#10 divr16u::dividend#0 ] ) + [207] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ) + [208] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ) to:divr16u::@return divr16u::@return: scope:[divr16u] from divr16u::@3 - [184] return [ divr16u::return#0 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::return#0 ] ) + [209] return [ divr16u::return#0 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::return#0 ] ) to:@return print_cls: scope:[print_cls] from main - [185] phi() [ ] ( main:2::print_cls:5 [ ] ) + [210] phi() [ ] ( main:2::print_cls:5 [ ] ) to:print_cls::@1 print_cls::@1: scope:[print_cls] from print_cls print_cls::@1 - [186] (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:5 [ print_cls::sc#2 ] ) - [187] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:5 [ print_cls::sc#2 ] ) - [188] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::print_cls:5 [ print_cls::sc#1 ] ) - [189] 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:5 [ print_cls::sc#1 ] ) + [211] (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:5 [ print_cls::sc#2 ] ) + [212] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:5 [ print_cls::sc#2 ] ) + [213] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::print_cls:5 [ print_cls::sc#1 ] ) + [214] 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:5 [ print_cls::sc#1 ] ) to:print_cls::@return print_cls::@return: scope:[print_cls] from print_cls::@1 - [190] return [ ] ( main:2::print_cls:5 [ ] ) + [215] return [ ] ( main:2::print_cls:5 [ ] ) to:@return DOMINATORS @@ -5907,102 +6445,116 @@ DOMINATORS @30 dominated by @30 @begin @end dominated by @end @30 @begin main dominated by main @30 @begin -main::@1 dominated by main main::@1 @30 @begin -main::@return dominated by main main::@1 @30 @begin main::@return -sin8u_table dominated by main main::@1 @30 @begin sin8u_table -sin8u_table::@3 dominated by main main::@1 @30 @begin sin8u_table::@3 sin8u_table -sin8u_table::@4 dominated by main main::@1 @30 @begin sin8u_table::@3 sin8u_table::@4 sin8u_table -sin8u_table::@5 dominated by main main::@1 @30 @begin sin8u_table::@3 sin8u_table::@4 sin8u_table::@5 sin8u_table -sin8u_table::@6 dominated by main main::@1 @30 @begin sin8u_table::@3 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table -sin8u_table::@7 dominated by main main::@1 @30 @begin sin8u_table::@3 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table -sin8u_table::@8 dominated by main main::@1 @30 @begin sin8u_table::@3 sin8u_table::@8 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table -sin8u_table::@9 dominated by main main::@1 @30 @begin sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table -sin8u_table::@10 dominated by main main::@1 @30 @begin sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table -sin8u_table::@11 dominated by main main::@1 @30 @begin sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@11 sin8u_table -sin8u_table::@12 dominated by main main::@1 @30 @begin sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table -sin8u_table::@13 dominated by main main::@1 @30 @begin sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 sin8u_table -sin8u_table::@1 dominated by main main::@1 @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 sin8u_table -sin8u_table::@15 dominated by main main::@1 @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@15 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 sin8u_table -sin8u_table::@16 dominated by main main::@1 @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@16 sin8u_table::@9 sin8u_table::@15 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 sin8u_table -sin8u_table::@17 dominated by main main::@1 @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@16 sin8u_table::@9 sin8u_table::@15 sin8u_table::@17 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 sin8u_table -sin8u_table::@18 dominated by main main::@1 @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@16 sin8u_table::@9 sin8u_table::@15 sin8u_table::@18 sin8u_table::@17 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 sin8u_table -sin8u_table::@19 dominated by main main::@1 @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@16 sin8u_table::@9 sin8u_table::@15 sin8u_table::@18 sin8u_table::@17 sin8u_table::@4 sin8u_table::@5 sin8u_table::@19 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 sin8u_table -sin8u_table::@20 dominated by main main::@1 @30 @begin sin8u_table::@20 sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@16 sin8u_table::@9 sin8u_table::@15 sin8u_table::@18 sin8u_table::@17 sin8u_table::@4 sin8u_table::@5 sin8u_table::@19 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 sin8u_table -sin8u_table::@21 dominated by main main::@1 @30 sin8u_table::@21 @begin sin8u_table::@20 sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@16 sin8u_table::@9 sin8u_table::@15 sin8u_table::@18 sin8u_table::@17 sin8u_table::@4 sin8u_table::@5 sin8u_table::@19 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 sin8u_table -sin8u_table::@return dominated by main sin8u_table::@return main::@1 @30 sin8u_table::@21 @begin sin8u_table::@20 sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@16 sin8u_table::@9 sin8u_table::@15 sin8u_table::@18 sin8u_table::@17 sin8u_table::@4 sin8u_table::@5 sin8u_table::@19 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 sin8u_table -print_ln dominated by main main::@1 @30 @begin print_ln sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 sin8u_table -print_ln::@1 dominated by print_ln::@1 main main::@1 @30 @begin print_ln sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 sin8u_table -print_ln::@return dominated by print_ln::@1 main print_ln::@return main::@1 @30 @begin print_ln sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 sin8u_table -print_byte dominated by main main::@1 @30 @begin sin8u_table::@3 sin8u_table::@4 sin8u_table print_byte -print_byte::@1 dominated by main main::@1 @30 @begin sin8u_table::@3 sin8u_table::@4 sin8u_table print_byte::@1 print_byte -print_byte::@return dominated by main main::@1 @30 @begin print_byte::@return sin8u_table::@3 sin8u_table::@4 sin8u_table print_byte::@1 print_byte -print_char dominated by main print_char main::@1 @30 @begin sin8u_table::@3 sin8u_table::@4 sin8u_table print_byte -print_char::@return dominated by main print_char main::@1 @30 print_char::@return @begin sin8u_table::@3 sin8u_table::@4 sin8u_table print_byte -print_str dominated by main main::@1 @30 @begin sin8u_table::@3 sin8u_table print_str -print_str::@1 dominated by main main::@1 @30 @begin sin8u_table::@3 print_str::@1 sin8u_table print_str -print_str::@return dominated by main main::@1 @30 @begin sin8u_table::@3 print_str::@return print_str::@1 sin8u_table print_str -print_str::@2 dominated by main main::@1 @30 @begin sin8u_table::@3 print_str::@1 print_str::@2 sin8u_table print_str -print_word dominated by main print_word main::@1 @30 @begin sin8u_table::@3 sin8u_table::@4 sin8u_table -print_word::@1 dominated by main print_word main::@1 @30 @begin sin8u_table::@3 sin8u_table::@4 sin8u_table print_word::@1 -print_word::@return dominated by main print_word main::@1 @30 @begin sin8u_table::@3 print_word::@return sin8u_table::@4 sin8u_table print_word::@1 -mul8su dominated by main main::@1 @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@15 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 sin8u_table mul8su -mul8su::@4 dominated by main main::@1 @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@15 mul8su::@4 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 sin8u_table mul8su -mul8su::@2 dominated by main main::@1 @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@15 mul8su::@2 mul8su::@4 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 sin8u_table mul8su -mul8su::@1 dominated by main main::@1 @30 @begin sin8u_table::@1 sin8u_table::@3 mul8su::@1 sin8u_table::@8 sin8u_table::@9 sin8u_table::@15 mul8su::@4 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 sin8u_table mul8su -mul8su::@return dominated by mul8su::@return main main::@1 @30 @begin sin8u_table::@1 sin8u_table::@3 mul8su::@1 sin8u_table::@8 sin8u_table::@9 sin8u_table::@15 mul8su::@4 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 sin8u_table mul8su -mul8u dominated by main main::@1 @30 @begin sin8u_table::@1 sin8u_table::@3 mul8u sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 sin8u_table -mul8u::@1 dominated by main main::@1 @30 @begin sin8u_table::@1 sin8u_table::@3 mul8u sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 sin8u_table mul8u::@1 -mul8u::@return dominated by main main::@1 @30 @begin sin8u_table::@1 sin8u_table::@3 mul8u sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 sin8u_table mul8u::@return mul8u::@1 -mul8u::@2 dominated by main main::@1 @30 @begin sin8u_table::@1 sin8u_table::@3 mul8u sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 sin8u_table mul8u::@2 mul8u::@1 -mul8u::@7 dominated by main main::@1 @30 @begin sin8u_table::@1 sin8u_table::@3 mul8u sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 sin8u_table mul8u::@7 mul8u::@2 mul8u::@1 -mul8u::@4 dominated by main main::@1 @30 @begin sin8u_table::@1 sin8u_table::@3 mul8u sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 sin8u_table mul8u::@2 mul8u::@1 mul8u::@4 -sin8s dominated by main sin8s main::@1 @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 sin8u_table -sin8s::@5 dominated by main sin8s main::@1 @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 sin8s::@5 sin8u_table -sin8s::@1 dominated by main sin8s main::@1 @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8s::@1 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 sin8u_table -sin8s::@6 dominated by main sin8s main::@1 @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8s::@1 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 sin8s::@6 sin8u_table -sin8s::@2 dominated by main sin8s main::@1 @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8s::@2 sin8s::@1 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 sin8u_table -sin8s::@10 dominated by main sin8s main::@1 @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8s::@2 sin8s::@1 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 sin8u_table sin8s::@10 -sin8s::@11 dominated by main sin8s main::@1 @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8s::@2 sin8s::@1 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 sin8u_table sin8s::@11 sin8s::@10 -sin8s::@12 dominated by main sin8s main::@1 @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8s::@2 sin8s::@1 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 sin8u_table sin8s::@12 sin8s::@11 sin8s::@10 -sin8s::@13 dominated by main sin8s main::@1 @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8s::@2 sin8s::@1 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 sin8u_table sin8s::@13 sin8s::@12 sin8s::@11 sin8s::@10 -sin8s::@14 dominated by main sin8s main::@1 @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8s::@2 sin8s::@1 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 sin8s::@14 sin8u_table sin8s::@13 sin8s::@12 sin8s::@11 sin8s::@10 -sin8s::@7 dominated by main sin8s main::@1 @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8s::@2 sin8s::@1 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 sin8s::@14 sin8u_table sin8s::@7 sin8s::@13 sin8s::@12 sin8s::@11 sin8s::@10 -sin8s::@3 dominated by main sin8s main::@1 @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8s::@2 sin8s::@1 sin8u_table::@10 sin8s::@3 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 sin8s::@14 sin8u_table sin8s::@13 sin8s::@12 sin8s::@11 sin8s::@10 -sin8s::@8 dominated by main sin8s main::@1 @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8s::@2 sin8s::@1 sin8u_table::@10 sin8s::@3 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 sin8s::@14 sin8u_table sin8s::@8 sin8s::@13 sin8s::@12 sin8s::@11 sin8s::@10 -sin8s::@4 dominated by main sin8s main::@1 @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8s::@2 sin8s::@1 sin8u_table::@10 sin8s::@4 sin8s::@3 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 sin8s::@14 sin8u_table sin8s::@13 sin8s::@12 sin8s::@11 sin8s::@10 -sin8s::@return dominated by main sin8s main::@1 @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8s::@2 sin8s::@1 sin8u_table::@10 sin8s::@4 sin8s::@3 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 sin8s::@14 sin8u_table sin8s::@13 sin8s::@12 sin8s::@11 sin8s::@10 sin8s::@return -sin8s::@18 dominated by main sin8s main::@1 @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8s::@2 sin8s::@1 sin8u_table::@10 sin8s::@3 sin8s::@18 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 sin8s::@14 sin8u_table sin8s::@13 sin8s::@12 sin8s::@11 sin8s::@10 -mulu8_sel dominated by main sin8s main::@1 @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8s::@2 sin8s::@1 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 sin8u_table mulu8_sel -mulu8_sel::@2 dominated by main mulu8_sel::@2 sin8s main::@1 @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8s::@2 sin8s::@1 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 sin8u_table mulu8_sel -mulu8_sel::@return dominated by main mulu8_sel::@2 sin8s main::@1 @30 @begin sin8u_table::@1 sin8u_table::@3 mulu8_sel::@return sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8s::@2 sin8s::@1 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 sin8u_table mulu8_sel -div16u dominated by main main::@1 @30 div16u @begin sin8u_table -div16u::@2 dominated by main main::@1 @30 div16u @begin div16u::@2 sin8u_table -div16u::@return dominated by main div16u::@return main::@1 @30 div16u @begin div16u::@2 sin8u_table -divr16u dominated by divr16u main main::@1 @30 div16u @begin sin8u_table -divr16u::@1 dominated by divr16u divr16u::@1 main main::@1 @30 div16u @begin sin8u_table -divr16u::@4 dominated by divr16u divr16u::@1 main divr16u::@4 main::@1 @30 div16u @begin sin8u_table -divr16u::@2 dominated by divr16u divr16u::@2 divr16u::@1 main main::@1 @30 div16u @begin sin8u_table -divr16u::@5 dominated by divr16u divr16u::@2 divr16u::@1 main divr16u::@5 main::@1 @30 div16u @begin sin8u_table -divr16u::@3 dominated by divr16u divr16u::@2 divr16u::@1 main divr16u::@3 main::@1 @30 div16u @begin sin8u_table -divr16u::@return dominated by divr16u divr16u::@2 divr16u::@1 main divr16u::@3 main::@1 @30 div16u @begin sin8u_table divr16u::@return -print_cls dominated by main @30 @begin print_cls -print_cls::@1 dominated by main @30 @begin print_cls::@1 print_cls -print_cls::@return dominated by main @30 @begin print_cls::@return print_cls::@1 print_cls +main::@1 dominated by main::@1 main @30 @begin +main::@return dominated by main::@1 main::@return main @30 @begin +sin8u_table dominated by main::@1 sin8u_table main @30 @begin +sin8u_table::@3 dominated by main::@1 sin8u_table main @30 @begin sin8u_table::@3 +sin8u_table::@4 dominated by main::@1 sin8u_table main @30 @begin sin8u_table::@3 sin8u_table::@4 +sin8u_table::@5 dominated by main::@1 sin8u_table main @30 @begin sin8u_table::@3 sin8u_table::@4 sin8u_table::@5 +sin8u_table::@6 dominated by main::@1 sin8u_table main @30 @begin sin8u_table::@3 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 +sin8u_table::@7 dominated by main::@1 sin8u_table main @30 @begin sin8u_table::@3 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 +sin8u_table::@8 dominated by main::@1 sin8u_table main @30 @begin sin8u_table::@3 sin8u_table::@8 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 +sin8u_table::@9 dominated by main::@1 sin8u_table main @30 @begin sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 +sin8u_table::@10 dominated by main::@1 sin8u_table main @30 @begin sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 +sin8u_table::@11 dominated by main::@1 sin8u_table main @30 @begin sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@11 +sin8u_table::@12 dominated by main::@1 sin8u_table main @30 @begin sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 +sin8u_table::@13 dominated by main::@1 sin8u_table main @30 @begin sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 +sin8u_table::@1 dominated by main::@1 sin8u_table main @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 +sin8u_table::@15 dominated by main::@1 sin8u_table::@15 sin8u_table main @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 +sin8u_table::@16 dominated by main::@1 sin8u_table::@16 sin8u_table::@15 sin8u_table main @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 +sin8u_table::@17 dominated by main::@1 sin8u_table::@16 sin8u_table::@15 sin8u_table::@17 sin8u_table main @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 +sin8u_table::@18 dominated by main::@1 sin8u_table::@16 sin8u_table::@15 sin8u_table::@18 sin8u_table::@17 sin8u_table main @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 +sin8u_table::@19 dominated by main::@1 sin8u_table::@16 sin8u_table::@15 sin8u_table::@18 sin8u_table::@17 sin8u_table::@19 sin8u_table main @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 +sin8u_table::@20 dominated by main::@1 sin8u_table::@20 sin8u_table::@16 sin8u_table::@15 sin8u_table::@18 sin8u_table::@17 sin8u_table::@19 sin8u_table main @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 +sin8u_table::@21 dominated by main::@1 sin8u_table::@21 sin8u_table::@20 sin8u_table::@16 sin8u_table::@15 sin8u_table::@18 sin8u_table::@17 sin8u_table::@19 sin8u_table main @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 +sin8u_table::@22 dominated by main::@1 sin8u_table::@21 sin8u_table::@20 sin8u_table::@22 sin8u_table::@16 sin8u_table::@15 sin8u_table::@18 sin8u_table::@17 sin8u_table::@19 sin8u_table main @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 +sin8u_table::@23 dominated by main::@1 sin8u_table::@21 sin8u_table::@20 sin8u_table::@23 sin8u_table::@22 sin8u_table::@16 sin8u_table::@15 sin8u_table::@18 sin8u_table::@17 sin8u_table::@19 sin8u_table main @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 +sin8u_table::@24 dominated by main::@1 sin8u_table::@21 sin8u_table::@20 sin8u_table::@23 sin8u_table::@22 sin8u_table::@24 sin8u_table::@16 sin8u_table::@15 sin8u_table::@18 sin8u_table::@17 sin8u_table::@19 sin8u_table main @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 +sin8u_table::@25 dominated by main::@1 sin8u_table::@21 sin8u_table::@20 sin8u_table::@23 sin8u_table::@22 sin8u_table::@25 sin8u_table::@24 sin8u_table::@16 sin8u_table::@15 sin8u_table::@18 sin8u_table::@17 sin8u_table::@19 sin8u_table main @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 +sin8u_table::@return dominated by sin8u_table::@return main::@1 sin8u_table::@21 sin8u_table::@20 sin8u_table::@23 sin8u_table::@22 sin8u_table::@25 sin8u_table::@24 sin8u_table::@16 sin8u_table::@15 sin8u_table::@18 sin8u_table::@17 sin8u_table::@19 sin8u_table main @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 +print_ln dominated by main::@1 print_ln sin8u_table main @30 @begin sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 +print_ln::@1 dominated by main::@1 print_ln sin8u_table print_ln::@1 main @30 @begin sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 +print_ln::@return dominated by print_ln::@return main::@1 print_ln sin8u_table print_ln::@1 main @30 @begin sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 +print_byte dominated by main::@1 sin8u_table print_byte main @30 @begin sin8u_table::@3 sin8u_table::@4 +print_byte::@1 dominated by main::@1 sin8u_table print_byte::@1 print_byte main @30 @begin sin8u_table::@3 sin8u_table::@4 +print_byte::@return dominated by main::@1 sin8u_table print_byte::@1 print_byte main @30 @begin print_byte::@return sin8u_table::@3 sin8u_table::@4 +print_char dominated by main::@1 sin8u_table main print_char @30 @begin sin8u_table::@3 sin8u_table::@4 +print_char::@return dominated by main::@1 sin8u_table main print_char @30 print_char::@return @begin sin8u_table::@3 sin8u_table::@4 +print_str dominated by main::@1 sin8u_table print_str main @30 @begin sin8u_table::@3 +print_str::@1 dominated by main::@1 print_str::@1 sin8u_table print_str main @30 @begin sin8u_table::@3 +print_str::@return dominated by main::@1 print_str::@return print_str::@1 sin8u_table print_str main @30 @begin sin8u_table::@3 +print_str::@2 dominated by main::@1 print_str::@1 print_str::@2 sin8u_table print_str main @30 @begin sin8u_table::@3 +print_sword dominated by main::@1 sin8u_table::@21 sin8u_table::@20 sin8u_table::@16 sin8u_table::@15 sin8u_table::@18 sin8u_table::@17 sin8u_table::@19 sin8u_table print_sword main @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 +print_sword::@2 dominated by main::@1 sin8u_table::@21 sin8u_table::@20 sin8u_table::@16 sin8u_table::@15 sin8u_table::@18 sin8u_table::@17 sin8u_table::@19 sin8u_table print_sword print_sword::@2 main @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 +print_sword::@4 dominated by main::@1 sin8u_table::@21 sin8u_table::@20 sin8u_table::@16 sin8u_table::@15 sin8u_table::@18 sin8u_table::@17 sin8u_table::@19 sin8u_table print_sword print_sword::@2 print_sword::@4 main @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 +print_sword::@1 dominated by main::@1 sin8u_table::@21 sin8u_table::@20 sin8u_table::@16 sin8u_table::@15 sin8u_table::@18 sin8u_table::@17 sin8u_table::@19 sin8u_table print_sword print_sword::@1 main @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 +print_sword::@return dominated by main::@1 sin8u_table::@21 sin8u_table::@20 sin8u_table::@16 sin8u_table::@15 sin8u_table::@18 sin8u_table::@17 sin8u_table::@19 sin8u_table print_sword print_sword::@1 main @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 print_sword::@return +print_word dominated by print_word main::@1 sin8u_table main @30 @begin sin8u_table::@3 sin8u_table::@4 +print_word::@1 dominated by print_word main::@1 sin8u_table print_word::@1 main @30 @begin sin8u_table::@3 sin8u_table::@4 +print_word::@return dominated by print_word main::@1 print_word::@return sin8u_table print_word::@1 main @30 @begin sin8u_table::@3 sin8u_table::@4 +print_sbyte dominated by main::@1 sin8u_table::@16 sin8u_table::@15 sin8u_table::@18 sin8u_table::@17 sin8u_table::@19 sin8u_table print_sbyte main @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 +print_sbyte::@2 dominated by main::@1 sin8u_table::@16 sin8u_table::@15 sin8u_table::@18 sin8u_table::@17 sin8u_table::@19 sin8u_table print_sbyte main print_sbyte::@2 @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 +print_sbyte::@4 dominated by main::@1 sin8u_table::@16 sin8u_table::@15 sin8u_table::@18 sin8u_table::@17 sin8u_table::@19 sin8u_table print_sbyte main print_sbyte::@4 print_sbyte::@2 @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 +print_sbyte::@1 dominated by main::@1 sin8u_table::@16 sin8u_table::@15 sin8u_table::@18 sin8u_table::@17 sin8u_table::@19 sin8u_table print_sbyte main print_sbyte::@1 @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 +print_sbyte::@return dominated by main::@1 sin8u_table::@16 sin8u_table::@15 sin8u_table::@18 sin8u_table::@17 sin8u_table::@19 sin8u_table print_sbyte main print_sbyte::@1 @30 @begin print_sbyte::@return sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 +mul8su dominated by main::@1 sin8u_table::@15 sin8u_table main @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 mul8su +mul8su::@4 dominated by main::@1 sin8u_table::@15 mul8su::@4 sin8u_table main @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 mul8su +mul8su::@2 dominated by main::@1 sin8u_table::@15 mul8su::@2 mul8su::@4 sin8u_table main @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 mul8su +mul8su::@1 dominated by main::@1 mul8su::@1 sin8u_table::@15 mul8su::@4 sin8u_table main @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 mul8su +mul8su::@return dominated by mul8su::@return main::@1 mul8su::@1 sin8u_table::@15 mul8su::@4 sin8u_table main @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 mul8su +mul8u dominated by main::@1 mul8u sin8u_table main @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 +mul8u::@1 dominated by main::@1 mul8u sin8u_table main @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 mul8u::@1 +mul8u::@return dominated by main::@1 mul8u sin8u_table mul8u::@return main @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 mul8u::@1 +mul8u::@2 dominated by main::@1 mul8u sin8u_table main @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 mul8u::@2 mul8u::@1 +mul8u::@7 dominated by main::@1 mul8u sin8u_table main @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 mul8u::@7 mul8u::@2 mul8u::@1 +mul8u::@4 dominated by main::@1 mul8u sin8u_table main @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 mul8u::@2 mul8u::@1 mul8u::@4 +sin8s dominated by main::@1 sin8u_table main sin8s @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 +sin8s::@5 dominated by main::@1 sin8u_table main sin8s @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 sin8s::@5 +sin8s::@1 dominated by main::@1 sin8u_table main sin8s @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8s::@1 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 +sin8s::@6 dominated by main::@1 sin8u_table main sin8s @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8s::@1 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 sin8s::@6 +sin8s::@2 dominated by main::@1 sin8u_table main sin8s @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8s::@2 sin8s::@1 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 +sin8s::@10 dominated by main::@1 sin8u_table sin8s::@10 main sin8s @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8s::@2 sin8s::@1 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 +sin8s::@11 dominated by main::@1 sin8u_table sin8s::@11 sin8s::@10 main sin8s @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8s::@2 sin8s::@1 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 +sin8s::@12 dominated by main::@1 sin8u_table sin8s::@12 sin8s::@11 sin8s::@10 main sin8s @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8s::@2 sin8s::@1 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 +sin8s::@13 dominated by main::@1 sin8u_table sin8s::@13 sin8s::@12 sin8s::@11 sin8s::@10 main sin8s @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8s::@2 sin8s::@1 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 +sin8s::@14 dominated by main::@1 sin8s::@14 sin8u_table sin8s::@13 sin8s::@12 sin8s::@11 sin8s::@10 main sin8s @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8s::@2 sin8s::@1 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 +sin8s::@7 dominated by main::@1 sin8s::@14 sin8u_table sin8s::@13 sin8s::@12 sin8s::@11 sin8s::@10 main sin8s @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8s::@2 sin8s::@1 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 sin8s::@7 +sin8s::@3 dominated by main::@1 sin8s::@14 sin8u_table sin8s::@13 sin8s::@12 sin8s::@11 sin8s::@10 main sin8s @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8s::@2 sin8s::@1 sin8u_table::@10 sin8s::@3 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 +sin8s::@8 dominated by main::@1 sin8s::@14 sin8u_table sin8s::@13 sin8s::@12 sin8s::@11 sin8s::@10 main sin8s @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8s::@2 sin8s::@1 sin8u_table::@10 sin8s::@3 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 sin8s::@8 +sin8s::@4 dominated by main::@1 sin8s::@14 sin8u_table sin8s::@13 sin8s::@12 sin8s::@11 sin8s::@10 main sin8s @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8s::@2 sin8s::@1 sin8u_table::@10 sin8s::@4 sin8s::@3 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 +sin8s::@return dominated by main::@1 sin8s::@14 sin8u_table sin8s::@13 sin8s::@12 sin8s::@11 sin8s::@10 sin8s::@return main sin8s @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8s::@2 sin8s::@1 sin8u_table::@10 sin8s::@4 sin8s::@3 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 +sin8s::@18 dominated by main::@1 sin8s::@18 sin8s::@14 sin8u_table sin8s::@13 sin8s::@12 sin8s::@11 sin8s::@10 main sin8s @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8s::@2 sin8s::@1 sin8u_table::@10 sin8s::@3 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 +mulu8_sel dominated by main::@1 sin8u_table mulu8_sel main sin8s @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8s::@2 sin8s::@1 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 +mulu8_sel::@2 dominated by mulu8_sel::@2 main::@1 sin8u_table mulu8_sel main sin8s @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8s::@2 sin8s::@1 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 +mulu8_sel::@return dominated by mulu8_sel::@2 main::@1 mulu8_sel::@return sin8u_table mulu8_sel main sin8s @30 @begin sin8u_table::@1 sin8u_table::@3 sin8u_table::@8 sin8u_table::@9 sin8u_table::@4 sin8u_table::@5 sin8u_table::@6 sin8u_table::@7 sin8s::@2 sin8s::@1 sin8u_table::@10 sin8u_table::@12 sin8u_table::@11 sin8u_table::@13 +div16u dominated by main::@1 div16u sin8u_table main @30 @begin +div16u::@2 dominated by main::@1 div16u div16u::@2 sin8u_table main @30 @begin +div16u::@return dominated by div16u::@return main::@1 div16u div16u::@2 sin8u_table main @30 @begin +divr16u dominated by main::@1 div16u sin8u_table divr16u main @30 @begin +divr16u::@1 dominated by divr16u::@1 main::@1 div16u sin8u_table divr16u main @30 @begin +divr16u::@4 dominated by divr16u::@1 divr16u::@4 main::@1 div16u sin8u_table divr16u main @30 @begin +divr16u::@2 dominated by divr16u::@2 divr16u::@1 main::@1 div16u sin8u_table divr16u main @30 @begin +divr16u::@5 dominated by divr16u::@2 divr16u::@1 divr16u::@5 main::@1 div16u sin8u_table divr16u main @30 @begin +divr16u::@3 dominated by divr16u::@2 divr16u::@1 divr16u::@3 main::@1 div16u sin8u_table divr16u main @30 @begin +divr16u::@return dominated by divr16u::@2 divr16u::@1 divr16u::@3 main::@1 div16u sin8u_table divr16u::@return divr16u main @30 @begin +print_cls dominated by print_cls main @30 @begin +print_cls::@1 dominated by print_cls main @30 @begin print_cls::@1 +print_cls::@return dominated by print_cls main @30 @begin print_cls::@return print_cls::@1 NATURAL LOOPS -Found back edge: Loop head: sin8u_table::@1 tails: sin8u_table::@21 blocks: null +Found back edge: Loop head: sin8u_table::@1 tails: sin8u_table::@25 blocks: null Found back edge: Loop head: print_ln::@1 tails: print_ln::@1 blocks: null Found back edge: Loop head: print_str::@1 tails: print_str::@2 blocks: null Found back edge: Loop head: mul8u::@1 tails: mul8u::@4 blocks: null Found back edge: Loop head: divr16u::@1 tails: divr16u::@3 blocks: null Found back edge: Loop head: print_cls::@1 tails: print_cls::@1 blocks: null -Populated: Loop head: sin8u_table::@1 tails: sin8u_table::@21 blocks: sin8u_table::@21 sin8u_table::@20 sin8u_table::@19 sin8u_table::@18 sin8u_table::@17 sin8u_table::@16 sin8u_table::@15 sin8u_table::@1 +Populated: Loop head: sin8u_table::@1 tails: sin8u_table::@25 blocks: sin8u_table::@25 sin8u_table::@24 sin8u_table::@23 sin8u_table::@22 sin8u_table::@21 sin8u_table::@20 sin8u_table::@19 sin8u_table::@18 sin8u_table::@17 sin8u_table::@16 sin8u_table::@15 sin8u_table::@1 Populated: Loop head: print_ln::@1 tails: print_ln::@1 blocks: print_ln::@1 Populated: Loop head: print_str::@1 tails: print_str::@2 blocks: print_str::@2 print_str::@1 Populated: Loop head: mul8u::@1 tails: mul8u::@4 blocks: mul8u::@4 mul8u::@2 mul8u::@7 mul8u::@1 Populated: Loop head: divr16u::@1 tails: divr16u::@3 blocks: divr16u::@3 divr16u::@2 divr16u::@5 divr16u::@1 divr16u::@4 Populated: Loop head: print_cls::@1 tails: print_cls::@1 blocks: print_cls::@1 -Loop head: sin8u_table::@1 tails: sin8u_table::@21 blocks: sin8u_table::@21 sin8u_table::@20 sin8u_table::@19 sin8u_table::@18 sin8u_table::@17 sin8u_table::@16 sin8u_table::@15 sin8u_table::@1 +Loop head: sin8u_table::@1 tails: sin8u_table::@25 blocks: sin8u_table::@25 sin8u_table::@24 sin8u_table::@23 sin8u_table::@22 sin8u_table::@21 sin8u_table::@20 sin8u_table::@19 sin8u_table::@18 sin8u_table::@17 sin8u_table::@16 sin8u_table::@15 sin8u_table::@1 Loop head: print_ln::@1 tails: print_ln::@1 blocks: print_ln::@1 Loop head: print_str::@1 tails: print_str::@2 blocks: print_str::@2 print_str::@1 Loop head: mul8u::@1 tails: mul8u::@4 blocks: mul8u::@4 mul8u::@2 mul8u::@7 mul8u::@1 @@ -6015,7 +6567,7 @@ Found 0 loops in scope [main] Found 1 loops in scope [print_cls] Loop head: print_cls::@1 tails: print_cls::@1 blocks: print_cls::@1 Found 1 loops in scope [sin8u_table] - Loop head: sin8u_table::@1 tails: sin8u_table::@21 blocks: sin8u_table::@21 sin8u_table::@20 sin8u_table::@19 sin8u_table::@18 sin8u_table::@17 sin8u_table::@16 sin8u_table::@15 sin8u_table::@1 + Loop head: sin8u_table::@1 tails: sin8u_table::@25 blocks: sin8u_table::@25 sin8u_table::@24 sin8u_table::@23 sin8u_table::@22 sin8u_table::@21 sin8u_table::@20 sin8u_table::@19 sin8u_table::@18 sin8u_table::@17 sin8u_table::@16 sin8u_table::@15 sin8u_table::@1 Found 0 loops in scope [div16u] Found 1 loops in scope [print_str] Loop head: print_str::@1 tails: print_str::@2 blocks: print_str::@2 print_str::@1 @@ -6025,13 +6577,15 @@ Found 1 loops in scope [print_ln] Loop head: print_ln::@1 tails: print_ln::@1 blocks: print_ln::@1 Found 0 loops in scope [sin8s] Found 0 loops in scope [mul8su] +Found 0 loops in scope [print_sbyte] +Found 0 loops in scope [print_sword] Found 1 loops in scope [divr16u] Loop head: divr16u::@1 tails: divr16u::@3 blocks: divr16u::@3 divr16u::@2 divr16u::@5 divr16u::@1 divr16u::@4 Found 0 loops in scope [print_char] Found 0 loops in scope [mulu8_sel] Found 1 loops in scope [mul8u] Loop head: mul8u::@1 tails: mul8u::@4 blocks: mul8u::@4 mul8u::@2 mul8u::@7 mul8u::@1 -Loop head: sin8u_table::@1 tails: sin8u_table::@21 blocks: sin8u_table::@21 sin8u_table::@20 sin8u_table::@19 sin8u_table::@18 sin8u_table::@17 sin8u_table::@16 sin8u_table::@15 sin8u_table::@1 depth: 1 +Loop head: sin8u_table::@1 tails: sin8u_table::@25 blocks: sin8u_table::@25 sin8u_table::@24 sin8u_table::@23 sin8u_table::@22 sin8u_table::@21 sin8u_table::@20 sin8u_table::@19 sin8u_table::@18 sin8u_table::@17 sin8u_table::@16 sin8u_table::@15 sin8u_table::@1 depth: 1 Loop head: print_ln::@1 tails: print_ln::@1 blocks: print_ln::@1 depth: 2 Loop head: print_str::@1 tails: print_str::@2 blocks: print_str::@2 print_str::@1 depth: 2 Loop head: mul8u::@1 tails: mul8u::@4 blocks: mul8u::@4 mul8u::@2 mul8u::@7 mul8u::@1 depth: 2 @@ -6046,12 +6600,15 @@ VARIABLE REGISTER WEIGHTS (byte*) SCREEN (byte*) char_cursor (byte*) char_cursor#1 101.0 -(byte*) char_cursor#11 4.344827586206896 -(byte*) char_cursor#2 16.3 -(byte*) char_cursor#46 4.0 -(byte*) char_cursor#73 8.333333333333334 -(byte*) char_cursor#78 32.0 -(byte*~) char_cursor#92 22.0 +(byte*) char_cursor#102 54.0 +(byte*~) char_cursor#121 22.0 +(byte*) char_cursor#17 3.7073170731707323 +(byte*) char_cursor#2 13.269230769230768 +(byte*) char_cursor#62 6.0 +(byte*) char_cursor#92 3.0 +(byte*) char_cursor#94 3.0 +(byte*) char_cursor#96 8.5 +(byte*) char_cursor#97 9.0 (word()) div16u((word) div16u::dividend , (word) div16u::divisor) (word) div16u::dividend (word) div16u::divisor @@ -6083,7 +6640,7 @@ VARIABLE REGISTER WEIGHTS (word) divr16u::return#0 7.000000000000001 (word) divr16u::return#2 4.0 (byte*) line_cursor -(byte*) line_cursor#1 11.206896551724137 +(byte*) line_cursor#1 8.55263157894737 (byte*) line_cursor#12 204.0 (byte*) line_cursor#23 13.0 (void()) main() @@ -6152,31 +6709,43 @@ VARIABLE REGISTER WEIGHTS (byte~) print_byte::$0 4.0 (byte~) print_byte::$2 4.0 (byte) print_byte::b -(byte) print_byte::b#0 4.0 (byte) print_byte::b#1 4.0 -(byte) print_byte::b#6 22.0 -(byte) print_byte::b#7 4.75 +(byte~) print_byte::b#10 4.0 +(byte) print_byte::b#2 4.0 +(byte) print_byte::b#7 22.0 +(byte) print_byte::b#8 5.25 (byte[]) print_byte::hextab (void()) print_char((byte) print_char::ch) (byte) print_char::ch -(byte) print_char::ch#0 4.0 -(byte) print_char::ch#1 4.0 -(byte) print_char::ch#2 6.0 +(byte) print_char::ch#2 4.0 +(byte) print_char::ch#3 4.0 +(byte) print_char::ch#4 6.0 (void()) print_cls() (byte*) print_cls::sc (byte*) print_cls::sc#1 16.5 (byte*) print_cls::sc#2 16.5 (void()) print_ln() +(void()) print_sbyte((signed byte) print_sbyte::b) +(signed byte) print_sbyte::b +(signed byte) print_sbyte::b#0 4.0 +(signed byte) print_sbyte::b#1 4.25 +(signed byte) print_sbyte::b#3 4.0 (void()) print_str((byte*) print_str::str) (byte*) print_str::str (byte*) print_str::str#0 202.0 -(byte*) print_str::str#10 2.0 -(byte*) print_str::str#8 101.5 +(byte*) print_str::str#10 101.5 +(byte*) print_str::str#12 2.0 +(void()) print_sword((signed word) print_sword::w) +(signed word) print_sword::w +(signed word) print_sword::w#0 4.0 +(signed word) print_sword::w#1 4.25 +(signed word) print_sword::w#3 4.0 (void()) print_word((word) print_word::w) (word) print_word::w -(word) print_word::w#0 4.0 -(word) print_word::w#1 22.0 -(word) print_word::w#2 5.666666666666667 +(word) print_word::w#1 4.0 +(word) print_word::w#2 22.0 +(word) print_word::w#3 6.333333333333334 +(word~) print_word::w#5 4.0 (word) rem16u (signed byte()) sin8s((word) sin8s::x) (word~) sin8s::$6 4.0 @@ -6215,38 +6784,43 @@ VARIABLE REGISTER WEIGHTS (byte) sin8s::x5_128 (byte) sin8s::x5_128#0 4.0 (void()) sin8u_table((byte*) sin8u_table::sintab , (word) sin8u_table::tabsize , (byte) sin8u_table::min , (byte) sin8u_table::max) -(signed word~) sin8u_table::$17 22.0 -(byte~) sin8u_table::$18 22.0 +(byte~) sin8u_table::$20 22.0 (byte) sin8u_table::amplitude (word) sin8u_table::i (word) sin8u_table::i#1 16.5 -(word) sin8u_table::i#2 0.9565217391304348 +(word) sin8u_table::i#10 0.6875 (byte) sin8u_table::max (byte) sin8u_table::mid (byte) sin8u_table::min (byte*) sin8u_table::sintab -(byte*) sin8u_table::sintab#1 1.5714285714285714 -(byte*) sin8u_table::sintab#2 3.0 -(byte) sin8u_table::sinval -(byte) sin8u_table::sinval#0 3.666666666666667 +(byte*) sin8u_table::sintab#1 1.0 +(byte*) sin8u_table::sintab#2 2.75 +(signed byte) sin8u_table::sinx +(signed byte) sin8u_table::sinx#0 2.1999999999999997 +(signed word) sin8u_table::sinx_sc +(signed word) sin8u_table::sinx_sc#0 2.1999999999999997 +(byte) sin8u_table::sinx_tr +(byte) sin8u_table::sinx_tr#0 1.9411764705882355 (word) sin8u_table::step -(word) sin8u_table::step#0 0.3191489361702128 +(word) sin8u_table::step#0 0.26785714285714285 (word) sin8u_table::sum (word) sin8u_table::tabsize (word) sin8u_table::x (word) sin8u_table::x#1 7.333333333333333 -(word) sin8u_table::x#2 2.0 +(word) sin8u_table::x#10 1.4193548387096775 Initial phi equivalence classes -[ sin8u_table::x#2 sin8u_table::x#1 ] +[ sin8u_table::x#10 sin8u_table::x#1 ] [ sin8u_table::sintab#2 sin8u_table::sintab#1 ] -[ sin8u_table::i#2 sin8u_table::i#1 ] +[ sin8u_table::i#10 sin8u_table::i#1 ] [ line_cursor#12 line_cursor#23 line_cursor#1 ] -[ print_byte::b#7 print_byte::b#0 print_byte::b#1 print_byte::b#6 ] -[ print_char::ch#2 print_char::ch#0 print_char::ch#1 ] -[ char_cursor#78 char_cursor#46 char_cursor#73 char_cursor#2 char_cursor#11 char_cursor#92 char_cursor#1 ] -[ print_str::str#8 print_str::str#10 print_str::str#0 ] -[ print_word::w#2 print_word::w#1 print_word::w#0 ] +[ print_byte::b#8 print_byte::b#10 print_byte::b#1 print_byte::b#2 print_byte::b#7 ] +[ print_char::ch#4 print_char::ch#2 print_char::ch#3 ] +[ print_str::str#10 print_str::str#12 print_str::str#0 ] +[ print_sword::w#3 print_sword::w#1 print_sword::w#0 ] +[ char_cursor#92 char_cursor#102 char_cursor#62 char_cursor#97 char_cursor#94 char_cursor#96 char_cursor#17 char_cursor#2 char_cursor#121 char_cursor#1 ] +[ print_word::w#3 print_word::w#5 print_word::w#2 print_word::w#1 ] +[ print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#0 ] [ mul8su::m#2 mul8su::m#1 mul8su::m#0 ] [ mul8u::b#2 mul8u::b#1 ] [ mul8u::a#3 mul8u::a#6 mul8u::a#8 mul8u::a#2 mul8u::a#0 ] @@ -6267,11 +6841,12 @@ Initial phi equivalence classes Added variable div16u::return#2 to zero page equivalence class [ div16u::return#2 ] Added variable sin8u_table::step#0 to zero page equivalence class [ sin8u_table::step#0 ] Added variable sin8s::return#2 to zero page equivalence class [ sin8s::return#2 ] +Added variable sin8u_table::sinx#0 to zero page equivalence class [ sin8u_table::sinx#0 ] Added variable mul8su::a#0 to zero page equivalence class [ mul8su::a#0 ] Added variable mul8su::return#2 to zero page equivalence class [ mul8su::return#2 ] -Added variable sin8u_table::$17 to zero page equivalence class [ sin8u_table::$17 ] -Added variable sin8u_table::$18 to zero page equivalence class [ sin8u_table::$18 ] -Added variable sin8u_table::sinval#0 to zero page equivalence class [ sin8u_table::sinval#0 ] +Added variable sin8u_table::sinx_sc#0 to zero page equivalence class [ sin8u_table::sinx_sc#0 ] +Added variable sin8u_table::$20 to zero page equivalence class [ sin8u_table::$20 ] +Added variable sin8u_table::sinx_tr#0 to zero page equivalence class [ sin8u_table::sinx_tr#0 ] Added variable print_byte::$0 to zero page equivalence class [ print_byte::$0 ] Added variable print_byte::$2 to zero page equivalence class [ print_byte::$2 ] Added variable mul8u::return#2 to zero page equivalence class [ mul8u::return#2 ] @@ -6301,15 +6876,17 @@ Added variable div16u::return#0 to zero page equivalence class [ div16u::return# Added variable divr16u::$1 to zero page equivalence class [ divr16u::$1 ] Added variable divr16u::$2 to zero page equivalence class [ divr16u::$2 ] Complete equivalence classes -[ sin8u_table::x#2 sin8u_table::x#1 ] +[ sin8u_table::x#10 sin8u_table::x#1 ] [ sin8u_table::sintab#2 sin8u_table::sintab#1 ] -[ sin8u_table::i#2 sin8u_table::i#1 ] +[ sin8u_table::i#10 sin8u_table::i#1 ] [ line_cursor#12 line_cursor#23 line_cursor#1 ] -[ print_byte::b#7 print_byte::b#0 print_byte::b#1 print_byte::b#6 ] -[ print_char::ch#2 print_char::ch#0 print_char::ch#1 ] -[ char_cursor#78 char_cursor#46 char_cursor#73 char_cursor#2 char_cursor#11 char_cursor#92 char_cursor#1 ] -[ print_str::str#8 print_str::str#10 print_str::str#0 ] -[ print_word::w#2 print_word::w#1 print_word::w#0 ] +[ print_byte::b#8 print_byte::b#10 print_byte::b#1 print_byte::b#2 print_byte::b#7 ] +[ print_char::ch#4 print_char::ch#2 print_char::ch#3 ] +[ print_str::str#10 print_str::str#12 print_str::str#0 ] +[ print_sword::w#3 print_sword::w#1 print_sword::w#0 ] +[ char_cursor#92 char_cursor#102 char_cursor#62 char_cursor#97 char_cursor#94 char_cursor#96 char_cursor#17 char_cursor#2 char_cursor#121 char_cursor#1 ] +[ print_word::w#3 print_word::w#5 print_word::w#2 print_word::w#1 ] +[ print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#0 ] [ mul8su::m#2 mul8su::m#1 mul8su::m#0 ] [ mul8u::b#2 mul8u::b#1 ] [ mul8u::a#3 mul8u::a#6 mul8u::a#8 mul8u::a#2 mul8u::a#0 ] @@ -6330,11 +6907,12 @@ Complete equivalence classes [ div16u::return#2 ] [ sin8u_table::step#0 ] [ sin8s::return#2 ] +[ sin8u_table::sinx#0 ] [ mul8su::a#0 ] [ mul8su::return#2 ] -[ sin8u_table::$17 ] -[ sin8u_table::$18 ] -[ sin8u_table::sinval#0 ] +[ sin8u_table::sinx_sc#0 ] +[ sin8u_table::$20 ] +[ sin8u_table::sinx_tr#0 ] [ print_byte::$0 ] [ print_byte::$2 ] [ mul8u::return#2 ] @@ -6363,68 +6941,71 @@ Complete equivalence classes [ div16u::return#0 ] [ divr16u::$1 ] [ divr16u::$2 ] -Allocated zp ZP_WORD:2 [ sin8u_table::x#2 sin8u_table::x#1 ] +Allocated zp ZP_WORD:2 [ sin8u_table::x#10 sin8u_table::x#1 ] Allocated zp ZP_WORD:4 [ sin8u_table::sintab#2 sin8u_table::sintab#1 ] -Allocated zp ZP_WORD:6 [ sin8u_table::i#2 sin8u_table::i#1 ] +Allocated zp ZP_WORD:6 [ sin8u_table::i#10 sin8u_table::i#1 ] Allocated zp ZP_WORD:8 [ line_cursor#12 line_cursor#23 line_cursor#1 ] -Allocated zp ZP_BYTE:10 [ print_byte::b#7 print_byte::b#0 print_byte::b#1 print_byte::b#6 ] -Allocated zp ZP_BYTE:11 [ print_char::ch#2 print_char::ch#0 print_char::ch#1 ] -Allocated zp ZP_WORD:12 [ char_cursor#78 char_cursor#46 char_cursor#73 char_cursor#2 char_cursor#11 char_cursor#92 char_cursor#1 ] -Allocated zp ZP_WORD:14 [ print_str::str#8 print_str::str#10 print_str::str#0 ] -Allocated zp ZP_WORD:16 [ print_word::w#2 print_word::w#1 print_word::w#0 ] -Allocated zp ZP_WORD:18 [ mul8su::m#2 mul8su::m#1 mul8su::m#0 ] -Allocated zp ZP_BYTE:20 [ mul8u::b#2 mul8u::b#1 ] -Allocated zp ZP_BYTE:21 [ mul8u::a#3 mul8u::a#6 mul8u::a#8 mul8u::a#2 mul8u::a#0 ] -Allocated zp ZP_WORD:22 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 ] -Allocated zp ZP_WORD:24 [ mul8u::mb#2 mul8u::mb#0 mul8u::mb#1 ] -Allocated zp ZP_BYTE:26 [ sin8s::isUpper#10 ] -Allocated zp ZP_WORD:27 [ sin8s::x#6 sin8s::x#4 sin8s::x#2 sin8s::x#0 sin8s::x#1 ] -Allocated zp ZP_BYTE:29 [ sin8s::usinx#4 sin8s::usinx#1 sin8s::usinx#2 ] -Allocated zp ZP_BYTE:30 [ sin8s::return#0 sin8s::return#5 sin8s::sinx#1 ] -Allocated zp ZP_BYTE:31 [ mulu8_sel::v1#5 mulu8_sel::v1#1 mulu8_sel::v1#2 mulu8_sel::v1#3 mulu8_sel::v1#4 mulu8_sel::v1#0 ] -Allocated zp ZP_BYTE:32 [ mulu8_sel::v2#5 mulu8_sel::v2#1 mulu8_sel::v2#3 mulu8_sel::v2#4 mulu8_sel::v2#0 ] -Allocated zp ZP_BYTE:33 [ mulu8_sel::select#5 ] -Allocated zp ZP_WORD:34 [ divr16u::rem#4 divr16u::rem#10 divr16u::rem#5 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] -Allocated zp ZP_WORD:36 [ divr16u::dividend#2 divr16u::dividend#0 ] -Allocated zp ZP_WORD:38 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] -Allocated zp ZP_BYTE:40 [ divr16u::i#2 divr16u::i#1 ] -Allocated zp ZP_WORD:41 [ print_cls::sc#2 print_cls::sc#1 ] -Allocated zp ZP_WORD:43 [ div16u::return#2 ] -Allocated zp ZP_WORD:45 [ sin8u_table::step#0 ] -Allocated zp ZP_BYTE:47 [ sin8s::return#2 ] -Allocated zp ZP_BYTE:48 [ mul8su::a#0 ] -Allocated zp ZP_WORD:49 [ mul8su::return#2 ] -Allocated zp ZP_WORD:51 [ sin8u_table::$17 ] -Allocated zp ZP_BYTE:53 [ sin8u_table::$18 ] -Allocated zp ZP_BYTE:54 [ sin8u_table::sinval#0 ] -Allocated zp ZP_BYTE:55 [ print_byte::$0 ] -Allocated zp ZP_BYTE:56 [ print_byte::$2 ] -Allocated zp ZP_WORD:57 [ mul8u::return#2 ] -Allocated zp ZP_BYTE:59 [ mul8su::$6 ] -Allocated zp ZP_BYTE:60 [ mul8su::$10 ] -Allocated zp ZP_BYTE:61 [ mul8u::$1 ] -Allocated zp ZP_WORD:62 [ sin8s::$6 ] -Allocated zp ZP_BYTE:64 [ sin8s::x1#0 ] -Allocated zp ZP_BYTE:65 [ mulu8_sel::return#0 ] -Allocated zp ZP_BYTE:66 [ sin8s::x2#0 ] -Allocated zp ZP_BYTE:67 [ mulu8_sel::return#1 ] -Allocated zp ZP_BYTE:68 [ sin8s::x3#0 ] -Allocated zp ZP_BYTE:69 [ mulu8_sel::return#2 ] -Allocated zp ZP_BYTE:70 [ sin8s::x3_6#0 ] -Allocated zp ZP_BYTE:71 [ sin8s::usinx#0 ] -Allocated zp ZP_BYTE:72 [ mulu8_sel::return#10 ] -Allocated zp ZP_BYTE:73 [ sin8s::x4#0 ] -Allocated zp ZP_BYTE:74 [ mulu8_sel::return#11 ] -Allocated zp ZP_BYTE:75 [ sin8s::x5#0 ] -Allocated zp ZP_BYTE:76 [ sin8s::x5_128#0 ] -Allocated zp ZP_WORD:77 [ mul8u::return#3 ] -Allocated zp ZP_WORD:79 [ mulu8_sel::$0 ] -Allocated zp ZP_WORD:81 [ mulu8_sel::$1 ] -Allocated zp ZP_BYTE:83 [ mulu8_sel::return#12 ] -Allocated zp ZP_WORD:84 [ divr16u::return#2 ] -Allocated zp ZP_WORD:86 [ div16u::return#0 ] -Allocated zp ZP_BYTE:88 [ divr16u::$1 ] -Allocated zp ZP_BYTE:89 [ divr16u::$2 ] +Allocated zp ZP_BYTE:10 [ print_byte::b#8 print_byte::b#10 print_byte::b#1 print_byte::b#2 print_byte::b#7 ] +Allocated zp ZP_BYTE:11 [ print_char::ch#4 print_char::ch#2 print_char::ch#3 ] +Allocated zp ZP_WORD:12 [ print_str::str#10 print_str::str#12 print_str::str#0 ] +Allocated zp ZP_WORD:14 [ print_sword::w#3 print_sword::w#1 print_sword::w#0 ] +Allocated zp ZP_WORD:16 [ char_cursor#92 char_cursor#102 char_cursor#62 char_cursor#97 char_cursor#94 char_cursor#96 char_cursor#17 char_cursor#2 char_cursor#121 char_cursor#1 ] +Allocated zp ZP_WORD:18 [ print_word::w#3 print_word::w#5 print_word::w#2 print_word::w#1 ] +Allocated zp ZP_BYTE:20 [ print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#0 ] +Allocated zp ZP_WORD:21 [ mul8su::m#2 mul8su::m#1 mul8su::m#0 ] +Allocated zp ZP_BYTE:23 [ mul8u::b#2 mul8u::b#1 ] +Allocated zp ZP_BYTE:24 [ mul8u::a#3 mul8u::a#6 mul8u::a#8 mul8u::a#2 mul8u::a#0 ] +Allocated zp ZP_WORD:25 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 ] +Allocated zp ZP_WORD:27 [ mul8u::mb#2 mul8u::mb#0 mul8u::mb#1 ] +Allocated zp ZP_BYTE:29 [ sin8s::isUpper#10 ] +Allocated zp ZP_WORD:30 [ sin8s::x#6 sin8s::x#4 sin8s::x#2 sin8s::x#0 sin8s::x#1 ] +Allocated zp ZP_BYTE:32 [ sin8s::usinx#4 sin8s::usinx#1 sin8s::usinx#2 ] +Allocated zp ZP_BYTE:33 [ sin8s::return#0 sin8s::return#5 sin8s::sinx#1 ] +Allocated zp ZP_BYTE:34 [ mulu8_sel::v1#5 mulu8_sel::v1#1 mulu8_sel::v1#2 mulu8_sel::v1#3 mulu8_sel::v1#4 mulu8_sel::v1#0 ] +Allocated zp ZP_BYTE:35 [ mulu8_sel::v2#5 mulu8_sel::v2#1 mulu8_sel::v2#3 mulu8_sel::v2#4 mulu8_sel::v2#0 ] +Allocated zp ZP_BYTE:36 [ mulu8_sel::select#5 ] +Allocated zp ZP_WORD:37 [ divr16u::rem#4 divr16u::rem#10 divr16u::rem#5 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] +Allocated zp ZP_WORD:39 [ divr16u::dividend#2 divr16u::dividend#0 ] +Allocated zp ZP_WORD:41 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] +Allocated zp ZP_BYTE:43 [ divr16u::i#2 divr16u::i#1 ] +Allocated zp ZP_WORD:44 [ print_cls::sc#2 print_cls::sc#1 ] +Allocated zp ZP_WORD:46 [ div16u::return#2 ] +Allocated zp ZP_WORD:48 [ sin8u_table::step#0 ] +Allocated zp ZP_BYTE:50 [ sin8s::return#2 ] +Allocated zp ZP_BYTE:51 [ sin8u_table::sinx#0 ] +Allocated zp ZP_BYTE:52 [ mul8su::a#0 ] +Allocated zp ZP_WORD:53 [ mul8su::return#2 ] +Allocated zp ZP_WORD:55 [ sin8u_table::sinx_sc#0 ] +Allocated zp ZP_BYTE:57 [ sin8u_table::$20 ] +Allocated zp ZP_BYTE:58 [ sin8u_table::sinx_tr#0 ] +Allocated zp ZP_BYTE:59 [ print_byte::$0 ] +Allocated zp ZP_BYTE:60 [ print_byte::$2 ] +Allocated zp ZP_WORD:61 [ mul8u::return#2 ] +Allocated zp ZP_BYTE:63 [ mul8su::$6 ] +Allocated zp ZP_BYTE:64 [ mul8su::$10 ] +Allocated zp ZP_BYTE:65 [ mul8u::$1 ] +Allocated zp ZP_WORD:66 [ sin8s::$6 ] +Allocated zp ZP_BYTE:68 [ sin8s::x1#0 ] +Allocated zp ZP_BYTE:69 [ mulu8_sel::return#0 ] +Allocated zp ZP_BYTE:70 [ sin8s::x2#0 ] +Allocated zp ZP_BYTE:71 [ mulu8_sel::return#1 ] +Allocated zp ZP_BYTE:72 [ sin8s::x3#0 ] +Allocated zp ZP_BYTE:73 [ mulu8_sel::return#2 ] +Allocated zp ZP_BYTE:74 [ sin8s::x3_6#0 ] +Allocated zp ZP_BYTE:75 [ sin8s::usinx#0 ] +Allocated zp ZP_BYTE:76 [ mulu8_sel::return#10 ] +Allocated zp ZP_BYTE:77 [ sin8s::x4#0 ] +Allocated zp ZP_BYTE:78 [ mulu8_sel::return#11 ] +Allocated zp ZP_BYTE:79 [ sin8s::x5#0 ] +Allocated zp ZP_BYTE:80 [ sin8s::x5_128#0 ] +Allocated zp ZP_WORD:81 [ mul8u::return#3 ] +Allocated zp ZP_WORD:83 [ mulu8_sel::$0 ] +Allocated zp ZP_WORD:85 [ mulu8_sel::$1 ] +Allocated zp ZP_BYTE:87 [ mulu8_sel::return#12 ] +Allocated zp ZP_WORD:88 [ divr16u::return#2 ] +Allocated zp ZP_WORD:90 [ div16u::return#0 ] +Allocated zp ZP_BYTE:92 [ divr16u::$1 ] +Allocated zp ZP_BYTE:93 [ divr16u::$2 ] INITIAL ASM //SEG0 Basic Upstart @@ -6436,7 +7017,7 @@ INITIAL ASM .const PI_u4f12 = $3244 .const PI_HALF_u4f12 = $1922 .label SCREEN = $400 - .label char_cursor = $c + .label char_cursor = $10 .label line_cursor = 8 //SEG2 @begin bbegin: @@ -6458,7 +7039,7 @@ bend: main: { .label tabsize = $14 //SEG10 [5] call print_cls param-assignment [ ] ( main:2 [ ] ) - //SEG11 [185] phi from main to print_cls [phi:main->print_cls] + //SEG11 [210] phi from main to print_cls [phi:main->print_cls] print_cls_from_main: jsr print_cls //SEG12 [6] phi from main to main::@1 [phi:main->main::@1] @@ -6483,16 +7064,17 @@ sin8u_table: { .const max = $ff .label amplitude = max-min .const sum = min+max - .const mid = $ff & sum>>1 - .label _17 = $33 - .label _18 = $35 - .label step = $2d - .label sinval = $36 + .const mid = $ff & (sum>>1)+1 + .label _20 = $39 + .label step = $30 + .label sinx = $33 + .label sinx_sc = $37 + .label sinx_tr = $3a .label sintab = 4 .label x = 2 .label i = 6 //SEG19 [10] call div16u param-assignment [ div16u::return#0 ] ( main:2::sin8u_table:7 [ div16u::return#0 ] ) - //SEG20 [163] phi from sin8u_table to div16u [phi:sin8u_table->div16u] + //SEG20 [188] phi from sin8u_table to div16u [phi:sin8u_table->div16u] div16u_from_sin8u_table: jsr div16u //SEG21 [11] (word) div16u::return#2 ← (word) div16u::return#0 [ div16u::return#2 ] ( main:2::sin8u_table:7 [ div16u::return#2 ] ) -- vwuz1=vwuz2 @@ -6509,14 +7091,14 @@ sin8u_table: { lda div16u.return_2+1 sta step+1 //SEG24 [13] call print_str param-assignment [ sin8u_table::step#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#2 ] ) - //SEG25 [77] phi from sin8u_table::@3 to print_str [phi:sin8u_table::@3->print_str] + //SEG25 [86] phi from sin8u_table::@3 to print_str [phi:sin8u_table::@3->print_str] print_str_from_b3: - //SEG26 [77] phi (byte*) char_cursor#78 = (const byte*) SCREEN#0 [phi:sin8u_table::@3->print_str#0] -- pbuz1=pbuc1 + //SEG26 [86] phi (byte*) char_cursor#102 = (const byte*) SCREEN#0 [phi:sin8u_table::@3->print_str#0] -- pbuz1=pbuc1 lda #SCREEN sta char_cursor+1 - //SEG27 [77] phi (byte*) print_str::str#10 = (const string) sin8u_table::str [phi:sin8u_table::@3->print_str#1] -- pbuz1=pbuc1 + //SEG27 [86] phi (byte*) print_str::str#12 = (const string) sin8u_table::str [phi:sin8u_table::@3->print_str#1] -- pbuz1=pbuc1 lda #str @@ -6525,285 +7107,338 @@ sin8u_table: { jmp b4 //SEG28 sin8u_table::@4 b4: - //SEG29 [14] (word) print_word::w#0 ← (word) sin8u_table::step#0 [ sin8u_table::step#0 print_word::w#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 print_word::w#0 char_cursor#2 ] ) -- vwuz1=vwuz2 + //SEG29 [14] (word) print_word::w#1 ← (word) sin8u_table::step#0 [ sin8u_table::step#0 print_word::w#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 print_word::w#1 char_cursor#2 ] ) -- vwuz1=vwuz2 lda step sta print_word.w lda step+1 sta print_word.w+1 - //SEG30 [15] call print_word param-assignment [ sin8u_table::step#0 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#11 ] ) - //SEG31 [84] phi from sin8u_table::@4 to print_word [phi:sin8u_table::@4->print_word] + //SEG30 [15] call print_word param-assignment [ sin8u_table::step#0 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#17 ] ) + //SEG31 [101] phi from sin8u_table::@4 to print_word [phi:sin8u_table::@4->print_word] print_word_from_b4: - //SEG32 [84] phi (word) print_word::w#2 = (word) print_word::w#0 [phi:sin8u_table::@4->print_word#0] -- register_copy + //SEG32 [101] phi (byte*) char_cursor#96 = (byte*) char_cursor#2 [phi:sin8u_table::@4->print_word#0] -- register_copy + //SEG33 [101] phi (word) print_word::w#3 = (word) print_word::w#1 [phi:sin8u_table::@4->print_word#1] -- register_copy jsr print_word - //SEG33 [16] phi from sin8u_table::@4 to sin8u_table::@5 [phi:sin8u_table::@4->sin8u_table::@5] + //SEG34 [16] phi from sin8u_table::@4 to sin8u_table::@5 [phi:sin8u_table::@4->sin8u_table::@5] b5_from_b4: jmp b5 - //SEG34 sin8u_table::@5 + //SEG35 sin8u_table::@5 b5: - //SEG35 [17] call print_str param-assignment [ sin8u_table::step#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#2 ] ) - //SEG36 [77] phi from sin8u_table::@5 to print_str [phi:sin8u_table::@5->print_str] + //SEG36 [17] call print_str param-assignment [ sin8u_table::step#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#2 ] ) + //SEG37 [86] phi from sin8u_table::@5 to print_str [phi:sin8u_table::@5->print_str] print_str_from_b5: - //SEG37 [77] phi (byte*) char_cursor#78 = (byte*) char_cursor#11 [phi:sin8u_table::@5->print_str#0] -- register_copy - //SEG38 [77] phi (byte*) print_str::str#10 = (const string) sin8u_table::str1 [phi:sin8u_table::@5->print_str#1] -- pbuz1=pbuc1 + //SEG38 [86] phi (byte*) char_cursor#102 = (byte*) char_cursor#17 [phi:sin8u_table::@5->print_str#0] -- register_copy + //SEG39 [86] phi (byte*) print_str::str#12 = (const string) sin8u_table::str1 [phi:sin8u_table::@5->print_str#1] -- pbuz1=pbuc1 lda #str1 sta print_str.str+1 jsr print_str - //SEG39 [18] phi from sin8u_table::@5 to sin8u_table::@6 [phi:sin8u_table::@5->sin8u_table::@6] + //SEG40 [18] phi from sin8u_table::@5 to sin8u_table::@6 [phi:sin8u_table::@5->sin8u_table::@6] b6_from_b5: jmp b6 - //SEG40 sin8u_table::@6 + //SEG41 sin8u_table::@6 b6: - //SEG41 [19] call print_byte param-assignment [ sin8u_table::step#0 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#11 ] ) - //SEG42 [65] phi from sin8u_table::@6 to print_byte [phi:sin8u_table::@6->print_byte] + //SEG42 [19] call print_byte param-assignment [ sin8u_table::step#0 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#17 ] ) + //SEG43 [74] phi from sin8u_table::@6 to print_byte [phi:sin8u_table::@6->print_byte] print_byte_from_b6: - //SEG43 [65] phi (byte*) char_cursor#73 = (byte*) char_cursor#2 [phi:sin8u_table::@6->print_byte#0] -- register_copy - //SEG44 [65] phi (byte) print_byte::b#7 = (const byte) sin8u_table::min#0 [phi:sin8u_table::@6->print_byte#1] -- vbuz1=vbuc1 + //SEG44 [74] phi (byte*) char_cursor#97 = (byte*) char_cursor#2 [phi:sin8u_table::@6->print_byte#0] -- register_copy + //SEG45 [74] phi (byte) print_byte::b#8 = (const byte) sin8u_table::min#0 [phi:sin8u_table::@6->print_byte#1] -- vbuz1=vbuc1 lda #min sta print_byte.b jsr print_byte - //SEG45 [20] phi from sin8u_table::@6 to sin8u_table::@7 [phi:sin8u_table::@6->sin8u_table::@7] + //SEG46 [20] phi from sin8u_table::@6 to sin8u_table::@7 [phi:sin8u_table::@6->sin8u_table::@7] b7_from_b6: jmp b7 - //SEG46 sin8u_table::@7 + //SEG47 sin8u_table::@7 b7: - //SEG47 [21] call print_str param-assignment [ sin8u_table::step#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#2 ] ) - //SEG48 [77] phi from sin8u_table::@7 to print_str [phi:sin8u_table::@7->print_str] + //SEG48 [21] call print_str param-assignment [ sin8u_table::step#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#2 ] ) + //SEG49 [86] phi from sin8u_table::@7 to print_str [phi:sin8u_table::@7->print_str] print_str_from_b7: - //SEG49 [77] phi (byte*) char_cursor#78 = (byte*) char_cursor#11 [phi:sin8u_table::@7->print_str#0] -- register_copy - //SEG50 [77] phi (byte*) print_str::str#10 = (const string) sin8u_table::str2 [phi:sin8u_table::@7->print_str#1] -- pbuz1=pbuc1 + //SEG50 [86] phi (byte*) char_cursor#102 = (byte*) char_cursor#17 [phi:sin8u_table::@7->print_str#0] -- register_copy + //SEG51 [86] phi (byte*) print_str::str#12 = (const string) sin8u_table::str2 [phi:sin8u_table::@7->print_str#1] -- pbuz1=pbuc1 lda #str2 sta print_str.str+1 jsr print_str - //SEG51 [22] phi from sin8u_table::@7 to sin8u_table::@8 [phi:sin8u_table::@7->sin8u_table::@8] + //SEG52 [22] phi from sin8u_table::@7 to sin8u_table::@8 [phi:sin8u_table::@7->sin8u_table::@8] b8_from_b7: jmp b8 - //SEG52 sin8u_table::@8 + //SEG53 sin8u_table::@8 b8: - //SEG53 [23] call print_byte param-assignment [ sin8u_table::step#0 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#11 ] ) - //SEG54 [65] phi from sin8u_table::@8 to print_byte [phi:sin8u_table::@8->print_byte] + //SEG54 [23] call print_byte param-assignment [ sin8u_table::step#0 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#17 ] ) + //SEG55 [74] phi from sin8u_table::@8 to print_byte [phi:sin8u_table::@8->print_byte] print_byte_from_b8: - //SEG55 [65] phi (byte*) char_cursor#73 = (byte*) char_cursor#2 [phi:sin8u_table::@8->print_byte#0] -- register_copy - //SEG56 [65] phi (byte) print_byte::b#7 = (const byte) sin8u_table::max#0 [phi:sin8u_table::@8->print_byte#1] -- vbuz1=vbuc1 + //SEG56 [74] phi (byte*) char_cursor#97 = (byte*) char_cursor#2 [phi:sin8u_table::@8->print_byte#0] -- register_copy + //SEG57 [74] phi (byte) print_byte::b#8 = (const byte) sin8u_table::max#0 [phi:sin8u_table::@8->print_byte#1] -- vbuz1=vbuc1 lda #max sta print_byte.b jsr print_byte - //SEG57 [24] phi from sin8u_table::@8 to sin8u_table::@9 [phi:sin8u_table::@8->sin8u_table::@9] + //SEG58 [24] phi from sin8u_table::@8 to sin8u_table::@9 [phi:sin8u_table::@8->sin8u_table::@9] b9_from_b8: jmp b9 - //SEG58 sin8u_table::@9 + //SEG59 sin8u_table::@9 b9: - //SEG59 [25] call print_str param-assignment [ sin8u_table::step#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#2 ] ) - //SEG60 [77] phi from sin8u_table::@9 to print_str [phi:sin8u_table::@9->print_str] + //SEG60 [25] call print_str param-assignment [ sin8u_table::step#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#2 ] ) + //SEG61 [86] phi from sin8u_table::@9 to print_str [phi:sin8u_table::@9->print_str] print_str_from_b9: - //SEG61 [77] phi (byte*) char_cursor#78 = (byte*) char_cursor#11 [phi:sin8u_table::@9->print_str#0] -- register_copy - //SEG62 [77] phi (byte*) print_str::str#10 = (const string) sin8u_table::str3 [phi:sin8u_table::@9->print_str#1] -- pbuz1=pbuc1 + //SEG62 [86] phi (byte*) char_cursor#102 = (byte*) char_cursor#17 [phi:sin8u_table::@9->print_str#0] -- register_copy + //SEG63 [86] phi (byte*) print_str::str#12 = (const string) sin8u_table::str3 [phi:sin8u_table::@9->print_str#1] -- pbuz1=pbuc1 lda #str3 sta print_str.str+1 jsr print_str - //SEG63 [26] phi from sin8u_table::@9 to sin8u_table::@10 [phi:sin8u_table::@9->sin8u_table::@10] + //SEG64 [26] phi from sin8u_table::@9 to sin8u_table::@10 [phi:sin8u_table::@9->sin8u_table::@10] b10_from_b9: jmp b10 - //SEG64 sin8u_table::@10 + //SEG65 sin8u_table::@10 b10: - //SEG65 [27] call print_byte param-assignment [ sin8u_table::step#0 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#11 ] ) - //SEG66 [65] phi from sin8u_table::@10 to print_byte [phi:sin8u_table::@10->print_byte] + //SEG66 [27] call print_byte param-assignment [ sin8u_table::step#0 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#17 ] ) + //SEG67 [74] phi from sin8u_table::@10 to print_byte [phi:sin8u_table::@10->print_byte] print_byte_from_b10: - //SEG67 [65] phi (byte*) char_cursor#73 = (byte*) char_cursor#2 [phi:sin8u_table::@10->print_byte#0] -- register_copy - //SEG68 [65] phi (byte) print_byte::b#7 = (const byte) sin8u_table::amplitude#0 [phi:sin8u_table::@10->print_byte#1] -- vbuz1=vbuc1 + //SEG68 [74] phi (byte*) char_cursor#97 = (byte*) char_cursor#2 [phi:sin8u_table::@10->print_byte#0] -- register_copy + //SEG69 [74] phi (byte) print_byte::b#8 = (const byte) sin8u_table::amplitude#0 [phi:sin8u_table::@10->print_byte#1] -- vbuz1=vbuc1 lda #amplitude sta print_byte.b jsr print_byte - //SEG69 [28] phi from sin8u_table::@10 to sin8u_table::@11 [phi:sin8u_table::@10->sin8u_table::@11] + //SEG70 [28] phi from sin8u_table::@10 to sin8u_table::@11 [phi:sin8u_table::@10->sin8u_table::@11] b11_from_b10: jmp b11 - //SEG70 sin8u_table::@11 + //SEG71 sin8u_table::@11 b11: - //SEG71 [29] call print_str param-assignment [ sin8u_table::step#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#2 ] ) - //SEG72 [77] phi from sin8u_table::@11 to print_str [phi:sin8u_table::@11->print_str] + //SEG72 [29] call print_str param-assignment [ sin8u_table::step#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#2 ] ) + //SEG73 [86] phi from sin8u_table::@11 to print_str [phi:sin8u_table::@11->print_str] print_str_from_b11: - //SEG73 [77] phi (byte*) char_cursor#78 = (byte*) char_cursor#11 [phi:sin8u_table::@11->print_str#0] -- register_copy - //SEG74 [77] phi (byte*) print_str::str#10 = (const string) sin8u_table::str4 [phi:sin8u_table::@11->print_str#1] -- pbuz1=pbuc1 + //SEG74 [86] phi (byte*) char_cursor#102 = (byte*) char_cursor#17 [phi:sin8u_table::@11->print_str#0] -- register_copy + //SEG75 [86] phi (byte*) print_str::str#12 = (const string) sin8u_table::str4 [phi:sin8u_table::@11->print_str#1] -- pbuz1=pbuc1 lda #str4 sta print_str.str+1 jsr print_str - //SEG75 [30] phi from sin8u_table::@11 to sin8u_table::@12 [phi:sin8u_table::@11->sin8u_table::@12] + //SEG76 [30] phi from sin8u_table::@11 to sin8u_table::@12 [phi:sin8u_table::@11->sin8u_table::@12] b12_from_b11: jmp b12 - //SEG76 sin8u_table::@12 + //SEG77 sin8u_table::@12 b12: - //SEG77 [31] call print_byte param-assignment [ sin8u_table::step#0 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#11 ] ) - //SEG78 [65] phi from sin8u_table::@12 to print_byte [phi:sin8u_table::@12->print_byte] + //SEG78 [31] call print_byte param-assignment [ sin8u_table::step#0 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#17 ] ) + //SEG79 [74] phi from sin8u_table::@12 to print_byte [phi:sin8u_table::@12->print_byte] print_byte_from_b12: - //SEG79 [65] phi (byte*) char_cursor#73 = (byte*) char_cursor#2 [phi:sin8u_table::@12->print_byte#0] -- register_copy - //SEG80 [65] phi (byte) print_byte::b#7 = (const byte) sin8u_table::mid#0 [phi:sin8u_table::@12->print_byte#1] -- vbuz1=vbuc1 + //SEG80 [74] phi (byte*) char_cursor#97 = (byte*) char_cursor#2 [phi:sin8u_table::@12->print_byte#0] -- register_copy + //SEG81 [74] phi (byte) print_byte::b#8 = (const byte) sin8u_table::mid#0 [phi:sin8u_table::@12->print_byte#1] -- vbuz1=vbuc1 lda #mid sta print_byte.b jsr print_byte - //SEG81 [32] phi from sin8u_table::@12 to sin8u_table::@13 [phi:sin8u_table::@12->sin8u_table::@13] + //SEG82 [32] phi from sin8u_table::@12 to sin8u_table::@13 [phi:sin8u_table::@12->sin8u_table::@13] b13_from_b12: jmp b13 - //SEG82 sin8u_table::@13 + //SEG83 sin8u_table::@13 b13: - //SEG83 [33] call print_ln param-assignment [ sin8u_table::step#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 line_cursor#1 ] ) - //SEG84 [60] phi from sin8u_table::@13 to print_ln [phi:sin8u_table::@13->print_ln] + //SEG84 [33] call print_ln param-assignment [ sin8u_table::step#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 line_cursor#1 ] ) + //SEG85 [69] phi from sin8u_table::@13 to print_ln [phi:sin8u_table::@13->print_ln] print_ln_from_b13: - //SEG85 [60] phi (byte*) line_cursor#23 = (const byte*) SCREEN#0 [phi:sin8u_table::@13->print_ln#0] -- pbuz1=pbuc1 + //SEG86 [69] phi (byte*) line_cursor#23 = (const byte*) SCREEN#0 [phi:sin8u_table::@13->print_ln#0] -- pbuz1=pbuc1 lda #SCREEN sta line_cursor+1 jsr print_ln - //SEG86 [34] phi from sin8u_table::@13 to sin8u_table::@1 [phi:sin8u_table::@13->sin8u_table::@1] + //SEG87 [34] phi from sin8u_table::@13 to sin8u_table::@1 [phi:sin8u_table::@13->sin8u_table::@1] b1_from_b13: - //SEG87 [34] phi (word) sin8u_table::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8u_table::@13->sin8u_table::@1#0] -- vwuz1=vbuc1 + //SEG88 [34] phi (word) sin8u_table::i#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8u_table::@13->sin8u_table::@1#0] -- vwuz1=vbuc1 lda #<0 sta i lda #>0 sta i+1 - //SEG88 [34] phi (byte*) sin8u_table::sintab#2 = (const byte[20]) main::sintab#0 [phi:sin8u_table::@13->sin8u_table::@1#1] -- pbuz1=pbuc1 + //SEG89 [34] phi (byte*) sin8u_table::sintab#2 = (const byte[20]) main::sintab#0 [phi:sin8u_table::@13->sin8u_table::@1#1] -- pbuz1=pbuc1 lda #main.sintab sta sintab+1 - //SEG89 [34] phi (word) sin8u_table::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8u_table::@13->sin8u_table::@1#2] -- vwuz1=vbuc1 + //SEG90 [34] phi (word) sin8u_table::x#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8u_table::@13->sin8u_table::@1#2] -- vwuz1=vbuc1 lda #<0 sta x lda #>0 sta x+1 jmp b1 - //SEG90 [34] phi from sin8u_table::@21 to sin8u_table::@1 [phi:sin8u_table::@21->sin8u_table::@1] - b1_from_b21: - //SEG91 [34] phi (word) sin8u_table::i#2 = (word) sin8u_table::i#1 [phi:sin8u_table::@21->sin8u_table::@1#0] -- register_copy - //SEG92 [34] phi (byte*) sin8u_table::sintab#2 = (byte*) sin8u_table::sintab#1 [phi:sin8u_table::@21->sin8u_table::@1#1] -- register_copy - //SEG93 [34] phi (word) sin8u_table::x#2 = (word) sin8u_table::x#1 [phi:sin8u_table::@21->sin8u_table::@1#2] -- register_copy + //SEG91 [34] phi from sin8u_table::@25 to sin8u_table::@1 [phi:sin8u_table::@25->sin8u_table::@1] + b1_from_b25: + //SEG92 [34] phi (word) sin8u_table::i#10 = (word) sin8u_table::i#1 [phi:sin8u_table::@25->sin8u_table::@1#0] -- register_copy + //SEG93 [34] phi (byte*) sin8u_table::sintab#2 = (byte*) sin8u_table::sintab#1 [phi:sin8u_table::@25->sin8u_table::@1#1] -- register_copy + //SEG94 [34] phi (word) sin8u_table::x#10 = (word) sin8u_table::x#1 [phi:sin8u_table::@25->sin8u_table::@1#2] -- register_copy jmp b1 - //SEG94 sin8u_table::@1 + //SEG95 sin8u_table::@1 b1: - //SEG95 [35] (word) sin8s::x#2 ← (word) sin8u_table::x#2 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8s::x#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8s::x#2 line_cursor#1 ] ) -- vwuz1=vwuz2 + //SEG96 [35] (word) sin8s::x#2 ← (word) sin8u_table::x#10 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8s::x#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8s::x#2 line_cursor#1 ] ) -- vwuz1=vwuz2 lda x sta sin8s.x lda x+1 sta sin8s.x+1 - //SEG96 [36] call sin8s param-assignment [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8s::return#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8s::return#0 line_cursor#1 ] ) + //SEG97 [36] call sin8s param-assignment [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8s::return#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8s::return#0 line_cursor#1 ] ) jsr sin8s - //SEG97 [37] (signed byte) sin8s::return#2 ← (signed byte) sin8s::return#0 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8s::return#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8s::return#2 line_cursor#1 ] ) -- vbsz1=vbsz2 + //SEG98 [37] (signed byte) sin8s::return#2 ← (signed byte) sin8s::return#0 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8s::return#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8s::return#2 line_cursor#1 ] ) -- vbsz1=vbsz2 lda sin8s.return sta sin8s.return_2 jmp b15 - //SEG98 sin8u_table::@15 + //SEG99 sin8u_table::@15 b15: - //SEG99 [38] (signed byte) mul8su::a#0 ← (signed byte) sin8s::return#2 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 mul8su::a#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 mul8su::a#0 line_cursor#1 ] ) -- vbsz1=vbsz2 + //SEG100 [38] (signed byte) sin8u_table::sinx#0 ← (signed byte) sin8s::return#2 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 ] ) -- vbsz1=vbsz2 lda sin8s.return_2 + sta sinx + //SEG101 [39] (signed byte) mul8su::a#0 ← (signed byte) sin8u_table::sinx#0 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 mul8su::a#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 mul8su::a#0 line_cursor#1 ] ) -- vbsz1=vbsz2 + lda sinx sta mul8su.a - //SEG100 [39] call mul8su param-assignment [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 mul8su::m#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 mul8su::m#2 line_cursor#1 ] ) + //SEG102 [40] call mul8su param-assignment [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 mul8su::m#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 mul8su::m#2 line_cursor#1 ] ) jsr mul8su - //SEG101 [40] (signed word) mul8su::return#2 ← (signed word)(word) mul8su::m#2 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 mul8su::return#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 mul8su::return#2 line_cursor#1 ] ) -- vwsz1=vwsz2 + //SEG103 [41] (signed word) mul8su::return#2 ← (signed word)(word) mul8su::m#2 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 mul8su::return#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 mul8su::return#2 line_cursor#1 ] ) -- vwsz1=vwsz2 lda mul8su.m sta mul8su.return lda mul8su.m+1 sta mul8su.return+1 jmp b16 - //SEG102 sin8u_table::@16 + //SEG104 sin8u_table::@16 b16: - //SEG103 [41] (signed word~) sin8u_table::$17 ← (signed word) mul8su::return#2 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8u_table::$17 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8u_table::$17 line_cursor#1 ] ) -- vwsz1=vwsz2 + //SEG105 [42] (signed word) sin8u_table::sinx_sc#0 ← (signed word) mul8su::return#2 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 line_cursor#1 ] ) -- vwsz1=vwsz2 lda mul8su.return - sta _17 + sta sinx_sc lda mul8su.return+1 - sta _17+1 - //SEG104 [42] (byte~) sin8u_table::$18 ← > (signed word~) sin8u_table::$17 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8u_table::$18 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8u_table::$18 line_cursor#1 ] ) -- vbuz1=_hi_vwsz2 - lda _17+1 - sta _18 - //SEG105 [43] (byte) sin8u_table::sinval#0 ← (const byte) sin8u_table::mid#0 + (byte~) sin8u_table::$18 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8u_table::sinval#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8u_table::sinval#0 line_cursor#1 ] ) -- vbuz1=vbuc1_plus_vbuz2 + sta sinx_sc+1 + //SEG106 [43] (byte~) sin8u_table::$20 ← > (signed word) sin8u_table::sinx_sc#0 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::$20 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::$20 line_cursor#1 ] ) -- vbuz1=_hi_vwsz2 + lda sinx_sc+1 + sta _20 + //SEG107 [44] (byte) sin8u_table::sinx_tr#0 ← (const byte) sin8u_table::mid#0 + (byte~) sin8u_table::$20 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 ] ) -- vbuz1=vbuc1_plus_vbuz2 lda #mid clc - adc _18 - sta sinval - //SEG106 [44] *((byte*) sin8u_table::sintab#2) ← (byte) sin8u_table::sinval#0 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8u_table::sinval#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8u_table::sinval#0 line_cursor#1 ] ) -- _deref_pbuz1=vbuz2 - lda sinval + adc _20 + sta sinx_tr + //SEG108 [45] *((byte*) sin8u_table::sintab#2) ← (byte) sin8u_table::sinx_tr#0 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 ] ) -- _deref_pbuz1=vbuz2 + lda sinx_tr ldy #0 sta (sintab),y - //SEG107 [45] (byte*) sin8u_table::sintab#1 ← ++ (byte*) sin8u_table::sintab#2 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG109 [46] (byte*) sin8u_table::sintab#1 ← ++ (byte*) sin8u_table::sintab#2 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 ] ) -- pbuz1=_inc_pbuz1 inc sintab bne !+ inc sintab+1 !: - //SEG108 [46] (byte*~) char_cursor#92 ← (byte*) line_cursor#1 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 char_cursor#92 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 char_cursor#92 line_cursor#1 ] ) -- pbuz1=pbuz2 + //SEG110 [47] (byte*~) char_cursor#121 ← (byte*) line_cursor#1 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 char_cursor#121 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 char_cursor#121 line_cursor#1 ] ) -- pbuz1=pbuz2 lda line_cursor sta char_cursor lda line_cursor+1 sta char_cursor+1 - //SEG109 [47] call print_str param-assignment [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 ] ) - //SEG110 [77] phi from sin8u_table::@16 to print_str [phi:sin8u_table::@16->print_str] + //SEG111 [48] call print_str param-assignment [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] ) + //SEG112 [86] phi from sin8u_table::@16 to print_str [phi:sin8u_table::@16->print_str] print_str_from_b16: - //SEG111 [77] phi (byte*) char_cursor#78 = (byte*~) char_cursor#92 [phi:sin8u_table::@16->print_str#0] -- register_copy - //SEG112 [77] phi (byte*) print_str::str#10 = (const string) sin8u_table::str5 [phi:sin8u_table::@16->print_str#1] -- pbuz1=pbuc1 + //SEG113 [86] phi (byte*) char_cursor#102 = (byte*~) char_cursor#121 [phi:sin8u_table::@16->print_str#0] -- register_copy + //SEG114 [86] phi (byte*) print_str::str#12 = (const string) sin8u_table::str5 [phi:sin8u_table::@16->print_str#1] -- pbuz1=pbuc1 lda #str5 sta print_str.str+1 jsr print_str jmp b17 - //SEG113 sin8u_table::@17 + //SEG115 sin8u_table::@17 b17: - //SEG114 [48] (word) print_word::w#1 ← (word) sin8u_table::x#2 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#1 char_cursor#2 ] ) -- vwuz1=vwuz2 + //SEG116 [49] (word) print_word::w#2 ← (word) sin8u_table::x#10 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#2 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#2 char_cursor#2 ] ) -- vwuz1=vwuz2 lda x sta print_word.w lda x+1 sta print_word.w+1 - //SEG115 [49] call print_word param-assignment [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 ] ) - //SEG116 [84] phi from sin8u_table::@17 to print_word [phi:sin8u_table::@17->print_word] + //SEG117 [50] call print_word param-assignment [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) + //SEG118 [101] phi from sin8u_table::@17 to print_word [phi:sin8u_table::@17->print_word] print_word_from_b17: - //SEG117 [84] phi (word) print_word::w#2 = (word) print_word::w#1 [phi:sin8u_table::@17->print_word#0] -- register_copy + //SEG119 [101] phi (byte*) char_cursor#96 = (byte*) char_cursor#2 [phi:sin8u_table::@17->print_word#0] -- register_copy + //SEG120 [101] phi (word) print_word::w#3 = (word) print_word::w#2 [phi:sin8u_table::@17->print_word#1] -- register_copy jsr print_word - //SEG118 [50] phi from sin8u_table::@17 to sin8u_table::@18 [phi:sin8u_table::@17->sin8u_table::@18] + //SEG121 [51] phi from sin8u_table::@17 to sin8u_table::@18 [phi:sin8u_table::@17->sin8u_table::@18] b18_from_b17: jmp b18 - //SEG119 sin8u_table::@18 + //SEG122 sin8u_table::@18 b18: - //SEG120 [51] call print_str param-assignment [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 ] ) - //SEG121 [77] phi from sin8u_table::@18 to print_str [phi:sin8u_table::@18->print_str] + //SEG123 [52] call print_str param-assignment [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] ) + //SEG124 [86] phi from sin8u_table::@18 to print_str [phi:sin8u_table::@18->print_str] print_str_from_b18: - //SEG122 [77] phi (byte*) char_cursor#78 = (byte*) char_cursor#11 [phi:sin8u_table::@18->print_str#0] -- register_copy - //SEG123 [77] phi (byte*) print_str::str#10 = (const string) sin8u_table::str6 [phi:sin8u_table::@18->print_str#1] -- pbuz1=pbuc1 + //SEG125 [86] phi (byte*) char_cursor#102 = (byte*) char_cursor#17 [phi:sin8u_table::@18->print_str#0] -- register_copy + //SEG126 [86] phi (byte*) print_str::str#12 = (const string) sin8u_table::str6 [phi:sin8u_table::@18->print_str#1] -- pbuz1=pbuc1 lda #str6 sta print_str.str+1 jsr print_str jmp b19 - //SEG124 sin8u_table::@19 + //SEG127 sin8u_table::@19 b19: - //SEG125 [52] (byte) print_byte::b#6 ← (byte) sin8u_table::sinval#0 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_byte::b#6 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_byte::b#6 char_cursor#2 ] ) -- vbuz1=vbuz2 - lda sinval - sta print_byte.b - //SEG126 [53] call print_byte param-assignment [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 ] ) - //SEG127 [65] phi from sin8u_table::@19 to print_byte [phi:sin8u_table::@19->print_byte] - print_byte_from_b19: - //SEG128 [65] phi (byte*) char_cursor#73 = (byte*) char_cursor#2 [phi:sin8u_table::@19->print_byte#0] -- register_copy - //SEG129 [65] phi (byte) print_byte::b#7 = (byte) print_byte::b#6 [phi:sin8u_table::@19->print_byte#1] -- register_copy - jsr print_byte - //SEG130 [54] phi from sin8u_table::@19 to sin8u_table::@20 [phi:sin8u_table::@19->sin8u_table::@20] + //SEG128 [53] (signed byte) print_sbyte::b#1 ← (signed byte) sin8u_table::sinx#0 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_sbyte::b#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_sbyte::b#1 char_cursor#2 ] ) -- vbsz1=vbsz2 + lda sinx + sta print_sbyte.b + //SEG129 [54] call print_sbyte param-assignment [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) + jsr print_sbyte + //SEG130 [55] phi from sin8u_table::@19 to sin8u_table::@20 [phi:sin8u_table::@19->sin8u_table::@20] b20_from_b19: jmp b20 //SEG131 sin8u_table::@20 b20: - //SEG132 [55] call print_ln param-assignment [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 ] ) - //SEG133 [60] phi from sin8u_table::@20 to print_ln [phi:sin8u_table::@20->print_ln] - print_ln_from_b20: - //SEG134 [60] phi (byte*) line_cursor#23 = (byte*) line_cursor#1 [phi:sin8u_table::@20->print_ln#0] -- register_copy - jsr print_ln + //SEG132 [56] call print_str param-assignment [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] ) + //SEG133 [86] phi from sin8u_table::@20 to print_str [phi:sin8u_table::@20->print_str] + print_str_from_b20: + //SEG134 [86] phi (byte*) char_cursor#102 = (byte*) char_cursor#17 [phi:sin8u_table::@20->print_str#0] -- register_copy + //SEG135 [86] phi (byte*) print_str::str#12 = (const string) sin8u_table::str7 [phi:sin8u_table::@20->print_str#1] -- pbuz1=pbuc1 + lda #str7 + sta print_str.str+1 + jsr print_str jmp b21 - //SEG135 sin8u_table::@21 + //SEG136 sin8u_table::@21 b21: - //SEG136 [56] (word) sin8u_table::x#1 ← (word) sin8u_table::x#2 + (word) sin8u_table::step#0 [ sin8u_table::step#0 sin8u_table::i#2 sin8u_table::x#1 sin8u_table::sintab#1 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::i#2 sin8u_table::x#1 sin8u_table::sintab#1 line_cursor#1 ] ) -- vwuz1=vwuz1_plus_vwuz2 + //SEG137 [57] (signed word) print_sword::w#1 ← (signed word) sin8u_table::sinx_sc#0 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_sword::w#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_sword::w#1 char_cursor#2 ] ) -- vwsz1=vwsz2 + lda sinx_sc + sta print_sword.w + lda sinx_sc+1 + sta print_sword.w+1 + //SEG138 [58] call print_sword param-assignment [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) + jsr print_sword + //SEG139 [59] phi from sin8u_table::@21 to sin8u_table::@22 [phi:sin8u_table::@21->sin8u_table::@22] + b22_from_b21: + jmp b22 + //SEG140 sin8u_table::@22 + b22: + //SEG141 [60] call print_str param-assignment [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] ) + //SEG142 [86] phi from sin8u_table::@22 to print_str [phi:sin8u_table::@22->print_str] + print_str_from_b22: + //SEG143 [86] phi (byte*) char_cursor#102 = (byte*) char_cursor#17 [phi:sin8u_table::@22->print_str#0] -- register_copy + //SEG144 [86] phi (byte*) print_str::str#12 = (const string) sin8u_table::str8 [phi:sin8u_table::@22->print_str#1] -- pbuz1=pbuc1 + lda #str8 + sta print_str.str+1 + jsr print_str + jmp b23 + //SEG145 sin8u_table::@23 + b23: + //SEG146 [61] (byte) print_byte::b#7 ← (byte) sin8u_table::sinx_tr#0 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 print_byte::b#7 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 print_byte::b#7 char_cursor#2 ] ) -- vbuz1=vbuz2 + lda sinx_tr + sta print_byte.b + //SEG147 [62] call print_byte param-assignment [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 ] ) + //SEG148 [74] phi from sin8u_table::@23 to print_byte [phi:sin8u_table::@23->print_byte] + print_byte_from_b23: + //SEG149 [74] phi (byte*) char_cursor#97 = (byte*) char_cursor#2 [phi:sin8u_table::@23->print_byte#0] -- register_copy + //SEG150 [74] phi (byte) print_byte::b#8 = (byte) print_byte::b#7 [phi:sin8u_table::@23->print_byte#1] -- register_copy + jsr print_byte + //SEG151 [63] phi from sin8u_table::@23 to sin8u_table::@24 [phi:sin8u_table::@23->sin8u_table::@24] + b24_from_b23: + jmp b24 + //SEG152 sin8u_table::@24 + b24: + //SEG153 [64] call print_ln param-assignment [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 ] ) + //SEG154 [69] phi from sin8u_table::@24 to print_ln [phi:sin8u_table::@24->print_ln] + print_ln_from_b24: + //SEG155 [69] phi (byte*) line_cursor#23 = (byte*) line_cursor#1 [phi:sin8u_table::@24->print_ln#0] -- register_copy + jsr print_ln + jmp b25 + //SEG156 sin8u_table::@25 + b25: + //SEG157 [65] (word) sin8u_table::x#1 ← (word) sin8u_table::x#10 + (word) sin8u_table::step#0 [ sin8u_table::step#0 sin8u_table::i#10 sin8u_table::x#1 sin8u_table::sintab#1 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::i#10 sin8u_table::x#1 sin8u_table::sintab#1 line_cursor#1 ] ) -- vwuz1=vwuz1_plus_vwuz2 lda x clc adc step @@ -6811,24 +7446,24 @@ sin8u_table: { lda x+1 adc step+1 sta x+1 - //SEG137 [57] (word) sin8u_table::i#1 ← ++ (word) sin8u_table::i#2 [ sin8u_table::step#0 sin8u_table::x#1 sin8u_table::sintab#1 sin8u_table::i#1 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#1 sin8u_table::sintab#1 sin8u_table::i#1 line_cursor#1 ] ) -- vwuz1=_inc_vwuz1 + //SEG158 [66] (word) sin8u_table::i#1 ← ++ (word) sin8u_table::i#10 [ sin8u_table::step#0 sin8u_table::x#1 sin8u_table::sintab#1 sin8u_table::i#1 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#1 sin8u_table::sintab#1 sin8u_table::i#1 line_cursor#1 ] ) -- vwuz1=_inc_vwuz1 inc i bne !+ inc i+1 !: - //SEG138 [58] if((word) sin8u_table::i#1<(const word) main::tabsize#0) goto sin8u_table::@1 [ sin8u_table::step#0 sin8u_table::x#1 sin8u_table::sintab#1 sin8u_table::i#1 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#1 sin8u_table::sintab#1 sin8u_table::i#1 line_cursor#1 ] ) -- vwuz1_lt_vwuc1_then_la1 + //SEG159 [67] if((word) sin8u_table::i#1<(const word) main::tabsize#0) goto sin8u_table::@1 [ sin8u_table::step#0 sin8u_table::x#1 sin8u_table::sintab#1 sin8u_table::i#1 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#1 sin8u_table::sintab#1 sin8u_table::i#1 line_cursor#1 ] ) -- vwuz1_lt_vwuc1_then_la1 lda i+1 cmp #>main.tabsize - bcc b1_from_b21 + bcc b1_from_b25 bne !+ lda i cmp #print_ln::@1] + //SEG163 [70] phi from print_ln print_ln::@1 to print_ln::@1 [phi:print_ln/print_ln::@1->print_ln::@1] b1_from_print_ln: b1_from_b1: - //SEG143 [61] phi (byte*) line_cursor#12 = (byte*) line_cursor#23 [phi:print_ln/print_ln::@1->print_ln::@1#0] -- register_copy + //SEG164 [70] phi (byte*) line_cursor#12 = (byte*) line_cursor#23 [phi:print_ln/print_ln::@1->print_ln::@1#0] -- register_copy jmp b1 - //SEG144 print_ln::@1 + //SEG165 print_ln::@1 b1: - //SEG145 [62] (byte*) line_cursor#1 ← (byte*) line_cursor#12 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ line_cursor#1 char_cursor#11 ] ( main:2::sin8u_table:7::print_ln:33 [ sin8u_table::step#0 line_cursor#1 char_cursor#11 ] main:2::sin8u_table:7::print_ln:55 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 ] ) -- pbuz1=pbuz1_plus_vbuc1 + //SEG166 [71] (byte*) line_cursor#1 ← (byte*) line_cursor#12 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ line_cursor#1 char_cursor#17 ] ( main:2::sin8u_table:7::print_ln:33 [ sin8u_table::step#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_ln:64 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 ] ) -- pbuz1=pbuz1_plus_vbuc1 lda line_cursor clc adc #$28 @@ -6855,7 +7492,7 @@ print_ln: { bcc !+ inc line_cursor+1 !: - //SEG146 [63] if((byte*) line_cursor#1<(byte*) char_cursor#11) goto print_ln::@1 [ line_cursor#1 char_cursor#11 ] ( main:2::sin8u_table:7::print_ln:33 [ sin8u_table::step#0 line_cursor#1 char_cursor#11 ] main:2::sin8u_table:7::print_ln:55 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 ] ) -- pbuz1_lt_pbuz2_then_la1 + //SEG167 [72] if((byte*) line_cursor#1<(byte*) char_cursor#17) goto print_ln::@1 [ line_cursor#1 char_cursor#17 ] ( main:2::sin8u_table:7::print_ln:33 [ sin8u_table::step#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_ln:64 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 ] ) -- pbuz1_lt_pbuz2_then_la1 lda line_cursor+1 cmp char_cursor+1 bcc b1_from_b1 @@ -6865,254 +7502,364 @@ print_ln: { bcc b1_from_b1 !: jmp breturn - //SEG147 print_ln::@return + //SEG168 print_ln::@return breturn: - //SEG148 [64] return [ line_cursor#1 ] ( main:2::sin8u_table:7::print_ln:33 [ sin8u_table::step#0 line_cursor#1 ] main:2::sin8u_table:7::print_ln:55 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 ] ) + //SEG169 [73] return [ line_cursor#1 ] ( main:2::sin8u_table:7::print_ln:33 [ sin8u_table::step#0 line_cursor#1 ] main:2::sin8u_table:7::print_ln:64 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 ] ) rts } -//SEG149 print_byte +//SEG170 print_byte print_byte: { - .label _0 = $37 - .label _2 = $38 + .label _0 = $3b + .label _2 = $3c .label b = $a - //SEG150 [66] (byte~) print_byte::$0 ← (byte) print_byte::b#7 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ print_byte::b#7 char_cursor#73 print_byte::$0 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_byte::$0 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_byte::$0 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_byte::$0 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_byte::$0 ] main:2::sin8u_table:7::print_byte:53 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_byte::b#7 char_cursor#73 print_byte::$0 ] main:2::sin8u_table:7::print_word:15::print_byte:86 [ sin8u_table::step#0 print_word::w#2 print_byte::b#7 char_cursor#73 print_byte::$0 ] main:2::sin8u_table:7::print_word:49::print_byte:86 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 print_byte::b#7 char_cursor#73 print_byte::$0 ] main:2::sin8u_table:7::print_word:15::print_byte:88 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_byte::$0 ] main:2::sin8u_table:7::print_word:49::print_byte:88 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_byte::b#7 char_cursor#73 print_byte::$0 ] ) -- vbuz1=vbuz2_ror_4 + //SEG171 [75] (byte~) print_byte::$0 ← (byte) print_byte::b#8 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ print_byte::b#8 char_cursor#97 print_byte::$0 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 print_byte::$0 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 print_byte::$0 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 print_byte::$0 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 print_byte::$0 ] main:2::sin8u_table:7::print_byte:62 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 print_byte::b#8 char_cursor#97 print_byte::$0 ] main:2::sin8u_table:7::print_word:15::print_byte:103 [ sin8u_table::step#0 print_word::w#3 print_byte::b#8 char_cursor#97 print_byte::$0 ] main:2::sin8u_table:7::print_word:50::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#97 print_byte::$0 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#97 print_byte::$0 ] main:2::sin8u_table:7::print_word:15::print_byte:105 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 print_byte::$0 ] main:2::sin8u_table:7::print_word:50::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#97 print_byte::$0 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#97 print_byte::$0 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#97 print_byte::$0 ] ) -- vbuz1=vbuz2_ror_4 lda b lsr lsr lsr lsr sta _0 - //SEG151 [67] (byte) print_char::ch#0 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$0) [ print_byte::b#7 char_cursor#73 print_char::ch#0 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_char::ch#0 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_char::ch#0 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_char::ch#0 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_char::ch#0 ] main:2::sin8u_table:7::print_byte:53 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_byte::b#7 char_cursor#73 print_char::ch#0 ] main:2::sin8u_table:7::print_word:15::print_byte:86 [ sin8u_table::step#0 print_word::w#2 print_byte::b#7 char_cursor#73 print_char::ch#0 ] main:2::sin8u_table:7::print_word:49::print_byte:86 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 print_byte::b#7 char_cursor#73 print_char::ch#0 ] main:2::sin8u_table:7::print_word:15::print_byte:88 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_char::ch#0 ] main:2::sin8u_table:7::print_word:49::print_byte:88 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_byte::b#7 char_cursor#73 print_char::ch#0 ] ) -- vbuz1=pbuc1_derefidx_vbuz2 + //SEG172 [76] (byte) print_char::ch#2 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$0) [ print_byte::b#8 char_cursor#97 print_char::ch#2 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 print_char::ch#2 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 print_char::ch#2 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 print_char::ch#2 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 print_char::ch#2 ] main:2::sin8u_table:7::print_byte:62 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 print_byte::b#8 char_cursor#97 print_char::ch#2 ] main:2::sin8u_table:7::print_word:15::print_byte:103 [ sin8u_table::step#0 print_word::w#3 print_byte::b#8 char_cursor#97 print_char::ch#2 ] main:2::sin8u_table:7::print_word:50::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#97 print_char::ch#2 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#97 print_char::ch#2 ] main:2::sin8u_table:7::print_word:15::print_byte:105 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 print_char::ch#2 ] main:2::sin8u_table:7::print_word:50::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#97 print_char::ch#2 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#97 print_char::ch#2 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#97 print_char::ch#2 ] ) -- vbuz1=pbuc1_derefidx_vbuz2 ldy _0 lda hextab,y sta print_char.ch - //SEG152 [68] call print_char param-assignment [ char_cursor#11 print_byte::b#7 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#11 print_byte::b#7 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#11 print_byte::b#7 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#11 print_byte::b#7 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#11 print_byte::b#7 ] main:2::sin8u_table:7::print_byte:53 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 print_byte::b#7 ] main:2::sin8u_table:7::print_word:15::print_byte:86 [ sin8u_table::step#0 print_word::w#2 char_cursor#11 print_byte::b#7 ] main:2::sin8u_table:7::print_word:49::print_byte:86 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 char_cursor#11 print_byte::b#7 ] main:2::sin8u_table:7::print_word:15::print_byte:88 [ sin8u_table::step#0 char_cursor#11 print_byte::b#7 ] main:2::sin8u_table:7::print_word:49::print_byte:88 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 print_byte::b#7 ] ) - //SEG153 [73] phi from print_byte to print_char [phi:print_byte->print_char] + //SEG173 [77] call print_char param-assignment [ char_cursor#17 print_byte::b#8 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#17 print_byte::b#8 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#17 print_byte::b#8 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#17 print_byte::b#8 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#17 print_byte::b#8 ] main:2::sin8u_table:7::print_byte:62 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 print_byte::b#8 ] main:2::sin8u_table:7::print_word:15::print_byte:103 [ sin8u_table::step#0 print_word::w#3 char_cursor#17 print_byte::b#8 ] main:2::sin8u_table:7::print_word:50::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 print_byte::b#8 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 print_byte::b#8 ] main:2::sin8u_table:7::print_word:15::print_byte:105 [ sin8u_table::step#0 char_cursor#17 print_byte::b#8 ] main:2::sin8u_table:7::print_word:50::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_byte::b#8 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_byte::b#8 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_byte::b#8 ] ) + //SEG174 [82] phi from print_byte to print_char [phi:print_byte->print_char] print_char_from_print_byte: - //SEG154 [73] phi (byte*) char_cursor#46 = (byte*) char_cursor#73 [phi:print_byte->print_char#0] -- register_copy - //SEG155 [73] phi (byte) print_char::ch#2 = (byte) print_char::ch#0 [phi:print_byte->print_char#1] -- register_copy + //SEG175 [82] phi (byte*) char_cursor#62 = (byte*) char_cursor#97 [phi:print_byte->print_char#0] -- register_copy + //SEG176 [82] phi (byte) print_char::ch#4 = (byte) print_char::ch#2 [phi:print_byte->print_char#1] -- register_copy jsr print_char jmp b1 - //SEG156 print_byte::@1 + //SEG177 print_byte::@1 b1: - //SEG157 [69] (byte~) print_byte::$2 ← (byte) print_byte::b#7 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ char_cursor#11 print_byte::$2 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#11 print_byte::$2 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#11 print_byte::$2 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#11 print_byte::$2 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#11 print_byte::$2 ] main:2::sin8u_table:7::print_byte:53 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 print_byte::$2 ] main:2::sin8u_table:7::print_word:15::print_byte:86 [ sin8u_table::step#0 print_word::w#2 char_cursor#11 print_byte::$2 ] main:2::sin8u_table:7::print_word:49::print_byte:86 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 char_cursor#11 print_byte::$2 ] main:2::sin8u_table:7::print_word:15::print_byte:88 [ sin8u_table::step#0 char_cursor#11 print_byte::$2 ] main:2::sin8u_table:7::print_word:49::print_byte:88 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 print_byte::$2 ] ) -- vbuz1=vbuz2_band_vbuc1 + //SEG178 [78] (byte~) print_byte::$2 ← (byte) print_byte::b#8 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ char_cursor#17 print_byte::$2 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_byte:62 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_word:15::print_byte:103 [ sin8u_table::step#0 print_word::w#3 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_word:50::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_word:15::print_byte:105 [ sin8u_table::step#0 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_word:50::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_byte::$2 ] ) -- vbuz1=vbuz2_band_vbuc1 lda #$f and b sta _2 - //SEG158 [70] (byte) print_char::ch#1 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$2) [ char_cursor#11 print_char::ch#1 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#11 print_char::ch#1 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#11 print_char::ch#1 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#11 print_char::ch#1 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#11 print_char::ch#1 ] main:2::sin8u_table:7::print_byte:53 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 print_char::ch#1 ] main:2::sin8u_table:7::print_word:15::print_byte:86 [ sin8u_table::step#0 print_word::w#2 char_cursor#11 print_char::ch#1 ] main:2::sin8u_table:7::print_word:49::print_byte:86 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 char_cursor#11 print_char::ch#1 ] main:2::sin8u_table:7::print_word:15::print_byte:88 [ sin8u_table::step#0 char_cursor#11 print_char::ch#1 ] main:2::sin8u_table:7::print_word:49::print_byte:88 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 print_char::ch#1 ] ) -- vbuz1=pbuc1_derefidx_vbuz2 + //SEG179 [79] (byte) print_char::ch#3 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$2) [ char_cursor#17 print_char::ch#3 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#17 print_char::ch#3 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#17 print_char::ch#3 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#17 print_char::ch#3 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#17 print_char::ch#3 ] main:2::sin8u_table:7::print_byte:62 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 print_char::ch#3 ] main:2::sin8u_table:7::print_word:15::print_byte:103 [ sin8u_table::step#0 print_word::w#3 char_cursor#17 print_char::ch#3 ] main:2::sin8u_table:7::print_word:50::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 print_char::ch#3 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 print_char::ch#3 ] main:2::sin8u_table:7::print_word:15::print_byte:105 [ sin8u_table::step#0 char_cursor#17 print_char::ch#3 ] main:2::sin8u_table:7::print_word:50::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_char::ch#3 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_char::ch#3 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_char::ch#3 ] ) -- vbuz1=pbuc1_derefidx_vbuz2 ldy _2 lda hextab,y sta print_char.ch - //SEG159 [71] call print_char param-assignment [ char_cursor#11 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:53 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:86 [ sin8u_table::step#0 print_word::w#2 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:86 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:88 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:88 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 ] ) - //SEG160 [73] phi from print_byte::@1 to print_char [phi:print_byte::@1->print_char] + //SEG180 [80] call print_char param-assignment [ char_cursor#17 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:62 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:103 [ sin8u_table::step#0 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:105 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) + //SEG181 [82] phi from print_byte::@1 to print_char [phi:print_byte::@1->print_char] print_char_from_b1: - //SEG161 [73] phi (byte*) char_cursor#46 = (byte*) char_cursor#11 [phi:print_byte::@1->print_char#0] -- register_copy - //SEG162 [73] phi (byte) print_char::ch#2 = (byte) print_char::ch#1 [phi:print_byte::@1->print_char#1] -- register_copy + //SEG182 [82] phi (byte*) char_cursor#62 = (byte*) char_cursor#17 [phi:print_byte::@1->print_char#0] -- register_copy + //SEG183 [82] phi (byte) print_char::ch#4 = (byte) print_char::ch#3 [phi:print_byte::@1->print_char#1] -- register_copy jsr print_char jmp breturn - //SEG163 print_byte::@return + //SEG184 print_byte::@return breturn: - //SEG164 [72] return [ char_cursor#11 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:53 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:86 [ sin8u_table::step#0 print_word::w#2 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:86 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:88 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:88 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 ] ) + //SEG185 [81] return [ char_cursor#17 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:62 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:103 [ sin8u_table::step#0 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:105 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) rts hextab: .text "0123456789abcdef" } -//SEG165 print_char +//SEG186 print_char print_char: { .label ch = $b - //SEG166 [74] *((byte*) char_cursor#46) ← (byte) print_char::ch#2 [ char_cursor#46 ] ( main:2::sin8u_table:7::print_byte:19::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_byte:23::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_byte:27::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_byte:31::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_byte:53::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_word:15::print_byte:86::print_char:68 [ sin8u_table::step#0 print_word::w#2 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_word:49::print_byte:86::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_word:15::print_byte:88::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_word:49::print_byte:88::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_byte:19::print_char:71 [ sin8u_table::step#0 char_cursor#46 ] main:2::sin8u_table:7::print_byte:23::print_char:71 [ sin8u_table::step#0 char_cursor#46 ] main:2::sin8u_table:7::print_byte:27::print_char:71 [ sin8u_table::step#0 char_cursor#46 ] main:2::sin8u_table:7::print_byte:31::print_char:71 [ sin8u_table::step#0 char_cursor#46 ] main:2::sin8u_table:7::print_byte:53::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#46 ] main:2::sin8u_table:7::print_word:15::print_byte:86::print_char:71 [ sin8u_table::step#0 print_word::w#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:49::print_byte:86::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:15::print_byte:88::print_char:71 [ sin8u_table::step#0 char_cursor#46 ] main:2::sin8u_table:7::print_word:49::print_byte:88::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#46 ] ) -- _deref_pbuz1=vbuz2 + //SEG187 [83] *((byte*) char_cursor#62) ← (byte) print_char::ch#4 [ char_cursor#62 ] ( main:2::sin8u_table:7::print_byte:19::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_byte:23::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_byte:27::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_byte:31::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_byte:62::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_word:15::print_byte:103::print_char:77 [ sin8u_table::step#0 print_word::w#3 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_word:50::print_byte:103::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_word:15::print_byte:105::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_word:50::print_byte:105::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_byte:19::print_char:80 [ sin8u_table::step#0 char_cursor#62 ] main:2::sin8u_table:7::print_byte:23::print_char:80 [ sin8u_table::step#0 char_cursor#62 ] main:2::sin8u_table:7::print_byte:27::print_char:80 [ sin8u_table::step#0 char_cursor#62 ] main:2::sin8u_table:7::print_byte:31::print_char:80 [ sin8u_table::step#0 char_cursor#62 ] main:2::sin8u_table:7::print_byte:62::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#62 ] main:2::sin8u_table:7::print_word:15::print_byte:103::print_char:80 [ sin8u_table::step#0 print_word::w#3 char_cursor#62 ] main:2::sin8u_table:7::print_word:50::print_byte:103::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#62 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#62 ] main:2::sin8u_table:7::print_word:15::print_byte:105::print_char:80 [ sin8u_table::step#0 char_cursor#62 ] main:2::sin8u_table:7::print_word:50::print_byte:105::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#62 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#62 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#62 ] main:2::sin8u_table:7::print_sword:58::print_char:95 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_sword::w#1 char_cursor#62 ] main:2::sin8u_table:7::print_sbyte:54::print_char:109 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_sbyte::b#1 char_cursor#62 ] ) -- _deref_pbuz1=vbuz2 lda ch ldy #0 sta (char_cursor),y - //SEG167 [75] (byte*) char_cursor#11 ← ++ (byte*) char_cursor#46 [ char_cursor#11 ] ( main:2::sin8u_table:7::print_byte:19::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:23::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:27::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:31::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:53::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:86::print_char:68 [ sin8u_table::step#0 print_word::w#2 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:86::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:88::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:88::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:19::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:23::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:27::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:31::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:53::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:86::print_char:71 [ sin8u_table::step#0 print_word::w#2 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:86::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:88::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:88::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 ] ) -- pbuz1=_inc_pbuz1 + //SEG188 [84] (byte*) char_cursor#17 ← ++ (byte*) char_cursor#62 [ char_cursor#17 ] ( main:2::sin8u_table:7::print_byte:19::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_byte:23::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_byte:27::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_byte:31::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_byte:62::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:103::print_char:77 [ sin8u_table::step#0 print_word::w#3 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:103::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:105::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:105::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_byte:19::print_char:80 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:23::print_char:80 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:27::print_char:80 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:31::print_char:80 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:62::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:103::print_char:80 [ sin8u_table::step#0 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:103::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:105::print_char:80 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:105::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_char:95 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_sword::w#1 char_cursor#17 ] main:2::sin8u_table:7::print_sbyte:54::print_char:109 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_sbyte::b#1 char_cursor#17 ] ) -- pbuz1=_inc_pbuz1 inc char_cursor bne !+ inc char_cursor+1 !: jmp breturn - //SEG168 print_char::@return + //SEG189 print_char::@return breturn: - //SEG169 [76] return [ char_cursor#11 ] ( main:2::sin8u_table:7::print_byte:19::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:23::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:27::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:31::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:53::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:86::print_char:68 [ sin8u_table::step#0 print_word::w#2 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:86::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:88::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:88::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:19::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:23::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:27::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:31::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:53::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:86::print_char:71 [ sin8u_table::step#0 print_word::w#2 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:86::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:88::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:88::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 ] ) + //SEG190 [85] return [ char_cursor#17 ] ( main:2::sin8u_table:7::print_byte:19::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_byte:23::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_byte:27::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_byte:31::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_byte:62::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:103::print_char:77 [ sin8u_table::step#0 print_word::w#3 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:103::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:105::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:105::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_byte:19::print_char:80 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:23::print_char:80 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:27::print_char:80 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:31::print_char:80 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:62::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:103::print_char:80 [ sin8u_table::step#0 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:103::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:105::print_char:80 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:105::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_char:95 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_sword::w#1 char_cursor#17 ] main:2::sin8u_table:7::print_sbyte:54::print_char:109 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_sbyte::b#1 char_cursor#17 ] ) rts } -//SEG170 print_str +//SEG191 print_str print_str: { - .label str = $e - //SEG171 [78] phi from print_str print_str::@2 to print_str::@1 [phi:print_str/print_str::@2->print_str::@1] + .label str = $c + //SEG192 [87] phi from print_str print_str::@2 to print_str::@1 [phi:print_str/print_str::@2->print_str::@1] b1_from_print_str: b1_from_b2: - //SEG172 [78] phi (byte*) char_cursor#2 = (byte*) char_cursor#78 [phi:print_str/print_str::@2->print_str::@1#0] -- register_copy - //SEG173 [78] phi (byte*) print_str::str#8 = (byte*) print_str::str#10 [phi:print_str/print_str::@2->print_str::@1#1] -- register_copy + //SEG193 [87] phi (byte*) char_cursor#2 = (byte*) char_cursor#102 [phi:print_str/print_str::@2->print_str::@1#0] -- register_copy + //SEG194 [87] phi (byte*) print_str::str#10 = (byte*) print_str::str#12 [phi:print_str/print_str::@2->print_str::@1#1] -- register_copy jmp b1 - //SEG174 print_str::@1 + //SEG195 print_str::@1 b1: - //SEG175 [79] if(*((byte*) print_str::str#8)!=(byte) '@') goto print_str::@2 [ char_cursor#2 print_str::str#8 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:47 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:51 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 print_str::str#8 ] ) -- _deref_pbuz1_neq_vbuc1_then_la1 + //SEG196 [88] if(*((byte*) print_str::str#10)!=(byte) '@') goto print_str::@2 [ char_cursor#2 print_str::str#10 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:48 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:52 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:56 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:60 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] ) -- _deref_pbuz1_neq_vbuc1_then_la1 ldy #0 lda (str),y cmp #'@' bne b2 jmp breturn - //SEG176 print_str::@return + //SEG197 print_str::@return breturn: - //SEG177 [80] return [ char_cursor#2 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 char_cursor#2 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 char_cursor#2 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 char_cursor#2 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 char_cursor#2 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 char_cursor#2 ] main:2::sin8u_table:7::print_str:47 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 ] main:2::sin8u_table:7::print_str:51 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 ] ) + //SEG198 [89] return [ char_cursor#2 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 char_cursor#2 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 char_cursor#2 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 char_cursor#2 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 char_cursor#2 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 char_cursor#2 ] main:2::sin8u_table:7::print_str:48 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] main:2::sin8u_table:7::print_str:52 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] main:2::sin8u_table:7::print_str:56 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] main:2::sin8u_table:7::print_str:60 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] ) rts - //SEG178 print_str::@2 + //SEG199 print_str::@2 b2: - //SEG179 [81] *((byte*) char_cursor#2) ← *((byte*) print_str::str#8) [ char_cursor#2 print_str::str#8 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:47 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:51 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 print_str::str#8 ] ) -- _deref_pbuz1=_deref_pbuz2 + //SEG200 [90] *((byte*) char_cursor#2) ← *((byte*) print_str::str#10) [ char_cursor#2 print_str::str#10 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:48 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:52 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:56 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:60 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] ) -- _deref_pbuz1=_deref_pbuz2 ldy #0 lda (str),y ldy #0 sta (char_cursor),y - //SEG180 [82] (byte*) char_cursor#1 ← ++ (byte*) char_cursor#2 [ print_str::str#8 char_cursor#1 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 print_str::str#8 char_cursor#1 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 print_str::str#8 char_cursor#1 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 print_str::str#8 char_cursor#1 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 print_str::str#8 char_cursor#1 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 print_str::str#8 char_cursor#1 ] main:2::sin8u_table:7::print_str:47 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_str::str#8 char_cursor#1 ] main:2::sin8u_table:7::print_str:51 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_str::str#8 char_cursor#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG201 [91] (byte*) char_cursor#1 ← ++ (byte*) char_cursor#2 [ print_str::str#10 char_cursor#1 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 print_str::str#10 char_cursor#1 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 print_str::str#10 char_cursor#1 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 print_str::str#10 char_cursor#1 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 print_str::str#10 char_cursor#1 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 print_str::str#10 char_cursor#1 ] main:2::sin8u_table:7::print_str:48 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::sin8u_table:7::print_str:52 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::sin8u_table:7::print_str:56 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::sin8u_table:7::print_str:60 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_str::str#10 char_cursor#1 ] ) -- pbuz1=_inc_pbuz1 inc char_cursor bne !+ inc char_cursor+1 !: - //SEG181 [83] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#8 [ print_str::str#0 char_cursor#1 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:47 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:51 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_str::str#0 char_cursor#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG202 [92] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#10 [ print_str::str#0 char_cursor#1 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:48 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:52 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:56 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:60 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_str::str#0 char_cursor#1 ] ) -- pbuz1=_inc_pbuz1 inc str bne !+ inc str+1 !: jmp b1_from_b2 } -//SEG182 print_word -print_word: { - .label w = $10 - //SEG183 [85] (byte) print_byte::b#0 ← > (word) print_word::w#2 [ char_cursor#2 print_byte::b#0 print_word::w#2 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#2 print_byte::b#0 print_word::w#2 ] main:2::sin8u_table:7::print_word:49 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 print_byte::b#0 print_word::w#2 ] ) -- vbuz1=_hi_vwuz2 +//SEG203 print_sword +print_sword: { + .label w = $e + //SEG204 [93] if((signed word) print_sword::w#1>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto print_sword::@1 [ print_sword::w#1 char_cursor#2 ] ( main:2::sin8u_table:7::print_sword:58 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_sword::w#1 char_cursor#2 ] ) -- vwsz1_ge_0_then_la1 lda w+1 - sta print_byte.b - //SEG184 [86] call print_byte param-assignment [ char_cursor#11 print_word::w#2 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#11 print_word::w#2 ] main:2::sin8u_table:7::print_word:49 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 print_word::w#2 ] ) - //SEG185 [65] phi from print_word to print_byte [phi:print_word->print_byte] - print_byte_from_print_word: - //SEG186 [65] phi (byte*) char_cursor#73 = (byte*) char_cursor#2 [phi:print_word->print_byte#0] -- register_copy - //SEG187 [65] phi (byte) print_byte::b#7 = (byte) print_byte::b#0 [phi:print_word->print_byte#1] -- register_copy - jsr print_byte - jmp b1 - //SEG188 print_word::@1 - b1: - //SEG189 [87] (byte) print_byte::b#1 ← < (word) print_word::w#2 [ char_cursor#11 print_byte::b#1 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#11 print_byte::b#1 ] main:2::sin8u_table:7::print_word:49 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 print_byte::b#1 ] ) -- vbuz1=_lo_vwuz2 + bpl b1_from_print_sword + //SEG205 [94] phi from print_sword to print_sword::@2 [phi:print_sword->print_sword::@2] + b2_from_print_sword: + jmp b2 + //SEG206 print_sword::@2 + b2: + //SEG207 [95] call print_char param-assignment [ print_sword::w#1 char_cursor#17 ] ( main:2::sin8u_table:7::print_sword:58 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_sword::w#1 char_cursor#17 ] ) + //SEG208 [82] phi from print_sword::@2 to print_char [phi:print_sword::@2->print_char] + print_char_from_b2: + //SEG209 [82] phi (byte*) char_cursor#62 = (byte*) char_cursor#2 [phi:print_sword::@2->print_char#0] -- register_copy + //SEG210 [82] phi (byte) print_char::ch#4 = (byte) '-' [phi:print_sword::@2->print_char#1] -- vbuz1=vbuc1 + lda #'-' + sta print_char.ch + jsr print_char + jmp b4 + //SEG211 print_sword::@4 + b4: + //SEG212 [96] (signed word) print_sword::w#0 ← - (signed word) print_sword::w#1 [ char_cursor#17 print_sword::w#0 ] ( main:2::sin8u_table:7::print_sword:58 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_sword::w#0 ] ) -- vwsz1=_neg_vwsz1 + sec lda w - sta print_byte.b - //SEG190 [88] call print_byte param-assignment [ char_cursor#11 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_word:49 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 ] ) - //SEG191 [65] phi from print_word::@1 to print_byte [phi:print_word::@1->print_byte] - print_byte_from_b1: - //SEG192 [65] phi (byte*) char_cursor#73 = (byte*) char_cursor#11 [phi:print_word::@1->print_byte#0] -- register_copy - //SEG193 [65] phi (byte) print_byte::b#7 = (byte) print_byte::b#1 [phi:print_word::@1->print_byte#1] -- register_copy - jsr print_byte + eor #$ff + adc #0 + sta w + lda w+1 + eor #$ff + adc #0 + sta w+1 + //SEG213 [97] phi from print_sword print_sword::@4 to print_sword::@1 [phi:print_sword/print_sword::@4->print_sword::@1] + b1_from_print_sword: + b1_from_b4: + //SEG214 [97] phi (byte*) char_cursor#92 = (byte*) char_cursor#2 [phi:print_sword/print_sword::@4->print_sword::@1#0] -- register_copy + //SEG215 [97] phi (signed word) print_sword::w#3 = (signed word) print_sword::w#1 [phi:print_sword/print_sword::@4->print_sword::@1#1] -- register_copy + jmp b1 + //SEG216 print_sword::@1 + b1: + //SEG217 [98] (word~) print_word::w#5 ← (word)(signed word) print_sword::w#3 [ char_cursor#92 print_word::w#5 ] ( main:2::sin8u_table:7::print_sword:58 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#92 print_word::w#5 ] ) -- vwuz1=vwuz2 + lda w + sta print_word.w + lda w+1 + sta print_word.w+1 + //SEG218 [99] call print_word param-assignment [ char_cursor#17 ] ( main:2::sin8u_table:7::print_sword:58 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) + //SEG219 [101] phi from print_sword::@1 to print_word [phi:print_sword::@1->print_word] + print_word_from_b1: + //SEG220 [101] phi (byte*) char_cursor#96 = (byte*) char_cursor#92 [phi:print_sword::@1->print_word#0] -- register_copy + //SEG221 [101] phi (word) print_word::w#3 = (word~) print_word::w#5 [phi:print_sword::@1->print_word#1] -- register_copy + jsr print_word jmp breturn - //SEG194 print_word::@return + //SEG222 print_sword::@return breturn: - //SEG195 [89] return [ char_cursor#11 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_word:49 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 ] ) + //SEG223 [100] return [ char_cursor#17 ] ( main:2::sin8u_table:7::print_sword:58 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) rts } -//SEG196 mul8su +//SEG224 print_word +print_word: { + .label w = $12 + //SEG225 [102] (byte) print_byte::b#1 ← > (word) print_word::w#3 [ print_byte::b#1 char_cursor#96 print_word::w#3 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 print_byte::b#1 char_cursor#96 print_word::w#3 ] main:2::sin8u_table:7::print_word:50 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#1 char_cursor#96 print_word::w#3 ] main:2::sin8u_table:7::print_sword:58::print_word:99 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#1 char_cursor#96 print_word::w#3 ] ) -- vbuz1=_hi_vwuz2 + lda w+1 + sta print_byte.b + //SEG226 [103] call print_byte param-assignment [ char_cursor#17 print_word::w#3 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#17 print_word::w#3 ] main:2::sin8u_table:7::print_word:50 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_word::w#3 ] main:2::sin8u_table:7::print_sword:58::print_word:99 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_word::w#3 ] ) + //SEG227 [74] phi from print_word to print_byte [phi:print_word->print_byte] + print_byte_from_print_word: + //SEG228 [74] phi (byte*) char_cursor#97 = (byte*) char_cursor#96 [phi:print_word->print_byte#0] -- register_copy + //SEG229 [74] phi (byte) print_byte::b#8 = (byte) print_byte::b#1 [phi:print_word->print_byte#1] -- register_copy + jsr print_byte + jmp b1 + //SEG230 print_word::@1 + b1: + //SEG231 [104] (byte) print_byte::b#2 ← < (word) print_word::w#3 [ char_cursor#17 print_byte::b#2 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#17 print_byte::b#2 ] main:2::sin8u_table:7::print_word:50 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_byte::b#2 ] main:2::sin8u_table:7::print_sword:58::print_word:99 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_byte::b#2 ] ) -- vbuz1=_lo_vwuz2 + lda w + sta print_byte.b + //SEG232 [105] call print_byte param-assignment [ char_cursor#17 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_word:50 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) + //SEG233 [74] phi from print_word::@1 to print_byte [phi:print_word::@1->print_byte] + print_byte_from_b1: + //SEG234 [74] phi (byte*) char_cursor#97 = (byte*) char_cursor#17 [phi:print_word::@1->print_byte#0] -- register_copy + //SEG235 [74] phi (byte) print_byte::b#8 = (byte) print_byte::b#2 [phi:print_word::@1->print_byte#1] -- register_copy + jsr print_byte + jmp breturn + //SEG236 print_word::@return + breturn: + //SEG237 [106] return [ char_cursor#17 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_word:50 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) + rts +} +//SEG238 print_sbyte +print_sbyte: { + .label b = $14 + //SEG239 [107] if((signed byte) print_sbyte::b#1>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto print_sbyte::@1 [ print_sbyte::b#1 char_cursor#2 ] ( main:2::sin8u_table:7::print_sbyte:54 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_sbyte::b#1 char_cursor#2 ] ) -- vbsz1_ge_0_then_la1 + lda b + cmp #0 + bpl b1_from_print_sbyte + //SEG240 [108] phi from print_sbyte to print_sbyte::@2 [phi:print_sbyte->print_sbyte::@2] + b2_from_print_sbyte: + jmp b2 + //SEG241 print_sbyte::@2 + b2: + //SEG242 [109] call print_char param-assignment [ print_sbyte::b#1 char_cursor#17 ] ( main:2::sin8u_table:7::print_sbyte:54 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_sbyte::b#1 char_cursor#17 ] ) + //SEG243 [82] phi from print_sbyte::@2 to print_char [phi:print_sbyte::@2->print_char] + print_char_from_b2: + //SEG244 [82] phi (byte*) char_cursor#62 = (byte*) char_cursor#2 [phi:print_sbyte::@2->print_char#0] -- register_copy + //SEG245 [82] phi (byte) print_char::ch#4 = (byte) '-' [phi:print_sbyte::@2->print_char#1] -- vbuz1=vbuc1 + lda #'-' + sta print_char.ch + jsr print_char + jmp b4 + //SEG246 print_sbyte::@4 + b4: + //SEG247 [110] (signed byte) print_sbyte::b#0 ← - (signed byte) print_sbyte::b#1 [ char_cursor#17 print_sbyte::b#0 ] ( main:2::sin8u_table:7::print_sbyte:54 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_sbyte::b#0 ] ) -- vbsz1=_neg_vbsz1 + lda b + eor #$ff + clc + adc #1 + sta b + //SEG248 [111] phi from print_sbyte print_sbyte::@4 to print_sbyte::@1 [phi:print_sbyte/print_sbyte::@4->print_sbyte::@1] + b1_from_print_sbyte: + b1_from_b4: + //SEG249 [111] phi (byte*) char_cursor#94 = (byte*) char_cursor#2 [phi:print_sbyte/print_sbyte::@4->print_sbyte::@1#0] -- register_copy + //SEG250 [111] phi (signed byte) print_sbyte::b#3 = (signed byte) print_sbyte::b#1 [phi:print_sbyte/print_sbyte::@4->print_sbyte::@1#1] -- register_copy + jmp b1 + //SEG251 print_sbyte::@1 + b1: + //SEG252 [112] (byte~) print_byte::b#10 ← (byte)(signed byte) print_sbyte::b#3 [ print_byte::b#10 char_cursor#94 ] ( main:2::sin8u_table:7::print_sbyte:54 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#10 char_cursor#94 ] ) -- vbuz1=vbuz2 + lda b + sta print_byte.b + //SEG253 [113] call print_byte param-assignment [ char_cursor#17 ] ( main:2::sin8u_table:7::print_sbyte:54 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) + //SEG254 [74] phi from print_sbyte::@1 to print_byte [phi:print_sbyte::@1->print_byte] + print_byte_from_b1: + //SEG255 [74] phi (byte*) char_cursor#97 = (byte*) char_cursor#94 [phi:print_sbyte::@1->print_byte#0] -- register_copy + //SEG256 [74] phi (byte) print_byte::b#8 = (byte~) print_byte::b#10 [phi:print_sbyte::@1->print_byte#1] -- register_copy + jsr print_byte + jmp breturn + //SEG257 print_sbyte::@return + breturn: + //SEG258 [114] return [ char_cursor#17 ] ( main:2::sin8u_table:7::print_sbyte:54 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) + rts +} +//SEG259 mul8su mul8su: { - .label _6 = $3b - .label _10 = $3c - .label m = $12 - .label a = $30 - .label return = $31 - //SEG197 [90] (byte~) mul8u::a#8 ← (byte)(signed byte) mul8su::a#0 [ mul8su::a#0 mul8u::a#8 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::a#8 ] ) -- vbuz1=vbuz2 + .const b = sin8u_table.amplitude+1 + .label _6 = $3f + .label _10 = $40 + .label m = $15 + .label a = $34 + .label return = $35 + //SEG260 [115] (byte~) mul8u::a#8 ← (byte)(signed byte) mul8su::a#0 [ mul8su::a#0 mul8u::a#8 ] ( main:2::sin8u_table:7::mul8su:40 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::a#8 ] ) -- vbuz1=vbuz2 lda a sta mul8u.a - //SEG198 [91] call mul8u param-assignment [ mul8su::a#0 mul8u::res#2 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::res#2 ] ) - //SEG199 [100] phi from mul8su to mul8u [phi:mul8su->mul8u] + //SEG261 [116] call mul8u param-assignment [ mul8su::a#0 mul8u::res#2 ] ( main:2::sin8u_table:7::mul8su:40 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::res#2 ] ) + //SEG262 [125] phi from mul8su to mul8u [phi:mul8su->mul8u] mul8u_from_mul8su: - //SEG200 [100] phi (byte) mul8u::a#6 = (byte~) mul8u::a#8 [phi:mul8su->mul8u#0] -- register_copy - //SEG201 [100] phi (byte) mul8u::b#2 = ((byte))(const byte) sin8u_table::amplitude#0 [phi:mul8su->mul8u#1] -- vbuz1=vbuc1 - lda #sin8u_table.amplitude + //SEG263 [125] phi (byte) mul8u::a#6 = (byte~) mul8u::a#8 [phi:mul8su->mul8u#0] -- register_copy + //SEG264 [125] phi (byte) mul8u::b#2 = ((byte))(const byte) mul8su::b#0 [phi:mul8su->mul8u#1] -- vbuz1=vbuc1 + lda #b sta mul8u.b jsr mul8u - //SEG202 [92] (word) mul8u::return#2 ← (word) mul8u::res#2 [ mul8su::a#0 mul8u::return#2 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::return#2 ] ) -- vwuz1=vwuz2 + //SEG265 [117] (word) mul8u::return#2 ← (word) mul8u::res#2 [ mul8su::a#0 mul8u::return#2 ] ( main:2::sin8u_table:7::mul8su:40 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::return#2 ] ) -- vwuz1=vwuz2 lda mul8u.res sta mul8u.return lda mul8u.res+1 sta mul8u.return+1 jmp b4 - //SEG203 mul8su::@4 + //SEG266 mul8su::@4 b4: - //SEG204 [93] (word) mul8su::m#0 ← (word) mul8u::return#2 [ mul8su::a#0 mul8su::m#0 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8su::m#0 ] ) -- vwuz1=vwuz2 + //SEG267 [118] (word) mul8su::m#0 ← (word) mul8u::return#2 [ mul8su::a#0 mul8su::m#0 ] ( main:2::sin8u_table:7::mul8su:40 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8su::m#0 ] ) -- vwuz1=vwuz2 lda mul8u.return sta m lda mul8u.return+1 sta m+1 - //SEG205 [94] if((signed byte) mul8su::a#0>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8su::@1 [ mul8su::m#0 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::m#0 ] ) -- vbsz1_ge_0_then_la1 + //SEG268 [119] if((signed byte) mul8su::a#0>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8su::@1 [ mul8su::m#0 ] ( main:2::sin8u_table:7::mul8su:40 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::m#0 ] ) -- vbsz1_ge_0_then_la1 lda a cmp #0 bpl b1_from_b4 jmp b2 - //SEG206 mul8su::@2 + //SEG269 mul8su::@2 b2: - //SEG207 [95] (byte~) mul8su::$6 ← > (word) mul8su::m#0 [ mul8su::m#0 mul8su::$6 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::m#0 mul8su::$6 ] ) -- vbuz1=_hi_vwuz2 + //SEG270 [120] (byte~) mul8su::$6 ← > (word) mul8su::m#0 [ mul8su::m#0 mul8su::$6 ] ( main:2::sin8u_table:7::mul8su:40 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::m#0 mul8su::$6 ] ) -- vbuz1=_hi_vwuz2 lda m+1 sta _6 - //SEG208 [96] (byte/signed byte/word/signed word/dword/signed dword~) mul8su::$10 ← (byte~) mul8su::$6 - ((byte))(const byte) sin8u_table::amplitude#0 [ mul8su::m#0 mul8su::$10 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::m#0 mul8su::$10 ] ) -- vbuz1=vbuz2_minus_vbuc1 + //SEG271 [121] (byte/signed byte/word/signed word/dword/signed dword~) mul8su::$10 ← (byte~) mul8su::$6 - ((byte))(const byte) mul8su::b#0 [ mul8su::m#0 mul8su::$10 ] ( main:2::sin8u_table:7::mul8su:40 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::m#0 mul8su::$10 ] ) -- vbuz1=vbuz2_minus_vbuc1 lda _6 sec - sbc #sin8u_table.amplitude + sbc #b sta _10 - //SEG209 [97] (word) mul8su::m#1 ← (word) mul8su::m#0 hi= (byte/signed byte/word/signed word/dword/signed dword~) mul8su::$10 [ mul8su::m#1 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::m#1 ] ) -- vwuz1=vwuz1_sethi_vbuz2 + //SEG272 [122] (word) mul8su::m#1 ← (word) mul8su::m#0 hi= (byte/signed byte/word/signed word/dword/signed dword~) mul8su::$10 [ mul8su::m#1 ] ( main:2::sin8u_table:7::mul8su:40 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::m#1 ] ) -- vwuz1=vwuz1_sethi_vbuz2 lda _10 sta m+1 - //SEG210 [98] phi from mul8su::@2 mul8su::@4 to mul8su::@1 [phi:mul8su::@2/mul8su::@4->mul8su::@1] + //SEG273 [123] phi from mul8su::@2 mul8su::@4 to mul8su::@1 [phi:mul8su::@2/mul8su::@4->mul8su::@1] b1_from_b2: b1_from_b4: - //SEG211 [98] phi (word) mul8su::m#2 = (word) mul8su::m#1 [phi:mul8su::@2/mul8su::@4->mul8su::@1#0] -- register_copy + //SEG274 [123] phi (word) mul8su::m#2 = (word) mul8su::m#1 [phi:mul8su::@2/mul8su::@4->mul8su::@1#0] -- register_copy jmp b1 - //SEG212 mul8su::@1 + //SEG275 mul8su::@1 b1: jmp breturn - //SEG213 mul8su::@return + //SEG276 mul8su::@return breturn: - //SEG214 [99] return [ mul8su::m#2 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::m#2 ] ) + //SEG277 [124] return [ mul8su::m#2 ] ( main:2::sin8u_table:7::mul8su:40 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::m#2 ] ) rts } -//SEG215 mul8u +//SEG278 mul8u mul8u: { - .label _1 = $3d - .label mb = $18 - .label a = $15 - .label res = $16 - .label return = $39 - .label b = $14 - .label return_3 = $4d - //SEG216 [101] (word) mul8u::mb#0 ← ((word)) (byte) mul8u::b#2 [ mul8u::a#6 mul8u::mb#0 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] ) -- vwuz1=_word_vbuz2 + .label _1 = $41 + .label mb = $1b + .label a = $18 + .label res = $19 + .label return = $3d + .label b = $17 + .label return_3 = $51 + //SEG279 [126] (word) mul8u::mb#0 ← ((word)) (byte) mul8u::b#2 [ mul8u::a#6 mul8u::mb#0 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] ) -- vwuz1=_word_vbuz2 lda b sta mb lda #0 sta mb+1 - //SEG217 [102] phi from mul8u to mul8u::@1 [phi:mul8u->mul8u::@1] + //SEG280 [127] phi from mul8u to mul8u::@1 [phi:mul8u->mul8u::@1] b1_from_mul8u: - //SEG218 [102] phi (word) mul8u::mb#2 = (word) mul8u::mb#0 [phi:mul8u->mul8u::@1#0] -- register_copy - //SEG219 [102] phi (word) mul8u::res#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mul8u->mul8u::@1#1] -- vwuz1=vbuc1 + //SEG281 [127] phi (word) mul8u::mb#2 = (word) mul8u::mb#0 [phi:mul8u->mul8u::@1#0] -- register_copy + //SEG282 [127] phi (word) mul8u::res#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mul8u->mul8u::@1#1] -- vwuz1=vbuc1 lda #<0 sta res lda #>0 sta res+1 - //SEG220 [102] phi (byte) mul8u::a#3 = (byte) mul8u::a#6 [phi:mul8u->mul8u::@1#2] -- register_copy + //SEG283 [127] phi (byte) mul8u::a#3 = (byte) mul8u::a#6 [phi:mul8u->mul8u::@1#2] -- register_copy jmp b1 - //SEG221 mul8u::@1 + //SEG284 mul8u::@1 b1: - //SEG222 [103] if((byte) mul8u::a#3!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@2 [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ) -- vbuz1_neq_0_then_la1 + //SEG285 [128] if((byte) mul8u::a#3!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@2 [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ) -- vbuz1_neq_0_then_la1 lda a bne b2 jmp breturn - //SEG223 mul8u::@return + //SEG286 mul8u::@return breturn: - //SEG224 [104] return [ mul8u::res#2 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::res#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 ] ) + //SEG287 [129] return [ mul8u::res#2 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::res#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 ] ) rts - //SEG225 mul8u::@2 + //SEG288 mul8u::@2 b2: - //SEG226 [105] (byte~) mul8u::$1 ← (byte) mul8u::a#3 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] ) -- vbuz1=vbuz2_band_vbuc1 + //SEG289 [130] (byte~) mul8u::$1 ← (byte) mul8u::a#3 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] ) -- vbuz1=vbuz2_band_vbuc1 lda #1 and a sta _1 - //SEG227 [106] if((byte~) mul8u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@4 [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ) -- vbuz1_eq_0_then_la1 + //SEG290 [131] if((byte~) mul8u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@4 [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ) -- vbuz1_eq_0_then_la1 lda _1 beq b4_from_b2 jmp b7 - //SEG228 mul8u::@7 + //SEG291 mul8u::@7 b7: - //SEG229 [107] (word) mul8u::res#1 ← (word) mul8u::res#2 + (word) mul8u::mb#2 [ mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] ) -- vwuz1=vwuz1_plus_vwuz2 + //SEG292 [132] (word) mul8u::res#1 ← (word) mul8u::res#2 + (word) mul8u::mb#2 [ mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] ) -- vwuz1=vwuz1_plus_vwuz2 lda res clc adc mb @@ -7120,46 +7867,46 @@ mul8u: { lda res+1 adc mb+1 sta res+1 - //SEG230 [108] phi from mul8u::@2 mul8u::@7 to mul8u::@4 [phi:mul8u::@2/mul8u::@7->mul8u::@4] + //SEG293 [133] phi from mul8u::@2 mul8u::@7 to mul8u::@4 [phi:mul8u::@2/mul8u::@7->mul8u::@4] b4_from_b2: b4_from_b7: - //SEG231 [108] phi (word) mul8u::res#6 = (word) mul8u::res#2 [phi:mul8u::@2/mul8u::@7->mul8u::@4#0] -- register_copy + //SEG294 [133] phi (word) mul8u::res#6 = (word) mul8u::res#2 [phi:mul8u::@2/mul8u::@7->mul8u::@4#0] -- register_copy jmp b4 - //SEG232 mul8u::@4 + //SEG295 mul8u::@4 b4: - //SEG233 [109] (byte) mul8u::a#0 ← (byte) mul8u::a#3 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] ) -- vbuz1=vbuz1_ror_1 + //SEG296 [134] (byte) mul8u::a#0 ← (byte) mul8u::a#3 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] ) -- vbuz1=vbuz1_ror_1 lsr a - //SEG234 [110] (word) mul8u::mb#1 ← (word) mul8u::mb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] ) -- vwuz1=vwuz1_rol_1 + //SEG297 [135] (word) mul8u::mb#1 ← (word) mul8u::mb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] ) -- vwuz1=vwuz1_rol_1 asl mb rol mb+1 - //SEG235 [102] phi from mul8u::@4 to mul8u::@1 [phi:mul8u::@4->mul8u::@1] + //SEG298 [127] phi from mul8u::@4 to mul8u::@1 [phi:mul8u::@4->mul8u::@1] b1_from_b4: - //SEG236 [102] phi (word) mul8u::mb#2 = (word) mul8u::mb#1 [phi:mul8u::@4->mul8u::@1#0] -- register_copy - //SEG237 [102] phi (word) mul8u::res#2 = (word) mul8u::res#6 [phi:mul8u::@4->mul8u::@1#1] -- register_copy - //SEG238 [102] phi (byte) mul8u::a#3 = (byte) mul8u::a#0 [phi:mul8u::@4->mul8u::@1#2] -- register_copy + //SEG299 [127] phi (word) mul8u::mb#2 = (word) mul8u::mb#1 [phi:mul8u::@4->mul8u::@1#0] -- register_copy + //SEG300 [127] phi (word) mul8u::res#2 = (word) mul8u::res#6 [phi:mul8u::@4->mul8u::@1#1] -- register_copy + //SEG301 [127] phi (byte) mul8u::a#3 = (byte) mul8u::a#0 [phi:mul8u::@4->mul8u::@1#2] -- register_copy jmp b1 } -//SEG239 sin8s +//SEG302 sin8s sin8s: { .const DIV_6 = $2b - .label _6 = $3e - .label x = $1b - .label x1 = $40 - .label x2 = $42 - .label x3 = $44 - .label x3_6 = $46 - .label usinx = $47 - .label x4 = $49 - .label x5 = $4b - .label x5_128 = $4c - .label usinx_1 = $1d - .label usinx_2 = $1d - .label return = $1e - .label sinx = $1e - .label return_2 = $2f - .label usinx_4 = $1d - .label isUpper = $1a - //SEG240 [111] if((word) sin8s::x#2<(const word) PI_u4f12#0) goto sin8s::@1 [ sin8s::x#2 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::x#2 ] ) -- vwuz1_lt_vwuc1_then_la1 + .label _6 = $42 + .label x = $1e + .label x1 = $44 + .label x2 = $46 + .label x3 = $48 + .label x3_6 = $4a + .label usinx = $4b + .label x4 = $4d + .label x5 = $4f + .label x5_128 = $50 + .label usinx_1 = $20 + .label usinx_2 = $20 + .label return = $21 + .label sinx = $21 + .label return_2 = $32 + .label usinx_4 = $20 + .label isUpper = $1d + //SEG303 [136] if((word) sin8s::x#2<(const word) PI_u4f12#0) goto sin8s::@1 [ sin8s::x#2 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::x#2 ] ) -- vwuz1_lt_vwuc1_then_la1 lda x+1 cmp #>PI_u4f12 bcc b1_from_sin8s @@ -7169,9 +7916,9 @@ sin8s: { bcc b1_from_sin8s !: jmp b5 - //SEG241 sin8s::@5 + //SEG304 sin8s::@5 b5: - //SEG242 [112] (word) sin8s::x#0 ← (word) sin8s::x#2 - (const word) PI_u4f12#0 [ sin8s::x#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::x#0 ] ) -- vwuz1=vwuz1_minus_vwuc1 + //SEG305 [137] (word) sin8s::x#0 ← (word) sin8s::x#2 - (const word) PI_u4f12#0 [ sin8s::x#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::x#0 ] ) -- vwuz1=vwuz1_minus_vwuc1 lda x sec sbc #PI_u4f12 sta x+1 - //SEG243 [113] phi from sin8s::@5 to sin8s::@1 [phi:sin8s::@5->sin8s::@1] + //SEG306 [138] phi from sin8s::@5 to sin8s::@1 [phi:sin8s::@5->sin8s::@1] b1_from_b5: - //SEG244 [113] phi (byte) sin8s::isUpper#10 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin8s::@5->sin8s::@1#0] -- vbuz1=vbuc1 + //SEG307 [138] phi (byte) sin8s::isUpper#10 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin8s::@5->sin8s::@1#0] -- vbuz1=vbuc1 lda #1 sta isUpper - //SEG245 [113] phi (word) sin8s::x#4 = (word) sin8s::x#0 [phi:sin8s::@5->sin8s::@1#1] -- register_copy + //SEG308 [138] phi (word) sin8s::x#4 = (word) sin8s::x#0 [phi:sin8s::@5->sin8s::@1#1] -- register_copy jmp b1 - //SEG246 [113] phi from sin8s to sin8s::@1 [phi:sin8s->sin8s::@1] + //SEG309 [138] phi from sin8s to sin8s::@1 [phi:sin8s->sin8s::@1] b1_from_sin8s: - //SEG247 [113] phi (byte) sin8s::isUpper#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s->sin8s::@1#0] -- vbuz1=vbuc1 + //SEG310 [138] phi (byte) sin8s::isUpper#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s->sin8s::@1#0] -- vbuz1=vbuc1 lda #0 sta isUpper - //SEG248 [113] phi (word) sin8s::x#4 = (word) sin8s::x#2 [phi:sin8s->sin8s::@1#1] -- register_copy + //SEG311 [138] phi (word) sin8s::x#4 = (word) sin8s::x#2 [phi:sin8s->sin8s::@1#1] -- register_copy jmp b1 - //SEG249 sin8s::@1 + //SEG312 sin8s::@1 b1: - //SEG250 [114] if((word) sin8s::x#4<(const word) PI_HALF_u4f12#0) goto sin8s::@2 [ sin8s::x#4 sin8s::isUpper#10 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::x#4 sin8s::isUpper#10 ] ) -- vwuz1_lt_vwuc1_then_la1 + //SEG313 [139] if((word) sin8s::x#4<(const word) PI_HALF_u4f12#0) goto sin8s::@2 [ sin8s::x#4 sin8s::isUpper#10 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::x#4 sin8s::isUpper#10 ] ) -- vwuz1_lt_vwuc1_then_la1 lda x+1 cmp #>PI_HALF_u4f12 bcc b2_from_b1 @@ -7205,9 +7952,9 @@ sin8s: { bcc b2_from_b1 !: jmp b6 - //SEG251 sin8s::@6 + //SEG314 sin8s::@6 b6: - //SEG252 [115] (word) sin8s::x#1 ← (const word) PI_u4f12#0 - (word) sin8s::x#4 [ sin8s::isUpper#10 sin8s::x#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x#1 ] ) -- vwuz1=vwuc1_minus_vwuz1 + //SEG315 [140] (word) sin8s::x#1 ← (const word) PI_u4f12#0 - (word) sin8s::x#4 [ sin8s::isUpper#10 sin8s::x#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x#1 ] ) -- vwuz1=vwuc1_minus_vwuz1 sec lda #PI_u4f12 sbc x+1 sta x+1 - //SEG253 [116] phi from sin8s::@1 sin8s::@6 to sin8s::@2 [phi:sin8s::@1/sin8s::@6->sin8s::@2] + //SEG316 [141] phi from sin8s::@1 sin8s::@6 to sin8s::@2 [phi:sin8s::@1/sin8s::@6->sin8s::@2] b2_from_b1: b2_from_b6: - //SEG254 [116] phi (word) sin8s::x#6 = (word) sin8s::x#4 [phi:sin8s::@1/sin8s::@6->sin8s::@2#0] -- register_copy + //SEG317 [141] phi (word) sin8s::x#6 = (word) sin8s::x#4 [phi:sin8s::@1/sin8s::@6->sin8s::@2#0] -- register_copy jmp b2 - //SEG255 sin8s::@2 + //SEG318 sin8s::@2 b2: - //SEG256 [117] (word~) sin8s::$6 ← (word) sin8s::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin8s::isUpper#10 sin8s::$6 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::$6 ] ) -- vwuz1=vwuz2_rol_3 + //SEG319 [142] (word~) sin8s::$6 ← (word) sin8s::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin8s::isUpper#10 sin8s::$6 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::$6 ] ) -- vwuz1=vwuz2_rol_3 lda x asl sta _6 @@ -7233,231 +7980,231 @@ sin8s: { rol _6+1 asl _6 rol _6+1 - //SEG257 [118] (byte) sin8s::x1#0 ← > (word~) sin8s::$6 [ sin8s::isUpper#10 sin8s::x1#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 ] ) -- vbuz1=_hi_vwuz2 + //SEG320 [143] (byte) sin8s::x1#0 ← > (word~) sin8s::$6 [ sin8s::isUpper#10 sin8s::x1#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 ] ) -- vbuz1=_hi_vwuz2 lda _6+1 sta x1 - //SEG258 [119] (byte) mulu8_sel::v1#0 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 ] ) -- vbuz1=vbuz2 + //SEG321 [144] (byte) mulu8_sel::v1#0 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 ] ) -- vbuz1=vbuz2 lda x1 sta mulu8_sel.v1 - //SEG259 [120] (byte) mulu8_sel::v2#0 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 mulu8_sel::v2#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 mulu8_sel::v2#0 ] ) -- vbuz1=vbuz2 + //SEG322 [145] (byte) mulu8_sel::v2#0 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 mulu8_sel::v2#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 mulu8_sel::v2#0 ] ) -- vbuz1=vbuz2 lda x1 sta mulu8_sel.v2 - //SEG260 [121] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ) - //SEG261 [154] phi from sin8s::@2 to mulu8_sel [phi:sin8s::@2->mulu8_sel] + //SEG323 [146] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ) + //SEG324 [179] phi from sin8s::@2 to mulu8_sel [phi:sin8s::@2->mulu8_sel] mulu8_sel_from_b2: - //SEG262 [154] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s::@2->mulu8_sel#0] -- vbuz1=vbuc1 + //SEG325 [179] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s::@2->mulu8_sel#0] -- vbuz1=vbuc1 lda #0 sta mulu8_sel.select - //SEG263 [154] phi (byte) mulu8_sel::v2#5 = (byte) mulu8_sel::v2#0 [phi:sin8s::@2->mulu8_sel#1] -- register_copy - //SEG264 [154] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#0 [phi:sin8s::@2->mulu8_sel#2] -- register_copy + //SEG326 [179] phi (byte) mulu8_sel::v2#5 = (byte) mulu8_sel::v2#0 [phi:sin8s::@2->mulu8_sel#1] -- register_copy + //SEG327 [179] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#0 [phi:sin8s::@2->mulu8_sel#2] -- register_copy jsr mulu8_sel - //SEG265 [122] (byte) mulu8_sel::return#0 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#0 ] ) -- vbuz1=vbuz2 + //SEG328 [147] (byte) mulu8_sel::return#0 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#0 ] ) -- vbuz1=vbuz2 lda mulu8_sel.return_12 sta mulu8_sel.return jmp b10 - //SEG266 sin8s::@10 + //SEG329 sin8s::@10 b10: - //SEG267 [123] (byte) sin8s::x2#0 ← (byte) mulu8_sel::return#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x2#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x2#0 ] ) -- vbuz1=vbuz2 + //SEG330 [148] (byte) sin8s::x2#0 ← (byte) mulu8_sel::return#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x2#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x2#0 ] ) -- vbuz1=vbuz2 lda mulu8_sel.return sta x2 - //SEG268 [124] (byte) mulu8_sel::v1#1 ← (byte) sin8s::x2#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 ] ) -- vbuz1=vbuz2 + //SEG331 [149] (byte) mulu8_sel::v1#1 ← (byte) sin8s::x2#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 ] ) -- vbuz1=vbuz2 lda x2 sta mulu8_sel.v1 - //SEG269 [125] (byte) mulu8_sel::v2#1 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 mulu8_sel::v2#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 mulu8_sel::v2#1 ] ) -- vbuz1=vbuz2 + //SEG332 [150] (byte) mulu8_sel::v2#1 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 mulu8_sel::v2#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 mulu8_sel::v2#1 ] ) -- vbuz1=vbuz2 lda x1 sta mulu8_sel.v2 - //SEG270 [126] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ) - //SEG271 [154] phi from sin8s::@10 to mulu8_sel [phi:sin8s::@10->mulu8_sel] + //SEG333 [151] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ) + //SEG334 [179] phi from sin8s::@10 to mulu8_sel [phi:sin8s::@10->mulu8_sel] mulu8_sel_from_b10: - //SEG272 [154] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin8s::@10->mulu8_sel#0] -- vbuz1=vbuc1 + //SEG335 [179] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin8s::@10->mulu8_sel#0] -- vbuz1=vbuc1 lda #1 sta mulu8_sel.select - //SEG273 [154] phi (byte) mulu8_sel::v2#5 = (byte) mulu8_sel::v2#1 [phi:sin8s::@10->mulu8_sel#1] -- register_copy - //SEG274 [154] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#1 [phi:sin8s::@10->mulu8_sel#2] -- register_copy + //SEG336 [179] phi (byte) mulu8_sel::v2#5 = (byte) mulu8_sel::v2#1 [phi:sin8s::@10->mulu8_sel#1] -- register_copy + //SEG337 [179] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#1 [phi:sin8s::@10->mulu8_sel#2] -- register_copy jsr mulu8_sel - //SEG275 [127] (byte) mulu8_sel::return#1 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#1 ] ) -- vbuz1=vbuz2 + //SEG338 [152] (byte) mulu8_sel::return#1 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#1 ] ) -- vbuz1=vbuz2 lda mulu8_sel.return_12 sta mulu8_sel.return_1 jmp b11 - //SEG276 sin8s::@11 + //SEG339 sin8s::@11 b11: - //SEG277 [128] (byte) sin8s::x3#0 ← (byte) mulu8_sel::return#1 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 ] ) -- vbuz1=vbuz2 + //SEG340 [153] (byte) sin8s::x3#0 ← (byte) mulu8_sel::return#1 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 ] ) -- vbuz1=vbuz2 lda mulu8_sel.return_1 sta x3 - //SEG278 [129] (byte) mulu8_sel::v1#2 ← (byte) sin8s::x3#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#2 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#2 ] ) -- vbuz1=vbuz2 + //SEG341 [154] (byte) mulu8_sel::v1#2 ← (byte) sin8s::x3#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#2 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#2 ] ) -- vbuz1=vbuz2 lda x3 sta mulu8_sel.v1 - //SEG279 [130] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::x3#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::x3#0 ] ) - //SEG280 [154] phi from sin8s::@11 to mulu8_sel [phi:sin8s::@11->mulu8_sel] + //SEG342 [155] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::x3#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::x3#0 ] ) + //SEG343 [179] phi from sin8s::@11 to mulu8_sel [phi:sin8s::@11->mulu8_sel] mulu8_sel_from_b11: - //SEG281 [154] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin8s::@11->mulu8_sel#0] -- vbuz1=vbuc1 + //SEG344 [179] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin8s::@11->mulu8_sel#0] -- vbuz1=vbuc1 lda #1 sta mulu8_sel.select - //SEG282 [154] phi (byte) mulu8_sel::v2#5 = (const byte) sin8s::DIV_6#0 [phi:sin8s::@11->mulu8_sel#1] -- vbuz1=vbuc1 + //SEG345 [179] phi (byte) mulu8_sel::v2#5 = (const byte) sin8s::DIV_6#0 [phi:sin8s::@11->mulu8_sel#1] -- vbuz1=vbuc1 lda #DIV_6 sta mulu8_sel.v2 - //SEG283 [154] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#2 [phi:sin8s::@11->mulu8_sel#2] -- register_copy + //SEG346 [179] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#2 [phi:sin8s::@11->mulu8_sel#2] -- register_copy jsr mulu8_sel - //SEG284 [131] (byte) mulu8_sel::return#2 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#2 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#2 ] ) -- vbuz1=vbuz2 + //SEG347 [156] (byte) mulu8_sel::return#2 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#2 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#2 ] ) -- vbuz1=vbuz2 lda mulu8_sel.return_12 sta mulu8_sel.return_2 jmp b12 - //SEG285 sin8s::@12 + //SEG348 sin8s::@12 b12: - //SEG286 [132] (byte) sin8s::x3_6#0 ← (byte) mulu8_sel::return#2 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::x3_6#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::x3_6#0 ] ) -- vbuz1=vbuz2 + //SEG349 [157] (byte) sin8s::x3_6#0 ← (byte) mulu8_sel::return#2 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::x3_6#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::x3_6#0 ] ) -- vbuz1=vbuz2 lda mulu8_sel.return_2 sta x3_6 - //SEG287 [133] (byte) sin8s::usinx#0 ← (byte) sin8s::x1#0 - (byte) sin8s::x3_6#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::usinx#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::usinx#0 ] ) -- vbuz1=vbuz2_minus_vbuz3 + //SEG350 [158] (byte) sin8s::usinx#0 ← (byte) sin8s::x1#0 - (byte) sin8s::x3_6#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::usinx#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::usinx#0 ] ) -- vbuz1=vbuz2_minus_vbuz3 lda x1 sec sbc x3_6 sta usinx - //SEG288 [134] (byte) mulu8_sel::v1#3 ← (byte) sin8s::x3#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 ] ) -- vbuz1=vbuz2 + //SEG351 [159] (byte) mulu8_sel::v1#3 ← (byte) sin8s::x3#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 ] ) -- vbuz1=vbuz2 lda x3 sta mulu8_sel.v1 - //SEG289 [135] (byte) mulu8_sel::v2#3 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 mulu8_sel::v2#3 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 mulu8_sel::v2#3 ] ) -- vbuz1=vbuz2 + //SEG352 [160] (byte) mulu8_sel::v2#3 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 mulu8_sel::v2#3 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 mulu8_sel::v2#3 ] ) -- vbuz1=vbuz2 lda x1 sta mulu8_sel.v2 - //SEG290 [136] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::usinx#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::usinx#0 ] ) - //SEG291 [154] phi from sin8s::@12 to mulu8_sel [phi:sin8s::@12->mulu8_sel] + //SEG353 [161] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::usinx#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::usinx#0 ] ) + //SEG354 [179] phi from sin8s::@12 to mulu8_sel [phi:sin8s::@12->mulu8_sel] mulu8_sel_from_b12: - //SEG292 [154] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s::@12->mulu8_sel#0] -- vbuz1=vbuc1 + //SEG355 [179] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s::@12->mulu8_sel#0] -- vbuz1=vbuc1 lda #0 sta mulu8_sel.select - //SEG293 [154] phi (byte) mulu8_sel::v2#5 = (byte) mulu8_sel::v2#3 [phi:sin8s::@12->mulu8_sel#1] -- register_copy - //SEG294 [154] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#3 [phi:sin8s::@12->mulu8_sel#2] -- register_copy + //SEG356 [179] phi (byte) mulu8_sel::v2#5 = (byte) mulu8_sel::v2#3 [phi:sin8s::@12->mulu8_sel#1] -- register_copy + //SEG357 [179] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#3 [phi:sin8s::@12->mulu8_sel#2] -- register_copy jsr mulu8_sel - //SEG295 [137] (byte) mulu8_sel::return#10 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#10 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#10 ] ) -- vbuz1=vbuz2 + //SEG358 [162] (byte) mulu8_sel::return#10 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#10 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#10 ] ) -- vbuz1=vbuz2 lda mulu8_sel.return_12 sta mulu8_sel.return_10 jmp b13 - //SEG296 sin8s::@13 + //SEG359 sin8s::@13 b13: - //SEG297 [138] (byte) sin8s::x4#0 ← (byte) mulu8_sel::return#10 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 sin8s::x4#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 sin8s::x4#0 ] ) -- vbuz1=vbuz2 + //SEG360 [163] (byte) sin8s::x4#0 ← (byte) mulu8_sel::return#10 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 sin8s::x4#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 sin8s::x4#0 ] ) -- vbuz1=vbuz2 lda mulu8_sel.return_10 sta x4 - //SEG298 [139] (byte) mulu8_sel::v1#4 ← (byte) sin8s::x4#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#4 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#4 ] ) -- vbuz1=vbuz2 + //SEG361 [164] (byte) mulu8_sel::v1#4 ← (byte) sin8s::x4#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#4 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#4 ] ) -- vbuz1=vbuz2 lda x4 sta mulu8_sel.v1 - //SEG299 [140] (byte) mulu8_sel::v2#4 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v1#4 mulu8_sel::v2#4 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v1#4 mulu8_sel::v2#4 ] ) -- vbuz1=vbuz2 + //SEG362 [165] (byte) mulu8_sel::v2#4 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v1#4 mulu8_sel::v2#4 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v1#4 mulu8_sel::v2#4 ] ) -- vbuz1=vbuz2 lda x1 sta mulu8_sel.v2 - //SEG300 [141] call mulu8_sel param-assignment [ sin8s::isUpper#10 mulu8_sel::return#12 sin8s::usinx#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 mulu8_sel::return#12 sin8s::usinx#0 ] ) - //SEG301 [154] phi from sin8s::@13 to mulu8_sel [phi:sin8s::@13->mulu8_sel] + //SEG363 [166] call mulu8_sel param-assignment [ sin8s::isUpper#10 mulu8_sel::return#12 sin8s::usinx#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 mulu8_sel::return#12 sin8s::usinx#0 ] ) + //SEG364 [179] phi from sin8s::@13 to mulu8_sel [phi:sin8s::@13->mulu8_sel] mulu8_sel_from_b13: - //SEG302 [154] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s::@13->mulu8_sel#0] -- vbuz1=vbuc1 + //SEG365 [179] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s::@13->mulu8_sel#0] -- vbuz1=vbuc1 lda #0 sta mulu8_sel.select - //SEG303 [154] phi (byte) mulu8_sel::v2#5 = (byte) mulu8_sel::v2#4 [phi:sin8s::@13->mulu8_sel#1] -- register_copy - //SEG304 [154] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#4 [phi:sin8s::@13->mulu8_sel#2] -- register_copy + //SEG366 [179] phi (byte) mulu8_sel::v2#5 = (byte) mulu8_sel::v2#4 [phi:sin8s::@13->mulu8_sel#1] -- register_copy + //SEG367 [179] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#4 [phi:sin8s::@13->mulu8_sel#2] -- register_copy jsr mulu8_sel - //SEG305 [142] (byte) mulu8_sel::return#11 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#11 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#11 ] ) -- vbuz1=vbuz2 + //SEG368 [167] (byte) mulu8_sel::return#11 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#11 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#11 ] ) -- vbuz1=vbuz2 lda mulu8_sel.return_12 sta mulu8_sel.return_11 jmp b14 - //SEG306 sin8s::@14 + //SEG369 sin8s::@14 b14: - //SEG307 [143] (byte) sin8s::x5#0 ← (byte) mulu8_sel::return#11 [ sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5#0 ] ) -- vbuz1=vbuz2 + //SEG370 [168] (byte) sin8s::x5#0 ← (byte) mulu8_sel::return#11 [ sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5#0 ] ) -- vbuz1=vbuz2 lda mulu8_sel.return_11 sta x5 - //SEG308 [144] (byte) sin8s::x5_128#0 ← (byte) sin8s::x5#0 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5_128#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5_128#0 ] ) -- vbuz1=vbuz2_ror_4 + //SEG371 [169] (byte) sin8s::x5_128#0 ← (byte) sin8s::x5#0 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5_128#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5_128#0 ] ) -- vbuz1=vbuz2_ror_4 lda x5 lsr lsr lsr lsr sta x5_128 - //SEG309 [145] (byte) sin8s::usinx#1 ← (byte) sin8s::usinx#0 + (byte) sin8s::x5_128#0 [ sin8s::isUpper#10 sin8s::usinx#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#1 ] ) -- vbuz1=vbuz2_plus_vbuz3 + //SEG372 [170] (byte) sin8s::usinx#1 ← (byte) sin8s::usinx#0 + (byte) sin8s::x5_128#0 [ sin8s::isUpper#10 sin8s::usinx#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#1 ] ) -- vbuz1=vbuz2_plus_vbuz3 lda usinx clc adc x5_128 sta usinx_1 - //SEG310 [146] if((byte) sin8s::usinx#1<(byte/word/signed word/dword/signed dword) 128) goto sin8s::@3 [ sin8s::isUpper#10 sin8s::usinx#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#1 ] ) -- vbuz1_lt_vbuc1_then_la1 + //SEG373 [171] if((byte) sin8s::usinx#1<(byte/word/signed word/dword/signed dword) 128) goto sin8s::@3 [ sin8s::isUpper#10 sin8s::usinx#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#1 ] ) -- vbuz1_lt_vbuc1_then_la1 lda usinx_1 cmp #$80 bcc b3_from_b14 jmp b7 - //SEG311 sin8s::@7 + //SEG374 sin8s::@7 b7: - //SEG312 [147] (byte) sin8s::usinx#2 ← -- (byte) sin8s::usinx#1 [ sin8s::isUpper#10 sin8s::usinx#2 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#2 ] ) -- vbuz1=_dec_vbuz1 + //SEG375 [172] (byte) sin8s::usinx#2 ← -- (byte) sin8s::usinx#1 [ sin8s::isUpper#10 sin8s::usinx#2 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#2 ] ) -- vbuz1=_dec_vbuz1 dec usinx_2 - //SEG313 [148] phi from sin8s::@14 sin8s::@7 to sin8s::@3 [phi:sin8s::@14/sin8s::@7->sin8s::@3] + //SEG376 [173] phi from sin8s::@14 sin8s::@7 to sin8s::@3 [phi:sin8s::@14/sin8s::@7->sin8s::@3] b3_from_b14: b3_from_b7: - //SEG314 [148] phi (byte) sin8s::usinx#4 = (byte) sin8s::usinx#1 [phi:sin8s::@14/sin8s::@7->sin8s::@3#0] -- register_copy + //SEG377 [173] phi (byte) sin8s::usinx#4 = (byte) sin8s::usinx#1 [phi:sin8s::@14/sin8s::@7->sin8s::@3#0] -- register_copy jmp b3 - //SEG315 sin8s::@3 + //SEG378 sin8s::@3 b3: - //SEG316 [149] if((byte) sin8s::isUpper#10==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin8s::@18 [ sin8s::usinx#4 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::usinx#4 ] ) -- vbuz1_eq_0_then_la1 + //SEG379 [174] if((byte) sin8s::isUpper#10==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin8s::@18 [ sin8s::usinx#4 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::usinx#4 ] ) -- vbuz1_eq_0_then_la1 lda isUpper beq b18 jmp b8 - //SEG317 sin8s::@8 + //SEG380 sin8s::@8 b8: - //SEG318 [150] (signed byte) sin8s::sinx#1 ← - (signed byte)(byte) sin8s::usinx#4 [ sin8s::sinx#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::sinx#1 ] ) -- vbsz1=_neg_vbsz2 + //SEG381 [175] (signed byte) sin8s::sinx#1 ← - (signed byte)(byte) sin8s::usinx#4 [ sin8s::sinx#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::sinx#1 ] ) -- vbsz1=_neg_vbsz2 lda usinx_4 eor #$ff clc adc #1 sta sinx - //SEG319 [151] phi from sin8s::@18 sin8s::@8 to sin8s::@4 [phi:sin8s::@18/sin8s::@8->sin8s::@4] + //SEG382 [176] phi from sin8s::@18 sin8s::@8 to sin8s::@4 [phi:sin8s::@18/sin8s::@8->sin8s::@4] b4_from_b18: b4_from_b8: - //SEG320 [151] phi (signed byte) sin8s::return#0 = (signed byte~) sin8s::return#5 [phi:sin8s::@18/sin8s::@8->sin8s::@4#0] -- register_copy + //SEG383 [176] phi (signed byte) sin8s::return#0 = (signed byte~) sin8s::return#5 [phi:sin8s::@18/sin8s::@8->sin8s::@4#0] -- register_copy jmp b4 - //SEG321 sin8s::@4 + //SEG384 sin8s::@4 b4: jmp breturn - //SEG322 sin8s::@return + //SEG385 sin8s::@return breturn: - //SEG323 [152] return [ sin8s::return#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::return#0 ] ) + //SEG386 [177] return [ sin8s::return#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::return#0 ] ) rts - //SEG324 sin8s::@18 + //SEG387 sin8s::@18 b18: - //SEG325 [153] (signed byte~) sin8s::return#5 ← (signed byte)(byte) sin8s::usinx#4 [ sin8s::return#5 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::return#5 ] ) -- vbsz1=vbsz2 + //SEG388 [178] (signed byte~) sin8s::return#5 ← (signed byte)(byte) sin8s::usinx#4 [ sin8s::return#5 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::return#5 ] ) -- vbsz1=vbsz2 lda usinx_4 sta return jmp b4_from_b18 } -//SEG326 mulu8_sel +//SEG389 mulu8_sel mulu8_sel: { - .label _0 = $4f - .label _1 = $51 - .label v1 = $1f - .label v2 = $20 - .label return = $41 - .label return_1 = $43 - .label return_2 = $45 - .label return_10 = $48 - .label return_11 = $4a - .label select = $21 - .label return_12 = $53 - //SEG327 [155] (byte) mul8u::a#2 ← (byte) mulu8_sel::v1#5 [ mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] ) -- vbuz1=vbuz2 + .label _0 = $53 + .label _1 = $55 + .label v1 = $22 + .label v2 = $23 + .label return = $45 + .label return_1 = $47 + .label return_2 = $49 + .label return_10 = $4c + .label return_11 = $4e + .label select = $24 + .label return_12 = $57 + //SEG390 [180] (byte) mul8u::a#2 ← (byte) mulu8_sel::v1#5 [ mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:146 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] ) -- vbuz1=vbuz2 lda v1 sta mul8u.a - //SEG328 [156] (byte) mul8u::b#1 ← (byte) mulu8_sel::v2#5 [ mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] ) -- vbuz1=vbuz2 + //SEG391 [181] (byte) mul8u::b#1 ← (byte) mulu8_sel::v2#5 [ mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:146 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] ) -- vbuz1=vbuz2 lda v2 sta mul8u.b - //SEG329 [157] call mul8u param-assignment [ mul8u::res#2 mulu8_sel::select#5 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::res#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::res#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mul8u::res#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mul8u::res#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mul8u::res#2 mulu8_sel::select#5 ] ) - //SEG330 [100] phi from mulu8_sel to mul8u [phi:mulu8_sel->mul8u] + //SEG392 [182] call mul8u param-assignment [ mul8u::res#2 mulu8_sel::select#5 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:146 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::res#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::res#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mul8u::res#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mul8u::res#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mul8u::res#2 mulu8_sel::select#5 ] ) + //SEG393 [125] phi from mulu8_sel to mul8u [phi:mulu8_sel->mul8u] mul8u_from_mulu8_sel: - //SEG331 [100] phi (byte) mul8u::a#6 = (byte) mul8u::a#2 [phi:mulu8_sel->mul8u#0] -- register_copy - //SEG332 [100] phi (byte) mul8u::b#2 = (byte) mul8u::b#1 [phi:mulu8_sel->mul8u#1] -- register_copy + //SEG394 [125] phi (byte) mul8u::a#6 = (byte) mul8u::a#2 [phi:mulu8_sel->mul8u#0] -- register_copy + //SEG395 [125] phi (byte) mul8u::b#2 = (byte) mul8u::b#1 [phi:mulu8_sel->mul8u#1] -- register_copy jsr mul8u - //SEG333 [158] (word) mul8u::return#3 ← (word) mul8u::res#2 [ mulu8_sel::select#5 mul8u::return#3 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::return#3 ] ) -- vwuz1=vwuz2 + //SEG396 [183] (word) mul8u::return#3 ← (word) mul8u::res#2 [ mulu8_sel::select#5 mul8u::return#3 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:146 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::return#3 ] ) -- vwuz1=vwuz2 lda mul8u.res sta mul8u.return_3 lda mul8u.res+1 sta mul8u.return_3+1 jmp b2 - //SEG334 mulu8_sel::@2 + //SEG397 mulu8_sel::@2 b2: - //SEG335 [159] (word~) mulu8_sel::$0 ← (word) mul8u::return#3 [ mulu8_sel::select#5 mulu8_sel::$0 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mulu8_sel::$0 ] ) -- vwuz1=vwuz2 + //SEG398 [184] (word~) mulu8_sel::$0 ← (word) mul8u::return#3 [ mulu8_sel::select#5 mulu8_sel::$0 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:146 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mulu8_sel::$0 ] ) -- vwuz1=vwuz2 lda mul8u.return_3 sta _0 lda mul8u.return_3+1 sta _0+1 - //SEG336 [160] (word~) mulu8_sel::$1 ← (word~) mulu8_sel::$0 << (byte) mulu8_sel::select#5 [ mulu8_sel::$1 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::$1 ] ) -- vwuz1=vwuz2_rol_vbuz3 + //SEG399 [185] (word~) mulu8_sel::$1 ← (word~) mulu8_sel::$0 << (byte) mulu8_sel::select#5 [ mulu8_sel::$1 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:146 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::$1 ] ) -- vwuz1=vwuz2_rol_vbuz3 lda _0 sta _1 lda _0+1 @@ -7470,116 +8217,116 @@ mulu8_sel: { dey bne !- !e: - //SEG337 [161] (byte) mulu8_sel::return#12 ← > (word~) mulu8_sel::$1 [ mulu8_sel::return#12 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#12 ] ) -- vbuz1=_hi_vwuz2 + //SEG400 [186] (byte) mulu8_sel::return#12 ← > (word~) mulu8_sel::$1 [ mulu8_sel::return#12 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:146 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#12 ] ) -- vbuz1=_hi_vwuz2 lda _1+1 sta return_12 jmp breturn - //SEG338 mulu8_sel::@return + //SEG401 mulu8_sel::@return breturn: - //SEG339 [162] return [ mulu8_sel::return#12 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#12 ] ) + //SEG402 [187] return [ mulu8_sel::return#12 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:146 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#12 ] ) rts } -//SEG340 div16u +//SEG403 div16u div16u: { - .label return = $56 - .label return_2 = $2b - //SEG341 [164] call divr16u param-assignment [ divr16u::return#0 ] ( main:2::sin8u_table:7::div16u:10 [ divr16u::return#0 ] ) - //SEG342 [168] phi from div16u to divr16u [phi:div16u->divr16u] + .label return = $5a + .label return_2 = $2e + //SEG404 [189] call divr16u param-assignment [ divr16u::return#0 ] ( main:2::sin8u_table:7::div16u:10 [ divr16u::return#0 ] ) + //SEG405 [193] phi from div16u to divr16u [phi:div16u->divr16u] divr16u_from_div16u: jsr divr16u - //SEG343 [165] (word) divr16u::return#2 ← (word) divr16u::return#0 [ divr16u::return#2 ] ( main:2::sin8u_table:7::div16u:10 [ divr16u::return#2 ] ) -- vwuz1=vwuz2 + //SEG406 [190] (word) divr16u::return#2 ← (word) divr16u::return#0 [ divr16u::return#2 ] ( main:2::sin8u_table:7::div16u:10 [ divr16u::return#2 ] ) -- vwuz1=vwuz2 lda divr16u.return sta divr16u.return_2 lda divr16u.return+1 sta divr16u.return_2+1 jmp b2 - //SEG344 div16u::@2 + //SEG407 div16u::@2 b2: - //SEG345 [166] (word) div16u::return#0 ← (word) divr16u::return#2 [ div16u::return#0 ] ( main:2::sin8u_table:7::div16u:10 [ div16u::return#0 ] ) -- vwuz1=vwuz2 + //SEG408 [191] (word) div16u::return#0 ← (word) divr16u::return#2 [ div16u::return#0 ] ( main:2::sin8u_table:7::div16u:10 [ div16u::return#0 ] ) -- vwuz1=vwuz2 lda divr16u.return_2 sta return lda divr16u.return_2+1 sta return+1 jmp breturn - //SEG346 div16u::@return + //SEG409 div16u::@return breturn: - //SEG347 [167] return [ div16u::return#0 ] ( main:2::sin8u_table:7::div16u:10 [ div16u::return#0 ] ) + //SEG410 [192] return [ div16u::return#0 ] ( main:2::sin8u_table:7::div16u:10 [ div16u::return#0 ] ) rts } -//SEG348 divr16u +//SEG411 divr16u divr16u: { - .label _1 = $58 - .label _2 = $59 - .label rem = $22 - .label dividend = $24 - .label quotient = $26 - .label i = $28 - .label return = $26 - .label return_2 = $54 - //SEG349 [169] phi from divr16u to divr16u::@1 [phi:divr16u->divr16u::@1] + .label _1 = $5c + .label _2 = $5d + .label rem = $25 + .label dividend = $27 + .label quotient = $29 + .label i = $2b + .label return = $29 + .label return_2 = $58 + //SEG412 [194] phi from divr16u to divr16u::@1 [phi:divr16u->divr16u::@1] b1_from_divr16u: - //SEG350 [169] phi (byte) divr16u::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#0] -- vbuz1=vbuc1 + //SEG413 [194] phi (byte) divr16u::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#0] -- vbuz1=vbuc1 lda #0 sta i - //SEG351 [169] phi (word) divr16u::quotient#3 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#1] -- vwuz1=vbuc1 + //SEG414 [194] phi (word) divr16u::quotient#3 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#1] -- vwuz1=vbuc1 lda #<0 sta quotient lda #>0 sta quotient+1 - //SEG352 [169] phi (word) divr16u::dividend#2 = (const word) PI2_u4f12#0 [phi:divr16u->divr16u::@1#2] -- vwuz1=vwuc1 + //SEG415 [194] phi (word) divr16u::dividend#2 = (const word) PI2_u4f12#0 [phi:divr16u->divr16u::@1#2] -- vwuz1=vwuc1 lda #PI2_u4f12 sta dividend+1 - //SEG353 [169] phi (word) divr16u::rem#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#3] -- vwuz1=vbuc1 + //SEG416 [194] phi (word) divr16u::rem#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#3] -- vwuz1=vbuc1 lda #<0 sta rem lda #>0 sta rem+1 jmp b1 - //SEG354 [169] phi from divr16u::@3 to divr16u::@1 [phi:divr16u::@3->divr16u::@1] + //SEG417 [194] phi from divr16u::@3 to divr16u::@1 [phi:divr16u::@3->divr16u::@1] b1_from_b3: - //SEG355 [169] phi (byte) divr16u::i#2 = (byte) divr16u::i#1 [phi:divr16u::@3->divr16u::@1#0] -- register_copy - //SEG356 [169] phi (word) divr16u::quotient#3 = (word) divr16u::return#0 [phi:divr16u::@3->divr16u::@1#1] -- register_copy - //SEG357 [169] phi (word) divr16u::dividend#2 = (word) divr16u::dividend#0 [phi:divr16u::@3->divr16u::@1#2] -- register_copy - //SEG358 [169] phi (word) divr16u::rem#4 = (word) divr16u::rem#10 [phi:divr16u::@3->divr16u::@1#3] -- register_copy + //SEG418 [194] phi (byte) divr16u::i#2 = (byte) divr16u::i#1 [phi:divr16u::@3->divr16u::@1#0] -- register_copy + //SEG419 [194] phi (word) divr16u::quotient#3 = (word) divr16u::return#0 [phi:divr16u::@3->divr16u::@1#1] -- register_copy + //SEG420 [194] phi (word) divr16u::dividend#2 = (word) divr16u::dividend#0 [phi:divr16u::@3->divr16u::@1#2] -- register_copy + //SEG421 [194] phi (word) divr16u::rem#4 = (word) divr16u::rem#10 [phi:divr16u::@3->divr16u::@1#3] -- register_copy jmp b1 - //SEG359 divr16u::@1 + //SEG422 divr16u::@1 b1: - //SEG360 [170] (word) divr16u::rem#0 ← (word) divr16u::rem#4 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vwuz1=vwuz1_rol_1 + //SEG423 [195] (word) divr16u::rem#0 ← (word) divr16u::rem#4 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vwuz1=vwuz1_rol_1 asl rem rol rem+1 - //SEG361 [171] (byte~) divr16u::$1 ← > (word) divr16u::dividend#2 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) -- vbuz1=_hi_vwuz2 + //SEG424 [196] (byte~) divr16u::$1 ← > (word) divr16u::dividend#2 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) -- vbuz1=_hi_vwuz2 lda dividend+1 sta _1 - //SEG362 [172] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) -- vbuz1=vbuz2_band_vbuc1 + //SEG425 [197] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) -- vbuz1=vbuz2_band_vbuc1 lda #$80 and _1 sta _2 - //SEG363 [173] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vbuz1_eq_0_then_la1 + //SEG426 [198] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vbuz1_eq_0_then_la1 lda _2 beq b2_from_b1 jmp b4 - //SEG364 divr16u::@4 + //SEG427 divr16u::@4 b4: - //SEG365 [174] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) -- vwuz1=vwuz1_bor_vbuc1 + //SEG428 [199] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) -- vwuz1=vwuz1_bor_vbuc1 lda #1 ora rem sta rem - //SEG366 [175] phi from divr16u::@1 divr16u::@4 to divr16u::@2 [phi:divr16u::@1/divr16u::@4->divr16u::@2] + //SEG429 [200] phi from divr16u::@1 divr16u::@4 to divr16u::@2 [phi:divr16u::@1/divr16u::@4->divr16u::@2] b2_from_b1: b2_from_b4: - //SEG367 [175] phi (word) divr16u::rem#5 = (word) divr16u::rem#0 [phi:divr16u::@1/divr16u::@4->divr16u::@2#0] -- register_copy + //SEG430 [200] phi (word) divr16u::rem#5 = (word) divr16u::rem#0 [phi:divr16u::@1/divr16u::@4->divr16u::@2#0] -- register_copy jmp b2 - //SEG368 divr16u::@2 + //SEG431 divr16u::@2 b2: - //SEG369 [176] (word) divr16u::dividend#0 ← (word) divr16u::dividend#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 ] ) -- vwuz1=vwuz1_rol_1 + //SEG432 [201] (word) divr16u::dividend#0 ← (word) divr16u::dividend#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 ] ) -- vwuz1=vwuz1_rol_1 asl dividend rol dividend+1 - //SEG370 [177] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ) -- vwuz1=vwuz1_rol_1 + //SEG433 [202] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ) -- vwuz1=vwuz1_rol_1 asl quotient rol quotient+1 - //SEG371 [178] if((word) divr16u::rem#5<(const word) main::tabsize#0) goto divr16u::@3 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ) -- vwuz1_lt_vwuc1_then_la1 + //SEG434 [203] if((word) divr16u::rem#5<(const word) main::tabsize#0) goto divr16u::@3 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ) -- vwuz1_lt_vwuc1_then_la1 lda rem+1 cmp #>main.tabsize bcc b3_from_b2 @@ -7589,14 +8336,14 @@ divr16u: { bcc b3_from_b2 !: jmp b5 - //SEG372 divr16u::@5 + //SEG435 divr16u::@5 b5: - //SEG373 [179] (word) divr16u::quotient#2 ← ++ (word) divr16u::quotient#1 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#2 ] ) -- vwuz1=_inc_vwuz1 + //SEG436 [204] (word) divr16u::quotient#2 ← ++ (word) divr16u::quotient#1 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#2 ] ) -- vwuz1=_inc_vwuz1 inc quotient bne !+ inc quotient+1 !: - //SEG374 [180] (word) divr16u::rem#2 ← (word) divr16u::rem#5 - (const word) main::tabsize#0 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) -- vwuz1=vwuz1_minus_vwuc1 + //SEG437 [205] (word) divr16u::rem#2 ← (word) divr16u::rem#5 - (const word) main::tabsize#0 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) -- vwuz1=vwuz1_minus_vwuc1 lda rem sec sbc #main.tabsize sta rem+1 - //SEG375 [181] phi from divr16u::@2 divr16u::@5 to divr16u::@3 [phi:divr16u::@2/divr16u::@5->divr16u::@3] + //SEG438 [206] phi from divr16u::@2 divr16u::@5 to divr16u::@3 [phi:divr16u::@2/divr16u::@5->divr16u::@3] b3_from_b2: b3_from_b5: - //SEG376 [181] phi (word) divr16u::return#0 = (word) divr16u::quotient#1 [phi:divr16u::@2/divr16u::@5->divr16u::@3#0] -- register_copy - //SEG377 [181] phi (word) divr16u::rem#10 = (word) divr16u::rem#5 [phi:divr16u::@2/divr16u::@5->divr16u::@3#1] -- register_copy + //SEG439 [206] phi (word) divr16u::return#0 = (word) divr16u::quotient#1 [phi:divr16u::@2/divr16u::@5->divr16u::@3#0] -- register_copy + //SEG440 [206] phi (word) divr16u::rem#10 = (word) divr16u::rem#5 [phi:divr16u::@2/divr16u::@5->divr16u::@3#1] -- register_copy jmp b3 - //SEG378 divr16u::@3 + //SEG441 divr16u::@3 b3: - //SEG379 [182] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuz1=_inc_vbuz1 + //SEG442 [207] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuz1=_inc_vbuz1 inc i - //SEG380 [183] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG443 [208] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuz1_neq_vbuc1_then_la1 lda i cmp #$10 bne b1_from_b3 jmp breturn - //SEG381 divr16u::@return + //SEG444 divr16u::@return breturn: - //SEG382 [184] return [ divr16u::return#0 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::return#0 ] ) + //SEG445 [209] return [ divr16u::return#0 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::return#0 ] ) rts } -//SEG383 print_cls +//SEG446 print_cls print_cls: { - .label sc = $29 - //SEG384 [186] phi from print_cls to print_cls::@1 [phi:print_cls->print_cls::@1] + .label sc = $2c + //SEG447 [211] phi from print_cls to print_cls::@1 [phi:print_cls->print_cls::@1] b1_from_print_cls: - //SEG385 [186] phi (byte*) print_cls::sc#2 = (const byte*) SCREEN#0 [phi:print_cls->print_cls::@1#0] -- pbuz1=pbuc1 + //SEG448 [211] phi (byte*) print_cls::sc#2 = (const byte*) SCREEN#0 [phi:print_cls->print_cls::@1#0] -- pbuz1=pbuc1 lda #SCREEN sta sc+1 jmp b1 - //SEG386 [186] phi from print_cls::@1 to print_cls::@1 [phi:print_cls::@1->print_cls::@1] + //SEG449 [211] phi from print_cls::@1 to print_cls::@1 [phi:print_cls::@1->print_cls::@1] b1_from_b1: - //SEG387 [186] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#1 [phi:print_cls::@1->print_cls::@1#0] -- register_copy + //SEG450 [211] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#1 [phi:print_cls::@1->print_cls::@1#0] -- register_copy jmp b1 - //SEG388 print_cls::@1 + //SEG451 print_cls::@1 b1: - //SEG389 [187] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:5 [ print_cls::sc#2 ] ) -- _deref_pbuz1=vbuc1 + //SEG452 [212] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:5 [ print_cls::sc#2 ] ) -- _deref_pbuz1=vbuc1 lda #' ' ldy #0 sta (sc),y - //SEG390 [188] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::print_cls:5 [ print_cls::sc#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG453 [213] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::print_cls:5 [ print_cls::sc#1 ] ) -- pbuz1=_inc_pbuz1 inc sc bne !+ inc sc+1 !: - //SEG391 [189] 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:5 [ print_cls::sc#1 ] ) -- pbuz1_neq_pbuc1_then_la1 + //SEG454 [214] 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:5 [ print_cls::sc#1 ] ) -- pbuz1_neq_pbuc1_then_la1 lda sc+1 cmp #>SCREEN+$3e8 bne b1_from_b1 @@ -7658,279 +8405,306 @@ print_cls: { cmp # (word) print_word::w#2 [ char_cursor#2 print_byte::b#0 print_word::w#2 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#2 print_byte::b#0 print_word::w#2 ] main:2::sin8u_table:7::print_word:49 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 print_byte::b#0 print_word::w#2 ] ) always clobbers reg byte a -Statement [87] (byte) print_byte::b#1 ← < (word) print_word::w#2 [ char_cursor#11 print_byte::b#1 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#11 print_byte::b#1 ] main:2::sin8u_table:7::print_word:49 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 print_byte::b#1 ] ) always clobbers reg byte a -Statement [92] (word) mul8u::return#2 ← (word) mul8u::res#2 [ mul8su::a#0 mul8u::return#2 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::return#2 ] ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:48 [ mul8su::a#0 ] -Statement [93] (word) mul8su::m#0 ← (word) mul8u::return#2 [ mul8su::a#0 mul8su::m#0 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8su::m#0 ] ) always clobbers reg byte a -Statement [95] (byte~) mul8su::$6 ← > (word) mul8su::m#0 [ mul8su::m#0 mul8su::$6 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::m#0 mul8su::$6 ] ) always clobbers reg byte a -Statement [96] (byte/signed byte/word/signed word/dword/signed dword~) mul8su::$10 ← (byte~) mul8su::$6 - ((byte))(const byte) sin8u_table::amplitude#0 [ mul8su::m#0 mul8su::$10 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::m#0 mul8su::$10 ] ) always clobbers reg byte a -Statement [101] (word) mul8u::mb#0 ← ((word)) (byte) mul8u::b#2 [ mul8u::a#6 mul8u::mb#0 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:21 [ mul8u::a#3 mul8u::a#6 mul8u::a#8 mul8u::a#2 mul8u::a#0 ] -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:26 [ sin8s::isUpper#10 ] -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:64 [ sin8s::x1#0 ] -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:33 [ mulu8_sel::select#5 ] -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:68 [ sin8s::x3#0 ] -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:71 [ sin8s::usinx#0 ] -Statement [105] (byte~) mul8u::$1 ← (byte) mul8u::a#3 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] ) always clobbers reg byte a -Statement [107] (word) mul8u::res#1 ← (word) mul8u::res#2 + (word) mul8u::mb#2 [ mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] ) always clobbers reg byte a -Statement [111] if((word) sin8s::x#2<(const word) PI_u4f12#0) goto sin8s::@1 [ sin8s::x#2 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::x#2 ] ) always clobbers reg byte a -Statement [112] (word) sin8s::x#0 ← (word) sin8s::x#2 - (const word) PI_u4f12#0 [ sin8s::x#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::x#0 ] ) always clobbers reg byte a -Statement [114] if((word) sin8s::x#4<(const word) PI_HALF_u4f12#0) goto sin8s::@2 [ sin8s::x#4 sin8s::isUpper#10 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::x#4 sin8s::isUpper#10 ] ) always clobbers reg byte a -Statement [115] (word) sin8s::x#1 ← (const word) PI_u4f12#0 - (word) sin8s::x#4 [ sin8s::isUpper#10 sin8s::x#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x#1 ] ) always clobbers reg byte a -Statement [117] (word~) sin8s::$6 ← (word) sin8s::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin8s::isUpper#10 sin8s::$6 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::$6 ] ) always clobbers reg byte a -Statement [118] (byte) sin8s::x1#0 ← > (word~) sin8s::$6 [ sin8s::isUpper#10 sin8s::x1#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 ] ) always clobbers reg byte a -Statement [133] (byte) sin8s::usinx#0 ← (byte) sin8s::x1#0 - (byte) sin8s::x3_6#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::usinx#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::usinx#0 ] ) always clobbers reg byte a -Statement [145] (byte) sin8s::usinx#1 ← (byte) sin8s::usinx#0 + (byte) sin8s::x5_128#0 [ sin8s::isUpper#10 sin8s::usinx#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#1 ] ) always clobbers reg byte a -Statement [150] (signed byte) sin8s::sinx#1 ← - (signed byte)(byte) sin8s::usinx#4 [ sin8s::sinx#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::sinx#1 ] ) always clobbers reg byte a -Statement [158] (word) mul8u::return#3 ← (word) mul8u::res#2 [ mulu8_sel::select#5 mul8u::return#3 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::return#3 ] ) always clobbers reg byte a -Statement [159] (word~) mulu8_sel::$0 ← (word) mul8u::return#3 [ mulu8_sel::select#5 mulu8_sel::$0 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mulu8_sel::$0 ] ) always clobbers reg byte a -Potential register analysis [160] mulu8_sel::$1 ← mulu8_sel::$0 << mulu8_sel::select#5 missing fragment vwuz1=vwuz2_rol_vbuxx allocation: reg byte x [ mulu8_sel::select#5 ] zp ZP_WORD:81 [ mulu8_sel::$1 ] zp ZP_WORD:79 [ mulu8_sel::$0 ] -Potential register analysis [160] mulu8_sel::$1 ← mulu8_sel::$0 << mulu8_sel::select#5 missing fragment vwuz1=vwuz2_rol_vbuyy allocation: reg byte y [ mulu8_sel::select#5 ] zp ZP_WORD:81 [ mulu8_sel::$1 ] zp ZP_WORD:79 [ mulu8_sel::$0 ] +Statement [14] (word) print_word::w#1 ← (word) sin8u_table::step#0 [ sin8u_table::step#0 print_word::w#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 print_word::w#1 char_cursor#2 ] ) always clobbers reg byte a +Statement [35] (word) sin8s::x#2 ← (word) sin8u_table::x#10 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8s::x#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8s::x#2 line_cursor#1 ] ) always clobbers reg byte a +Statement [41] (signed word) mul8su::return#2 ← (signed word)(word) mul8su::m#2 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 mul8su::return#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 mul8su::return#2 line_cursor#1 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:51 [ sin8u_table::sinx#0 ] +Statement [42] (signed word) sin8u_table::sinx_sc#0 ← (signed word) mul8su::return#2 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 line_cursor#1 ] ) always clobbers reg byte a +Statement [44] (byte) sin8u_table::sinx_tr#0 ← (const byte) sin8u_table::mid#0 + (byte~) sin8u_table::$20 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 ] ) always clobbers reg byte a +Statement [45] *((byte*) sin8u_table::sintab#2) ← (byte) sin8u_table::sinx_tr#0 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 ] ) always clobbers reg byte y +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:51 [ sin8u_table::sinx#0 ] +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:58 [ sin8u_table::sinx_tr#0 ] +Statement [47] (byte*~) char_cursor#121 ← (byte*) line_cursor#1 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 char_cursor#121 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 char_cursor#121 line_cursor#1 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:58 [ sin8u_table::sinx_tr#0 ] +Statement [49] (word) print_word::w#2 ← (word) sin8u_table::x#10 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#2 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#2 char_cursor#2 ] ) always clobbers reg byte a +Statement [57] (signed word) print_sword::w#1 ← (signed word) sin8u_table::sinx_sc#0 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_sword::w#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_sword::w#1 char_cursor#2 ] ) always clobbers reg byte a +Statement [65] (word) sin8u_table::x#1 ← (word) sin8u_table::x#10 + (word) sin8u_table::step#0 [ sin8u_table::step#0 sin8u_table::i#10 sin8u_table::x#1 sin8u_table::sintab#1 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::i#10 sin8u_table::x#1 sin8u_table::sintab#1 line_cursor#1 ] ) always clobbers reg byte a +Statement [67] if((word) sin8u_table::i#1<(const word) main::tabsize#0) goto sin8u_table::@1 [ sin8u_table::step#0 sin8u_table::x#1 sin8u_table::sintab#1 sin8u_table::i#1 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#1 sin8u_table::sintab#1 sin8u_table::i#1 line_cursor#1 ] ) always clobbers reg byte a +Statement [71] (byte*) line_cursor#1 ← (byte*) line_cursor#12 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ line_cursor#1 char_cursor#17 ] ( main:2::sin8u_table:7::print_ln:33 [ sin8u_table::step#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_ln:64 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 ] ) always clobbers reg byte a +Statement [72] if((byte*) line_cursor#1<(byte*) char_cursor#17) goto print_ln::@1 [ line_cursor#1 char_cursor#17 ] ( main:2::sin8u_table:7::print_ln:33 [ sin8u_table::step#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_ln:64 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 ] ) always clobbers reg byte a +Statement [78] (byte~) print_byte::$2 ← (byte) print_byte::b#8 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ char_cursor#17 print_byte::$2 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_byte:62 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_word:15::print_byte:103 [ sin8u_table::step#0 print_word::w#3 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_word:50::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_word:15::print_byte:105 [ sin8u_table::step#0 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_word:50::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_byte::$2 ] ) always clobbers reg byte a +Statement [83] *((byte*) char_cursor#62) ← (byte) print_char::ch#4 [ char_cursor#62 ] ( main:2::sin8u_table:7::print_byte:19::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_byte:23::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_byte:27::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_byte:31::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_byte:62::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_word:15::print_byte:103::print_char:77 [ sin8u_table::step#0 print_word::w#3 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_word:50::print_byte:103::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_word:15::print_byte:105::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_word:50::print_byte:105::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_byte:19::print_char:80 [ sin8u_table::step#0 char_cursor#62 ] main:2::sin8u_table:7::print_byte:23::print_char:80 [ sin8u_table::step#0 char_cursor#62 ] main:2::sin8u_table:7::print_byte:27::print_char:80 [ sin8u_table::step#0 char_cursor#62 ] main:2::sin8u_table:7::print_byte:31::print_char:80 [ sin8u_table::step#0 char_cursor#62 ] main:2::sin8u_table:7::print_byte:62::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#62 ] main:2::sin8u_table:7::print_word:15::print_byte:103::print_char:80 [ sin8u_table::step#0 print_word::w#3 char_cursor#62 ] main:2::sin8u_table:7::print_word:50::print_byte:103::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#62 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#62 ] main:2::sin8u_table:7::print_word:15::print_byte:105::print_char:80 [ sin8u_table::step#0 char_cursor#62 ] main:2::sin8u_table:7::print_word:50::print_byte:105::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#62 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#62 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#62 ] main:2::sin8u_table:7::print_sword:58::print_char:95 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_sword::w#1 char_cursor#62 ] main:2::sin8u_table:7::print_sbyte:54::print_char:109 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_sbyte::b#1 char_cursor#62 ] ) always clobbers reg byte y +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:10 [ print_byte::b#8 print_byte::b#10 print_byte::b#1 print_byte::b#2 print_byte::b#7 ] +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:20 [ print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#0 ] +Statement [88] if(*((byte*) print_str::str#10)!=(byte) '@') goto print_str::@2 [ char_cursor#2 print_str::str#10 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:48 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:52 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:56 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:60 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] ) always clobbers reg byte a reg byte y +Statement [90] *((byte*) char_cursor#2) ← *((byte*) print_str::str#10) [ char_cursor#2 print_str::str#10 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:48 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:52 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:56 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:60 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] ) always clobbers reg byte a reg byte y +Statement [93] if((signed word) print_sword::w#1>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto print_sword::@1 [ print_sword::w#1 char_cursor#2 ] ( main:2::sin8u_table:7::print_sword:58 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_sword::w#1 char_cursor#2 ] ) always clobbers reg byte a +Statement [96] (signed word) print_sword::w#0 ← - (signed word) print_sword::w#1 [ char_cursor#17 print_sword::w#0 ] ( main:2::sin8u_table:7::print_sword:58 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_sword::w#0 ] ) always clobbers reg byte a +Statement [98] (word~) print_word::w#5 ← (word)(signed word) print_sword::w#3 [ char_cursor#92 print_word::w#5 ] ( main:2::sin8u_table:7::print_sword:58 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#92 print_word::w#5 ] ) always clobbers reg byte a +Statement [102] (byte) print_byte::b#1 ← > (word) print_word::w#3 [ print_byte::b#1 char_cursor#96 print_word::w#3 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 print_byte::b#1 char_cursor#96 print_word::w#3 ] main:2::sin8u_table:7::print_word:50 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#1 char_cursor#96 print_word::w#3 ] main:2::sin8u_table:7::print_sword:58::print_word:99 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#1 char_cursor#96 print_word::w#3 ] ) always clobbers reg byte a +Statement [104] (byte) print_byte::b#2 ← < (word) print_word::w#3 [ char_cursor#17 print_byte::b#2 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#17 print_byte::b#2 ] main:2::sin8u_table:7::print_word:50 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_byte::b#2 ] main:2::sin8u_table:7::print_sword:58::print_word:99 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_byte::b#2 ] ) always clobbers reg byte a +Statement [110] (signed byte) print_sbyte::b#0 ← - (signed byte) print_sbyte::b#1 [ char_cursor#17 print_sbyte::b#0 ] ( main:2::sin8u_table:7::print_sbyte:54 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_sbyte::b#0 ] ) always clobbers reg byte a +Statement [117] (word) mul8u::return#2 ← (word) mul8u::res#2 [ mul8su::a#0 mul8u::return#2 ] ( main:2::sin8u_table:7::mul8su:40 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::return#2 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:52 [ mul8su::a#0 ] +Statement [118] (word) mul8su::m#0 ← (word) mul8u::return#2 [ mul8su::a#0 mul8su::m#0 ] ( main:2::sin8u_table:7::mul8su:40 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8su::m#0 ] ) always clobbers reg byte a +Statement [120] (byte~) mul8su::$6 ← > (word) mul8su::m#0 [ mul8su::m#0 mul8su::$6 ] ( main:2::sin8u_table:7::mul8su:40 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::m#0 mul8su::$6 ] ) always clobbers reg byte a +Statement [121] (byte/signed byte/word/signed word/dword/signed dword~) mul8su::$10 ← (byte~) mul8su::$6 - ((byte))(const byte) mul8su::b#0 [ mul8su::m#0 mul8su::$10 ] ( main:2::sin8u_table:7::mul8su:40 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::m#0 mul8su::$10 ] ) always clobbers reg byte a +Statement [126] (word) mul8u::mb#0 ← ((word)) (byte) mul8u::b#2 [ mul8u::a#6 mul8u::mb#0 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:24 [ mul8u::a#3 mul8u::a#6 mul8u::a#8 mul8u::a#2 mul8u::a#0 ] +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:29 [ sin8s::isUpper#10 ] +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:68 [ sin8s::x1#0 ] +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:36 [ mulu8_sel::select#5 ] +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:72 [ sin8s::x3#0 ] +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:75 [ sin8s::usinx#0 ] +Statement [130] (byte~) mul8u::$1 ← (byte) mul8u::a#3 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] ) always clobbers reg byte a +Statement [132] (word) mul8u::res#1 ← (word) mul8u::res#2 + (word) mul8u::mb#2 [ mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] ) always clobbers reg byte a +Statement [136] if((word) sin8s::x#2<(const word) PI_u4f12#0) goto sin8s::@1 [ sin8s::x#2 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::x#2 ] ) always clobbers reg byte a +Statement [137] (word) sin8s::x#0 ← (word) sin8s::x#2 - (const word) PI_u4f12#0 [ sin8s::x#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::x#0 ] ) always clobbers reg byte a +Statement [139] if((word) sin8s::x#4<(const word) PI_HALF_u4f12#0) goto sin8s::@2 [ sin8s::x#4 sin8s::isUpper#10 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::x#4 sin8s::isUpper#10 ] ) always clobbers reg byte a +Statement [140] (word) sin8s::x#1 ← (const word) PI_u4f12#0 - (word) sin8s::x#4 [ sin8s::isUpper#10 sin8s::x#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x#1 ] ) always clobbers reg byte a +Statement [142] (word~) sin8s::$6 ← (word) sin8s::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin8s::isUpper#10 sin8s::$6 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::$6 ] ) always clobbers reg byte a +Statement [143] (byte) sin8s::x1#0 ← > (word~) sin8s::$6 [ sin8s::isUpper#10 sin8s::x1#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 ] ) always clobbers reg byte a +Statement [158] (byte) sin8s::usinx#0 ← (byte) sin8s::x1#0 - (byte) sin8s::x3_6#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::usinx#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::usinx#0 ] ) always clobbers reg byte a +Statement [170] (byte) sin8s::usinx#1 ← (byte) sin8s::usinx#0 + (byte) sin8s::x5_128#0 [ sin8s::isUpper#10 sin8s::usinx#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#1 ] ) always clobbers reg byte a +Statement [175] (signed byte) sin8s::sinx#1 ← - (signed byte)(byte) sin8s::usinx#4 [ sin8s::sinx#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::sinx#1 ] ) always clobbers reg byte a +Statement [183] (word) mul8u::return#3 ← (word) mul8u::res#2 [ mulu8_sel::select#5 mul8u::return#3 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:146 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::return#3 ] ) always clobbers reg byte a +Statement [184] (word~) mulu8_sel::$0 ← (word) mul8u::return#3 [ mulu8_sel::select#5 mulu8_sel::$0 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:146 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mulu8_sel::$0 ] ) always clobbers reg byte a +Potential register analysis [185] mulu8_sel::$1 ← mulu8_sel::$0 << mulu8_sel::select#5 missing fragment vwuz1=vwuz2_rol_vbuxx allocation: reg byte x [ mulu8_sel::select#5 ] zp ZP_WORD:85 [ mulu8_sel::$1 ] zp ZP_WORD:83 [ mulu8_sel::$0 ] +Potential register analysis [185] mulu8_sel::$1 ← mulu8_sel::$0 << mulu8_sel::select#5 missing fragment vwuz1=vwuz2_rol_vbuyy allocation: reg byte y [ mulu8_sel::select#5 ] zp ZP_WORD:85 [ mulu8_sel::$1 ] zp ZP_WORD:83 [ mulu8_sel::$0 ] MISSING FRAGMENTS vwuz1=vwuz2_rol_vbuxx vwuz1=vwuz2_rol_vbuyy -Statement [160] (word~) mulu8_sel::$1 ← (word~) mulu8_sel::$0 << (byte) mulu8_sel::select#5 [ mulu8_sel::$1 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::$1 ] ) always clobbers reg byte a reg byte y -Removing always clobbered register reg byte y as potential for zp ZP_BYTE:26 [ sin8s::isUpper#10 ] -Removing always clobbered register reg byte y as potential for zp ZP_BYTE:64 [ sin8s::x1#0 ] -Removing always clobbered register reg byte y as potential for zp ZP_BYTE:68 [ sin8s::x3#0 ] -Removing always clobbered register reg byte y as potential for zp ZP_BYTE:71 [ sin8s::usinx#0 ] -Statement [161] (byte) mulu8_sel::return#12 ← > (word~) mulu8_sel::$1 [ mulu8_sel::return#12 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#12 ] ) always clobbers reg byte a -Statement [165] (word) divr16u::return#2 ← (word) divr16u::return#0 [ divr16u::return#2 ] ( main:2::sin8u_table:7::div16u:10 [ divr16u::return#2 ] ) always clobbers reg byte a -Statement [166] (word) div16u::return#0 ← (word) divr16u::return#2 [ div16u::return#0 ] ( main:2::sin8u_table:7::div16u:10 [ div16u::return#0 ] ) always clobbers reg byte a -Statement [171] (byte~) divr16u::$1 ← > (word) divr16u::dividend#2 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:40 [ divr16u::i#2 divr16u::i#1 ] -Statement [172] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) always clobbers reg byte a -Statement [174] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) always clobbers reg byte a -Statement [178] if((word) divr16u::rem#5<(const word) main::tabsize#0) goto divr16u::@3 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ) always clobbers reg byte a -Statement [180] (word) divr16u::rem#2 ← (word) divr16u::rem#5 - (const word) main::tabsize#0 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) always clobbers reg byte a -Statement [187] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:5 [ print_cls::sc#2 ] ) always clobbers reg byte a reg byte y -Statement [189] 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:5 [ print_cls::sc#1 ] ) always clobbers reg byte a +Statement [185] (word~) mulu8_sel::$1 ← (word~) mulu8_sel::$0 << (byte) mulu8_sel::select#5 [ mulu8_sel::$1 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:146 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::$1 ] ) always clobbers reg byte a reg byte y +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:29 [ sin8s::isUpper#10 ] +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:68 [ sin8s::x1#0 ] +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:72 [ sin8s::x3#0 ] +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:75 [ sin8s::usinx#0 ] +Statement [186] (byte) mulu8_sel::return#12 ← > (word~) mulu8_sel::$1 [ mulu8_sel::return#12 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:146 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#12 ] ) always clobbers reg byte a +Statement [190] (word) divr16u::return#2 ← (word) divr16u::return#0 [ divr16u::return#2 ] ( main:2::sin8u_table:7::div16u:10 [ divr16u::return#2 ] ) always clobbers reg byte a +Statement [191] (word) div16u::return#0 ← (word) divr16u::return#2 [ div16u::return#0 ] ( main:2::sin8u_table:7::div16u:10 [ div16u::return#0 ] ) always clobbers reg byte a +Statement [196] (byte~) divr16u::$1 ← > (word) divr16u::dividend#2 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:43 [ divr16u::i#2 divr16u::i#1 ] +Statement [197] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) always clobbers reg byte a +Statement [199] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) always clobbers reg byte a +Statement [203] if((word) divr16u::rem#5<(const word) main::tabsize#0) goto divr16u::@3 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ) always clobbers reg byte a +Statement [205] (word) divr16u::rem#2 ← (word) divr16u::rem#5 - (const word) main::tabsize#0 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) always clobbers reg byte a +Statement [212] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:5 [ print_cls::sc#2 ] ) always clobbers reg byte a reg byte y +Statement [214] 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:5 [ print_cls::sc#1 ] ) always clobbers reg byte a Statement [11] (word) div16u::return#2 ← (word) div16u::return#0 [ div16u::return#2 ] ( main:2::sin8u_table:7 [ div16u::return#2 ] ) always clobbers reg byte a Statement [12] (word) sin8u_table::step#0 ← (word) div16u::return#2 [ sin8u_table::step#0 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 ] ) always clobbers reg byte a -Statement [14] (word) print_word::w#0 ← (word) sin8u_table::step#0 [ sin8u_table::step#0 print_word::w#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 print_word::w#0 char_cursor#2 ] ) always clobbers reg byte a -Statement [35] (word) sin8s::x#2 ← (word) sin8u_table::x#2 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8s::x#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8s::x#2 line_cursor#1 ] ) always clobbers reg byte a -Statement [40] (signed word) mul8su::return#2 ← (signed word)(word) mul8su::m#2 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 mul8su::return#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 mul8su::return#2 line_cursor#1 ] ) always clobbers reg byte a -Statement [41] (signed word~) sin8u_table::$17 ← (signed word) mul8su::return#2 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8u_table::$17 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8u_table::$17 line_cursor#1 ] ) always clobbers reg byte a -Statement [43] (byte) sin8u_table::sinval#0 ← (const byte) sin8u_table::mid#0 + (byte~) sin8u_table::$18 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8u_table::sinval#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8u_table::sinval#0 line_cursor#1 ] ) always clobbers reg byte a -Statement [44] *((byte*) sin8u_table::sintab#2) ← (byte) sin8u_table::sinval#0 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8u_table::sinval#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8u_table::sinval#0 line_cursor#1 ] ) always clobbers reg byte a reg byte y -Statement [46] (byte*~) char_cursor#92 ← (byte*) line_cursor#1 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 char_cursor#92 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 char_cursor#92 line_cursor#1 ] ) always clobbers reg byte a -Statement [48] (word) print_word::w#1 ← (word) sin8u_table::x#2 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#1 char_cursor#2 ] ) always clobbers reg byte a -Statement [56] (word) sin8u_table::x#1 ← (word) sin8u_table::x#2 + (word) sin8u_table::step#0 [ sin8u_table::step#0 sin8u_table::i#2 sin8u_table::x#1 sin8u_table::sintab#1 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::i#2 sin8u_table::x#1 sin8u_table::sintab#1 line_cursor#1 ] ) always clobbers reg byte a -Statement [58] if((word) sin8u_table::i#1<(const word) main::tabsize#0) goto sin8u_table::@1 [ sin8u_table::step#0 sin8u_table::x#1 sin8u_table::sintab#1 sin8u_table::i#1 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#1 sin8u_table::sintab#1 sin8u_table::i#1 line_cursor#1 ] ) always clobbers reg byte a -Statement [62] (byte*) line_cursor#1 ← (byte*) line_cursor#12 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ line_cursor#1 char_cursor#11 ] ( main:2::sin8u_table:7::print_ln:33 [ sin8u_table::step#0 line_cursor#1 char_cursor#11 ] main:2::sin8u_table:7::print_ln:55 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 ] ) always clobbers reg byte a -Statement [63] if((byte*) line_cursor#1<(byte*) char_cursor#11) goto print_ln::@1 [ line_cursor#1 char_cursor#11 ] ( main:2::sin8u_table:7::print_ln:33 [ sin8u_table::step#0 line_cursor#1 char_cursor#11 ] main:2::sin8u_table:7::print_ln:55 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 ] ) always clobbers reg byte a -Statement [69] (byte~) print_byte::$2 ← (byte) print_byte::b#7 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ char_cursor#11 print_byte::$2 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#11 print_byte::$2 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#11 print_byte::$2 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#11 print_byte::$2 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#11 print_byte::$2 ] main:2::sin8u_table:7::print_byte:53 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 print_byte::$2 ] main:2::sin8u_table:7::print_word:15::print_byte:86 [ sin8u_table::step#0 print_word::w#2 char_cursor#11 print_byte::$2 ] main:2::sin8u_table:7::print_word:49::print_byte:86 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 char_cursor#11 print_byte::$2 ] main:2::sin8u_table:7::print_word:15::print_byte:88 [ sin8u_table::step#0 char_cursor#11 print_byte::$2 ] main:2::sin8u_table:7::print_word:49::print_byte:88 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 print_byte::$2 ] ) always clobbers reg byte a -Statement [74] *((byte*) char_cursor#46) ← (byte) print_char::ch#2 [ char_cursor#46 ] ( main:2::sin8u_table:7::print_byte:19::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_byte:23::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_byte:27::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_byte:31::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_byte:53::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_word:15::print_byte:86::print_char:68 [ sin8u_table::step#0 print_word::w#2 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_word:49::print_byte:86::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_word:15::print_byte:88::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_word:49::print_byte:88::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_byte:19::print_char:71 [ sin8u_table::step#0 char_cursor#46 ] main:2::sin8u_table:7::print_byte:23::print_char:71 [ sin8u_table::step#0 char_cursor#46 ] main:2::sin8u_table:7::print_byte:27::print_char:71 [ sin8u_table::step#0 char_cursor#46 ] main:2::sin8u_table:7::print_byte:31::print_char:71 [ sin8u_table::step#0 char_cursor#46 ] main:2::sin8u_table:7::print_byte:53::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#46 ] main:2::sin8u_table:7::print_word:15::print_byte:86::print_char:71 [ sin8u_table::step#0 print_word::w#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:49::print_byte:86::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:15::print_byte:88::print_char:71 [ sin8u_table::step#0 char_cursor#46 ] main:2::sin8u_table:7::print_word:49::print_byte:88::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#46 ] ) always clobbers reg byte y -Statement [79] if(*((byte*) print_str::str#8)!=(byte) '@') goto print_str::@2 [ char_cursor#2 print_str::str#8 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:47 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:51 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 print_str::str#8 ] ) always clobbers reg byte a reg byte y -Statement [81] *((byte*) char_cursor#2) ← *((byte*) print_str::str#8) [ char_cursor#2 print_str::str#8 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:47 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:51 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 print_str::str#8 ] ) always clobbers reg byte a reg byte y -Statement [85] (byte) print_byte::b#0 ← > (word) print_word::w#2 [ char_cursor#2 print_byte::b#0 print_word::w#2 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#2 print_byte::b#0 print_word::w#2 ] main:2::sin8u_table:7::print_word:49 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 print_byte::b#0 print_word::w#2 ] ) always clobbers reg byte a -Statement [87] (byte) print_byte::b#1 ← < (word) print_word::w#2 [ char_cursor#11 print_byte::b#1 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#11 print_byte::b#1 ] main:2::sin8u_table:7::print_word:49 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 print_byte::b#1 ] ) always clobbers reg byte a -Statement [92] (word) mul8u::return#2 ← (word) mul8u::res#2 [ mul8su::a#0 mul8u::return#2 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::return#2 ] ) always clobbers reg byte a -Statement [93] (word) mul8su::m#0 ← (word) mul8u::return#2 [ mul8su::a#0 mul8su::m#0 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8su::m#0 ] ) always clobbers reg byte a -Statement [95] (byte~) mul8su::$6 ← > (word) mul8su::m#0 [ mul8su::m#0 mul8su::$6 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::m#0 mul8su::$6 ] ) always clobbers reg byte a -Statement [96] (byte/signed byte/word/signed word/dword/signed dword~) mul8su::$10 ← (byte~) mul8su::$6 - ((byte))(const byte) sin8u_table::amplitude#0 [ mul8su::m#0 mul8su::$10 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::m#0 mul8su::$10 ] ) always clobbers reg byte a -Statement [101] (word) mul8u::mb#0 ← ((word)) (byte) mul8u::b#2 [ mul8u::a#6 mul8u::mb#0 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] ) always clobbers reg byte a -Statement [105] (byte~) mul8u::$1 ← (byte) mul8u::a#3 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] ) always clobbers reg byte a -Statement [107] (word) mul8u::res#1 ← (word) mul8u::res#2 + (word) mul8u::mb#2 [ mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] ) always clobbers reg byte a -Statement [111] if((word) sin8s::x#2<(const word) PI_u4f12#0) goto sin8s::@1 [ sin8s::x#2 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::x#2 ] ) always clobbers reg byte a -Statement [112] (word) sin8s::x#0 ← (word) sin8s::x#2 - (const word) PI_u4f12#0 [ sin8s::x#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::x#0 ] ) always clobbers reg byte a -Statement [114] if((word) sin8s::x#4<(const word) PI_HALF_u4f12#0) goto sin8s::@2 [ sin8s::x#4 sin8s::isUpper#10 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::x#4 sin8s::isUpper#10 ] ) always clobbers reg byte a -Statement [115] (word) sin8s::x#1 ← (const word) PI_u4f12#0 - (word) sin8s::x#4 [ sin8s::isUpper#10 sin8s::x#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x#1 ] ) always clobbers reg byte a -Statement [117] (word~) sin8s::$6 ← (word) sin8s::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin8s::isUpper#10 sin8s::$6 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::$6 ] ) always clobbers reg byte a -Statement [118] (byte) sin8s::x1#0 ← > (word~) sin8s::$6 [ sin8s::isUpper#10 sin8s::x1#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 ] ) always clobbers reg byte a -Statement [133] (byte) sin8s::usinx#0 ← (byte) sin8s::x1#0 - (byte) sin8s::x3_6#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::usinx#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::usinx#0 ] ) always clobbers reg byte a -Statement [145] (byte) sin8s::usinx#1 ← (byte) sin8s::usinx#0 + (byte) sin8s::x5_128#0 [ sin8s::isUpper#10 sin8s::usinx#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#1 ] ) always clobbers reg byte a -Statement [150] (signed byte) sin8s::sinx#1 ← - (signed byte)(byte) sin8s::usinx#4 [ sin8s::sinx#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::sinx#1 ] ) always clobbers reg byte a -Statement [158] (word) mul8u::return#3 ← (word) mul8u::res#2 [ mulu8_sel::select#5 mul8u::return#3 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::return#3 ] ) always clobbers reg byte a -Statement [159] (word~) mulu8_sel::$0 ← (word) mul8u::return#3 [ mulu8_sel::select#5 mulu8_sel::$0 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mulu8_sel::$0 ] ) always clobbers reg byte a -Potential register analysis [160] mulu8_sel::$1 ← mulu8_sel::$0 << mulu8_sel::select#5 missing fragment vwuz1=vwuz2_rol_vbuxx allocation: reg byte x [ mulu8_sel::select#5 ] zp ZP_WORD:81 [ mulu8_sel::$1 ] zp ZP_WORD:79 [ mulu8_sel::$0 ] -Potential register analysis [160] mulu8_sel::$1 ← mulu8_sel::$0 << mulu8_sel::select#5 missing fragment vwuz1=vwuz2_rol_vbuyy allocation: reg byte y [ mulu8_sel::select#5 ] zp ZP_WORD:81 [ mulu8_sel::$1 ] zp ZP_WORD:79 [ mulu8_sel::$0 ] +Statement [14] (word) print_word::w#1 ← (word) sin8u_table::step#0 [ sin8u_table::step#0 print_word::w#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 print_word::w#1 char_cursor#2 ] ) always clobbers reg byte a +Statement [35] (word) sin8s::x#2 ← (word) sin8u_table::x#10 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8s::x#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8s::x#2 line_cursor#1 ] ) always clobbers reg byte a +Statement [41] (signed word) mul8su::return#2 ← (signed word)(word) mul8su::m#2 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 mul8su::return#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 mul8su::return#2 line_cursor#1 ] ) always clobbers reg byte a +Statement [42] (signed word) sin8u_table::sinx_sc#0 ← (signed word) mul8su::return#2 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 line_cursor#1 ] ) always clobbers reg byte a +Statement [44] (byte) sin8u_table::sinx_tr#0 ← (const byte) sin8u_table::mid#0 + (byte~) sin8u_table::$20 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 ] ) always clobbers reg byte a +Statement [45] *((byte*) sin8u_table::sintab#2) ← (byte) sin8u_table::sinx_tr#0 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 ] ) always clobbers reg byte a reg byte y +Statement [47] (byte*~) char_cursor#121 ← (byte*) line_cursor#1 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 char_cursor#121 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 char_cursor#121 line_cursor#1 ] ) always clobbers reg byte a +Statement [49] (word) print_word::w#2 ← (word) sin8u_table::x#10 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#2 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#2 char_cursor#2 ] ) always clobbers reg byte a +Statement [57] (signed word) print_sword::w#1 ← (signed word) sin8u_table::sinx_sc#0 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_sword::w#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_sword::w#1 char_cursor#2 ] ) always clobbers reg byte a +Statement [65] (word) sin8u_table::x#1 ← (word) sin8u_table::x#10 + (word) sin8u_table::step#0 [ sin8u_table::step#0 sin8u_table::i#10 sin8u_table::x#1 sin8u_table::sintab#1 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::i#10 sin8u_table::x#1 sin8u_table::sintab#1 line_cursor#1 ] ) always clobbers reg byte a +Statement [67] if((word) sin8u_table::i#1<(const word) main::tabsize#0) goto sin8u_table::@1 [ sin8u_table::step#0 sin8u_table::x#1 sin8u_table::sintab#1 sin8u_table::i#1 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#1 sin8u_table::sintab#1 sin8u_table::i#1 line_cursor#1 ] ) always clobbers reg byte a +Statement [71] (byte*) line_cursor#1 ← (byte*) line_cursor#12 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ line_cursor#1 char_cursor#17 ] ( main:2::sin8u_table:7::print_ln:33 [ sin8u_table::step#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_ln:64 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 ] ) always clobbers reg byte a +Statement [72] if((byte*) line_cursor#1<(byte*) char_cursor#17) goto print_ln::@1 [ line_cursor#1 char_cursor#17 ] ( main:2::sin8u_table:7::print_ln:33 [ sin8u_table::step#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_ln:64 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 ] ) always clobbers reg byte a +Statement [78] (byte~) print_byte::$2 ← (byte) print_byte::b#8 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ char_cursor#17 print_byte::$2 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_byte:62 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_word:15::print_byte:103 [ sin8u_table::step#0 print_word::w#3 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_word:50::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_word:15::print_byte:105 [ sin8u_table::step#0 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_word:50::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_byte::$2 ] ) always clobbers reg byte a +Statement [83] *((byte*) char_cursor#62) ← (byte) print_char::ch#4 [ char_cursor#62 ] ( main:2::sin8u_table:7::print_byte:19::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_byte:23::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_byte:27::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_byte:31::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_byte:62::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_word:15::print_byte:103::print_char:77 [ sin8u_table::step#0 print_word::w#3 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_word:50::print_byte:103::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_word:15::print_byte:105::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_word:50::print_byte:105::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_byte:19::print_char:80 [ sin8u_table::step#0 char_cursor#62 ] main:2::sin8u_table:7::print_byte:23::print_char:80 [ sin8u_table::step#0 char_cursor#62 ] main:2::sin8u_table:7::print_byte:27::print_char:80 [ sin8u_table::step#0 char_cursor#62 ] main:2::sin8u_table:7::print_byte:31::print_char:80 [ sin8u_table::step#0 char_cursor#62 ] main:2::sin8u_table:7::print_byte:62::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#62 ] main:2::sin8u_table:7::print_word:15::print_byte:103::print_char:80 [ sin8u_table::step#0 print_word::w#3 char_cursor#62 ] main:2::sin8u_table:7::print_word:50::print_byte:103::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#62 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#62 ] main:2::sin8u_table:7::print_word:15::print_byte:105::print_char:80 [ sin8u_table::step#0 char_cursor#62 ] main:2::sin8u_table:7::print_word:50::print_byte:105::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#62 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#62 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#62 ] main:2::sin8u_table:7::print_sword:58::print_char:95 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_sword::w#1 char_cursor#62 ] main:2::sin8u_table:7::print_sbyte:54::print_char:109 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_sbyte::b#1 char_cursor#62 ] ) always clobbers reg byte y +Statement [88] if(*((byte*) print_str::str#10)!=(byte) '@') goto print_str::@2 [ char_cursor#2 print_str::str#10 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:48 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:52 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:56 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:60 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] ) always clobbers reg byte a reg byte y +Statement [90] *((byte*) char_cursor#2) ← *((byte*) print_str::str#10) [ char_cursor#2 print_str::str#10 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:48 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:52 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:56 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:60 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] ) always clobbers reg byte a reg byte y +Statement [93] if((signed word) print_sword::w#1>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto print_sword::@1 [ print_sword::w#1 char_cursor#2 ] ( main:2::sin8u_table:7::print_sword:58 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_sword::w#1 char_cursor#2 ] ) always clobbers reg byte a +Statement [96] (signed word) print_sword::w#0 ← - (signed word) print_sword::w#1 [ char_cursor#17 print_sword::w#0 ] ( main:2::sin8u_table:7::print_sword:58 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_sword::w#0 ] ) always clobbers reg byte a +Statement [98] (word~) print_word::w#5 ← (word)(signed word) print_sword::w#3 [ char_cursor#92 print_word::w#5 ] ( main:2::sin8u_table:7::print_sword:58 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#92 print_word::w#5 ] ) always clobbers reg byte a +Statement [102] (byte) print_byte::b#1 ← > (word) print_word::w#3 [ print_byte::b#1 char_cursor#96 print_word::w#3 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 print_byte::b#1 char_cursor#96 print_word::w#3 ] main:2::sin8u_table:7::print_word:50 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#1 char_cursor#96 print_word::w#3 ] main:2::sin8u_table:7::print_sword:58::print_word:99 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#1 char_cursor#96 print_word::w#3 ] ) always clobbers reg byte a +Statement [104] (byte) print_byte::b#2 ← < (word) print_word::w#3 [ char_cursor#17 print_byte::b#2 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#17 print_byte::b#2 ] main:2::sin8u_table:7::print_word:50 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_byte::b#2 ] main:2::sin8u_table:7::print_sword:58::print_word:99 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_byte::b#2 ] ) always clobbers reg byte a +Statement [110] (signed byte) print_sbyte::b#0 ← - (signed byte) print_sbyte::b#1 [ char_cursor#17 print_sbyte::b#0 ] ( main:2::sin8u_table:7::print_sbyte:54 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_sbyte::b#0 ] ) always clobbers reg byte a +Statement [117] (word) mul8u::return#2 ← (word) mul8u::res#2 [ mul8su::a#0 mul8u::return#2 ] ( main:2::sin8u_table:7::mul8su:40 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::return#2 ] ) always clobbers reg byte a +Statement [118] (word) mul8su::m#0 ← (word) mul8u::return#2 [ mul8su::a#0 mul8su::m#0 ] ( main:2::sin8u_table:7::mul8su:40 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8su::m#0 ] ) always clobbers reg byte a +Statement [120] (byte~) mul8su::$6 ← > (word) mul8su::m#0 [ mul8su::m#0 mul8su::$6 ] ( main:2::sin8u_table:7::mul8su:40 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::m#0 mul8su::$6 ] ) always clobbers reg byte a +Statement [121] (byte/signed byte/word/signed word/dword/signed dword~) mul8su::$10 ← (byte~) mul8su::$6 - ((byte))(const byte) mul8su::b#0 [ mul8su::m#0 mul8su::$10 ] ( main:2::sin8u_table:7::mul8su:40 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::m#0 mul8su::$10 ] ) always clobbers reg byte a +Statement [126] (word) mul8u::mb#0 ← ((word)) (byte) mul8u::b#2 [ mul8u::a#6 mul8u::mb#0 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] ) always clobbers reg byte a +Statement [130] (byte~) mul8u::$1 ← (byte) mul8u::a#3 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] ) always clobbers reg byte a +Statement [132] (word) mul8u::res#1 ← (word) mul8u::res#2 + (word) mul8u::mb#2 [ mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] ) always clobbers reg byte a +Statement [136] if((word) sin8s::x#2<(const word) PI_u4f12#0) goto sin8s::@1 [ sin8s::x#2 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::x#2 ] ) always clobbers reg byte a +Statement [137] (word) sin8s::x#0 ← (word) sin8s::x#2 - (const word) PI_u4f12#0 [ sin8s::x#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::x#0 ] ) always clobbers reg byte a +Statement [139] if((word) sin8s::x#4<(const word) PI_HALF_u4f12#0) goto sin8s::@2 [ sin8s::x#4 sin8s::isUpper#10 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::x#4 sin8s::isUpper#10 ] ) always clobbers reg byte a +Statement [140] (word) sin8s::x#1 ← (const word) PI_u4f12#0 - (word) sin8s::x#4 [ sin8s::isUpper#10 sin8s::x#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x#1 ] ) always clobbers reg byte a +Statement [142] (word~) sin8s::$6 ← (word) sin8s::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin8s::isUpper#10 sin8s::$6 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::$6 ] ) always clobbers reg byte a +Statement [143] (byte) sin8s::x1#0 ← > (word~) sin8s::$6 [ sin8s::isUpper#10 sin8s::x1#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 ] ) always clobbers reg byte a +Statement [158] (byte) sin8s::usinx#0 ← (byte) sin8s::x1#0 - (byte) sin8s::x3_6#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::usinx#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::usinx#0 ] ) always clobbers reg byte a +Statement [170] (byte) sin8s::usinx#1 ← (byte) sin8s::usinx#0 + (byte) sin8s::x5_128#0 [ sin8s::isUpper#10 sin8s::usinx#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#1 ] ) always clobbers reg byte a +Statement [175] (signed byte) sin8s::sinx#1 ← - (signed byte)(byte) sin8s::usinx#4 [ sin8s::sinx#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::sinx#1 ] ) always clobbers reg byte a +Statement [183] (word) mul8u::return#3 ← (word) mul8u::res#2 [ mulu8_sel::select#5 mul8u::return#3 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:146 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::return#3 ] ) always clobbers reg byte a +Statement [184] (word~) mulu8_sel::$0 ← (word) mul8u::return#3 [ mulu8_sel::select#5 mulu8_sel::$0 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:146 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mulu8_sel::$0 ] ) always clobbers reg byte a +Potential register analysis [185] mulu8_sel::$1 ← mulu8_sel::$0 << mulu8_sel::select#5 missing fragment vwuz1=vwuz2_rol_vbuxx allocation: reg byte x [ mulu8_sel::select#5 ] zp ZP_WORD:85 [ mulu8_sel::$1 ] zp ZP_WORD:83 [ mulu8_sel::$0 ] +Potential register analysis [185] mulu8_sel::$1 ← mulu8_sel::$0 << mulu8_sel::select#5 missing fragment vwuz1=vwuz2_rol_vbuyy allocation: reg byte y [ mulu8_sel::select#5 ] zp ZP_WORD:85 [ mulu8_sel::$1 ] zp ZP_WORD:83 [ mulu8_sel::$0 ] MISSING FRAGMENTS vwuz1=vwuz2_rol_vbuxx vwuz1=vwuz2_rol_vbuyy -Statement [160] (word~) mulu8_sel::$1 ← (word~) mulu8_sel::$0 << (byte) mulu8_sel::select#5 [ mulu8_sel::$1 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::$1 ] ) always clobbers reg byte a reg byte y -Statement [161] (byte) mulu8_sel::return#12 ← > (word~) mulu8_sel::$1 [ mulu8_sel::return#12 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#12 ] ) always clobbers reg byte a -Statement [165] (word) divr16u::return#2 ← (word) divr16u::return#0 [ divr16u::return#2 ] ( main:2::sin8u_table:7::div16u:10 [ divr16u::return#2 ] ) always clobbers reg byte a -Statement [166] (word) div16u::return#0 ← (word) divr16u::return#2 [ div16u::return#0 ] ( main:2::sin8u_table:7::div16u:10 [ div16u::return#0 ] ) always clobbers reg byte a -Statement [171] (byte~) divr16u::$1 ← > (word) divr16u::dividend#2 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) always clobbers reg byte a -Statement [172] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) always clobbers reg byte a -Statement [174] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) always clobbers reg byte a -Statement [178] if((word) divr16u::rem#5<(const word) main::tabsize#0) goto divr16u::@3 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ) always clobbers reg byte a -Statement [180] (word) divr16u::rem#2 ← (word) divr16u::rem#5 - (const word) main::tabsize#0 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) always clobbers reg byte a -Statement [187] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:5 [ print_cls::sc#2 ] ) always clobbers reg byte a reg byte y -Statement [189] 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:5 [ print_cls::sc#1 ] ) always clobbers reg byte a -Potential registers zp ZP_WORD:2 [ sin8u_table::x#2 sin8u_table::x#1 ] : zp ZP_WORD:2 , +Statement [185] (word~) mulu8_sel::$1 ← (word~) mulu8_sel::$0 << (byte) mulu8_sel::select#5 [ mulu8_sel::$1 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:146 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::$1 ] ) always clobbers reg byte a reg byte y +Statement [186] (byte) mulu8_sel::return#12 ← > (word~) mulu8_sel::$1 [ mulu8_sel::return#12 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:146 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#12 ] ) always clobbers reg byte a +Statement [190] (word) divr16u::return#2 ← (word) divr16u::return#0 [ divr16u::return#2 ] ( main:2::sin8u_table:7::div16u:10 [ divr16u::return#2 ] ) always clobbers reg byte a +Statement [191] (word) div16u::return#0 ← (word) divr16u::return#2 [ div16u::return#0 ] ( main:2::sin8u_table:7::div16u:10 [ div16u::return#0 ] ) always clobbers reg byte a +Statement [196] (byte~) divr16u::$1 ← > (word) divr16u::dividend#2 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) always clobbers reg byte a +Statement [197] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) always clobbers reg byte a +Statement [199] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) always clobbers reg byte a +Statement [203] if((word) divr16u::rem#5<(const word) main::tabsize#0) goto divr16u::@3 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ) always clobbers reg byte a +Statement [205] (word) divr16u::rem#2 ← (word) divr16u::rem#5 - (const word) main::tabsize#0 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) always clobbers reg byte a +Statement [212] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:5 [ print_cls::sc#2 ] ) always clobbers reg byte a reg byte y +Statement [214] 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:5 [ print_cls::sc#1 ] ) always clobbers reg byte a +Potential registers zp ZP_WORD:2 [ sin8u_table::x#10 sin8u_table::x#1 ] : zp ZP_WORD:2 , Potential registers zp ZP_WORD:4 [ sin8u_table::sintab#2 sin8u_table::sintab#1 ] : zp ZP_WORD:4 , -Potential registers zp ZP_WORD:6 [ sin8u_table::i#2 sin8u_table::i#1 ] : zp ZP_WORD:6 , +Potential registers zp ZP_WORD:6 [ sin8u_table::i#10 sin8u_table::i#1 ] : zp ZP_WORD:6 , Potential registers zp ZP_WORD:8 [ line_cursor#12 line_cursor#23 line_cursor#1 ] : zp ZP_WORD:8 , -Potential registers zp ZP_BYTE:10 [ print_byte::b#7 print_byte::b#0 print_byte::b#1 print_byte::b#6 ] : zp ZP_BYTE:10 , reg byte a , reg byte x , -Potential registers zp ZP_BYTE:11 [ print_char::ch#2 print_char::ch#0 print_char::ch#1 ] : zp ZP_BYTE:11 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_WORD:12 [ char_cursor#78 char_cursor#46 char_cursor#73 char_cursor#2 char_cursor#11 char_cursor#92 char_cursor#1 ] : zp ZP_WORD:12 , -Potential registers zp ZP_WORD:14 [ print_str::str#8 print_str::str#10 print_str::str#0 ] : zp ZP_WORD:14 , -Potential registers zp ZP_WORD:16 [ print_word::w#2 print_word::w#1 print_word::w#0 ] : zp ZP_WORD:16 , -Potential registers zp ZP_WORD:18 [ mul8su::m#2 mul8su::m#1 mul8su::m#0 ] : zp ZP_WORD:18 , -Potential registers zp ZP_BYTE:20 [ mul8u::b#2 mul8u::b#1 ] : zp ZP_BYTE:20 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:21 [ mul8u::a#3 mul8u::a#6 mul8u::a#8 mul8u::a#2 mul8u::a#0 ] : zp ZP_BYTE:21 , reg byte x , reg byte y , -Potential registers zp ZP_WORD:22 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 ] : zp ZP_WORD:22 , -Potential registers zp ZP_WORD:24 [ mul8u::mb#2 mul8u::mb#0 mul8u::mb#1 ] : zp ZP_WORD:24 , -Potential registers zp ZP_BYTE:26 [ sin8s::isUpper#10 ] : zp ZP_BYTE:26 , reg byte x , -Potential registers zp ZP_WORD:27 [ sin8s::x#6 sin8s::x#4 sin8s::x#2 sin8s::x#0 sin8s::x#1 ] : zp ZP_WORD:27 , -Potential registers zp ZP_BYTE:29 [ sin8s::usinx#4 sin8s::usinx#1 sin8s::usinx#2 ] : zp ZP_BYTE:29 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:30 [ sin8s::return#0 sin8s::return#5 sin8s::sinx#1 ] : zp ZP_BYTE:30 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:31 [ mulu8_sel::v1#5 mulu8_sel::v1#1 mulu8_sel::v1#2 mulu8_sel::v1#3 mulu8_sel::v1#4 mulu8_sel::v1#0 ] : zp ZP_BYTE:31 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:32 [ mulu8_sel::v2#5 mulu8_sel::v2#1 mulu8_sel::v2#3 mulu8_sel::v2#4 mulu8_sel::v2#0 ] : zp ZP_BYTE:32 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:33 [ mulu8_sel::select#5 ] : zp ZP_BYTE:33 , reg byte x , reg byte y , -Potential registers zp ZP_WORD:34 [ divr16u::rem#4 divr16u::rem#10 divr16u::rem#5 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] : zp ZP_WORD:34 , -Potential registers zp ZP_WORD:36 [ divr16u::dividend#2 divr16u::dividend#0 ] : zp ZP_WORD:36 , -Potential registers zp ZP_WORD:38 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] : zp ZP_WORD:38 , -Potential registers zp ZP_BYTE:40 [ divr16u::i#2 divr16u::i#1 ] : zp ZP_BYTE:40 , reg byte x , reg byte y , -Potential registers zp ZP_WORD:41 [ print_cls::sc#2 print_cls::sc#1 ] : zp ZP_WORD:41 , -Potential registers zp ZP_WORD:43 [ div16u::return#2 ] : zp ZP_WORD:43 , -Potential registers zp ZP_WORD:45 [ sin8u_table::step#0 ] : zp ZP_WORD:45 , -Potential registers zp ZP_BYTE:47 [ sin8s::return#2 ] : zp ZP_BYTE:47 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:48 [ mul8su::a#0 ] : zp ZP_BYTE:48 , reg byte x , reg byte y , -Potential registers zp ZP_WORD:49 [ mul8su::return#2 ] : zp ZP_WORD:49 , -Potential registers zp ZP_WORD:51 [ sin8u_table::$17 ] : zp ZP_WORD:51 , -Potential registers zp ZP_BYTE:53 [ sin8u_table::$18 ] : zp ZP_BYTE:53 , reg byte a , reg byte x , reg byte y , reg byte alu , -Potential registers zp ZP_BYTE:54 [ sin8u_table::sinval#0 ] : zp ZP_BYTE:54 , reg byte x , -Potential registers zp ZP_BYTE:55 [ print_byte::$0 ] : zp ZP_BYTE:55 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:56 [ print_byte::$2 ] : zp ZP_BYTE:56 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_WORD:57 [ mul8u::return#2 ] : zp ZP_WORD:57 , -Potential registers zp ZP_BYTE:59 [ mul8su::$6 ] : zp ZP_BYTE:59 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:60 [ mul8su::$10 ] : zp ZP_BYTE:60 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:61 [ mul8u::$1 ] : zp ZP_BYTE:61 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_WORD:62 [ sin8s::$6 ] : zp ZP_WORD:62 , -Potential registers zp ZP_BYTE:64 [ sin8s::x1#0 ] : zp ZP_BYTE:64 , reg byte x , -Potential registers zp ZP_BYTE:65 [ mulu8_sel::return#0 ] : zp ZP_BYTE:65 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:66 [ sin8s::x2#0 ] : zp ZP_BYTE:66 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:67 [ mulu8_sel::return#1 ] : zp ZP_BYTE:67 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:68 [ sin8s::x3#0 ] : zp ZP_BYTE:68 , reg byte x , -Potential registers zp ZP_BYTE:69 [ mulu8_sel::return#2 ] : zp ZP_BYTE:69 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:70 [ sin8s::x3_6#0 ] : zp ZP_BYTE:70 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:71 [ sin8s::usinx#0 ] : zp ZP_BYTE:71 , reg byte x , -Potential registers zp ZP_BYTE:72 [ mulu8_sel::return#10 ] : zp ZP_BYTE:72 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:73 [ sin8s::x4#0 ] : zp ZP_BYTE:73 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:74 [ mulu8_sel::return#11 ] : zp ZP_BYTE:74 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:75 [ sin8s::x5#0 ] : zp ZP_BYTE:75 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:76 [ sin8s::x5_128#0 ] : zp ZP_BYTE:76 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_WORD:77 [ mul8u::return#3 ] : zp ZP_WORD:77 , -Potential registers zp ZP_WORD:79 [ mulu8_sel::$0 ] : zp ZP_WORD:79 , -Potential registers zp ZP_WORD:81 [ mulu8_sel::$1 ] : zp ZP_WORD:81 , -Potential registers zp ZP_BYTE:83 [ mulu8_sel::return#12 ] : zp ZP_BYTE:83 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_WORD:84 [ divr16u::return#2 ] : zp ZP_WORD:84 , -Potential registers zp ZP_WORD:86 [ div16u::return#0 ] : zp ZP_WORD:86 , -Potential registers zp ZP_BYTE:88 [ divr16u::$1 ] : zp ZP_BYTE:88 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:89 [ divr16u::$2 ] : zp ZP_BYTE:89 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:10 [ print_byte::b#8 print_byte::b#10 print_byte::b#1 print_byte::b#2 print_byte::b#7 ] : zp ZP_BYTE:10 , reg byte a , reg byte x , +Potential registers zp ZP_BYTE:11 [ print_char::ch#4 print_char::ch#2 print_char::ch#3 ] : zp ZP_BYTE:11 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_WORD:12 [ print_str::str#10 print_str::str#12 print_str::str#0 ] : zp ZP_WORD:12 , +Potential registers zp ZP_WORD:14 [ print_sword::w#3 print_sword::w#1 print_sword::w#0 ] : zp ZP_WORD:14 , +Potential registers zp ZP_WORD:16 [ char_cursor#92 char_cursor#102 char_cursor#62 char_cursor#97 char_cursor#94 char_cursor#96 char_cursor#17 char_cursor#2 char_cursor#121 char_cursor#1 ] : zp ZP_WORD:16 , +Potential registers zp ZP_WORD:18 [ print_word::w#3 print_word::w#5 print_word::w#2 print_word::w#1 ] : zp ZP_WORD:18 , +Potential registers zp ZP_BYTE:20 [ print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#0 ] : zp ZP_BYTE:20 , reg byte a , reg byte x , +Potential registers zp ZP_WORD:21 [ mul8su::m#2 mul8su::m#1 mul8su::m#0 ] : zp ZP_WORD:21 , +Potential registers zp ZP_BYTE:23 [ mul8u::b#2 mul8u::b#1 ] : zp ZP_BYTE:23 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:24 [ mul8u::a#3 mul8u::a#6 mul8u::a#8 mul8u::a#2 mul8u::a#0 ] : zp ZP_BYTE:24 , reg byte x , reg byte y , +Potential registers zp ZP_WORD:25 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 ] : zp ZP_WORD:25 , +Potential registers zp ZP_WORD:27 [ mul8u::mb#2 mul8u::mb#0 mul8u::mb#1 ] : zp ZP_WORD:27 , +Potential registers zp ZP_BYTE:29 [ sin8s::isUpper#10 ] : zp ZP_BYTE:29 , reg byte x , +Potential registers zp ZP_WORD:30 [ sin8s::x#6 sin8s::x#4 sin8s::x#2 sin8s::x#0 sin8s::x#1 ] : zp ZP_WORD:30 , +Potential registers zp ZP_BYTE:32 [ sin8s::usinx#4 sin8s::usinx#1 sin8s::usinx#2 ] : zp ZP_BYTE:32 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:33 [ sin8s::return#0 sin8s::return#5 sin8s::sinx#1 ] : zp ZP_BYTE:33 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:34 [ mulu8_sel::v1#5 mulu8_sel::v1#1 mulu8_sel::v1#2 mulu8_sel::v1#3 mulu8_sel::v1#4 mulu8_sel::v1#0 ] : zp ZP_BYTE:34 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:35 [ mulu8_sel::v2#5 mulu8_sel::v2#1 mulu8_sel::v2#3 mulu8_sel::v2#4 mulu8_sel::v2#0 ] : zp ZP_BYTE:35 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:36 [ mulu8_sel::select#5 ] : zp ZP_BYTE:36 , reg byte x , reg byte y , +Potential registers zp ZP_WORD:37 [ divr16u::rem#4 divr16u::rem#10 divr16u::rem#5 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] : zp ZP_WORD:37 , +Potential registers zp ZP_WORD:39 [ divr16u::dividend#2 divr16u::dividend#0 ] : zp ZP_WORD:39 , +Potential registers zp ZP_WORD:41 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] : zp ZP_WORD:41 , +Potential registers zp ZP_BYTE:43 [ divr16u::i#2 divr16u::i#1 ] : zp ZP_BYTE:43 , reg byte x , reg byte y , +Potential registers zp ZP_WORD:44 [ print_cls::sc#2 print_cls::sc#1 ] : zp ZP_WORD:44 , +Potential registers zp ZP_WORD:46 [ div16u::return#2 ] : zp ZP_WORD:46 , +Potential registers zp ZP_WORD:48 [ sin8u_table::step#0 ] : zp ZP_WORD:48 , +Potential registers zp ZP_BYTE:50 [ sin8s::return#2 ] : zp ZP_BYTE:50 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:51 [ sin8u_table::sinx#0 ] : zp ZP_BYTE:51 , reg byte x , +Potential registers zp ZP_BYTE:52 [ mul8su::a#0 ] : zp ZP_BYTE:52 , reg byte x , reg byte y , +Potential registers zp ZP_WORD:53 [ mul8su::return#2 ] : zp ZP_WORD:53 , +Potential registers zp ZP_WORD:55 [ sin8u_table::sinx_sc#0 ] : zp ZP_WORD:55 , +Potential registers zp ZP_BYTE:57 [ sin8u_table::$20 ] : zp ZP_BYTE:57 , reg byte a , reg byte x , reg byte y , reg byte alu , +Potential registers zp ZP_BYTE:58 [ sin8u_table::sinx_tr#0 ] : zp ZP_BYTE:58 , reg byte x , +Potential registers zp ZP_BYTE:59 [ print_byte::$0 ] : zp ZP_BYTE:59 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:60 [ print_byte::$2 ] : zp ZP_BYTE:60 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_WORD:61 [ mul8u::return#2 ] : zp ZP_WORD:61 , +Potential registers zp ZP_BYTE:63 [ mul8su::$6 ] : zp ZP_BYTE:63 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:64 [ mul8su::$10 ] : zp ZP_BYTE:64 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:65 [ mul8u::$1 ] : zp ZP_BYTE:65 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_WORD:66 [ sin8s::$6 ] : zp ZP_WORD:66 , +Potential registers zp ZP_BYTE:68 [ sin8s::x1#0 ] : zp ZP_BYTE:68 , reg byte x , +Potential registers zp ZP_BYTE:69 [ mulu8_sel::return#0 ] : zp ZP_BYTE:69 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:70 [ sin8s::x2#0 ] : zp ZP_BYTE:70 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:71 [ mulu8_sel::return#1 ] : zp ZP_BYTE:71 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:72 [ sin8s::x3#0 ] : zp ZP_BYTE:72 , reg byte x , +Potential registers zp ZP_BYTE:73 [ mulu8_sel::return#2 ] : zp ZP_BYTE:73 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:74 [ sin8s::x3_6#0 ] : zp ZP_BYTE:74 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:75 [ sin8s::usinx#0 ] : zp ZP_BYTE:75 , reg byte x , +Potential registers zp ZP_BYTE:76 [ mulu8_sel::return#10 ] : zp ZP_BYTE:76 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:77 [ sin8s::x4#0 ] : zp ZP_BYTE:77 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:78 [ mulu8_sel::return#11 ] : zp ZP_BYTE:78 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:79 [ sin8s::x5#0 ] : zp ZP_BYTE:79 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:80 [ sin8s::x5_128#0 ] : zp ZP_BYTE:80 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_WORD:81 [ mul8u::return#3 ] : zp ZP_WORD:81 , +Potential registers zp ZP_WORD:83 [ mulu8_sel::$0 ] : zp ZP_WORD:83 , +Potential registers zp ZP_WORD:85 [ mulu8_sel::$1 ] : zp ZP_WORD:85 , +Potential registers zp ZP_BYTE:87 [ mulu8_sel::return#12 ] : zp ZP_BYTE:87 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_WORD:88 [ divr16u::return#2 ] : zp ZP_WORD:88 , +Potential registers zp ZP_WORD:90 [ div16u::return#0 ] : zp ZP_WORD:90 , +Potential registers zp ZP_BYTE:92 [ divr16u::$1 ] : zp ZP_BYTE:92 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:93 [ divr16u::$2 ] : zp ZP_BYTE:93 , reg byte a , reg byte x , reg byte y , REGISTER UPLIFT SCOPES -Uplift Scope [mul8u] 346.86: zp ZP_WORD:22 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 ] 249.57: zp ZP_WORD:24 [ mul8u::mb#2 mul8u::mb#0 mul8u::mb#1 ] 202: zp ZP_BYTE:61 [ mul8u::$1 ] 177.67: zp ZP_BYTE:21 [ mul8u::a#3 mul8u::a#6 mul8u::a#8 mul8u::a#2 mul8u::a#0 ] 8: zp ZP_BYTE:20 [ mul8u::b#2 mul8u::b#1 ] 4: zp ZP_WORD:57 [ mul8u::return#2 ] 4: zp ZP_WORD:77 [ mul8u::return#3 ] -Uplift Scope [] 228.21: zp ZP_WORD:8 [ line_cursor#12 line_cursor#23 line_cursor#1 ] 187.98: zp ZP_WORD:12 [ char_cursor#78 char_cursor#46 char_cursor#73 char_cursor#2 char_cursor#11 char_cursor#92 char_cursor#1 ] -Uplift Scope [print_str] 305.5: zp ZP_WORD:14 [ print_str::str#8 print_str::str#10 print_str::str#0 ] -Uplift Scope [divr16u] 96.25: zp ZP_WORD:34 [ divr16u::rem#4 divr16u::rem#10 divr16u::rem#5 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] 37.25: zp ZP_WORD:38 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] 22: zp ZP_BYTE:88 [ divr16u::$1 ] 22: zp ZP_BYTE:89 [ divr16u::$2 ] 18.19: zp ZP_BYTE:40 [ divr16u::i#2 divr16u::i#1 ] 7.46: zp ZP_WORD:36 [ divr16u::dividend#2 divr16u::dividend#0 ] 4: zp ZP_WORD:84 [ divr16u::return#2 ] -Uplift Scope [sin8s] 27.5: zp ZP_WORD:27 [ sin8s::x#6 sin8s::x#4 sin8s::x#2 sin8s::x#0 sin8s::x#1 ] 22: zp ZP_BYTE:47 [ sin8s::return#2 ] 13: zp ZP_BYTE:30 [ sin8s::return#0 sin8s::return#5 sin8s::sinx#1 ] 10: zp ZP_BYTE:29 [ sin8s::usinx#4 sin8s::usinx#1 sin8s::usinx#2 ] 4: zp ZP_WORD:62 [ sin8s::$6 ] 4: zp ZP_BYTE:66 [ sin8s::x2#0 ] 4: zp ZP_BYTE:70 [ sin8s::x3_6#0 ] 4: zp ZP_BYTE:73 [ sin8s::x4#0 ] 4: zp ZP_BYTE:75 [ sin8s::x5#0 ] 4: zp ZP_BYTE:76 [ sin8s::x5_128#0 ] 1: zp ZP_BYTE:68 [ sin8s::x3#0 ] 0.64: zp ZP_BYTE:64 [ sin8s::x1#0 ] 0.33: zp ZP_BYTE:71 [ sin8s::usinx#0 ] 0.06: zp ZP_BYTE:26 [ sin8s::isUpper#10 ] -Uplift Scope [sin8u_table] 22: zp ZP_WORD:51 [ sin8u_table::$17 ] 22: zp ZP_BYTE:53 [ sin8u_table::$18 ] 17.46: zp ZP_WORD:6 [ sin8u_table::i#2 sin8u_table::i#1 ] 9.33: zp ZP_WORD:2 [ sin8u_table::x#2 sin8u_table::x#1 ] 4.57: zp ZP_WORD:4 [ sin8u_table::sintab#2 sin8u_table::sintab#1 ] 3.67: zp ZP_BYTE:54 [ sin8u_table::sinval#0 ] 0.32: zp ZP_WORD:45 [ sin8u_table::step#0 ] -Uplift Scope [mulu8_sel] 24: zp ZP_BYTE:31 [ mulu8_sel::v1#5 mulu8_sel::v1#1 mulu8_sel::v1#2 mulu8_sel::v1#3 mulu8_sel::v1#4 mulu8_sel::v1#0 ] 21: zp ZP_BYTE:32 [ mulu8_sel::v2#5 mulu8_sel::v2#1 mulu8_sel::v2#3 mulu8_sel::v2#4 mulu8_sel::v2#0 ] 4: zp ZP_BYTE:65 [ mulu8_sel::return#0 ] 4: zp ZP_BYTE:67 [ mulu8_sel::return#1 ] 4: zp ZP_BYTE:69 [ mulu8_sel::return#2 ] 4: zp ZP_BYTE:72 [ mulu8_sel::return#10 ] 4: zp ZP_BYTE:74 [ mulu8_sel::return#11 ] 4: zp ZP_WORD:79 [ mulu8_sel::$0 ] 4: zp ZP_WORD:81 [ mulu8_sel::$1 ] 1.71: zp ZP_BYTE:83 [ mulu8_sel::return#12 ] 0.33: zp ZP_BYTE:33 [ mulu8_sel::select#5 ] -Uplift Scope [print_byte] 34.75: zp ZP_BYTE:10 [ print_byte::b#7 print_byte::b#0 print_byte::b#1 print_byte::b#6 ] 4: zp ZP_BYTE:55 [ print_byte::$0 ] 4: zp ZP_BYTE:56 [ print_byte::$2 ] -Uplift Scope [mul8su] 22: zp ZP_WORD:49 [ mul8su::return#2 ] 7.33: zp ZP_WORD:18 [ mul8su::m#2 mul8su::m#1 mul8su::m#0 ] 4: zp ZP_BYTE:59 [ mul8su::$6 ] 4: zp ZP_BYTE:60 [ mul8su::$10 ] 2.6: zp ZP_BYTE:48 [ mul8su::a#0 ] -Uplift Scope [print_cls] 33: zp ZP_WORD:41 [ print_cls::sc#2 print_cls::sc#1 ] -Uplift Scope [print_word] 31.67: zp ZP_WORD:16 [ print_word::w#2 print_word::w#1 print_word::w#0 ] -Uplift Scope [print_char] 14: zp ZP_BYTE:11 [ print_char::ch#2 print_char::ch#0 print_char::ch#1 ] -Uplift Scope [div16u] 4: zp ZP_WORD:43 [ div16u::return#2 ] 1.33: zp ZP_WORD:86 [ div16u::return#0 ] +Uplift Scope [mul8u] 346.86: zp ZP_WORD:25 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 ] 249.57: zp ZP_WORD:27 [ mul8u::mb#2 mul8u::mb#0 mul8u::mb#1 ] 202: zp ZP_BYTE:65 [ mul8u::$1 ] 177.67: zp ZP_BYTE:24 [ mul8u::a#3 mul8u::a#6 mul8u::a#8 mul8u::a#2 mul8u::a#0 ] 8: zp ZP_BYTE:23 [ mul8u::b#2 mul8u::b#1 ] 4: zp ZP_WORD:61 [ mul8u::return#2 ] 4: zp ZP_WORD:81 [ mul8u::return#3 ] +Uplift Scope [] 225.55: zp ZP_WORD:8 [ line_cursor#12 line_cursor#23 line_cursor#1 ] 223.48: zp ZP_WORD:16 [ char_cursor#92 char_cursor#102 char_cursor#62 char_cursor#97 char_cursor#94 char_cursor#96 char_cursor#17 char_cursor#2 char_cursor#121 char_cursor#1 ] +Uplift Scope [print_str] 305.5: zp ZP_WORD:12 [ print_str::str#10 print_str::str#12 print_str::str#0 ] +Uplift Scope [divr16u] 96.25: zp ZP_WORD:37 [ divr16u::rem#4 divr16u::rem#10 divr16u::rem#5 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] 37.25: zp ZP_WORD:41 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] 22: zp ZP_BYTE:92 [ divr16u::$1 ] 22: zp ZP_BYTE:93 [ divr16u::$2 ] 18.19: zp ZP_BYTE:43 [ divr16u::i#2 divr16u::i#1 ] 7.46: zp ZP_WORD:39 [ divr16u::dividend#2 divr16u::dividend#0 ] 4: zp ZP_WORD:88 [ divr16u::return#2 ] +Uplift Scope [sin8s] 27.5: zp ZP_WORD:30 [ sin8s::x#6 sin8s::x#4 sin8s::x#2 sin8s::x#0 sin8s::x#1 ] 22: zp ZP_BYTE:50 [ sin8s::return#2 ] 13: zp ZP_BYTE:33 [ sin8s::return#0 sin8s::return#5 sin8s::sinx#1 ] 10: zp ZP_BYTE:32 [ sin8s::usinx#4 sin8s::usinx#1 sin8s::usinx#2 ] 4: zp ZP_WORD:66 [ sin8s::$6 ] 4: zp ZP_BYTE:70 [ sin8s::x2#0 ] 4: zp ZP_BYTE:74 [ sin8s::x3_6#0 ] 4: zp ZP_BYTE:77 [ sin8s::x4#0 ] 4: zp ZP_BYTE:79 [ sin8s::x5#0 ] 4: zp ZP_BYTE:80 [ sin8s::x5_128#0 ] 1: zp ZP_BYTE:72 [ sin8s::x3#0 ] 0.64: zp ZP_BYTE:68 [ sin8s::x1#0 ] 0.33: zp ZP_BYTE:75 [ sin8s::usinx#0 ] 0.06: zp ZP_BYTE:29 [ sin8s::isUpper#10 ] +Uplift Scope [mulu8_sel] 24: zp ZP_BYTE:34 [ mulu8_sel::v1#5 mulu8_sel::v1#1 mulu8_sel::v1#2 mulu8_sel::v1#3 mulu8_sel::v1#4 mulu8_sel::v1#0 ] 21: zp ZP_BYTE:35 [ mulu8_sel::v2#5 mulu8_sel::v2#1 mulu8_sel::v2#3 mulu8_sel::v2#4 mulu8_sel::v2#0 ] 4: zp ZP_BYTE:69 [ mulu8_sel::return#0 ] 4: zp ZP_BYTE:71 [ mulu8_sel::return#1 ] 4: zp ZP_BYTE:73 [ mulu8_sel::return#2 ] 4: zp ZP_BYTE:76 [ mulu8_sel::return#10 ] 4: zp ZP_BYTE:78 [ mulu8_sel::return#11 ] 4: zp ZP_WORD:83 [ mulu8_sel::$0 ] 4: zp ZP_WORD:85 [ mulu8_sel::$1 ] 1.71: zp ZP_BYTE:87 [ mulu8_sel::return#12 ] 0.33: zp ZP_BYTE:36 [ mulu8_sel::select#5 ] +Uplift Scope [sin8u_table] 22: zp ZP_BYTE:57 [ sin8u_table::$20 ] 17.19: zp ZP_WORD:6 [ sin8u_table::i#10 sin8u_table::i#1 ] 8.75: zp ZP_WORD:2 [ sin8u_table::x#10 sin8u_table::x#1 ] 3.75: zp ZP_WORD:4 [ sin8u_table::sintab#2 sin8u_table::sintab#1 ] 2.2: zp ZP_BYTE:51 [ sin8u_table::sinx#0 ] 2.2: zp ZP_WORD:55 [ sin8u_table::sinx_sc#0 ] 1.94: zp ZP_BYTE:58 [ sin8u_table::sinx_tr#0 ] 0.27: zp ZP_WORD:48 [ sin8u_table::step#0 ] +Uplift Scope [print_byte] 39.25: zp ZP_BYTE:10 [ print_byte::b#8 print_byte::b#10 print_byte::b#1 print_byte::b#2 print_byte::b#7 ] 4: zp ZP_BYTE:59 [ print_byte::$0 ] 4: zp ZP_BYTE:60 [ print_byte::$2 ] +Uplift Scope [mul8su] 22: zp ZP_WORD:53 [ mul8su::return#2 ] 7.33: zp ZP_WORD:21 [ mul8su::m#2 mul8su::m#1 mul8su::m#0 ] 4: zp ZP_BYTE:63 [ mul8su::$6 ] 4: zp ZP_BYTE:64 [ mul8su::$10 ] 2.6: zp ZP_BYTE:52 [ mul8su::a#0 ] +Uplift Scope [print_word] 36.33: zp ZP_WORD:18 [ print_word::w#3 print_word::w#5 print_word::w#2 print_word::w#1 ] +Uplift Scope [print_cls] 33: zp ZP_WORD:44 [ print_cls::sc#2 print_cls::sc#1 ] +Uplift Scope [print_char] 14: zp ZP_BYTE:11 [ print_char::ch#4 print_char::ch#2 print_char::ch#3 ] +Uplift Scope [print_sword] 12.25: zp ZP_WORD:14 [ print_sword::w#3 print_sword::w#1 print_sword::w#0 ] +Uplift Scope [print_sbyte] 12.25: zp ZP_BYTE:20 [ print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#0 ] +Uplift Scope [div16u] 4: zp ZP_WORD:46 [ div16u::return#2 ] 1.33: zp ZP_WORD:90 [ div16u::return#0 ] Uplift Scope [print_ln] Uplift Scope [main] -Uplifting [mul8u] best 23649 combination zp ZP_WORD:22 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 ] zp ZP_WORD:24 [ mul8u::mb#2 mul8u::mb#0 mul8u::mb#1 ] reg byte a [ mul8u::$1 ] reg byte x [ mul8u::a#3 mul8u::a#6 mul8u::a#8 mul8u::a#2 mul8u::a#0 ] reg byte a [ mul8u::b#2 mul8u::b#1 ] zp ZP_WORD:57 [ mul8u::return#2 ] zp ZP_WORD:77 [ mul8u::return#3 ] -Uplifting [] best 23649 combination zp ZP_WORD:8 [ line_cursor#12 line_cursor#23 line_cursor#1 ] zp ZP_WORD:12 [ char_cursor#78 char_cursor#46 char_cursor#73 char_cursor#2 char_cursor#11 char_cursor#92 char_cursor#1 ] -Uplifting [print_str] best 23649 combination zp ZP_WORD:14 [ print_str::str#8 print_str::str#10 print_str::str#0 ] -Uplifting [divr16u] best 23459 combination zp ZP_WORD:34 [ divr16u::rem#4 divr16u::rem#10 divr16u::rem#5 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] zp ZP_WORD:38 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] reg byte a [ divr16u::$1 ] reg byte a [ divr16u::$2 ] reg byte x [ divr16u::i#2 divr16u::i#1 ] zp ZP_WORD:36 [ divr16u::dividend#2 divr16u::dividend#0 ] zp ZP_WORD:84 [ divr16u::return#2 ] +Uplifting [mul8u] best 24241 combination zp ZP_WORD:25 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 ] zp ZP_WORD:27 [ mul8u::mb#2 mul8u::mb#0 mul8u::mb#1 ] reg byte a [ mul8u::$1 ] reg byte x [ mul8u::a#3 mul8u::a#6 mul8u::a#8 mul8u::a#2 mul8u::a#0 ] reg byte a [ mul8u::b#2 mul8u::b#1 ] zp ZP_WORD:61 [ mul8u::return#2 ] zp ZP_WORD:81 [ mul8u::return#3 ] +Uplifting [] best 24241 combination zp ZP_WORD:8 [ line_cursor#12 line_cursor#23 line_cursor#1 ] zp ZP_WORD:16 [ char_cursor#92 char_cursor#102 char_cursor#62 char_cursor#97 char_cursor#94 char_cursor#96 char_cursor#17 char_cursor#2 char_cursor#121 char_cursor#1 ] +Uplifting [print_str] best 24241 combination zp ZP_WORD:12 [ print_str::str#10 print_str::str#12 print_str::str#0 ] +Uplifting [divr16u] best 24051 combination zp ZP_WORD:37 [ divr16u::rem#4 divr16u::rem#10 divr16u::rem#5 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] zp ZP_WORD:41 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] reg byte a [ divr16u::$1 ] reg byte a [ divr16u::$2 ] reg byte x [ divr16u::i#2 divr16u::i#1 ] zp ZP_WORD:39 [ divr16u::dividend#2 divr16u::dividend#0 ] zp ZP_WORD:88 [ divr16u::return#2 ] Uplift attempts [sin8s] 10000/1048576 (limiting to 10000) -Uplifting [sin8s] best 23332 combination zp ZP_WORD:27 [ sin8s::x#6 sin8s::x#4 sin8s::x#2 sin8s::x#0 sin8s::x#1 ] reg byte a [ sin8s::return#2 ] reg byte a [ sin8s::return#0 sin8s::return#5 sin8s::sinx#1 ] reg byte x [ sin8s::usinx#4 sin8s::usinx#1 sin8s::usinx#2 ] zp ZP_WORD:62 [ sin8s::$6 ] reg byte a [ sin8s::x2#0 ] reg byte a [ sin8s::x3_6#0 ] reg byte a [ sin8s::x4#0 ] reg byte a [ sin8s::x5#0 ] zp ZP_BYTE:76 [ sin8s::x5_128#0 ] zp ZP_BYTE:68 [ sin8s::x3#0 ] zp ZP_BYTE:64 [ sin8s::x1#0 ] zp ZP_BYTE:71 [ sin8s::usinx#0 ] zp ZP_BYTE:26 [ sin8s::isUpper#10 ] +Uplifting [sin8s] best 23924 combination zp ZP_WORD:30 [ sin8s::x#6 sin8s::x#4 sin8s::x#2 sin8s::x#0 sin8s::x#1 ] reg byte a [ sin8s::return#2 ] reg byte a [ sin8s::return#0 sin8s::return#5 sin8s::sinx#1 ] reg byte x [ sin8s::usinx#4 sin8s::usinx#1 sin8s::usinx#2 ] zp ZP_WORD:66 [ sin8s::$6 ] reg byte a [ sin8s::x2#0 ] reg byte a [ sin8s::x3_6#0 ] reg byte a [ sin8s::x4#0 ] reg byte a [ sin8s::x5#0 ] zp ZP_BYTE:80 [ sin8s::x5_128#0 ] zp ZP_BYTE:72 [ sin8s::x3#0 ] zp ZP_BYTE:68 [ sin8s::x1#0 ] zp ZP_BYTE:75 [ sin8s::usinx#0 ] zp ZP_BYTE:29 [ sin8s::isUpper#10 ] Limited combination testing to 10000 combinations of 1048576 possible. -Uplifting [sin8u_table] best 23222 combination zp ZP_WORD:51 [ sin8u_table::$17 ] reg byte a [ sin8u_table::$18 ] zp ZP_WORD:6 [ sin8u_table::i#2 sin8u_table::i#1 ] zp ZP_WORD:2 [ sin8u_table::x#2 sin8u_table::x#1 ] zp ZP_WORD:4 [ sin8u_table::sintab#2 sin8u_table::sintab#1 ] reg byte x [ sin8u_table::sinval#0 ] zp ZP_WORD:45 [ sin8u_table::step#0 ] Uplift attempts [mulu8_sel] 10000/196608 (limiting to 10000) -Uplifting [mulu8_sel] best 23162 combination reg byte x [ mulu8_sel::v1#5 mulu8_sel::v1#1 mulu8_sel::v1#2 mulu8_sel::v1#3 mulu8_sel::v1#4 mulu8_sel::v1#0 ] reg byte y [ mulu8_sel::v2#5 mulu8_sel::v2#1 mulu8_sel::v2#3 mulu8_sel::v2#4 mulu8_sel::v2#0 ] reg byte a [ mulu8_sel::return#0 ] reg byte a [ mulu8_sel::return#1 ] reg byte a [ mulu8_sel::return#2 ] reg byte a [ mulu8_sel::return#10 ] reg byte a [ mulu8_sel::return#11 ] zp ZP_WORD:79 [ mulu8_sel::$0 ] zp ZP_WORD:81 [ mulu8_sel::$1 ] zp ZP_BYTE:83 [ mulu8_sel::return#12 ] zp ZP_BYTE:33 [ mulu8_sel::select#5 ] +Uplifting [mulu8_sel] best 23864 combination reg byte x [ mulu8_sel::v1#5 mulu8_sel::v1#1 mulu8_sel::v1#2 mulu8_sel::v1#3 mulu8_sel::v1#4 mulu8_sel::v1#0 ] reg byte y [ mulu8_sel::v2#5 mulu8_sel::v2#1 mulu8_sel::v2#3 mulu8_sel::v2#4 mulu8_sel::v2#0 ] reg byte a [ mulu8_sel::return#0 ] reg byte a [ mulu8_sel::return#1 ] reg byte a [ mulu8_sel::return#2 ] reg byte a [ mulu8_sel::return#10 ] reg byte a [ mulu8_sel::return#11 ] zp ZP_WORD:83 [ mulu8_sel::$0 ] zp ZP_WORD:85 [ mulu8_sel::$1 ] zp ZP_BYTE:87 [ mulu8_sel::return#12 ] zp ZP_BYTE:36 [ mulu8_sel::select#5 ] Limited combination testing to 10000 combinations of 196608 possible. -Uplifting [print_byte] best 23154 combination zp ZP_BYTE:10 [ print_byte::b#7 print_byte::b#0 print_byte::b#1 print_byte::b#6 ] reg byte a [ print_byte::$0 ] reg byte a [ print_byte::$2 ] -Uplifting [mul8su] best 23130 combination zp ZP_WORD:49 [ mul8su::return#2 ] zp ZP_WORD:18 [ mul8su::m#2 mul8su::m#1 mul8su::m#0 ] reg byte a [ mul8su::$6 ] reg byte a [ mul8su::$10 ] reg byte y [ mul8su::a#0 ] -Uplifting [print_cls] best 23130 combination zp ZP_WORD:41 [ print_cls::sc#2 print_cls::sc#1 ] -Uplifting [print_word] best 23130 combination zp ZP_WORD:16 [ print_word::w#2 print_word::w#1 print_word::w#0 ] -Uplifting [print_char] best 23121 combination reg byte a [ print_char::ch#2 print_char::ch#0 print_char::ch#1 ] -Uplifting [div16u] best 23121 combination zp ZP_WORD:43 [ div16u::return#2 ] zp ZP_WORD:86 [ div16u::return#0 ] -Uplifting [print_ln] best 23121 combination -Uplifting [main] best 23121 combination -Attempting to uplift remaining variables inzp ZP_BYTE:10 [ print_byte::b#7 print_byte::b#0 print_byte::b#1 print_byte::b#6 ] -Uplifting [print_byte] best 23121 combination zp ZP_BYTE:10 [ print_byte::b#7 print_byte::b#0 print_byte::b#1 print_byte::b#6 ] -Attempting to uplift remaining variables inzp ZP_BYTE:76 [ sin8s::x5_128#0 ] -Uplifting [sin8s] best 23115 combination reg byte a [ sin8s::x5_128#0 ] -Attempting to uplift remaining variables inzp ZP_BYTE:83 [ mulu8_sel::return#12 ] -Uplifting [mulu8_sel] best 23097 combination reg byte a [ mulu8_sel::return#12 ] -Attempting to uplift remaining variables inzp ZP_BYTE:68 [ sin8s::x3#0 ] -Uplifting [sin8s] best 23097 combination zp ZP_BYTE:68 [ sin8s::x3#0 ] -Attempting to uplift remaining variables inzp ZP_BYTE:64 [ sin8s::x1#0 ] -Uplifting [sin8s] best 23097 combination zp ZP_BYTE:64 [ sin8s::x1#0 ] -Attempting to uplift remaining variables inzp ZP_BYTE:33 [ mulu8_sel::select#5 ] -Uplifting [mulu8_sel] best 23097 combination zp ZP_BYTE:33 [ mulu8_sel::select#5 ] -Attempting to uplift remaining variables inzp ZP_BYTE:71 [ sin8s::usinx#0 ] -Uplifting [sin8s] best 23097 combination zp ZP_BYTE:71 [ sin8s::usinx#0 ] -Attempting to uplift remaining variables inzp ZP_BYTE:26 [ sin8s::isUpper#10 ] -Uplifting [sin8s] best 23097 combination zp ZP_BYTE:26 [ sin8s::isUpper#10 ] -Coalescing zero page register with common assignment [ zp ZP_WORD:2 [ sin8u_table::x#2 sin8u_table::x#1 ] ] with [ zp ZP_WORD:16 [ print_word::w#2 print_word::w#1 print_word::w#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:18 [ mul8su::m#2 mul8su::m#1 mul8su::m#0 ] ] with [ zp ZP_WORD:49 [ mul8su::return#2 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:18 [ mul8su::m#2 mul8su::m#1 mul8su::m#0 mul8su::return#2 ] ] with [ zp ZP_WORD:57 [ mul8u::return#2 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:22 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 ] ] with [ zp ZP_WORD:77 [ mul8u::return#3 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:27 [ sin8s::x#6 sin8s::x#4 sin8s::x#2 sin8s::x#0 sin8s::x#1 ] ] with [ zp ZP_WORD:62 [ sin8s::$6 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:38 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] ] with [ zp ZP_WORD:84 [ divr16u::return#2 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:43 [ div16u::return#2 ] ] with [ zp ZP_WORD:45 [ sin8u_table::step#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:43 [ div16u::return#2 sin8u_table::step#0 ] ] with [ zp ZP_WORD:86 [ div16u::return#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:79 [ mulu8_sel::$0 ] ] with [ zp ZP_WORD:81 [ mulu8_sel::$1 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:18 [ mul8su::m#2 mul8su::m#1 mul8su::m#0 mul8su::return#2 mul8u::return#2 ] ] with [ zp ZP_WORD:22 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 mul8u::return#3 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:18 [ mul8su::m#2 mul8su::m#1 mul8su::m#0 mul8su::return#2 mul8u::return#2 mul8u::res#2 mul8u::res#6 mul8u::res#1 mul8u::return#3 ] ] with [ zp ZP_WORD:51 [ sin8u_table::$17 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:38 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 ] ] with [ zp ZP_WORD:43 [ div16u::return#2 sin8u_table::step#0 div16u::return#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:18 [ mul8su::m#2 mul8su::m#1 mul8su::m#0 mul8su::return#2 mul8u::return#2 mul8u::res#2 mul8u::res#6 mul8u::res#1 mul8u::return#3 sin8u_table::$17 ] ] with [ zp ZP_WORD:79 [ mulu8_sel::$0 mulu8_sel::$1 ] ] - score: 1 -Coalescing zero page register [ zp ZP_WORD:2 [ sin8u_table::x#2 sin8u_table::x#1 print_word::w#2 print_word::w#1 print_word::w#0 ] ] with [ zp ZP_WORD:34 [ divr16u::rem#4 divr16u::rem#10 divr16u::rem#5 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] ] -Coalescing zero page register [ zp ZP_WORD:2 [ sin8u_table::x#2 sin8u_table::x#1 print_word::w#2 print_word::w#1 print_word::w#0 divr16u::rem#4 divr16u::rem#10 divr16u::rem#5 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] ] with [ zp ZP_WORD:41 [ print_cls::sc#2 print_cls::sc#1 ] ] -Coalescing zero page register [ zp ZP_WORD:4 [ sin8u_table::sintab#2 sin8u_table::sintab#1 ] ] with [ zp ZP_WORD:36 [ divr16u::dividend#2 divr16u::dividend#0 ] ] -Coalescing zero page register [ zp ZP_BYTE:10 [ print_byte::b#7 print_byte::b#0 print_byte::b#1 print_byte::b#6 ] ] with [ zp ZP_BYTE:26 [ sin8s::isUpper#10 ] ] -Coalescing zero page register [ zp ZP_WORD:12 [ char_cursor#78 char_cursor#46 char_cursor#73 char_cursor#2 char_cursor#11 char_cursor#92 char_cursor#1 ] ] with [ zp ZP_WORD:18 [ mul8su::m#2 mul8su::m#1 mul8su::m#0 mul8su::return#2 mul8u::return#2 mul8u::res#2 mul8u::res#6 mul8u::res#1 mul8u::return#3 sin8u_table::$17 mulu8_sel::$0 mulu8_sel::$1 ] ] -Coalescing zero page register [ zp ZP_WORD:12 [ char_cursor#78 char_cursor#46 char_cursor#73 char_cursor#2 char_cursor#11 char_cursor#92 char_cursor#1 mul8su::m#2 mul8su::m#1 mul8su::m#0 mul8su::return#2 mul8u::return#2 mul8u::res#2 mul8u::res#6 mul8u::res#1 mul8u::return#3 sin8u_table::$17 mulu8_sel::$0 mulu8_sel::$1 ] ] with [ zp ZP_WORD:27 [ sin8s::x#6 sin8s::x#4 sin8s::x#2 sin8s::x#0 sin8s::x#1 sin8s::$6 ] ] -Coalescing zero page register [ zp ZP_WORD:14 [ print_str::str#8 print_str::str#10 print_str::str#0 ] ] with [ zp ZP_WORD:24 [ mul8u::mb#2 mul8u::mb#0 mul8u::mb#1 ] ] -Allocated (was zp ZP_WORD:12) zp ZP_WORD:11 [ char_cursor#78 char_cursor#46 char_cursor#73 char_cursor#2 char_cursor#11 char_cursor#92 char_cursor#1 mul8su::m#2 mul8su::m#1 mul8su::m#0 mul8su::return#2 mul8u::return#2 mul8u::res#2 mul8u::res#6 mul8u::res#1 mul8u::return#3 sin8u_table::$17 mulu8_sel::$0 mulu8_sel::$1 sin8s::x#6 sin8s::x#4 sin8s::x#2 sin8s::x#0 sin8s::x#1 sin8s::$6 ] -Allocated (was zp ZP_WORD:14) zp ZP_WORD:13 [ print_str::str#8 print_str::str#10 print_str::str#0 mul8u::mb#2 mul8u::mb#0 mul8u::mb#1 ] -Allocated (was zp ZP_BYTE:33) zp ZP_BYTE:15 [ mulu8_sel::select#5 ] -Allocated (was zp ZP_WORD:38) zp ZP_WORD:16 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 div16u::return#2 sin8u_table::step#0 div16u::return#0 ] -Allocated (was zp ZP_BYTE:64) zp ZP_BYTE:18 [ sin8s::x1#0 ] -Allocated (was zp ZP_BYTE:68) zp ZP_BYTE:19 [ sin8s::x3#0 ] -Allocated (was zp ZP_BYTE:71) zp ZP_BYTE:20 [ sin8s::usinx#0 ] +Uplifting [sin8u_table] best 23754 combination reg byte a [ sin8u_table::$20 ] zp ZP_WORD:6 [ sin8u_table::i#10 sin8u_table::i#1 ] zp ZP_WORD:2 [ sin8u_table::x#10 sin8u_table::x#1 ] zp ZP_WORD:4 [ sin8u_table::sintab#2 sin8u_table::sintab#1 ] zp ZP_BYTE:51 [ sin8u_table::sinx#0 ] zp ZP_WORD:55 [ sin8u_table::sinx_sc#0 ] reg byte x [ sin8u_table::sinx_tr#0 ] zp ZP_WORD:48 [ sin8u_table::step#0 ] +Uplifting [print_byte] best 23746 combination zp ZP_BYTE:10 [ print_byte::b#8 print_byte::b#10 print_byte::b#1 print_byte::b#2 print_byte::b#7 ] reg byte a [ print_byte::$0 ] reg byte a [ print_byte::$2 ] +Uplifting [mul8su] best 23702 combination zp ZP_WORD:53 [ mul8su::return#2 ] zp ZP_WORD:21 [ mul8su::m#2 mul8su::m#1 mul8su::m#0 ] reg byte a [ mul8su::$6 ] reg byte a [ mul8su::$10 ] reg byte y [ mul8su::a#0 ] +Uplifting [print_word] best 23702 combination zp ZP_WORD:18 [ print_word::w#3 print_word::w#5 print_word::w#2 print_word::w#1 ] +Uplifting [print_cls] best 23702 combination zp ZP_WORD:44 [ print_cls::sc#2 print_cls::sc#1 ] +Uplifting [print_char] best 23687 combination reg byte a [ print_char::ch#4 print_char::ch#2 print_char::ch#3 ] +Uplifting [print_sword] best 23687 combination zp ZP_WORD:14 [ print_sword::w#3 print_sword::w#1 print_sword::w#0 ] +Uplifting [print_sbyte] best 23687 combination zp ZP_BYTE:20 [ print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#0 ] +Uplifting [div16u] best 23687 combination zp ZP_WORD:46 [ div16u::return#2 ] zp ZP_WORD:90 [ div16u::return#0 ] +Uplifting [print_ln] best 23687 combination +Uplifting [main] best 23687 combination +Attempting to uplift remaining variables inzp ZP_BYTE:10 [ print_byte::b#8 print_byte::b#10 print_byte::b#1 print_byte::b#2 print_byte::b#7 ] +Uplifting [print_byte] best 23687 combination zp ZP_BYTE:10 [ print_byte::b#8 print_byte::b#10 print_byte::b#1 print_byte::b#2 print_byte::b#7 ] +Attempting to uplift remaining variables inzp ZP_BYTE:20 [ print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#0 ] +Uplifting [print_sbyte] best 23687 combination zp ZP_BYTE:20 [ print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#0 ] +Attempting to uplift remaining variables inzp ZP_BYTE:80 [ sin8s::x5_128#0 ] +Uplifting [sin8s] best 23681 combination reg byte a [ sin8s::x5_128#0 ] +Attempting to uplift remaining variables inzp ZP_BYTE:51 [ sin8u_table::sinx#0 ] +Uplifting [sin8u_table] best 23681 combination zp ZP_BYTE:51 [ sin8u_table::sinx#0 ] +Attempting to uplift remaining variables inzp ZP_BYTE:87 [ mulu8_sel::return#12 ] +Uplifting [mulu8_sel] best 23663 combination reg byte a [ mulu8_sel::return#12 ] +Attempting to uplift remaining variables inzp ZP_BYTE:72 [ sin8s::x3#0 ] +Uplifting [sin8s] best 23663 combination zp ZP_BYTE:72 [ sin8s::x3#0 ] +Attempting to uplift remaining variables inzp ZP_BYTE:68 [ sin8s::x1#0 ] +Uplifting [sin8s] best 23663 combination zp ZP_BYTE:68 [ sin8s::x1#0 ] +Attempting to uplift remaining variables inzp ZP_BYTE:36 [ mulu8_sel::select#5 ] +Uplifting [mulu8_sel] best 23663 combination zp ZP_BYTE:36 [ mulu8_sel::select#5 ] +Attempting to uplift remaining variables inzp ZP_BYTE:75 [ sin8s::usinx#0 ] +Uplifting [sin8s] best 23663 combination zp ZP_BYTE:75 [ sin8s::usinx#0 ] +Attempting to uplift remaining variables inzp ZP_BYTE:29 [ sin8s::isUpper#10 ] +Uplifting [sin8s] best 23663 combination zp ZP_BYTE:29 [ sin8s::isUpper#10 ] +Coalescing zero page register with common assignment [ zp ZP_BYTE:10 [ print_byte::b#8 print_byte::b#10 print_byte::b#1 print_byte::b#2 print_byte::b#7 ] ] with [ zp ZP_BYTE:20 [ print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:14 [ print_sword::w#3 print_sword::w#1 print_sword::w#0 ] ] with [ zp ZP_WORD:18 [ print_word::w#3 print_word::w#5 print_word::w#2 print_word::w#1 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:21 [ mul8su::m#2 mul8su::m#1 mul8su::m#0 ] ] with [ zp ZP_WORD:53 [ mul8su::return#2 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:21 [ mul8su::m#2 mul8su::m#1 mul8su::m#0 mul8su::return#2 ] ] with [ zp ZP_WORD:61 [ mul8u::return#2 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:25 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 ] ] with [ zp ZP_WORD:81 [ mul8u::return#3 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:30 [ sin8s::x#6 sin8s::x#4 sin8s::x#2 sin8s::x#0 sin8s::x#1 ] ] with [ zp ZP_WORD:66 [ sin8s::$6 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:41 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] ] with [ zp ZP_WORD:88 [ divr16u::return#2 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:46 [ div16u::return#2 ] ] with [ zp ZP_WORD:48 [ sin8u_table::step#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:46 [ div16u::return#2 sin8u_table::step#0 ] ] with [ zp ZP_WORD:90 [ div16u::return#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:83 [ mulu8_sel::$0 ] ] with [ zp ZP_WORD:85 [ mulu8_sel::$1 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:21 [ mul8su::m#2 mul8su::m#1 mul8su::m#0 mul8su::return#2 mul8u::return#2 ] ] with [ zp ZP_WORD:25 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 mul8u::return#3 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:21 [ mul8su::m#2 mul8su::m#1 mul8su::m#0 mul8su::return#2 mul8u::return#2 mul8u::res#2 mul8u::res#6 mul8u::res#1 mul8u::return#3 ] ] with [ zp ZP_WORD:55 [ sin8u_table::sinx_sc#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:41 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 ] ] with [ zp ZP_WORD:46 [ div16u::return#2 sin8u_table::step#0 div16u::return#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:21 [ mul8su::m#2 mul8su::m#1 mul8su::m#0 mul8su::return#2 mul8u::return#2 mul8u::res#2 mul8u::res#6 mul8u::res#1 mul8u::return#3 sin8u_table::sinx_sc#0 ] ] with [ zp ZP_WORD:83 [ mulu8_sel::$0 mulu8_sel::$1 ] ] - score: 1 +Coalescing zero page register [ zp ZP_WORD:2 [ sin8u_table::x#10 sin8u_table::x#1 ] ] with [ zp ZP_WORD:37 [ divr16u::rem#4 divr16u::rem#10 divr16u::rem#5 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] ] +Coalescing zero page register [ zp ZP_WORD:2 [ sin8u_table::x#10 sin8u_table::x#1 divr16u::rem#4 divr16u::rem#10 divr16u::rem#5 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] ] with [ zp ZP_WORD:44 [ print_cls::sc#2 print_cls::sc#1 ] ] +Coalescing zero page register [ zp ZP_WORD:4 [ sin8u_table::sintab#2 sin8u_table::sintab#1 ] ] with [ zp ZP_WORD:39 [ divr16u::dividend#2 divr16u::dividend#0 ] ] +Coalescing zero page register [ zp ZP_BYTE:10 [ print_byte::b#8 print_byte::b#10 print_byte::b#1 print_byte::b#2 print_byte::b#7 print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#0 ] ] with [ zp ZP_BYTE:29 [ sin8s::isUpper#10 ] ] +Coalescing zero page register [ zp ZP_WORD:12 [ print_str::str#10 print_str::str#12 print_str::str#0 ] ] with [ zp ZP_WORD:14 [ print_sword::w#3 print_sword::w#1 print_sword::w#0 print_word::w#3 print_word::w#5 print_word::w#2 print_word::w#1 ] ] +Coalescing zero page register [ zp ZP_WORD:12 [ print_str::str#10 print_str::str#12 print_str::str#0 print_sword::w#3 print_sword::w#1 print_sword::w#0 print_word::w#3 print_word::w#5 print_word::w#2 print_word::w#1 ] ] with [ zp ZP_WORD:27 [ mul8u::mb#2 mul8u::mb#0 mul8u::mb#1 ] ] +Coalescing zero page register [ zp ZP_WORD:12 [ print_str::str#10 print_str::str#12 print_str::str#0 print_sword::w#3 print_sword::w#1 print_sword::w#0 print_word::w#3 print_word::w#5 print_word::w#2 print_word::w#1 mul8u::mb#2 mul8u::mb#0 mul8u::mb#1 ] ] with [ zp ZP_WORD:30 [ sin8s::x#6 sin8s::x#4 sin8s::x#2 sin8s::x#0 sin8s::x#1 sin8s::$6 ] ] +Coalescing zero page register [ zp ZP_BYTE:36 [ mulu8_sel::select#5 ] ] with [ zp ZP_BYTE:51 [ sin8u_table::sinx#0 ] ] +Allocated (was zp ZP_WORD:12) zp ZP_WORD:11 [ print_str::str#10 print_str::str#12 print_str::str#0 print_sword::w#3 print_sword::w#1 print_sword::w#0 print_word::w#3 print_word::w#5 print_word::w#2 print_word::w#1 mul8u::mb#2 mul8u::mb#0 mul8u::mb#1 sin8s::x#6 sin8s::x#4 sin8s::x#2 sin8s::x#0 sin8s::x#1 sin8s::$6 ] +Allocated (was zp ZP_WORD:16) zp ZP_WORD:13 [ char_cursor#92 char_cursor#102 char_cursor#62 char_cursor#97 char_cursor#94 char_cursor#96 char_cursor#17 char_cursor#2 char_cursor#121 char_cursor#1 ] +Allocated (was zp ZP_WORD:21) zp ZP_WORD:15 [ mul8su::m#2 mul8su::m#1 mul8su::m#0 mul8su::return#2 mul8u::return#2 mul8u::res#2 mul8u::res#6 mul8u::res#1 mul8u::return#3 sin8u_table::sinx_sc#0 mulu8_sel::$0 mulu8_sel::$1 ] +Allocated (was zp ZP_BYTE:36) zp ZP_BYTE:17 [ mulu8_sel::select#5 sin8u_table::sinx#0 ] +Allocated (was zp ZP_WORD:41) zp ZP_WORD:18 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 div16u::return#2 sin8u_table::step#0 div16u::return#0 ] +Allocated (was zp ZP_BYTE:68) zp ZP_BYTE:20 [ sin8s::x1#0 ] +Allocated (was zp ZP_BYTE:72) zp ZP_BYTE:21 [ sin8s::x3#0 ] +Allocated (was zp ZP_BYTE:75) zp ZP_BYTE:22 [ sin8s::usinx#0 ] ASSEMBLER BEFORE OPTIMIZATION //SEG0 Basic Upstart @@ -7942,7 +8716,7 @@ ASSEMBLER BEFORE OPTIMIZATION .const PI_u4f12 = $3244 .const PI_HALF_u4f12 = $1922 .label SCREEN = $400 - .label char_cursor = $b + .label char_cursor = $d .label line_cursor = 8 //SEG2 @begin bbegin: @@ -7964,7 +8738,7 @@ bend: main: { .label tabsize = $14 //SEG10 [5] call print_cls param-assignment [ ] ( main:2 [ ] ) - //SEG11 [185] phi from main to print_cls [phi:main->print_cls] + //SEG11 [210] phi from main to print_cls [phi:main->print_cls] print_cls_from_main: jsr print_cls //SEG12 [6] phi from main to main::@1 [phi:main->main::@1] @@ -7989,32 +8763,33 @@ sin8u_table: { .const max = $ff .label amplitude = max-min .const sum = min+max - .const mid = $ff & sum>>1 - .label _17 = $b - .label step = $10 + .const mid = $ff & (sum>>1)+1 + .label step = $12 + .label sinx = $11 + .label sinx_sc = $f .label sintab = 4 .label x = 2 .label i = 6 //SEG19 [10] call div16u param-assignment [ div16u::return#0 ] ( main:2::sin8u_table:7 [ div16u::return#0 ] ) - //SEG20 [163] phi from sin8u_table to div16u [phi:sin8u_table->div16u] + //SEG20 [188] phi from sin8u_table to div16u [phi:sin8u_table->div16u] div16u_from_sin8u_table: jsr div16u //SEG21 [11] (word) div16u::return#2 ← (word) div16u::return#0 [ div16u::return#2 ] ( main:2::sin8u_table:7 [ div16u::return#2 ] ) - // (word) div16u::return#2 = (word) div16u::return#0 // register copy zp ZP_WORD:16 + // (word) div16u::return#2 = (word) div16u::return#0 // register copy zp ZP_WORD:18 jmp b3 //SEG22 sin8u_table::@3 b3: //SEG23 [12] (word) sin8u_table::step#0 ← (word) div16u::return#2 [ sin8u_table::step#0 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 ] ) - // (word) sin8u_table::step#0 = (word) div16u::return#2 // register copy zp ZP_WORD:16 + // (word) sin8u_table::step#0 = (word) div16u::return#2 // register copy zp ZP_WORD:18 //SEG24 [13] call print_str param-assignment [ sin8u_table::step#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#2 ] ) - //SEG25 [77] phi from sin8u_table::@3 to print_str [phi:sin8u_table::@3->print_str] + //SEG25 [86] phi from sin8u_table::@3 to print_str [phi:sin8u_table::@3->print_str] print_str_from_b3: - //SEG26 [77] phi (byte*) char_cursor#78 = (const byte*) SCREEN#0 [phi:sin8u_table::@3->print_str#0] -- pbuz1=pbuc1 + //SEG26 [86] phi (byte*) char_cursor#102 = (const byte*) SCREEN#0 [phi:sin8u_table::@3->print_str#0] -- pbuz1=pbuc1 lda #SCREEN sta char_cursor+1 - //SEG27 [77] phi (byte*) print_str::str#10 = (const string) sin8u_table::str [phi:sin8u_table::@3->print_str#1] -- pbuz1=pbuc1 + //SEG27 [86] phi (byte*) print_str::str#12 = (const string) sin8u_table::str [phi:sin8u_table::@3->print_str#1] -- pbuz1=pbuc1 lda #str @@ -8023,271 +8798,326 @@ sin8u_table: { jmp b4 //SEG28 sin8u_table::@4 b4: - //SEG29 [14] (word) print_word::w#0 ← (word) sin8u_table::step#0 [ sin8u_table::step#0 print_word::w#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 print_word::w#0 char_cursor#2 ] ) -- vwuz1=vwuz2 + //SEG29 [14] (word) print_word::w#1 ← (word) sin8u_table::step#0 [ sin8u_table::step#0 print_word::w#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 print_word::w#1 char_cursor#2 ] ) -- vwuz1=vwuz2 lda step sta print_word.w lda step+1 sta print_word.w+1 - //SEG30 [15] call print_word param-assignment [ sin8u_table::step#0 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#11 ] ) - //SEG31 [84] phi from sin8u_table::@4 to print_word [phi:sin8u_table::@4->print_word] + //SEG30 [15] call print_word param-assignment [ sin8u_table::step#0 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#17 ] ) + //SEG31 [101] phi from sin8u_table::@4 to print_word [phi:sin8u_table::@4->print_word] print_word_from_b4: - //SEG32 [84] phi (word) print_word::w#2 = (word) print_word::w#0 [phi:sin8u_table::@4->print_word#0] -- register_copy + //SEG32 [101] phi (byte*) char_cursor#96 = (byte*) char_cursor#2 [phi:sin8u_table::@4->print_word#0] -- register_copy + //SEG33 [101] phi (word) print_word::w#3 = (word) print_word::w#1 [phi:sin8u_table::@4->print_word#1] -- register_copy jsr print_word - //SEG33 [16] phi from sin8u_table::@4 to sin8u_table::@5 [phi:sin8u_table::@4->sin8u_table::@5] + //SEG34 [16] phi from sin8u_table::@4 to sin8u_table::@5 [phi:sin8u_table::@4->sin8u_table::@5] b5_from_b4: jmp b5 - //SEG34 sin8u_table::@5 + //SEG35 sin8u_table::@5 b5: - //SEG35 [17] call print_str param-assignment [ sin8u_table::step#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#2 ] ) - //SEG36 [77] phi from sin8u_table::@5 to print_str [phi:sin8u_table::@5->print_str] + //SEG36 [17] call print_str param-assignment [ sin8u_table::step#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#2 ] ) + //SEG37 [86] phi from sin8u_table::@5 to print_str [phi:sin8u_table::@5->print_str] print_str_from_b5: - //SEG37 [77] phi (byte*) char_cursor#78 = (byte*) char_cursor#11 [phi:sin8u_table::@5->print_str#0] -- register_copy - //SEG38 [77] phi (byte*) print_str::str#10 = (const string) sin8u_table::str1 [phi:sin8u_table::@5->print_str#1] -- pbuz1=pbuc1 + //SEG38 [86] phi (byte*) char_cursor#102 = (byte*) char_cursor#17 [phi:sin8u_table::@5->print_str#0] -- register_copy + //SEG39 [86] phi (byte*) print_str::str#12 = (const string) sin8u_table::str1 [phi:sin8u_table::@5->print_str#1] -- pbuz1=pbuc1 lda #str1 sta print_str.str+1 jsr print_str - //SEG39 [18] phi from sin8u_table::@5 to sin8u_table::@6 [phi:sin8u_table::@5->sin8u_table::@6] + //SEG40 [18] phi from sin8u_table::@5 to sin8u_table::@6 [phi:sin8u_table::@5->sin8u_table::@6] b6_from_b5: jmp b6 - //SEG40 sin8u_table::@6 + //SEG41 sin8u_table::@6 b6: - //SEG41 [19] call print_byte param-assignment [ sin8u_table::step#0 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#11 ] ) - //SEG42 [65] phi from sin8u_table::@6 to print_byte [phi:sin8u_table::@6->print_byte] + //SEG42 [19] call print_byte param-assignment [ sin8u_table::step#0 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#17 ] ) + //SEG43 [74] phi from sin8u_table::@6 to print_byte [phi:sin8u_table::@6->print_byte] print_byte_from_b6: - //SEG43 [65] phi (byte*) char_cursor#73 = (byte*) char_cursor#2 [phi:sin8u_table::@6->print_byte#0] -- register_copy - //SEG44 [65] phi (byte) print_byte::b#7 = (const byte) sin8u_table::min#0 [phi:sin8u_table::@6->print_byte#1] -- vbuz1=vbuc1 + //SEG44 [74] phi (byte*) char_cursor#97 = (byte*) char_cursor#2 [phi:sin8u_table::@6->print_byte#0] -- register_copy + //SEG45 [74] phi (byte) print_byte::b#8 = (const byte) sin8u_table::min#0 [phi:sin8u_table::@6->print_byte#1] -- vbuz1=vbuc1 lda #min sta print_byte.b jsr print_byte - //SEG45 [20] phi from sin8u_table::@6 to sin8u_table::@7 [phi:sin8u_table::@6->sin8u_table::@7] + //SEG46 [20] phi from sin8u_table::@6 to sin8u_table::@7 [phi:sin8u_table::@6->sin8u_table::@7] b7_from_b6: jmp b7 - //SEG46 sin8u_table::@7 + //SEG47 sin8u_table::@7 b7: - //SEG47 [21] call print_str param-assignment [ sin8u_table::step#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#2 ] ) - //SEG48 [77] phi from sin8u_table::@7 to print_str [phi:sin8u_table::@7->print_str] + //SEG48 [21] call print_str param-assignment [ sin8u_table::step#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#2 ] ) + //SEG49 [86] phi from sin8u_table::@7 to print_str [phi:sin8u_table::@7->print_str] print_str_from_b7: - //SEG49 [77] phi (byte*) char_cursor#78 = (byte*) char_cursor#11 [phi:sin8u_table::@7->print_str#0] -- register_copy - //SEG50 [77] phi (byte*) print_str::str#10 = (const string) sin8u_table::str2 [phi:sin8u_table::@7->print_str#1] -- pbuz1=pbuc1 + //SEG50 [86] phi (byte*) char_cursor#102 = (byte*) char_cursor#17 [phi:sin8u_table::@7->print_str#0] -- register_copy + //SEG51 [86] phi (byte*) print_str::str#12 = (const string) sin8u_table::str2 [phi:sin8u_table::@7->print_str#1] -- pbuz1=pbuc1 lda #str2 sta print_str.str+1 jsr print_str - //SEG51 [22] phi from sin8u_table::@7 to sin8u_table::@8 [phi:sin8u_table::@7->sin8u_table::@8] + //SEG52 [22] phi from sin8u_table::@7 to sin8u_table::@8 [phi:sin8u_table::@7->sin8u_table::@8] b8_from_b7: jmp b8 - //SEG52 sin8u_table::@8 + //SEG53 sin8u_table::@8 b8: - //SEG53 [23] call print_byte param-assignment [ sin8u_table::step#0 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#11 ] ) - //SEG54 [65] phi from sin8u_table::@8 to print_byte [phi:sin8u_table::@8->print_byte] + //SEG54 [23] call print_byte param-assignment [ sin8u_table::step#0 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#17 ] ) + //SEG55 [74] phi from sin8u_table::@8 to print_byte [phi:sin8u_table::@8->print_byte] print_byte_from_b8: - //SEG55 [65] phi (byte*) char_cursor#73 = (byte*) char_cursor#2 [phi:sin8u_table::@8->print_byte#0] -- register_copy - //SEG56 [65] phi (byte) print_byte::b#7 = (const byte) sin8u_table::max#0 [phi:sin8u_table::@8->print_byte#1] -- vbuz1=vbuc1 + //SEG56 [74] phi (byte*) char_cursor#97 = (byte*) char_cursor#2 [phi:sin8u_table::@8->print_byte#0] -- register_copy + //SEG57 [74] phi (byte) print_byte::b#8 = (const byte) sin8u_table::max#0 [phi:sin8u_table::@8->print_byte#1] -- vbuz1=vbuc1 lda #max sta print_byte.b jsr print_byte - //SEG57 [24] phi from sin8u_table::@8 to sin8u_table::@9 [phi:sin8u_table::@8->sin8u_table::@9] + //SEG58 [24] phi from sin8u_table::@8 to sin8u_table::@9 [phi:sin8u_table::@8->sin8u_table::@9] b9_from_b8: jmp b9 - //SEG58 sin8u_table::@9 + //SEG59 sin8u_table::@9 b9: - //SEG59 [25] call print_str param-assignment [ sin8u_table::step#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#2 ] ) - //SEG60 [77] phi from sin8u_table::@9 to print_str [phi:sin8u_table::@9->print_str] + //SEG60 [25] call print_str param-assignment [ sin8u_table::step#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#2 ] ) + //SEG61 [86] phi from sin8u_table::@9 to print_str [phi:sin8u_table::@9->print_str] print_str_from_b9: - //SEG61 [77] phi (byte*) char_cursor#78 = (byte*) char_cursor#11 [phi:sin8u_table::@9->print_str#0] -- register_copy - //SEG62 [77] phi (byte*) print_str::str#10 = (const string) sin8u_table::str3 [phi:sin8u_table::@9->print_str#1] -- pbuz1=pbuc1 + //SEG62 [86] phi (byte*) char_cursor#102 = (byte*) char_cursor#17 [phi:sin8u_table::@9->print_str#0] -- register_copy + //SEG63 [86] phi (byte*) print_str::str#12 = (const string) sin8u_table::str3 [phi:sin8u_table::@9->print_str#1] -- pbuz1=pbuc1 lda #str3 sta print_str.str+1 jsr print_str - //SEG63 [26] phi from sin8u_table::@9 to sin8u_table::@10 [phi:sin8u_table::@9->sin8u_table::@10] + //SEG64 [26] phi from sin8u_table::@9 to sin8u_table::@10 [phi:sin8u_table::@9->sin8u_table::@10] b10_from_b9: jmp b10 - //SEG64 sin8u_table::@10 + //SEG65 sin8u_table::@10 b10: - //SEG65 [27] call print_byte param-assignment [ sin8u_table::step#0 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#11 ] ) - //SEG66 [65] phi from sin8u_table::@10 to print_byte [phi:sin8u_table::@10->print_byte] + //SEG66 [27] call print_byte param-assignment [ sin8u_table::step#0 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#17 ] ) + //SEG67 [74] phi from sin8u_table::@10 to print_byte [phi:sin8u_table::@10->print_byte] print_byte_from_b10: - //SEG67 [65] phi (byte*) char_cursor#73 = (byte*) char_cursor#2 [phi:sin8u_table::@10->print_byte#0] -- register_copy - //SEG68 [65] phi (byte) print_byte::b#7 = (const byte) sin8u_table::amplitude#0 [phi:sin8u_table::@10->print_byte#1] -- vbuz1=vbuc1 + //SEG68 [74] phi (byte*) char_cursor#97 = (byte*) char_cursor#2 [phi:sin8u_table::@10->print_byte#0] -- register_copy + //SEG69 [74] phi (byte) print_byte::b#8 = (const byte) sin8u_table::amplitude#0 [phi:sin8u_table::@10->print_byte#1] -- vbuz1=vbuc1 lda #amplitude sta print_byte.b jsr print_byte - //SEG69 [28] phi from sin8u_table::@10 to sin8u_table::@11 [phi:sin8u_table::@10->sin8u_table::@11] + //SEG70 [28] phi from sin8u_table::@10 to sin8u_table::@11 [phi:sin8u_table::@10->sin8u_table::@11] b11_from_b10: jmp b11 - //SEG70 sin8u_table::@11 + //SEG71 sin8u_table::@11 b11: - //SEG71 [29] call print_str param-assignment [ sin8u_table::step#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#2 ] ) - //SEG72 [77] phi from sin8u_table::@11 to print_str [phi:sin8u_table::@11->print_str] + //SEG72 [29] call print_str param-assignment [ sin8u_table::step#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#2 ] ) + //SEG73 [86] phi from sin8u_table::@11 to print_str [phi:sin8u_table::@11->print_str] print_str_from_b11: - //SEG73 [77] phi (byte*) char_cursor#78 = (byte*) char_cursor#11 [phi:sin8u_table::@11->print_str#0] -- register_copy - //SEG74 [77] phi (byte*) print_str::str#10 = (const string) sin8u_table::str4 [phi:sin8u_table::@11->print_str#1] -- pbuz1=pbuc1 + //SEG74 [86] phi (byte*) char_cursor#102 = (byte*) char_cursor#17 [phi:sin8u_table::@11->print_str#0] -- register_copy + //SEG75 [86] phi (byte*) print_str::str#12 = (const string) sin8u_table::str4 [phi:sin8u_table::@11->print_str#1] -- pbuz1=pbuc1 lda #str4 sta print_str.str+1 jsr print_str - //SEG75 [30] phi from sin8u_table::@11 to sin8u_table::@12 [phi:sin8u_table::@11->sin8u_table::@12] + //SEG76 [30] phi from sin8u_table::@11 to sin8u_table::@12 [phi:sin8u_table::@11->sin8u_table::@12] b12_from_b11: jmp b12 - //SEG76 sin8u_table::@12 + //SEG77 sin8u_table::@12 b12: - //SEG77 [31] call print_byte param-assignment [ sin8u_table::step#0 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#11 ] ) - //SEG78 [65] phi from sin8u_table::@12 to print_byte [phi:sin8u_table::@12->print_byte] + //SEG78 [31] call print_byte param-assignment [ sin8u_table::step#0 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#17 ] ) + //SEG79 [74] phi from sin8u_table::@12 to print_byte [phi:sin8u_table::@12->print_byte] print_byte_from_b12: - //SEG79 [65] phi (byte*) char_cursor#73 = (byte*) char_cursor#2 [phi:sin8u_table::@12->print_byte#0] -- register_copy - //SEG80 [65] phi (byte) print_byte::b#7 = (const byte) sin8u_table::mid#0 [phi:sin8u_table::@12->print_byte#1] -- vbuz1=vbuc1 + //SEG80 [74] phi (byte*) char_cursor#97 = (byte*) char_cursor#2 [phi:sin8u_table::@12->print_byte#0] -- register_copy + //SEG81 [74] phi (byte) print_byte::b#8 = (const byte) sin8u_table::mid#0 [phi:sin8u_table::@12->print_byte#1] -- vbuz1=vbuc1 lda #mid sta print_byte.b jsr print_byte - //SEG81 [32] phi from sin8u_table::@12 to sin8u_table::@13 [phi:sin8u_table::@12->sin8u_table::@13] + //SEG82 [32] phi from sin8u_table::@12 to sin8u_table::@13 [phi:sin8u_table::@12->sin8u_table::@13] b13_from_b12: jmp b13 - //SEG82 sin8u_table::@13 + //SEG83 sin8u_table::@13 b13: - //SEG83 [33] call print_ln param-assignment [ sin8u_table::step#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 line_cursor#1 ] ) - //SEG84 [60] phi from sin8u_table::@13 to print_ln [phi:sin8u_table::@13->print_ln] + //SEG84 [33] call print_ln param-assignment [ sin8u_table::step#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 line_cursor#1 ] ) + //SEG85 [69] phi from sin8u_table::@13 to print_ln [phi:sin8u_table::@13->print_ln] print_ln_from_b13: - //SEG85 [60] phi (byte*) line_cursor#23 = (const byte*) SCREEN#0 [phi:sin8u_table::@13->print_ln#0] -- pbuz1=pbuc1 + //SEG86 [69] phi (byte*) line_cursor#23 = (const byte*) SCREEN#0 [phi:sin8u_table::@13->print_ln#0] -- pbuz1=pbuc1 lda #SCREEN sta line_cursor+1 jsr print_ln - //SEG86 [34] phi from sin8u_table::@13 to sin8u_table::@1 [phi:sin8u_table::@13->sin8u_table::@1] + //SEG87 [34] phi from sin8u_table::@13 to sin8u_table::@1 [phi:sin8u_table::@13->sin8u_table::@1] b1_from_b13: - //SEG87 [34] phi (word) sin8u_table::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8u_table::@13->sin8u_table::@1#0] -- vwuz1=vbuc1 + //SEG88 [34] phi (word) sin8u_table::i#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8u_table::@13->sin8u_table::@1#0] -- vwuz1=vbuc1 lda #<0 sta i lda #>0 sta i+1 - //SEG88 [34] phi (byte*) sin8u_table::sintab#2 = (const byte[20]) main::sintab#0 [phi:sin8u_table::@13->sin8u_table::@1#1] -- pbuz1=pbuc1 + //SEG89 [34] phi (byte*) sin8u_table::sintab#2 = (const byte[20]) main::sintab#0 [phi:sin8u_table::@13->sin8u_table::@1#1] -- pbuz1=pbuc1 lda #main.sintab sta sintab+1 - //SEG89 [34] phi (word) sin8u_table::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8u_table::@13->sin8u_table::@1#2] -- vwuz1=vbuc1 + //SEG90 [34] phi (word) sin8u_table::x#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8u_table::@13->sin8u_table::@1#2] -- vwuz1=vbuc1 lda #<0 sta x lda #>0 sta x+1 jmp b1 - //SEG90 [34] phi from sin8u_table::@21 to sin8u_table::@1 [phi:sin8u_table::@21->sin8u_table::@1] - b1_from_b21: - //SEG91 [34] phi (word) sin8u_table::i#2 = (word) sin8u_table::i#1 [phi:sin8u_table::@21->sin8u_table::@1#0] -- register_copy - //SEG92 [34] phi (byte*) sin8u_table::sintab#2 = (byte*) sin8u_table::sintab#1 [phi:sin8u_table::@21->sin8u_table::@1#1] -- register_copy - //SEG93 [34] phi (word) sin8u_table::x#2 = (word) sin8u_table::x#1 [phi:sin8u_table::@21->sin8u_table::@1#2] -- register_copy + //SEG91 [34] phi from sin8u_table::@25 to sin8u_table::@1 [phi:sin8u_table::@25->sin8u_table::@1] + b1_from_b25: + //SEG92 [34] phi (word) sin8u_table::i#10 = (word) sin8u_table::i#1 [phi:sin8u_table::@25->sin8u_table::@1#0] -- register_copy + //SEG93 [34] phi (byte*) sin8u_table::sintab#2 = (byte*) sin8u_table::sintab#1 [phi:sin8u_table::@25->sin8u_table::@1#1] -- register_copy + //SEG94 [34] phi (word) sin8u_table::x#10 = (word) sin8u_table::x#1 [phi:sin8u_table::@25->sin8u_table::@1#2] -- register_copy jmp b1 - //SEG94 sin8u_table::@1 + //SEG95 sin8u_table::@1 b1: - //SEG95 [35] (word) sin8s::x#2 ← (word) sin8u_table::x#2 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8s::x#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8s::x#2 line_cursor#1 ] ) -- vwuz1=vwuz2 + //SEG96 [35] (word) sin8s::x#2 ← (word) sin8u_table::x#10 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8s::x#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8s::x#2 line_cursor#1 ] ) -- vwuz1=vwuz2 lda x sta sin8s.x lda x+1 sta sin8s.x+1 - //SEG96 [36] call sin8s param-assignment [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8s::return#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8s::return#0 line_cursor#1 ] ) + //SEG97 [36] call sin8s param-assignment [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8s::return#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8s::return#0 line_cursor#1 ] ) jsr sin8s - //SEG97 [37] (signed byte) sin8s::return#2 ← (signed byte) sin8s::return#0 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8s::return#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8s::return#2 line_cursor#1 ] ) + //SEG98 [37] (signed byte) sin8s::return#2 ← (signed byte) sin8s::return#0 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8s::return#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8s::return#2 line_cursor#1 ] ) // (signed byte) sin8s::return#2 = (signed byte) sin8s::return#0 // register copy reg byte a jmp b15 - //SEG98 sin8u_table::@15 + //SEG99 sin8u_table::@15 b15: - //SEG99 [38] (signed byte) mul8su::a#0 ← (signed byte) sin8s::return#2 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 mul8su::a#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 mul8su::a#0 line_cursor#1 ] ) -- vbsyy=vbsaa - tay - //SEG100 [39] call mul8su param-assignment [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 mul8su::m#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 mul8su::m#2 line_cursor#1 ] ) + //SEG100 [38] (signed byte) sin8u_table::sinx#0 ← (signed byte) sin8s::return#2 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 ] ) -- vbsz1=vbsaa + sta sinx + //SEG101 [39] (signed byte) mul8su::a#0 ← (signed byte) sin8u_table::sinx#0 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 mul8su::a#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 mul8su::a#0 line_cursor#1 ] ) -- vbsyy=vbsz1 + ldy sinx + //SEG102 [40] call mul8su param-assignment [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 mul8su::m#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 mul8su::m#2 line_cursor#1 ] ) jsr mul8su - //SEG101 [40] (signed word) mul8su::return#2 ← (signed word)(word) mul8su::m#2 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 mul8su::return#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 mul8su::return#2 line_cursor#1 ] ) - // (signed word) mul8su::return#2 = (signed word)(word) mul8su::m#2 // register copy zp ZP_WORD:11 + //SEG103 [41] (signed word) mul8su::return#2 ← (signed word)(word) mul8su::m#2 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 mul8su::return#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 mul8su::return#2 line_cursor#1 ] ) + // (signed word) mul8su::return#2 = (signed word)(word) mul8su::m#2 // register copy zp ZP_WORD:15 jmp b16 - //SEG102 sin8u_table::@16 + //SEG104 sin8u_table::@16 b16: - //SEG103 [41] (signed word~) sin8u_table::$17 ← (signed word) mul8su::return#2 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8u_table::$17 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8u_table::$17 line_cursor#1 ] ) - // (signed word~) sin8u_table::$17 = (signed word) mul8su::return#2 // register copy zp ZP_WORD:11 - //SEG104 [42] (byte~) sin8u_table::$18 ← > (signed word~) sin8u_table::$17 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8u_table::$18 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8u_table::$18 line_cursor#1 ] ) -- vbuaa=_hi_vwsz1 - lda _17+1 - //SEG105 [43] (byte) sin8u_table::sinval#0 ← (const byte) sin8u_table::mid#0 + (byte~) sin8u_table::$18 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8u_table::sinval#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8u_table::sinval#0 line_cursor#1 ] ) -- vbuxx=vbuc1_plus_vbuaa + //SEG105 [42] (signed word) sin8u_table::sinx_sc#0 ← (signed word) mul8su::return#2 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 line_cursor#1 ] ) + // (signed word) sin8u_table::sinx_sc#0 = (signed word) mul8su::return#2 // register copy zp ZP_WORD:15 + //SEG106 [43] (byte~) sin8u_table::$20 ← > (signed word) sin8u_table::sinx_sc#0 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::$20 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::$20 line_cursor#1 ] ) -- vbuaa=_hi_vwsz1 + lda sinx_sc+1 + //SEG107 [44] (byte) sin8u_table::sinx_tr#0 ← (const byte) sin8u_table::mid#0 + (byte~) sin8u_table::$20 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 ] ) -- vbuxx=vbuc1_plus_vbuaa clc adc #mid tax - //SEG106 [44] *((byte*) sin8u_table::sintab#2) ← (byte) sin8u_table::sinval#0 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8u_table::sinval#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8u_table::sinval#0 line_cursor#1 ] ) -- _deref_pbuz1=vbuxx + //SEG108 [45] *((byte*) sin8u_table::sintab#2) ← (byte) sin8u_table::sinx_tr#0 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 ] ) -- _deref_pbuz1=vbuxx txa ldy #0 sta (sintab),y - //SEG107 [45] (byte*) sin8u_table::sintab#1 ← ++ (byte*) sin8u_table::sintab#2 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG109 [46] (byte*) sin8u_table::sintab#1 ← ++ (byte*) sin8u_table::sintab#2 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 ] ) -- pbuz1=_inc_pbuz1 inc sintab bne !+ inc sintab+1 !: - //SEG108 [46] (byte*~) char_cursor#92 ← (byte*) line_cursor#1 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 char_cursor#92 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 char_cursor#92 line_cursor#1 ] ) -- pbuz1=pbuz2 + //SEG110 [47] (byte*~) char_cursor#121 ← (byte*) line_cursor#1 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 char_cursor#121 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 char_cursor#121 line_cursor#1 ] ) -- pbuz1=pbuz2 lda line_cursor sta char_cursor lda line_cursor+1 sta char_cursor+1 - //SEG109 [47] call print_str param-assignment [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 ] ) - //SEG110 [77] phi from sin8u_table::@16 to print_str [phi:sin8u_table::@16->print_str] + //SEG111 [48] call print_str param-assignment [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] ) + //SEG112 [86] phi from sin8u_table::@16 to print_str [phi:sin8u_table::@16->print_str] print_str_from_b16: - //SEG111 [77] phi (byte*) char_cursor#78 = (byte*~) char_cursor#92 [phi:sin8u_table::@16->print_str#0] -- register_copy - //SEG112 [77] phi (byte*) print_str::str#10 = (const string) sin8u_table::str5 [phi:sin8u_table::@16->print_str#1] -- pbuz1=pbuc1 + //SEG113 [86] phi (byte*) char_cursor#102 = (byte*~) char_cursor#121 [phi:sin8u_table::@16->print_str#0] -- register_copy + //SEG114 [86] phi (byte*) print_str::str#12 = (const string) sin8u_table::str5 [phi:sin8u_table::@16->print_str#1] -- pbuz1=pbuc1 lda #str5 sta print_str.str+1 jsr print_str jmp b17 - //SEG113 sin8u_table::@17 + //SEG115 sin8u_table::@17 b17: - //SEG114 [48] (word) print_word::w#1 ← (word) sin8u_table::x#2 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#1 char_cursor#2 ] ) - // (word) print_word::w#1 = (word) sin8u_table::x#2 // register copy zp ZP_WORD:2 - //SEG115 [49] call print_word param-assignment [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 ] ) - //SEG116 [84] phi from sin8u_table::@17 to print_word [phi:sin8u_table::@17->print_word] + //SEG116 [49] (word) print_word::w#2 ← (word) sin8u_table::x#10 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#2 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#2 char_cursor#2 ] ) -- vwuz1=vwuz2 + lda x + sta print_word.w + lda x+1 + sta print_word.w+1 + //SEG117 [50] call print_word param-assignment [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) + //SEG118 [101] phi from sin8u_table::@17 to print_word [phi:sin8u_table::@17->print_word] print_word_from_b17: - //SEG117 [84] phi (word) print_word::w#2 = (word) print_word::w#1 [phi:sin8u_table::@17->print_word#0] -- register_copy + //SEG119 [101] phi (byte*) char_cursor#96 = (byte*) char_cursor#2 [phi:sin8u_table::@17->print_word#0] -- register_copy + //SEG120 [101] phi (word) print_word::w#3 = (word) print_word::w#2 [phi:sin8u_table::@17->print_word#1] -- register_copy jsr print_word - //SEG118 [50] phi from sin8u_table::@17 to sin8u_table::@18 [phi:sin8u_table::@17->sin8u_table::@18] + //SEG121 [51] phi from sin8u_table::@17 to sin8u_table::@18 [phi:sin8u_table::@17->sin8u_table::@18] b18_from_b17: jmp b18 - //SEG119 sin8u_table::@18 + //SEG122 sin8u_table::@18 b18: - //SEG120 [51] call print_str param-assignment [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 ] ) - //SEG121 [77] phi from sin8u_table::@18 to print_str [phi:sin8u_table::@18->print_str] + //SEG123 [52] call print_str param-assignment [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] ) + //SEG124 [86] phi from sin8u_table::@18 to print_str [phi:sin8u_table::@18->print_str] print_str_from_b18: - //SEG122 [77] phi (byte*) char_cursor#78 = (byte*) char_cursor#11 [phi:sin8u_table::@18->print_str#0] -- register_copy - //SEG123 [77] phi (byte*) print_str::str#10 = (const string) sin8u_table::str6 [phi:sin8u_table::@18->print_str#1] -- pbuz1=pbuc1 + //SEG125 [86] phi (byte*) char_cursor#102 = (byte*) char_cursor#17 [phi:sin8u_table::@18->print_str#0] -- register_copy + //SEG126 [86] phi (byte*) print_str::str#12 = (const string) sin8u_table::str6 [phi:sin8u_table::@18->print_str#1] -- pbuz1=pbuc1 lda #str6 sta print_str.str+1 jsr print_str jmp b19 - //SEG124 sin8u_table::@19 + //SEG127 sin8u_table::@19 b19: - //SEG125 [52] (byte) print_byte::b#6 ← (byte) sin8u_table::sinval#0 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_byte::b#6 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_byte::b#6 char_cursor#2 ] ) -- vbuz1=vbuxx - stx print_byte.b - //SEG126 [53] call print_byte param-assignment [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 ] ) - //SEG127 [65] phi from sin8u_table::@19 to print_byte [phi:sin8u_table::@19->print_byte] - print_byte_from_b19: - //SEG128 [65] phi (byte*) char_cursor#73 = (byte*) char_cursor#2 [phi:sin8u_table::@19->print_byte#0] -- register_copy - //SEG129 [65] phi (byte) print_byte::b#7 = (byte) print_byte::b#6 [phi:sin8u_table::@19->print_byte#1] -- register_copy - jsr print_byte - //SEG130 [54] phi from sin8u_table::@19 to sin8u_table::@20 [phi:sin8u_table::@19->sin8u_table::@20] + //SEG128 [53] (signed byte) print_sbyte::b#1 ← (signed byte) sin8u_table::sinx#0 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_sbyte::b#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_sbyte::b#1 char_cursor#2 ] ) -- vbsz1=vbsz2 + lda sinx + sta print_sbyte.b + //SEG129 [54] call print_sbyte param-assignment [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) + jsr print_sbyte + //SEG130 [55] phi from sin8u_table::@19 to sin8u_table::@20 [phi:sin8u_table::@19->sin8u_table::@20] b20_from_b19: jmp b20 //SEG131 sin8u_table::@20 b20: - //SEG132 [55] call print_ln param-assignment [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 ] ) - //SEG133 [60] phi from sin8u_table::@20 to print_ln [phi:sin8u_table::@20->print_ln] - print_ln_from_b20: - //SEG134 [60] phi (byte*) line_cursor#23 = (byte*) line_cursor#1 [phi:sin8u_table::@20->print_ln#0] -- register_copy - jsr print_ln + //SEG132 [56] call print_str param-assignment [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] ) + //SEG133 [86] phi from sin8u_table::@20 to print_str [phi:sin8u_table::@20->print_str] + print_str_from_b20: + //SEG134 [86] phi (byte*) char_cursor#102 = (byte*) char_cursor#17 [phi:sin8u_table::@20->print_str#0] -- register_copy + //SEG135 [86] phi (byte*) print_str::str#12 = (const string) sin8u_table::str7 [phi:sin8u_table::@20->print_str#1] -- pbuz1=pbuc1 + lda #str7 + sta print_str.str+1 + jsr print_str jmp b21 - //SEG135 sin8u_table::@21 + //SEG136 sin8u_table::@21 b21: - //SEG136 [56] (word) sin8u_table::x#1 ← (word) sin8u_table::x#2 + (word) sin8u_table::step#0 [ sin8u_table::step#0 sin8u_table::i#2 sin8u_table::x#1 sin8u_table::sintab#1 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::i#2 sin8u_table::x#1 sin8u_table::sintab#1 line_cursor#1 ] ) -- vwuz1=vwuz1_plus_vwuz2 + //SEG137 [57] (signed word) print_sword::w#1 ← (signed word) sin8u_table::sinx_sc#0 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_sword::w#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_sword::w#1 char_cursor#2 ] ) -- vwsz1=vwsz2 + lda sinx_sc + sta print_sword.w + lda sinx_sc+1 + sta print_sword.w+1 + //SEG138 [58] call print_sword param-assignment [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) + jsr print_sword + //SEG139 [59] phi from sin8u_table::@21 to sin8u_table::@22 [phi:sin8u_table::@21->sin8u_table::@22] + b22_from_b21: + jmp b22 + //SEG140 sin8u_table::@22 + b22: + //SEG141 [60] call print_str param-assignment [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] ) + //SEG142 [86] phi from sin8u_table::@22 to print_str [phi:sin8u_table::@22->print_str] + print_str_from_b22: + //SEG143 [86] phi (byte*) char_cursor#102 = (byte*) char_cursor#17 [phi:sin8u_table::@22->print_str#0] -- register_copy + //SEG144 [86] phi (byte*) print_str::str#12 = (const string) sin8u_table::str8 [phi:sin8u_table::@22->print_str#1] -- pbuz1=pbuc1 + lda #str8 + sta print_str.str+1 + jsr print_str + jmp b23 + //SEG145 sin8u_table::@23 + b23: + //SEG146 [61] (byte) print_byte::b#7 ← (byte) sin8u_table::sinx_tr#0 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 print_byte::b#7 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 print_byte::b#7 char_cursor#2 ] ) -- vbuz1=vbuxx + stx print_byte.b + //SEG147 [62] call print_byte param-assignment [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 ] ) + //SEG148 [74] phi from sin8u_table::@23 to print_byte [phi:sin8u_table::@23->print_byte] + print_byte_from_b23: + //SEG149 [74] phi (byte*) char_cursor#97 = (byte*) char_cursor#2 [phi:sin8u_table::@23->print_byte#0] -- register_copy + //SEG150 [74] phi (byte) print_byte::b#8 = (byte) print_byte::b#7 [phi:sin8u_table::@23->print_byte#1] -- register_copy + jsr print_byte + //SEG151 [63] phi from sin8u_table::@23 to sin8u_table::@24 [phi:sin8u_table::@23->sin8u_table::@24] + b24_from_b23: + jmp b24 + //SEG152 sin8u_table::@24 + b24: + //SEG153 [64] call print_ln param-assignment [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 ] ) + //SEG154 [69] phi from sin8u_table::@24 to print_ln [phi:sin8u_table::@24->print_ln] + print_ln_from_b24: + //SEG155 [69] phi (byte*) line_cursor#23 = (byte*) line_cursor#1 [phi:sin8u_table::@24->print_ln#0] -- register_copy + jsr print_ln + jmp b25 + //SEG156 sin8u_table::@25 + b25: + //SEG157 [65] (word) sin8u_table::x#1 ← (word) sin8u_table::x#10 + (word) sin8u_table::step#0 [ sin8u_table::step#0 sin8u_table::i#10 sin8u_table::x#1 sin8u_table::sintab#1 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::i#10 sin8u_table::x#1 sin8u_table::sintab#1 line_cursor#1 ] ) -- vwuz1=vwuz1_plus_vwuz2 lda x clc adc step @@ -8295,24 +9125,24 @@ sin8u_table: { lda x+1 adc step+1 sta x+1 - //SEG137 [57] (word) sin8u_table::i#1 ← ++ (word) sin8u_table::i#2 [ sin8u_table::step#0 sin8u_table::x#1 sin8u_table::sintab#1 sin8u_table::i#1 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#1 sin8u_table::sintab#1 sin8u_table::i#1 line_cursor#1 ] ) -- vwuz1=_inc_vwuz1 + //SEG158 [66] (word) sin8u_table::i#1 ← ++ (word) sin8u_table::i#10 [ sin8u_table::step#0 sin8u_table::x#1 sin8u_table::sintab#1 sin8u_table::i#1 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#1 sin8u_table::sintab#1 sin8u_table::i#1 line_cursor#1 ] ) -- vwuz1=_inc_vwuz1 inc i bne !+ inc i+1 !: - //SEG138 [58] if((word) sin8u_table::i#1<(const word) main::tabsize#0) goto sin8u_table::@1 [ sin8u_table::step#0 sin8u_table::x#1 sin8u_table::sintab#1 sin8u_table::i#1 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#1 sin8u_table::sintab#1 sin8u_table::i#1 line_cursor#1 ] ) -- vwuz1_lt_vwuc1_then_la1 + //SEG159 [67] if((word) sin8u_table::i#1<(const word) main::tabsize#0) goto sin8u_table::@1 [ sin8u_table::step#0 sin8u_table::x#1 sin8u_table::sintab#1 sin8u_table::i#1 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#1 sin8u_table::sintab#1 sin8u_table::i#1 line_cursor#1 ] ) -- vwuz1_lt_vwuc1_then_la1 lda i+1 cmp #>main.tabsize - bcc b1_from_b21 + bcc b1_from_b25 bne !+ lda i cmp #print_ln::@1] + //SEG163 [70] phi from print_ln print_ln::@1 to print_ln::@1 [phi:print_ln/print_ln::@1->print_ln::@1] b1_from_print_ln: b1_from_b1: - //SEG143 [61] phi (byte*) line_cursor#12 = (byte*) line_cursor#23 [phi:print_ln/print_ln::@1->print_ln::@1#0] -- register_copy + //SEG164 [70] phi (byte*) line_cursor#12 = (byte*) line_cursor#23 [phi:print_ln/print_ln::@1->print_ln::@1#0] -- register_copy jmp b1 - //SEG144 print_ln::@1 + //SEG165 print_ln::@1 b1: - //SEG145 [62] (byte*) line_cursor#1 ← (byte*) line_cursor#12 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ line_cursor#1 char_cursor#11 ] ( main:2::sin8u_table:7::print_ln:33 [ sin8u_table::step#0 line_cursor#1 char_cursor#11 ] main:2::sin8u_table:7::print_ln:55 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 ] ) -- pbuz1=pbuz1_plus_vbuc1 + //SEG166 [71] (byte*) line_cursor#1 ← (byte*) line_cursor#12 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ line_cursor#1 char_cursor#17 ] ( main:2::sin8u_table:7::print_ln:33 [ sin8u_table::step#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_ln:64 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 ] ) -- pbuz1=pbuz1_plus_vbuc1 lda line_cursor clc adc #$28 @@ -8339,7 +9171,7 @@ print_ln: { bcc !+ inc line_cursor+1 !: - //SEG146 [63] if((byte*) line_cursor#1<(byte*) char_cursor#11) goto print_ln::@1 [ line_cursor#1 char_cursor#11 ] ( main:2::sin8u_table:7::print_ln:33 [ sin8u_table::step#0 line_cursor#1 char_cursor#11 ] main:2::sin8u_table:7::print_ln:55 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 ] ) -- pbuz1_lt_pbuz2_then_la1 + //SEG167 [72] if((byte*) line_cursor#1<(byte*) char_cursor#17) goto print_ln::@1 [ line_cursor#1 char_cursor#17 ] ( main:2::sin8u_table:7::print_ln:33 [ sin8u_table::step#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_ln:64 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 ] ) -- pbuz1_lt_pbuz2_then_la1 lda line_cursor+1 cmp char_cursor+1 bcc b1_from_b1 @@ -8349,225 +9181,329 @@ print_ln: { bcc b1_from_b1 !: jmp breturn - //SEG147 print_ln::@return + //SEG168 print_ln::@return breturn: - //SEG148 [64] return [ line_cursor#1 ] ( main:2::sin8u_table:7::print_ln:33 [ sin8u_table::step#0 line_cursor#1 ] main:2::sin8u_table:7::print_ln:55 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 ] ) + //SEG169 [73] return [ line_cursor#1 ] ( main:2::sin8u_table:7::print_ln:33 [ sin8u_table::step#0 line_cursor#1 ] main:2::sin8u_table:7::print_ln:64 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 ] ) rts } -//SEG149 print_byte +//SEG170 print_byte print_byte: { .label b = $a - //SEG150 [66] (byte~) print_byte::$0 ← (byte) print_byte::b#7 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ print_byte::b#7 char_cursor#73 print_byte::$0 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_byte::$0 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_byte::$0 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_byte::$0 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_byte::$0 ] main:2::sin8u_table:7::print_byte:53 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_byte::b#7 char_cursor#73 print_byte::$0 ] main:2::sin8u_table:7::print_word:15::print_byte:86 [ sin8u_table::step#0 print_word::w#2 print_byte::b#7 char_cursor#73 print_byte::$0 ] main:2::sin8u_table:7::print_word:49::print_byte:86 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 print_byte::b#7 char_cursor#73 print_byte::$0 ] main:2::sin8u_table:7::print_word:15::print_byte:88 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_byte::$0 ] main:2::sin8u_table:7::print_word:49::print_byte:88 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_byte::b#7 char_cursor#73 print_byte::$0 ] ) -- vbuaa=vbuz1_ror_4 + //SEG171 [75] (byte~) print_byte::$0 ← (byte) print_byte::b#8 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ print_byte::b#8 char_cursor#97 print_byte::$0 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 print_byte::$0 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 print_byte::$0 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 print_byte::$0 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 print_byte::$0 ] main:2::sin8u_table:7::print_byte:62 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 print_byte::b#8 char_cursor#97 print_byte::$0 ] main:2::sin8u_table:7::print_word:15::print_byte:103 [ sin8u_table::step#0 print_word::w#3 print_byte::b#8 char_cursor#97 print_byte::$0 ] main:2::sin8u_table:7::print_word:50::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#97 print_byte::$0 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#97 print_byte::$0 ] main:2::sin8u_table:7::print_word:15::print_byte:105 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 print_byte::$0 ] main:2::sin8u_table:7::print_word:50::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#97 print_byte::$0 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#97 print_byte::$0 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#97 print_byte::$0 ] ) -- vbuaa=vbuz1_ror_4 lda b lsr lsr lsr lsr - //SEG151 [67] (byte) print_char::ch#0 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$0) [ print_byte::b#7 char_cursor#73 print_char::ch#0 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_char::ch#0 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_char::ch#0 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_char::ch#0 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_char::ch#0 ] main:2::sin8u_table:7::print_byte:53 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_byte::b#7 char_cursor#73 print_char::ch#0 ] main:2::sin8u_table:7::print_word:15::print_byte:86 [ sin8u_table::step#0 print_word::w#2 print_byte::b#7 char_cursor#73 print_char::ch#0 ] main:2::sin8u_table:7::print_word:49::print_byte:86 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 print_byte::b#7 char_cursor#73 print_char::ch#0 ] main:2::sin8u_table:7::print_word:15::print_byte:88 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_char::ch#0 ] main:2::sin8u_table:7::print_word:49::print_byte:88 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_byte::b#7 char_cursor#73 print_char::ch#0 ] ) -- vbuaa=pbuc1_derefidx_vbuaa + //SEG172 [76] (byte) print_char::ch#2 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$0) [ print_byte::b#8 char_cursor#97 print_char::ch#2 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 print_char::ch#2 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 print_char::ch#2 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 print_char::ch#2 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 print_char::ch#2 ] main:2::sin8u_table:7::print_byte:62 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 print_byte::b#8 char_cursor#97 print_char::ch#2 ] main:2::sin8u_table:7::print_word:15::print_byte:103 [ sin8u_table::step#0 print_word::w#3 print_byte::b#8 char_cursor#97 print_char::ch#2 ] main:2::sin8u_table:7::print_word:50::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#97 print_char::ch#2 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#97 print_char::ch#2 ] main:2::sin8u_table:7::print_word:15::print_byte:105 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 print_char::ch#2 ] main:2::sin8u_table:7::print_word:50::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#97 print_char::ch#2 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#97 print_char::ch#2 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#97 print_char::ch#2 ] ) -- vbuaa=pbuc1_derefidx_vbuaa tay lda hextab,y - //SEG152 [68] call print_char param-assignment [ char_cursor#11 print_byte::b#7 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#11 print_byte::b#7 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#11 print_byte::b#7 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#11 print_byte::b#7 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#11 print_byte::b#7 ] main:2::sin8u_table:7::print_byte:53 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 print_byte::b#7 ] main:2::sin8u_table:7::print_word:15::print_byte:86 [ sin8u_table::step#0 print_word::w#2 char_cursor#11 print_byte::b#7 ] main:2::sin8u_table:7::print_word:49::print_byte:86 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 char_cursor#11 print_byte::b#7 ] main:2::sin8u_table:7::print_word:15::print_byte:88 [ sin8u_table::step#0 char_cursor#11 print_byte::b#7 ] main:2::sin8u_table:7::print_word:49::print_byte:88 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 print_byte::b#7 ] ) - //SEG153 [73] phi from print_byte to print_char [phi:print_byte->print_char] + //SEG173 [77] call print_char param-assignment [ char_cursor#17 print_byte::b#8 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#17 print_byte::b#8 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#17 print_byte::b#8 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#17 print_byte::b#8 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#17 print_byte::b#8 ] main:2::sin8u_table:7::print_byte:62 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 print_byte::b#8 ] main:2::sin8u_table:7::print_word:15::print_byte:103 [ sin8u_table::step#0 print_word::w#3 char_cursor#17 print_byte::b#8 ] main:2::sin8u_table:7::print_word:50::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 print_byte::b#8 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 print_byte::b#8 ] main:2::sin8u_table:7::print_word:15::print_byte:105 [ sin8u_table::step#0 char_cursor#17 print_byte::b#8 ] main:2::sin8u_table:7::print_word:50::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_byte::b#8 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_byte::b#8 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_byte::b#8 ] ) + //SEG174 [82] phi from print_byte to print_char [phi:print_byte->print_char] print_char_from_print_byte: - //SEG154 [73] phi (byte*) char_cursor#46 = (byte*) char_cursor#73 [phi:print_byte->print_char#0] -- register_copy - //SEG155 [73] phi (byte) print_char::ch#2 = (byte) print_char::ch#0 [phi:print_byte->print_char#1] -- register_copy + //SEG175 [82] phi (byte*) char_cursor#62 = (byte*) char_cursor#97 [phi:print_byte->print_char#0] -- register_copy + //SEG176 [82] phi (byte) print_char::ch#4 = (byte) print_char::ch#2 [phi:print_byte->print_char#1] -- register_copy jsr print_char jmp b1 - //SEG156 print_byte::@1 + //SEG177 print_byte::@1 b1: - //SEG157 [69] (byte~) print_byte::$2 ← (byte) print_byte::b#7 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ char_cursor#11 print_byte::$2 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#11 print_byte::$2 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#11 print_byte::$2 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#11 print_byte::$2 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#11 print_byte::$2 ] main:2::sin8u_table:7::print_byte:53 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 print_byte::$2 ] main:2::sin8u_table:7::print_word:15::print_byte:86 [ sin8u_table::step#0 print_word::w#2 char_cursor#11 print_byte::$2 ] main:2::sin8u_table:7::print_word:49::print_byte:86 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 char_cursor#11 print_byte::$2 ] main:2::sin8u_table:7::print_word:15::print_byte:88 [ sin8u_table::step#0 char_cursor#11 print_byte::$2 ] main:2::sin8u_table:7::print_word:49::print_byte:88 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 print_byte::$2 ] ) -- vbuaa=vbuz1_band_vbuc1 + //SEG178 [78] (byte~) print_byte::$2 ← (byte) print_byte::b#8 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ char_cursor#17 print_byte::$2 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_byte:62 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_word:15::print_byte:103 [ sin8u_table::step#0 print_word::w#3 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_word:50::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_word:15::print_byte:105 [ sin8u_table::step#0 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_word:50::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_byte::$2 ] ) -- vbuaa=vbuz1_band_vbuc1 lda #$f and b - //SEG158 [70] (byte) print_char::ch#1 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$2) [ char_cursor#11 print_char::ch#1 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#11 print_char::ch#1 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#11 print_char::ch#1 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#11 print_char::ch#1 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#11 print_char::ch#1 ] main:2::sin8u_table:7::print_byte:53 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 print_char::ch#1 ] main:2::sin8u_table:7::print_word:15::print_byte:86 [ sin8u_table::step#0 print_word::w#2 char_cursor#11 print_char::ch#1 ] main:2::sin8u_table:7::print_word:49::print_byte:86 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 char_cursor#11 print_char::ch#1 ] main:2::sin8u_table:7::print_word:15::print_byte:88 [ sin8u_table::step#0 char_cursor#11 print_char::ch#1 ] main:2::sin8u_table:7::print_word:49::print_byte:88 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 print_char::ch#1 ] ) -- vbuaa=pbuc1_derefidx_vbuaa + //SEG179 [79] (byte) print_char::ch#3 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$2) [ char_cursor#17 print_char::ch#3 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#17 print_char::ch#3 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#17 print_char::ch#3 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#17 print_char::ch#3 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#17 print_char::ch#3 ] main:2::sin8u_table:7::print_byte:62 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 print_char::ch#3 ] main:2::sin8u_table:7::print_word:15::print_byte:103 [ sin8u_table::step#0 print_word::w#3 char_cursor#17 print_char::ch#3 ] main:2::sin8u_table:7::print_word:50::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 print_char::ch#3 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 print_char::ch#3 ] main:2::sin8u_table:7::print_word:15::print_byte:105 [ sin8u_table::step#0 char_cursor#17 print_char::ch#3 ] main:2::sin8u_table:7::print_word:50::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_char::ch#3 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_char::ch#3 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_char::ch#3 ] ) -- vbuaa=pbuc1_derefidx_vbuaa tay lda hextab,y - //SEG159 [71] call print_char param-assignment [ char_cursor#11 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:53 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:86 [ sin8u_table::step#0 print_word::w#2 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:86 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:88 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:88 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 ] ) - //SEG160 [73] phi from print_byte::@1 to print_char [phi:print_byte::@1->print_char] + //SEG180 [80] call print_char param-assignment [ char_cursor#17 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:62 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:103 [ sin8u_table::step#0 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:105 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) + //SEG181 [82] phi from print_byte::@1 to print_char [phi:print_byte::@1->print_char] print_char_from_b1: - //SEG161 [73] phi (byte*) char_cursor#46 = (byte*) char_cursor#11 [phi:print_byte::@1->print_char#0] -- register_copy - //SEG162 [73] phi (byte) print_char::ch#2 = (byte) print_char::ch#1 [phi:print_byte::@1->print_char#1] -- register_copy + //SEG182 [82] phi (byte*) char_cursor#62 = (byte*) char_cursor#17 [phi:print_byte::@1->print_char#0] -- register_copy + //SEG183 [82] phi (byte) print_char::ch#4 = (byte) print_char::ch#3 [phi:print_byte::@1->print_char#1] -- register_copy jsr print_char jmp breturn - //SEG163 print_byte::@return + //SEG184 print_byte::@return breturn: - //SEG164 [72] return [ char_cursor#11 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:53 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:86 [ sin8u_table::step#0 print_word::w#2 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:86 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:88 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:88 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 ] ) + //SEG185 [81] return [ char_cursor#17 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:62 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:103 [ sin8u_table::step#0 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:105 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) rts hextab: .text "0123456789abcdef" } -//SEG165 print_char +//SEG186 print_char print_char: { - //SEG166 [74] *((byte*) char_cursor#46) ← (byte) print_char::ch#2 [ char_cursor#46 ] ( main:2::sin8u_table:7::print_byte:19::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_byte:23::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_byte:27::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_byte:31::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_byte:53::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_word:15::print_byte:86::print_char:68 [ sin8u_table::step#0 print_word::w#2 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_word:49::print_byte:86::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_word:15::print_byte:88::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_word:49::print_byte:88::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_byte:19::print_char:71 [ sin8u_table::step#0 char_cursor#46 ] main:2::sin8u_table:7::print_byte:23::print_char:71 [ sin8u_table::step#0 char_cursor#46 ] main:2::sin8u_table:7::print_byte:27::print_char:71 [ sin8u_table::step#0 char_cursor#46 ] main:2::sin8u_table:7::print_byte:31::print_char:71 [ sin8u_table::step#0 char_cursor#46 ] main:2::sin8u_table:7::print_byte:53::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#46 ] main:2::sin8u_table:7::print_word:15::print_byte:86::print_char:71 [ sin8u_table::step#0 print_word::w#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:49::print_byte:86::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:15::print_byte:88::print_char:71 [ sin8u_table::step#0 char_cursor#46 ] main:2::sin8u_table:7::print_word:49::print_byte:88::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#46 ] ) -- _deref_pbuz1=vbuaa + //SEG187 [83] *((byte*) char_cursor#62) ← (byte) print_char::ch#4 [ char_cursor#62 ] ( main:2::sin8u_table:7::print_byte:19::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_byte:23::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_byte:27::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_byte:31::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_byte:62::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_word:15::print_byte:103::print_char:77 [ sin8u_table::step#0 print_word::w#3 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_word:50::print_byte:103::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_word:15::print_byte:105::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_word:50::print_byte:105::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_byte:19::print_char:80 [ sin8u_table::step#0 char_cursor#62 ] main:2::sin8u_table:7::print_byte:23::print_char:80 [ sin8u_table::step#0 char_cursor#62 ] main:2::sin8u_table:7::print_byte:27::print_char:80 [ sin8u_table::step#0 char_cursor#62 ] main:2::sin8u_table:7::print_byte:31::print_char:80 [ sin8u_table::step#0 char_cursor#62 ] main:2::sin8u_table:7::print_byte:62::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#62 ] main:2::sin8u_table:7::print_word:15::print_byte:103::print_char:80 [ sin8u_table::step#0 print_word::w#3 char_cursor#62 ] main:2::sin8u_table:7::print_word:50::print_byte:103::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#62 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#62 ] main:2::sin8u_table:7::print_word:15::print_byte:105::print_char:80 [ sin8u_table::step#0 char_cursor#62 ] main:2::sin8u_table:7::print_word:50::print_byte:105::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#62 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#62 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#62 ] main:2::sin8u_table:7::print_sword:58::print_char:95 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_sword::w#1 char_cursor#62 ] main:2::sin8u_table:7::print_sbyte:54::print_char:109 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_sbyte::b#1 char_cursor#62 ] ) -- _deref_pbuz1=vbuaa ldy #0 sta (char_cursor),y - //SEG167 [75] (byte*) char_cursor#11 ← ++ (byte*) char_cursor#46 [ char_cursor#11 ] ( main:2::sin8u_table:7::print_byte:19::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:23::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:27::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:31::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:53::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:86::print_char:68 [ sin8u_table::step#0 print_word::w#2 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:86::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:88::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:88::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:19::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:23::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:27::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:31::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:53::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:86::print_char:71 [ sin8u_table::step#0 print_word::w#2 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:86::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:88::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:88::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 ] ) -- pbuz1=_inc_pbuz1 + //SEG188 [84] (byte*) char_cursor#17 ← ++ (byte*) char_cursor#62 [ char_cursor#17 ] ( main:2::sin8u_table:7::print_byte:19::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_byte:23::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_byte:27::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_byte:31::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_byte:62::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:103::print_char:77 [ sin8u_table::step#0 print_word::w#3 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:103::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:105::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:105::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_byte:19::print_char:80 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:23::print_char:80 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:27::print_char:80 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:31::print_char:80 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:62::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:103::print_char:80 [ sin8u_table::step#0 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:103::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:105::print_char:80 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:105::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_char:95 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_sword::w#1 char_cursor#17 ] main:2::sin8u_table:7::print_sbyte:54::print_char:109 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_sbyte::b#1 char_cursor#17 ] ) -- pbuz1=_inc_pbuz1 inc char_cursor bne !+ inc char_cursor+1 !: jmp breturn - //SEG168 print_char::@return + //SEG189 print_char::@return breturn: - //SEG169 [76] return [ char_cursor#11 ] ( main:2::sin8u_table:7::print_byte:19::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:23::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:27::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:31::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:53::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:86::print_char:68 [ sin8u_table::step#0 print_word::w#2 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:86::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:88::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:88::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:19::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:23::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:27::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:31::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:53::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:86::print_char:71 [ sin8u_table::step#0 print_word::w#2 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:86::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:88::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:88::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 ] ) + //SEG190 [85] return [ char_cursor#17 ] ( main:2::sin8u_table:7::print_byte:19::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_byte:23::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_byte:27::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_byte:31::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_byte:62::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:103::print_char:77 [ sin8u_table::step#0 print_word::w#3 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:103::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:105::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:105::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_byte:19::print_char:80 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:23::print_char:80 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:27::print_char:80 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:31::print_char:80 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:62::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:103::print_char:80 [ sin8u_table::step#0 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:103::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:105::print_char:80 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:105::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_char:95 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_sword::w#1 char_cursor#17 ] main:2::sin8u_table:7::print_sbyte:54::print_char:109 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_sbyte::b#1 char_cursor#17 ] ) rts } -//SEG170 print_str +//SEG191 print_str print_str: { - .label str = $d - //SEG171 [78] phi from print_str print_str::@2 to print_str::@1 [phi:print_str/print_str::@2->print_str::@1] + .label str = $b + //SEG192 [87] phi from print_str print_str::@2 to print_str::@1 [phi:print_str/print_str::@2->print_str::@1] b1_from_print_str: b1_from_b2: - //SEG172 [78] phi (byte*) char_cursor#2 = (byte*) char_cursor#78 [phi:print_str/print_str::@2->print_str::@1#0] -- register_copy - //SEG173 [78] phi (byte*) print_str::str#8 = (byte*) print_str::str#10 [phi:print_str/print_str::@2->print_str::@1#1] -- register_copy + //SEG193 [87] phi (byte*) char_cursor#2 = (byte*) char_cursor#102 [phi:print_str/print_str::@2->print_str::@1#0] -- register_copy + //SEG194 [87] phi (byte*) print_str::str#10 = (byte*) print_str::str#12 [phi:print_str/print_str::@2->print_str::@1#1] -- register_copy jmp b1 - //SEG174 print_str::@1 + //SEG195 print_str::@1 b1: - //SEG175 [79] if(*((byte*) print_str::str#8)!=(byte) '@') goto print_str::@2 [ char_cursor#2 print_str::str#8 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:47 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:51 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 print_str::str#8 ] ) -- _deref_pbuz1_neq_vbuc1_then_la1 + //SEG196 [88] if(*((byte*) print_str::str#10)!=(byte) '@') goto print_str::@2 [ char_cursor#2 print_str::str#10 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:48 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:52 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:56 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:60 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] ) -- _deref_pbuz1_neq_vbuc1_then_la1 ldy #0 lda (str),y cmp #'@' bne b2 jmp breturn - //SEG176 print_str::@return + //SEG197 print_str::@return breturn: - //SEG177 [80] return [ char_cursor#2 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 char_cursor#2 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 char_cursor#2 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 char_cursor#2 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 char_cursor#2 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 char_cursor#2 ] main:2::sin8u_table:7::print_str:47 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 ] main:2::sin8u_table:7::print_str:51 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 ] ) + //SEG198 [89] return [ char_cursor#2 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 char_cursor#2 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 char_cursor#2 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 char_cursor#2 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 char_cursor#2 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 char_cursor#2 ] main:2::sin8u_table:7::print_str:48 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] main:2::sin8u_table:7::print_str:52 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] main:2::sin8u_table:7::print_str:56 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] main:2::sin8u_table:7::print_str:60 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] ) rts - //SEG178 print_str::@2 + //SEG199 print_str::@2 b2: - //SEG179 [81] *((byte*) char_cursor#2) ← *((byte*) print_str::str#8) [ char_cursor#2 print_str::str#8 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:47 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:51 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 print_str::str#8 ] ) -- _deref_pbuz1=_deref_pbuz2 + //SEG200 [90] *((byte*) char_cursor#2) ← *((byte*) print_str::str#10) [ char_cursor#2 print_str::str#10 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:48 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:52 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:56 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:60 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] ) -- _deref_pbuz1=_deref_pbuz2 ldy #0 lda (str),y ldy #0 sta (char_cursor),y - //SEG180 [82] (byte*) char_cursor#1 ← ++ (byte*) char_cursor#2 [ print_str::str#8 char_cursor#1 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 print_str::str#8 char_cursor#1 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 print_str::str#8 char_cursor#1 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 print_str::str#8 char_cursor#1 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 print_str::str#8 char_cursor#1 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 print_str::str#8 char_cursor#1 ] main:2::sin8u_table:7::print_str:47 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_str::str#8 char_cursor#1 ] main:2::sin8u_table:7::print_str:51 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_str::str#8 char_cursor#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG201 [91] (byte*) char_cursor#1 ← ++ (byte*) char_cursor#2 [ print_str::str#10 char_cursor#1 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 print_str::str#10 char_cursor#1 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 print_str::str#10 char_cursor#1 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 print_str::str#10 char_cursor#1 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 print_str::str#10 char_cursor#1 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 print_str::str#10 char_cursor#1 ] main:2::sin8u_table:7::print_str:48 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::sin8u_table:7::print_str:52 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::sin8u_table:7::print_str:56 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::sin8u_table:7::print_str:60 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_str::str#10 char_cursor#1 ] ) -- pbuz1=_inc_pbuz1 inc char_cursor bne !+ inc char_cursor+1 !: - //SEG181 [83] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#8 [ print_str::str#0 char_cursor#1 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:47 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:51 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_str::str#0 char_cursor#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG202 [92] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#10 [ print_str::str#0 char_cursor#1 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:48 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:52 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:56 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:60 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_str::str#0 char_cursor#1 ] ) -- pbuz1=_inc_pbuz1 inc str bne !+ inc str+1 !: jmp b1_from_b2 } -//SEG182 print_word -print_word: { - .label w = 2 - //SEG183 [85] (byte) print_byte::b#0 ← > (word) print_word::w#2 [ char_cursor#2 print_byte::b#0 print_word::w#2 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#2 print_byte::b#0 print_word::w#2 ] main:2::sin8u_table:7::print_word:49 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 print_byte::b#0 print_word::w#2 ] ) -- vbuz1=_hi_vwuz2 +//SEG203 print_sword +print_sword: { + .label w = $b + //SEG204 [93] if((signed word) print_sword::w#1>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto print_sword::@1 [ print_sword::w#1 char_cursor#2 ] ( main:2::sin8u_table:7::print_sword:58 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_sword::w#1 char_cursor#2 ] ) -- vwsz1_ge_0_then_la1 lda w+1 - sta print_byte.b - //SEG184 [86] call print_byte param-assignment [ char_cursor#11 print_word::w#2 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#11 print_word::w#2 ] main:2::sin8u_table:7::print_word:49 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 print_word::w#2 ] ) - //SEG185 [65] phi from print_word to print_byte [phi:print_word->print_byte] - print_byte_from_print_word: - //SEG186 [65] phi (byte*) char_cursor#73 = (byte*) char_cursor#2 [phi:print_word->print_byte#0] -- register_copy - //SEG187 [65] phi (byte) print_byte::b#7 = (byte) print_byte::b#0 [phi:print_word->print_byte#1] -- register_copy - jsr print_byte - jmp b1 - //SEG188 print_word::@1 - b1: - //SEG189 [87] (byte) print_byte::b#1 ← < (word) print_word::w#2 [ char_cursor#11 print_byte::b#1 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#11 print_byte::b#1 ] main:2::sin8u_table:7::print_word:49 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 print_byte::b#1 ] ) -- vbuz1=_lo_vwuz2 + bpl b1_from_print_sword + //SEG205 [94] phi from print_sword to print_sword::@2 [phi:print_sword->print_sword::@2] + b2_from_print_sword: + jmp b2 + //SEG206 print_sword::@2 + b2: + //SEG207 [95] call print_char param-assignment [ print_sword::w#1 char_cursor#17 ] ( main:2::sin8u_table:7::print_sword:58 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_sword::w#1 char_cursor#17 ] ) + //SEG208 [82] phi from print_sword::@2 to print_char [phi:print_sword::@2->print_char] + print_char_from_b2: + //SEG209 [82] phi (byte*) char_cursor#62 = (byte*) char_cursor#2 [phi:print_sword::@2->print_char#0] -- register_copy + //SEG210 [82] phi (byte) print_char::ch#4 = (byte) '-' [phi:print_sword::@2->print_char#1] -- vbuaa=vbuc1 + lda #'-' + jsr print_char + jmp b4 + //SEG211 print_sword::@4 + b4: + //SEG212 [96] (signed word) print_sword::w#0 ← - (signed word) print_sword::w#1 [ char_cursor#17 print_sword::w#0 ] ( main:2::sin8u_table:7::print_sword:58 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_sword::w#0 ] ) -- vwsz1=_neg_vwsz1 + sec lda w - sta print_byte.b - //SEG190 [88] call print_byte param-assignment [ char_cursor#11 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_word:49 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 ] ) - //SEG191 [65] phi from print_word::@1 to print_byte [phi:print_word::@1->print_byte] - print_byte_from_b1: - //SEG192 [65] phi (byte*) char_cursor#73 = (byte*) char_cursor#11 [phi:print_word::@1->print_byte#0] -- register_copy - //SEG193 [65] phi (byte) print_byte::b#7 = (byte) print_byte::b#1 [phi:print_word::@1->print_byte#1] -- register_copy - jsr print_byte + eor #$ff + adc #0 + sta w + lda w+1 + eor #$ff + adc #0 + sta w+1 + //SEG213 [97] phi from print_sword print_sword::@4 to print_sword::@1 [phi:print_sword/print_sword::@4->print_sword::@1] + b1_from_print_sword: + b1_from_b4: + //SEG214 [97] phi (byte*) char_cursor#92 = (byte*) char_cursor#2 [phi:print_sword/print_sword::@4->print_sword::@1#0] -- register_copy + //SEG215 [97] phi (signed word) print_sword::w#3 = (signed word) print_sword::w#1 [phi:print_sword/print_sword::@4->print_sword::@1#1] -- register_copy + jmp b1 + //SEG216 print_sword::@1 + b1: + //SEG217 [98] (word~) print_word::w#5 ← (word)(signed word) print_sword::w#3 [ char_cursor#92 print_word::w#5 ] ( main:2::sin8u_table:7::print_sword:58 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#92 print_word::w#5 ] ) + // (word~) print_word::w#5 = (word)(signed word) print_sword::w#3 // register copy zp ZP_WORD:11 + //SEG218 [99] call print_word param-assignment [ char_cursor#17 ] ( main:2::sin8u_table:7::print_sword:58 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) + //SEG219 [101] phi from print_sword::@1 to print_word [phi:print_sword::@1->print_word] + print_word_from_b1: + //SEG220 [101] phi (byte*) char_cursor#96 = (byte*) char_cursor#92 [phi:print_sword::@1->print_word#0] -- register_copy + //SEG221 [101] phi (word) print_word::w#3 = (word~) print_word::w#5 [phi:print_sword::@1->print_word#1] -- register_copy + jsr print_word jmp breturn - //SEG194 print_word::@return + //SEG222 print_sword::@return breturn: - //SEG195 [89] return [ char_cursor#11 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_word:49 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 ] ) + //SEG223 [100] return [ char_cursor#17 ] ( main:2::sin8u_table:7::print_sword:58 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) rts } -//SEG196 mul8su +//SEG224 print_word +print_word: { + .label w = $b + //SEG225 [102] (byte) print_byte::b#1 ← > (word) print_word::w#3 [ print_byte::b#1 char_cursor#96 print_word::w#3 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 print_byte::b#1 char_cursor#96 print_word::w#3 ] main:2::sin8u_table:7::print_word:50 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#1 char_cursor#96 print_word::w#3 ] main:2::sin8u_table:7::print_sword:58::print_word:99 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#1 char_cursor#96 print_word::w#3 ] ) -- vbuz1=_hi_vwuz2 + lda w+1 + sta print_byte.b + //SEG226 [103] call print_byte param-assignment [ char_cursor#17 print_word::w#3 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#17 print_word::w#3 ] main:2::sin8u_table:7::print_word:50 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_word::w#3 ] main:2::sin8u_table:7::print_sword:58::print_word:99 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_word::w#3 ] ) + //SEG227 [74] phi from print_word to print_byte [phi:print_word->print_byte] + print_byte_from_print_word: + //SEG228 [74] phi (byte*) char_cursor#97 = (byte*) char_cursor#96 [phi:print_word->print_byte#0] -- register_copy + //SEG229 [74] phi (byte) print_byte::b#8 = (byte) print_byte::b#1 [phi:print_word->print_byte#1] -- register_copy + jsr print_byte + jmp b1 + //SEG230 print_word::@1 + b1: + //SEG231 [104] (byte) print_byte::b#2 ← < (word) print_word::w#3 [ char_cursor#17 print_byte::b#2 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#17 print_byte::b#2 ] main:2::sin8u_table:7::print_word:50 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_byte::b#2 ] main:2::sin8u_table:7::print_sword:58::print_word:99 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_byte::b#2 ] ) -- vbuz1=_lo_vwuz2 + lda w + sta print_byte.b + //SEG232 [105] call print_byte param-assignment [ char_cursor#17 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_word:50 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) + //SEG233 [74] phi from print_word::@1 to print_byte [phi:print_word::@1->print_byte] + print_byte_from_b1: + //SEG234 [74] phi (byte*) char_cursor#97 = (byte*) char_cursor#17 [phi:print_word::@1->print_byte#0] -- register_copy + //SEG235 [74] phi (byte) print_byte::b#8 = (byte) print_byte::b#2 [phi:print_word::@1->print_byte#1] -- register_copy + jsr print_byte + jmp breturn + //SEG236 print_word::@return + breturn: + //SEG237 [106] return [ char_cursor#17 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_word:50 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) + rts +} +//SEG238 print_sbyte +print_sbyte: { + .label b = $a + //SEG239 [107] if((signed byte) print_sbyte::b#1>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto print_sbyte::@1 [ print_sbyte::b#1 char_cursor#2 ] ( main:2::sin8u_table:7::print_sbyte:54 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_sbyte::b#1 char_cursor#2 ] ) -- vbsz1_ge_0_then_la1 + lda b + cmp #0 + bpl b1_from_print_sbyte + //SEG240 [108] phi from print_sbyte to print_sbyte::@2 [phi:print_sbyte->print_sbyte::@2] + b2_from_print_sbyte: + jmp b2 + //SEG241 print_sbyte::@2 + b2: + //SEG242 [109] call print_char param-assignment [ print_sbyte::b#1 char_cursor#17 ] ( main:2::sin8u_table:7::print_sbyte:54 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_sbyte::b#1 char_cursor#17 ] ) + //SEG243 [82] phi from print_sbyte::@2 to print_char [phi:print_sbyte::@2->print_char] + print_char_from_b2: + //SEG244 [82] phi (byte*) char_cursor#62 = (byte*) char_cursor#2 [phi:print_sbyte::@2->print_char#0] -- register_copy + //SEG245 [82] phi (byte) print_char::ch#4 = (byte) '-' [phi:print_sbyte::@2->print_char#1] -- vbuaa=vbuc1 + lda #'-' + jsr print_char + jmp b4 + //SEG246 print_sbyte::@4 + b4: + //SEG247 [110] (signed byte) print_sbyte::b#0 ← - (signed byte) print_sbyte::b#1 [ char_cursor#17 print_sbyte::b#0 ] ( main:2::sin8u_table:7::print_sbyte:54 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_sbyte::b#0 ] ) -- vbsz1=_neg_vbsz1 + lda b + eor #$ff + clc + adc #1 + sta b + //SEG248 [111] phi from print_sbyte print_sbyte::@4 to print_sbyte::@1 [phi:print_sbyte/print_sbyte::@4->print_sbyte::@1] + b1_from_print_sbyte: + b1_from_b4: + //SEG249 [111] phi (byte*) char_cursor#94 = (byte*) char_cursor#2 [phi:print_sbyte/print_sbyte::@4->print_sbyte::@1#0] -- register_copy + //SEG250 [111] phi (signed byte) print_sbyte::b#3 = (signed byte) print_sbyte::b#1 [phi:print_sbyte/print_sbyte::@4->print_sbyte::@1#1] -- register_copy + jmp b1 + //SEG251 print_sbyte::@1 + b1: + //SEG252 [112] (byte~) print_byte::b#10 ← (byte)(signed byte) print_sbyte::b#3 [ print_byte::b#10 char_cursor#94 ] ( main:2::sin8u_table:7::print_sbyte:54 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#10 char_cursor#94 ] ) + // (byte~) print_byte::b#10 = (byte)(signed byte) print_sbyte::b#3 // register copy zp ZP_BYTE:10 + //SEG253 [113] call print_byte param-assignment [ char_cursor#17 ] ( main:2::sin8u_table:7::print_sbyte:54 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) + //SEG254 [74] phi from print_sbyte::@1 to print_byte [phi:print_sbyte::@1->print_byte] + print_byte_from_b1: + //SEG255 [74] phi (byte*) char_cursor#97 = (byte*) char_cursor#94 [phi:print_sbyte::@1->print_byte#0] -- register_copy + //SEG256 [74] phi (byte) print_byte::b#8 = (byte~) print_byte::b#10 [phi:print_sbyte::@1->print_byte#1] -- register_copy + jsr print_byte + jmp breturn + //SEG257 print_sbyte::@return + breturn: + //SEG258 [114] return [ char_cursor#17 ] ( main:2::sin8u_table:7::print_sbyte:54 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) + rts +} +//SEG259 mul8su mul8su: { - .label m = $b - .label return = $b - //SEG197 [90] (byte~) mul8u::a#8 ← (byte)(signed byte) mul8su::a#0 [ mul8su::a#0 mul8u::a#8 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::a#8 ] ) -- vbuxx=vbuyy + .const b = sin8u_table.amplitude+1 + .label m = $f + .label return = $f + //SEG260 [115] (byte~) mul8u::a#8 ← (byte)(signed byte) mul8su::a#0 [ mul8su::a#0 mul8u::a#8 ] ( main:2::sin8u_table:7::mul8su:40 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::a#8 ] ) -- vbuxx=vbuyy tya tax - //SEG198 [91] call mul8u param-assignment [ mul8su::a#0 mul8u::res#2 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::res#2 ] ) - //SEG199 [100] phi from mul8su to mul8u [phi:mul8su->mul8u] + //SEG261 [116] call mul8u param-assignment [ mul8su::a#0 mul8u::res#2 ] ( main:2::sin8u_table:7::mul8su:40 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::res#2 ] ) + //SEG262 [125] phi from mul8su to mul8u [phi:mul8su->mul8u] mul8u_from_mul8su: - //SEG200 [100] phi (byte) mul8u::a#6 = (byte~) mul8u::a#8 [phi:mul8su->mul8u#0] -- register_copy - //SEG201 [100] phi (byte) mul8u::b#2 = ((byte))(const byte) sin8u_table::amplitude#0 [phi:mul8su->mul8u#1] -- vbuaa=vbuc1 - lda #sin8u_table.amplitude + //SEG263 [125] phi (byte) mul8u::a#6 = (byte~) mul8u::a#8 [phi:mul8su->mul8u#0] -- register_copy + //SEG264 [125] phi (byte) mul8u::b#2 = ((byte))(const byte) mul8su::b#0 [phi:mul8su->mul8u#1] -- vbuaa=vbuc1 + lda #b jsr mul8u - //SEG202 [92] (word) mul8u::return#2 ← (word) mul8u::res#2 [ mul8su::a#0 mul8u::return#2 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::return#2 ] ) - // (word) mul8u::return#2 = (word) mul8u::res#2 // register copy zp ZP_WORD:11 + //SEG265 [117] (word) mul8u::return#2 ← (word) mul8u::res#2 [ mul8su::a#0 mul8u::return#2 ] ( main:2::sin8u_table:7::mul8su:40 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::return#2 ] ) + // (word) mul8u::return#2 = (word) mul8u::res#2 // register copy zp ZP_WORD:15 jmp b4 - //SEG203 mul8su::@4 + //SEG266 mul8su::@4 b4: - //SEG204 [93] (word) mul8su::m#0 ← (word) mul8u::return#2 [ mul8su::a#0 mul8su::m#0 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8su::m#0 ] ) - // (word) mul8su::m#0 = (word) mul8u::return#2 // register copy zp ZP_WORD:11 - //SEG205 [94] if((signed byte) mul8su::a#0>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8su::@1 [ mul8su::m#0 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::m#0 ] ) -- vbsyy_ge_0_then_la1 + //SEG267 [118] (word) mul8su::m#0 ← (word) mul8u::return#2 [ mul8su::a#0 mul8su::m#0 ] ( main:2::sin8u_table:7::mul8su:40 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8su::m#0 ] ) + // (word) mul8su::m#0 = (word) mul8u::return#2 // register copy zp ZP_WORD:15 + //SEG268 [119] if((signed byte) mul8su::a#0>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8su::@1 [ mul8su::m#0 ] ( main:2::sin8u_table:7::mul8su:40 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::m#0 ] ) -- vbsyy_ge_0_then_la1 cpy #0 bpl b1_from_b4 jmp b2 - //SEG206 mul8su::@2 + //SEG269 mul8su::@2 b2: - //SEG207 [95] (byte~) mul8su::$6 ← > (word) mul8su::m#0 [ mul8su::m#0 mul8su::$6 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::m#0 mul8su::$6 ] ) -- vbuaa=_hi_vwuz1 + //SEG270 [120] (byte~) mul8su::$6 ← > (word) mul8su::m#0 [ mul8su::m#0 mul8su::$6 ] ( main:2::sin8u_table:7::mul8su:40 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::m#0 mul8su::$6 ] ) -- vbuaa=_hi_vwuz1 lda m+1 - //SEG208 [96] (byte/signed byte/word/signed word/dword/signed dword~) mul8su::$10 ← (byte~) mul8su::$6 - ((byte))(const byte) sin8u_table::amplitude#0 [ mul8su::m#0 mul8su::$10 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::m#0 mul8su::$10 ] ) -- vbuaa=vbuaa_minus_vbuc1 + //SEG271 [121] (byte/signed byte/word/signed word/dword/signed dword~) mul8su::$10 ← (byte~) mul8su::$6 - ((byte))(const byte) mul8su::b#0 [ mul8su::m#0 mul8su::$10 ] ( main:2::sin8u_table:7::mul8su:40 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::m#0 mul8su::$10 ] ) -- vbuaa=vbuaa_minus_vbuc1 sec - sbc #sin8u_table.amplitude - //SEG209 [97] (word) mul8su::m#1 ← (word) mul8su::m#0 hi= (byte/signed byte/word/signed word/dword/signed dword~) mul8su::$10 [ mul8su::m#1 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::m#1 ] ) -- vwuz1=vwuz1_sethi_vbuaa + sbc #b + //SEG272 [122] (word) mul8su::m#1 ← (word) mul8su::m#0 hi= (byte/signed byte/word/signed word/dword/signed dword~) mul8su::$10 [ mul8su::m#1 ] ( main:2::sin8u_table:7::mul8su:40 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::m#1 ] ) -- vwuz1=vwuz1_sethi_vbuaa sta m+1 - //SEG210 [98] phi from mul8su::@2 mul8su::@4 to mul8su::@1 [phi:mul8su::@2/mul8su::@4->mul8su::@1] + //SEG273 [123] phi from mul8su::@2 mul8su::@4 to mul8su::@1 [phi:mul8su::@2/mul8su::@4->mul8su::@1] b1_from_b2: b1_from_b4: - //SEG211 [98] phi (word) mul8su::m#2 = (word) mul8su::m#1 [phi:mul8su::@2/mul8su::@4->mul8su::@1#0] -- register_copy + //SEG274 [123] phi (word) mul8su::m#2 = (word) mul8su::m#1 [phi:mul8su::@2/mul8su::@4->mul8su::@1#0] -- register_copy jmp b1 - //SEG212 mul8su::@1 + //SEG275 mul8su::@1 b1: jmp breturn - //SEG213 mul8su::@return + //SEG276 mul8su::@return breturn: - //SEG214 [99] return [ mul8su::m#2 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::m#2 ] ) + //SEG277 [124] return [ mul8su::m#2 ] ( main:2::sin8u_table:7::mul8su:40 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::m#2 ] ) rts } -//SEG215 mul8u +//SEG278 mul8u mul8u: { - .label mb = $d - .label res = $b - .label return = $b - //SEG216 [101] (word) mul8u::mb#0 ← ((word)) (byte) mul8u::b#2 [ mul8u::a#6 mul8u::mb#0 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] ) -- vwuz1=_word_vbuaa + .label mb = $b + .label res = $f + .label return = $f + //SEG279 [126] (word) mul8u::mb#0 ← ((word)) (byte) mul8u::b#2 [ mul8u::a#6 mul8u::mb#0 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] ) -- vwuz1=_word_vbuaa sta mb lda #0 sta mb+1 - //SEG217 [102] phi from mul8u to mul8u::@1 [phi:mul8u->mul8u::@1] + //SEG280 [127] phi from mul8u to mul8u::@1 [phi:mul8u->mul8u::@1] b1_from_mul8u: - //SEG218 [102] phi (word) mul8u::mb#2 = (word) mul8u::mb#0 [phi:mul8u->mul8u::@1#0] -- register_copy - //SEG219 [102] phi (word) mul8u::res#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mul8u->mul8u::@1#1] -- vwuz1=vbuc1 + //SEG281 [127] phi (word) mul8u::mb#2 = (word) mul8u::mb#0 [phi:mul8u->mul8u::@1#0] -- register_copy + //SEG282 [127] phi (word) mul8u::res#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mul8u->mul8u::@1#1] -- vwuz1=vbuc1 lda #<0 sta res lda #>0 sta res+1 - //SEG220 [102] phi (byte) mul8u::a#3 = (byte) mul8u::a#6 [phi:mul8u->mul8u::@1#2] -- register_copy + //SEG283 [127] phi (byte) mul8u::a#3 = (byte) mul8u::a#6 [phi:mul8u->mul8u::@1#2] -- register_copy jmp b1 - //SEG221 mul8u::@1 + //SEG284 mul8u::@1 b1: - //SEG222 [103] if((byte) mul8u::a#3!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@2 [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ) -- vbuxx_neq_0_then_la1 + //SEG285 [128] if((byte) mul8u::a#3!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@2 [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ) -- vbuxx_neq_0_then_la1 cpx #0 bne b2 jmp breturn - //SEG223 mul8u::@return + //SEG286 mul8u::@return breturn: - //SEG224 [104] return [ mul8u::res#2 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::res#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 ] ) + //SEG287 [129] return [ mul8u::res#2 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::res#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 ] ) rts - //SEG225 mul8u::@2 + //SEG288 mul8u::@2 b2: - //SEG226 [105] (byte~) mul8u::$1 ← (byte) mul8u::a#3 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] ) -- vbuaa=vbuxx_band_vbuc1 + //SEG289 [130] (byte~) mul8u::$1 ← (byte) mul8u::a#3 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] ) -- vbuaa=vbuxx_band_vbuc1 txa and #1 - //SEG227 [106] if((byte~) mul8u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@4 [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ) -- vbuaa_eq_0_then_la1 + //SEG290 [131] if((byte~) mul8u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@4 [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ) -- vbuaa_eq_0_then_la1 cmp #0 beq b4_from_b2 jmp b7 - //SEG228 mul8u::@7 + //SEG291 mul8u::@7 b7: - //SEG229 [107] (word) mul8u::res#1 ← (word) mul8u::res#2 + (word) mul8u::mb#2 [ mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] ) -- vwuz1=vwuz1_plus_vwuz2 + //SEG292 [132] (word) mul8u::res#1 ← (word) mul8u::res#2 + (word) mul8u::mb#2 [ mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] ) -- vwuz1=vwuz1_plus_vwuz2 lda res clc adc mb @@ -8575,37 +9511,37 @@ mul8u: { lda res+1 adc mb+1 sta res+1 - //SEG230 [108] phi from mul8u::@2 mul8u::@7 to mul8u::@4 [phi:mul8u::@2/mul8u::@7->mul8u::@4] + //SEG293 [133] phi from mul8u::@2 mul8u::@7 to mul8u::@4 [phi:mul8u::@2/mul8u::@7->mul8u::@4] b4_from_b2: b4_from_b7: - //SEG231 [108] phi (word) mul8u::res#6 = (word) mul8u::res#2 [phi:mul8u::@2/mul8u::@7->mul8u::@4#0] -- register_copy + //SEG294 [133] phi (word) mul8u::res#6 = (word) mul8u::res#2 [phi:mul8u::@2/mul8u::@7->mul8u::@4#0] -- register_copy jmp b4 - //SEG232 mul8u::@4 + //SEG295 mul8u::@4 b4: - //SEG233 [109] (byte) mul8u::a#0 ← (byte) mul8u::a#3 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] ) -- vbuxx=vbuxx_ror_1 + //SEG296 [134] (byte) mul8u::a#0 ← (byte) mul8u::a#3 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] ) -- vbuxx=vbuxx_ror_1 txa lsr tax - //SEG234 [110] (word) mul8u::mb#1 ← (word) mul8u::mb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] ) -- vwuz1=vwuz1_rol_1 + //SEG297 [135] (word) mul8u::mb#1 ← (word) mul8u::mb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] ) -- vwuz1=vwuz1_rol_1 asl mb rol mb+1 - //SEG235 [102] phi from mul8u::@4 to mul8u::@1 [phi:mul8u::@4->mul8u::@1] + //SEG298 [127] phi from mul8u::@4 to mul8u::@1 [phi:mul8u::@4->mul8u::@1] b1_from_b4: - //SEG236 [102] phi (word) mul8u::mb#2 = (word) mul8u::mb#1 [phi:mul8u::@4->mul8u::@1#0] -- register_copy - //SEG237 [102] phi (word) mul8u::res#2 = (word) mul8u::res#6 [phi:mul8u::@4->mul8u::@1#1] -- register_copy - //SEG238 [102] phi (byte) mul8u::a#3 = (byte) mul8u::a#0 [phi:mul8u::@4->mul8u::@1#2] -- register_copy + //SEG299 [127] phi (word) mul8u::mb#2 = (word) mul8u::mb#1 [phi:mul8u::@4->mul8u::@1#0] -- register_copy + //SEG300 [127] phi (word) mul8u::res#2 = (word) mul8u::res#6 [phi:mul8u::@4->mul8u::@1#1] -- register_copy + //SEG301 [127] phi (byte) mul8u::a#3 = (byte) mul8u::a#0 [phi:mul8u::@4->mul8u::@1#2] -- register_copy jmp b1 } -//SEG239 sin8s +//SEG302 sin8s sin8s: { .const DIV_6 = $2b .label _6 = $b .label x = $b - .label x1 = $12 - .label x3 = $13 - .label usinx = $14 + .label x1 = $14 + .label x3 = $15 + .label usinx = $16 .label isUpper = $a - //SEG240 [111] if((word) sin8s::x#2<(const word) PI_u4f12#0) goto sin8s::@1 [ sin8s::x#2 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::x#2 ] ) -- vwuz1_lt_vwuc1_then_la1 + //SEG303 [136] if((word) sin8s::x#2<(const word) PI_u4f12#0) goto sin8s::@1 [ sin8s::x#2 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::x#2 ] ) -- vwuz1_lt_vwuc1_then_la1 lda x+1 cmp #>PI_u4f12 bcc b1_from_sin8s @@ -8615,9 +9551,9 @@ sin8s: { bcc b1_from_sin8s !: jmp b5 - //SEG241 sin8s::@5 + //SEG304 sin8s::@5 b5: - //SEG242 [112] (word) sin8s::x#0 ← (word) sin8s::x#2 - (const word) PI_u4f12#0 [ sin8s::x#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::x#0 ] ) -- vwuz1=vwuz1_minus_vwuc1 + //SEG305 [137] (word) sin8s::x#0 ← (word) sin8s::x#2 - (const word) PI_u4f12#0 [ sin8s::x#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::x#0 ] ) -- vwuz1=vwuz1_minus_vwuc1 lda x sec sbc #PI_u4f12 sta x+1 - //SEG243 [113] phi from sin8s::@5 to sin8s::@1 [phi:sin8s::@5->sin8s::@1] + //SEG306 [138] phi from sin8s::@5 to sin8s::@1 [phi:sin8s::@5->sin8s::@1] b1_from_b5: - //SEG244 [113] phi (byte) sin8s::isUpper#10 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin8s::@5->sin8s::@1#0] -- vbuz1=vbuc1 + //SEG307 [138] phi (byte) sin8s::isUpper#10 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin8s::@5->sin8s::@1#0] -- vbuz1=vbuc1 lda #1 sta isUpper - //SEG245 [113] phi (word) sin8s::x#4 = (word) sin8s::x#0 [phi:sin8s::@5->sin8s::@1#1] -- register_copy + //SEG308 [138] phi (word) sin8s::x#4 = (word) sin8s::x#0 [phi:sin8s::@5->sin8s::@1#1] -- register_copy jmp b1 - //SEG246 [113] phi from sin8s to sin8s::@1 [phi:sin8s->sin8s::@1] + //SEG309 [138] phi from sin8s to sin8s::@1 [phi:sin8s->sin8s::@1] b1_from_sin8s: - //SEG247 [113] phi (byte) sin8s::isUpper#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s->sin8s::@1#0] -- vbuz1=vbuc1 + //SEG310 [138] phi (byte) sin8s::isUpper#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s->sin8s::@1#0] -- vbuz1=vbuc1 lda #0 sta isUpper - //SEG248 [113] phi (word) sin8s::x#4 = (word) sin8s::x#2 [phi:sin8s->sin8s::@1#1] -- register_copy + //SEG311 [138] phi (word) sin8s::x#4 = (word) sin8s::x#2 [phi:sin8s->sin8s::@1#1] -- register_copy jmp b1 - //SEG249 sin8s::@1 + //SEG312 sin8s::@1 b1: - //SEG250 [114] if((word) sin8s::x#4<(const word) PI_HALF_u4f12#0) goto sin8s::@2 [ sin8s::x#4 sin8s::isUpper#10 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::x#4 sin8s::isUpper#10 ] ) -- vwuz1_lt_vwuc1_then_la1 + //SEG313 [139] if((word) sin8s::x#4<(const word) PI_HALF_u4f12#0) goto sin8s::@2 [ sin8s::x#4 sin8s::isUpper#10 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::x#4 sin8s::isUpper#10 ] ) -- vwuz1_lt_vwuc1_then_la1 lda x+1 cmp #>PI_HALF_u4f12 bcc b2_from_b1 @@ -8651,9 +9587,9 @@ sin8s: { bcc b2_from_b1 !: jmp b6 - //SEG251 sin8s::@6 + //SEG314 sin8s::@6 b6: - //SEG252 [115] (word) sin8s::x#1 ← (const word) PI_u4f12#0 - (word) sin8s::x#4 [ sin8s::isUpper#10 sin8s::x#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x#1 ] ) -- vwuz1=vwuc1_minus_vwuz1 + //SEG315 [140] (word) sin8s::x#1 ← (const word) PI_u4f12#0 - (word) sin8s::x#4 [ sin8s::isUpper#10 sin8s::x#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x#1 ] ) -- vwuz1=vwuc1_minus_vwuz1 sec lda #PI_u4f12 sbc x+1 sta x+1 - //SEG253 [116] phi from sin8s::@1 sin8s::@6 to sin8s::@2 [phi:sin8s::@1/sin8s::@6->sin8s::@2] + //SEG316 [141] phi from sin8s::@1 sin8s::@6 to sin8s::@2 [phi:sin8s::@1/sin8s::@6->sin8s::@2] b2_from_b1: b2_from_b6: - //SEG254 [116] phi (word) sin8s::x#6 = (word) sin8s::x#4 [phi:sin8s::@1/sin8s::@6->sin8s::@2#0] -- register_copy + //SEG317 [141] phi (word) sin8s::x#6 = (word) sin8s::x#4 [phi:sin8s::@1/sin8s::@6->sin8s::@2#0] -- register_copy jmp b2 - //SEG255 sin8s::@2 + //SEG318 sin8s::@2 b2: - //SEG256 [117] (word~) sin8s::$6 ← (word) sin8s::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin8s::isUpper#10 sin8s::$6 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::$6 ] ) -- vwuz1=vwuz1_rol_3 + //SEG319 [142] (word~) sin8s::$6 ← (word) sin8s::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin8s::isUpper#10 sin8s::$6 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::$6 ] ) -- vwuz1=vwuz1_rol_3 asl _6 rol _6+1 asl _6 rol _6+1 asl _6 rol _6+1 - //SEG257 [118] (byte) sin8s::x1#0 ← > (word~) sin8s::$6 [ sin8s::isUpper#10 sin8s::x1#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 ] ) -- vbuz1=_hi_vwuz2 + //SEG320 [143] (byte) sin8s::x1#0 ← > (word~) sin8s::$6 [ sin8s::isUpper#10 sin8s::x1#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 ] ) -- vbuz1=_hi_vwuz2 lda _6+1 sta x1 - //SEG258 [119] (byte) mulu8_sel::v1#0 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 ] ) -- vbuxx=vbuz1 + //SEG321 [144] (byte) mulu8_sel::v1#0 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 ] ) -- vbuxx=vbuz1 ldx x1 - //SEG259 [120] (byte) mulu8_sel::v2#0 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 mulu8_sel::v2#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 mulu8_sel::v2#0 ] ) -- vbuyy=vbuz1 + //SEG322 [145] (byte) mulu8_sel::v2#0 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 mulu8_sel::v2#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 mulu8_sel::v2#0 ] ) -- vbuyy=vbuz1 ldy x1 - //SEG260 [121] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ) - //SEG261 [154] phi from sin8s::@2 to mulu8_sel [phi:sin8s::@2->mulu8_sel] + //SEG323 [146] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ) + //SEG324 [179] phi from sin8s::@2 to mulu8_sel [phi:sin8s::@2->mulu8_sel] mulu8_sel_from_b2: - //SEG262 [154] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s::@2->mulu8_sel#0] -- vbuz1=vbuc1 + //SEG325 [179] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s::@2->mulu8_sel#0] -- vbuz1=vbuc1 lda #0 sta mulu8_sel.select - //SEG263 [154] phi (byte) mulu8_sel::v2#5 = (byte) mulu8_sel::v2#0 [phi:sin8s::@2->mulu8_sel#1] -- register_copy - //SEG264 [154] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#0 [phi:sin8s::@2->mulu8_sel#2] -- register_copy + //SEG326 [179] phi (byte) mulu8_sel::v2#5 = (byte) mulu8_sel::v2#0 [phi:sin8s::@2->mulu8_sel#1] -- register_copy + //SEG327 [179] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#0 [phi:sin8s::@2->mulu8_sel#2] -- register_copy jsr mulu8_sel - //SEG265 [122] (byte) mulu8_sel::return#0 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#0 ] ) + //SEG328 [147] (byte) mulu8_sel::return#0 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#0 ] ) // (byte) mulu8_sel::return#0 = (byte) mulu8_sel::return#12 // register copy reg byte a jmp b10 - //SEG266 sin8s::@10 + //SEG329 sin8s::@10 b10: - //SEG267 [123] (byte) sin8s::x2#0 ← (byte) mulu8_sel::return#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x2#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x2#0 ] ) + //SEG330 [148] (byte) sin8s::x2#0 ← (byte) mulu8_sel::return#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x2#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x2#0 ] ) // (byte) sin8s::x2#0 = (byte) mulu8_sel::return#0 // register copy reg byte a - //SEG268 [124] (byte) mulu8_sel::v1#1 ← (byte) sin8s::x2#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 ] ) -- vbuxx=vbuaa + //SEG331 [149] (byte) mulu8_sel::v1#1 ← (byte) sin8s::x2#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 ] ) -- vbuxx=vbuaa tax - //SEG269 [125] (byte) mulu8_sel::v2#1 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 mulu8_sel::v2#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 mulu8_sel::v2#1 ] ) -- vbuyy=vbuz1 + //SEG332 [150] (byte) mulu8_sel::v2#1 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 mulu8_sel::v2#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 mulu8_sel::v2#1 ] ) -- vbuyy=vbuz1 ldy x1 - //SEG270 [126] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ) - //SEG271 [154] phi from sin8s::@10 to mulu8_sel [phi:sin8s::@10->mulu8_sel] + //SEG333 [151] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ) + //SEG334 [179] phi from sin8s::@10 to mulu8_sel [phi:sin8s::@10->mulu8_sel] mulu8_sel_from_b10: - //SEG272 [154] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin8s::@10->mulu8_sel#0] -- vbuz1=vbuc1 + //SEG335 [179] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin8s::@10->mulu8_sel#0] -- vbuz1=vbuc1 lda #1 sta mulu8_sel.select - //SEG273 [154] phi (byte) mulu8_sel::v2#5 = (byte) mulu8_sel::v2#1 [phi:sin8s::@10->mulu8_sel#1] -- register_copy - //SEG274 [154] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#1 [phi:sin8s::@10->mulu8_sel#2] -- register_copy + //SEG336 [179] phi (byte) mulu8_sel::v2#5 = (byte) mulu8_sel::v2#1 [phi:sin8s::@10->mulu8_sel#1] -- register_copy + //SEG337 [179] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#1 [phi:sin8s::@10->mulu8_sel#2] -- register_copy jsr mulu8_sel - //SEG275 [127] (byte) mulu8_sel::return#1 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#1 ] ) + //SEG338 [152] (byte) mulu8_sel::return#1 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#1 ] ) // (byte) mulu8_sel::return#1 = (byte) mulu8_sel::return#12 // register copy reg byte a jmp b11 - //SEG276 sin8s::@11 + //SEG339 sin8s::@11 b11: - //SEG277 [128] (byte) sin8s::x3#0 ← (byte) mulu8_sel::return#1 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 ] ) -- vbuz1=vbuaa + //SEG340 [153] (byte) sin8s::x3#0 ← (byte) mulu8_sel::return#1 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 ] ) -- vbuz1=vbuaa sta x3 - //SEG278 [129] (byte) mulu8_sel::v1#2 ← (byte) sin8s::x3#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#2 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#2 ] ) -- vbuxx=vbuz1 + //SEG341 [154] (byte) mulu8_sel::v1#2 ← (byte) sin8s::x3#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#2 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#2 ] ) -- vbuxx=vbuz1 ldx x3 - //SEG279 [130] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::x3#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::x3#0 ] ) - //SEG280 [154] phi from sin8s::@11 to mulu8_sel [phi:sin8s::@11->mulu8_sel] + //SEG342 [155] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::x3#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::x3#0 ] ) + //SEG343 [179] phi from sin8s::@11 to mulu8_sel [phi:sin8s::@11->mulu8_sel] mulu8_sel_from_b11: - //SEG281 [154] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin8s::@11->mulu8_sel#0] -- vbuz1=vbuc1 + //SEG344 [179] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin8s::@11->mulu8_sel#0] -- vbuz1=vbuc1 lda #1 sta mulu8_sel.select - //SEG282 [154] phi (byte) mulu8_sel::v2#5 = (const byte) sin8s::DIV_6#0 [phi:sin8s::@11->mulu8_sel#1] -- vbuyy=vbuc1 + //SEG345 [179] phi (byte) mulu8_sel::v2#5 = (const byte) sin8s::DIV_6#0 [phi:sin8s::@11->mulu8_sel#1] -- vbuyy=vbuc1 ldy #DIV_6 - //SEG283 [154] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#2 [phi:sin8s::@11->mulu8_sel#2] -- register_copy + //SEG346 [179] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#2 [phi:sin8s::@11->mulu8_sel#2] -- register_copy jsr mulu8_sel - //SEG284 [131] (byte) mulu8_sel::return#2 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#2 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#2 ] ) + //SEG347 [156] (byte) mulu8_sel::return#2 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#2 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#2 ] ) // (byte) mulu8_sel::return#2 = (byte) mulu8_sel::return#12 // register copy reg byte a jmp b12 - //SEG285 sin8s::@12 + //SEG348 sin8s::@12 b12: - //SEG286 [132] (byte) sin8s::x3_6#0 ← (byte) mulu8_sel::return#2 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::x3_6#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::x3_6#0 ] ) + //SEG349 [157] (byte) sin8s::x3_6#0 ← (byte) mulu8_sel::return#2 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::x3_6#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::x3_6#0 ] ) // (byte) sin8s::x3_6#0 = (byte) mulu8_sel::return#2 // register copy reg byte a - //SEG287 [133] (byte) sin8s::usinx#0 ← (byte) sin8s::x1#0 - (byte) sin8s::x3_6#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::usinx#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::usinx#0 ] ) -- vbuz1=vbuz2_minus_vbuaa + //SEG350 [158] (byte) sin8s::usinx#0 ← (byte) sin8s::x1#0 - (byte) sin8s::x3_6#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::usinx#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::usinx#0 ] ) -- vbuz1=vbuz2_minus_vbuaa eor #$ff sec adc x1 sta usinx - //SEG288 [134] (byte) mulu8_sel::v1#3 ← (byte) sin8s::x3#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 ] ) -- vbuxx=vbuz1 + //SEG351 [159] (byte) mulu8_sel::v1#3 ← (byte) sin8s::x3#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 ] ) -- vbuxx=vbuz1 ldx x3 - //SEG289 [135] (byte) mulu8_sel::v2#3 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 mulu8_sel::v2#3 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 mulu8_sel::v2#3 ] ) -- vbuyy=vbuz1 + //SEG352 [160] (byte) mulu8_sel::v2#3 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 mulu8_sel::v2#3 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 mulu8_sel::v2#3 ] ) -- vbuyy=vbuz1 ldy x1 - //SEG290 [136] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::usinx#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::usinx#0 ] ) - //SEG291 [154] phi from sin8s::@12 to mulu8_sel [phi:sin8s::@12->mulu8_sel] + //SEG353 [161] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::usinx#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::usinx#0 ] ) + //SEG354 [179] phi from sin8s::@12 to mulu8_sel [phi:sin8s::@12->mulu8_sel] mulu8_sel_from_b12: - //SEG292 [154] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s::@12->mulu8_sel#0] -- vbuz1=vbuc1 + //SEG355 [179] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s::@12->mulu8_sel#0] -- vbuz1=vbuc1 lda #0 sta mulu8_sel.select - //SEG293 [154] phi (byte) mulu8_sel::v2#5 = (byte) mulu8_sel::v2#3 [phi:sin8s::@12->mulu8_sel#1] -- register_copy - //SEG294 [154] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#3 [phi:sin8s::@12->mulu8_sel#2] -- register_copy + //SEG356 [179] phi (byte) mulu8_sel::v2#5 = (byte) mulu8_sel::v2#3 [phi:sin8s::@12->mulu8_sel#1] -- register_copy + //SEG357 [179] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#3 [phi:sin8s::@12->mulu8_sel#2] -- register_copy jsr mulu8_sel - //SEG295 [137] (byte) mulu8_sel::return#10 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#10 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#10 ] ) + //SEG358 [162] (byte) mulu8_sel::return#10 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#10 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#10 ] ) // (byte) mulu8_sel::return#10 = (byte) mulu8_sel::return#12 // register copy reg byte a jmp b13 - //SEG296 sin8s::@13 + //SEG359 sin8s::@13 b13: - //SEG297 [138] (byte) sin8s::x4#0 ← (byte) mulu8_sel::return#10 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 sin8s::x4#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 sin8s::x4#0 ] ) + //SEG360 [163] (byte) sin8s::x4#0 ← (byte) mulu8_sel::return#10 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 sin8s::x4#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 sin8s::x4#0 ] ) // (byte) sin8s::x4#0 = (byte) mulu8_sel::return#10 // register copy reg byte a - //SEG298 [139] (byte) mulu8_sel::v1#4 ← (byte) sin8s::x4#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#4 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#4 ] ) -- vbuxx=vbuaa + //SEG361 [164] (byte) mulu8_sel::v1#4 ← (byte) sin8s::x4#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#4 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#4 ] ) -- vbuxx=vbuaa tax - //SEG299 [140] (byte) mulu8_sel::v2#4 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v1#4 mulu8_sel::v2#4 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v1#4 mulu8_sel::v2#4 ] ) -- vbuyy=vbuz1 + //SEG362 [165] (byte) mulu8_sel::v2#4 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v1#4 mulu8_sel::v2#4 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v1#4 mulu8_sel::v2#4 ] ) -- vbuyy=vbuz1 ldy x1 - //SEG300 [141] call mulu8_sel param-assignment [ sin8s::isUpper#10 mulu8_sel::return#12 sin8s::usinx#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 mulu8_sel::return#12 sin8s::usinx#0 ] ) - //SEG301 [154] phi from sin8s::@13 to mulu8_sel [phi:sin8s::@13->mulu8_sel] + //SEG363 [166] call mulu8_sel param-assignment [ sin8s::isUpper#10 mulu8_sel::return#12 sin8s::usinx#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 mulu8_sel::return#12 sin8s::usinx#0 ] ) + //SEG364 [179] phi from sin8s::@13 to mulu8_sel [phi:sin8s::@13->mulu8_sel] mulu8_sel_from_b13: - //SEG302 [154] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s::@13->mulu8_sel#0] -- vbuz1=vbuc1 + //SEG365 [179] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s::@13->mulu8_sel#0] -- vbuz1=vbuc1 lda #0 sta mulu8_sel.select - //SEG303 [154] phi (byte) mulu8_sel::v2#5 = (byte) mulu8_sel::v2#4 [phi:sin8s::@13->mulu8_sel#1] -- register_copy - //SEG304 [154] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#4 [phi:sin8s::@13->mulu8_sel#2] -- register_copy + //SEG366 [179] phi (byte) mulu8_sel::v2#5 = (byte) mulu8_sel::v2#4 [phi:sin8s::@13->mulu8_sel#1] -- register_copy + //SEG367 [179] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#4 [phi:sin8s::@13->mulu8_sel#2] -- register_copy jsr mulu8_sel - //SEG305 [142] (byte) mulu8_sel::return#11 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#11 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#11 ] ) + //SEG368 [167] (byte) mulu8_sel::return#11 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#11 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#11 ] ) // (byte) mulu8_sel::return#11 = (byte) mulu8_sel::return#12 // register copy reg byte a jmp b14 - //SEG306 sin8s::@14 + //SEG369 sin8s::@14 b14: - //SEG307 [143] (byte) sin8s::x5#0 ← (byte) mulu8_sel::return#11 [ sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5#0 ] ) + //SEG370 [168] (byte) sin8s::x5#0 ← (byte) mulu8_sel::return#11 [ sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5#0 ] ) // (byte) sin8s::x5#0 = (byte) mulu8_sel::return#11 // register copy reg byte a - //SEG308 [144] (byte) sin8s::x5_128#0 ← (byte) sin8s::x5#0 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5_128#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5_128#0 ] ) -- vbuaa=vbuaa_ror_4 + //SEG371 [169] (byte) sin8s::x5_128#0 ← (byte) sin8s::x5#0 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5_128#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5_128#0 ] ) -- vbuaa=vbuaa_ror_4 lsr lsr lsr lsr - //SEG309 [145] (byte) sin8s::usinx#1 ← (byte) sin8s::usinx#0 + (byte) sin8s::x5_128#0 [ sin8s::isUpper#10 sin8s::usinx#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#1 ] ) -- vbuxx=vbuz1_plus_vbuaa + //SEG372 [170] (byte) sin8s::usinx#1 ← (byte) sin8s::usinx#0 + (byte) sin8s::x5_128#0 [ sin8s::isUpper#10 sin8s::usinx#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#1 ] ) -- vbuxx=vbuz1_plus_vbuaa clc adc usinx tax - //SEG310 [146] if((byte) sin8s::usinx#1<(byte/word/signed word/dword/signed dword) 128) goto sin8s::@3 [ sin8s::isUpper#10 sin8s::usinx#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#1 ] ) -- vbuxx_lt_vbuc1_then_la1 + //SEG373 [171] if((byte) sin8s::usinx#1<(byte/word/signed word/dword/signed dword) 128) goto sin8s::@3 [ sin8s::isUpper#10 sin8s::usinx#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#1 ] ) -- vbuxx_lt_vbuc1_then_la1 cpx #$80 bcc b3_from_b14 jmp b7 - //SEG311 sin8s::@7 + //SEG374 sin8s::@7 b7: - //SEG312 [147] (byte) sin8s::usinx#2 ← -- (byte) sin8s::usinx#1 [ sin8s::isUpper#10 sin8s::usinx#2 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#2 ] ) -- vbuxx=_dec_vbuxx + //SEG375 [172] (byte) sin8s::usinx#2 ← -- (byte) sin8s::usinx#1 [ sin8s::isUpper#10 sin8s::usinx#2 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#2 ] ) -- vbuxx=_dec_vbuxx dex - //SEG313 [148] phi from sin8s::@14 sin8s::@7 to sin8s::@3 [phi:sin8s::@14/sin8s::@7->sin8s::@3] + //SEG376 [173] phi from sin8s::@14 sin8s::@7 to sin8s::@3 [phi:sin8s::@14/sin8s::@7->sin8s::@3] b3_from_b14: b3_from_b7: - //SEG314 [148] phi (byte) sin8s::usinx#4 = (byte) sin8s::usinx#1 [phi:sin8s::@14/sin8s::@7->sin8s::@3#0] -- register_copy + //SEG377 [173] phi (byte) sin8s::usinx#4 = (byte) sin8s::usinx#1 [phi:sin8s::@14/sin8s::@7->sin8s::@3#0] -- register_copy jmp b3 - //SEG315 sin8s::@3 + //SEG378 sin8s::@3 b3: - //SEG316 [149] if((byte) sin8s::isUpper#10==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin8s::@18 [ sin8s::usinx#4 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::usinx#4 ] ) -- vbuz1_eq_0_then_la1 + //SEG379 [174] if((byte) sin8s::isUpper#10==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin8s::@18 [ sin8s::usinx#4 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::usinx#4 ] ) -- vbuz1_eq_0_then_la1 lda isUpper beq b18 jmp b8 - //SEG317 sin8s::@8 + //SEG380 sin8s::@8 b8: - //SEG318 [150] (signed byte) sin8s::sinx#1 ← - (signed byte)(byte) sin8s::usinx#4 [ sin8s::sinx#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::sinx#1 ] ) -- vbsaa=_neg_vbsxx + //SEG381 [175] (signed byte) sin8s::sinx#1 ← - (signed byte)(byte) sin8s::usinx#4 [ sin8s::sinx#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::sinx#1 ] ) -- vbsaa=_neg_vbsxx txa eor #$ff clc adc #1 - //SEG319 [151] phi from sin8s::@18 sin8s::@8 to sin8s::@4 [phi:sin8s::@18/sin8s::@8->sin8s::@4] + //SEG382 [176] phi from sin8s::@18 sin8s::@8 to sin8s::@4 [phi:sin8s::@18/sin8s::@8->sin8s::@4] b4_from_b18: b4_from_b8: - //SEG320 [151] phi (signed byte) sin8s::return#0 = (signed byte~) sin8s::return#5 [phi:sin8s::@18/sin8s::@8->sin8s::@4#0] -- register_copy + //SEG383 [176] phi (signed byte) sin8s::return#0 = (signed byte~) sin8s::return#5 [phi:sin8s::@18/sin8s::@8->sin8s::@4#0] -- register_copy jmp b4 - //SEG321 sin8s::@4 + //SEG384 sin8s::@4 b4: jmp breturn - //SEG322 sin8s::@return + //SEG385 sin8s::@return breturn: - //SEG323 [152] return [ sin8s::return#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::return#0 ] ) + //SEG386 [177] return [ sin8s::return#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::return#0 ] ) rts - //SEG324 sin8s::@18 + //SEG387 sin8s::@18 b18: - //SEG325 [153] (signed byte~) sin8s::return#5 ← (signed byte)(byte) sin8s::usinx#4 [ sin8s::return#5 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::return#5 ] ) -- vbsaa=vbsxx + //SEG388 [178] (signed byte~) sin8s::return#5 ← (signed byte)(byte) sin8s::usinx#4 [ sin8s::return#5 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::return#5 ] ) -- vbsaa=vbsxx txa jmp b4_from_b18 } -//SEG326 mulu8_sel +//SEG389 mulu8_sel mulu8_sel: { - .label _0 = $b - .label _1 = $b - .label select = $f - //SEG327 [155] (byte) mul8u::a#2 ← (byte) mulu8_sel::v1#5 [ mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] ) + .label _0 = $f + .label _1 = $f + .label select = $11 + //SEG390 [180] (byte) mul8u::a#2 ← (byte) mulu8_sel::v1#5 [ mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:146 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] ) // (byte) mul8u::a#2 = (byte) mulu8_sel::v1#5 // register copy reg byte x - //SEG328 [156] (byte) mul8u::b#1 ← (byte) mulu8_sel::v2#5 [ mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] ) -- vbuaa=vbuyy + //SEG391 [181] (byte) mul8u::b#1 ← (byte) mulu8_sel::v2#5 [ mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:146 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] ) -- vbuaa=vbuyy tya - //SEG329 [157] call mul8u param-assignment [ mul8u::res#2 mulu8_sel::select#5 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::res#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::res#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mul8u::res#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mul8u::res#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mul8u::res#2 mulu8_sel::select#5 ] ) - //SEG330 [100] phi from mulu8_sel to mul8u [phi:mulu8_sel->mul8u] + //SEG392 [182] call mul8u param-assignment [ mul8u::res#2 mulu8_sel::select#5 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:146 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::res#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::res#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mul8u::res#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mul8u::res#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mul8u::res#2 mulu8_sel::select#5 ] ) + //SEG393 [125] phi from mulu8_sel to mul8u [phi:mulu8_sel->mul8u] mul8u_from_mulu8_sel: - //SEG331 [100] phi (byte) mul8u::a#6 = (byte) mul8u::a#2 [phi:mulu8_sel->mul8u#0] -- register_copy - //SEG332 [100] phi (byte) mul8u::b#2 = (byte) mul8u::b#1 [phi:mulu8_sel->mul8u#1] -- register_copy + //SEG394 [125] phi (byte) mul8u::a#6 = (byte) mul8u::a#2 [phi:mulu8_sel->mul8u#0] -- register_copy + //SEG395 [125] phi (byte) mul8u::b#2 = (byte) mul8u::b#1 [phi:mulu8_sel->mul8u#1] -- register_copy jsr mul8u - //SEG333 [158] (word) mul8u::return#3 ← (word) mul8u::res#2 [ mulu8_sel::select#5 mul8u::return#3 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::return#3 ] ) - // (word) mul8u::return#3 = (word) mul8u::res#2 // register copy zp ZP_WORD:11 + //SEG396 [183] (word) mul8u::return#3 ← (word) mul8u::res#2 [ mulu8_sel::select#5 mul8u::return#3 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:146 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::return#3 ] ) + // (word) mul8u::return#3 = (word) mul8u::res#2 // register copy zp ZP_WORD:15 jmp b2 - //SEG334 mulu8_sel::@2 + //SEG397 mulu8_sel::@2 b2: - //SEG335 [159] (word~) mulu8_sel::$0 ← (word) mul8u::return#3 [ mulu8_sel::select#5 mulu8_sel::$0 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mulu8_sel::$0 ] ) - // (word~) mulu8_sel::$0 = (word) mul8u::return#3 // register copy zp ZP_WORD:11 - //SEG336 [160] (word~) mulu8_sel::$1 ← (word~) mulu8_sel::$0 << (byte) mulu8_sel::select#5 [ mulu8_sel::$1 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::$1 ] ) -- vwuz1=vwuz1_rol_vbuz2 + //SEG398 [184] (word~) mulu8_sel::$0 ← (word) mul8u::return#3 [ mulu8_sel::select#5 mulu8_sel::$0 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:146 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mulu8_sel::$0 ] ) + // (word~) mulu8_sel::$0 = (word) mul8u::return#3 // register copy zp ZP_WORD:15 + //SEG399 [185] (word~) mulu8_sel::$1 ← (word~) mulu8_sel::$0 << (byte) mulu8_sel::select#5 [ mulu8_sel::$1 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:146 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::$1 ] ) -- vwuz1=vwuz1_rol_vbuz2 ldy select beq !e+ !: @@ -8866,100 +9802,100 @@ mulu8_sel: { dey bne !- !e: - //SEG337 [161] (byte) mulu8_sel::return#12 ← > (word~) mulu8_sel::$1 [ mulu8_sel::return#12 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#12 ] ) -- vbuaa=_hi_vwuz1 + //SEG400 [186] (byte) mulu8_sel::return#12 ← > (word~) mulu8_sel::$1 [ mulu8_sel::return#12 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:146 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#12 ] ) -- vbuaa=_hi_vwuz1 lda _1+1 jmp breturn - //SEG338 mulu8_sel::@return + //SEG401 mulu8_sel::@return breturn: - //SEG339 [162] return [ mulu8_sel::return#12 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#12 ] ) + //SEG402 [187] return [ mulu8_sel::return#12 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:146 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#12 ] ) rts } -//SEG340 div16u +//SEG403 div16u div16u: { - .label return = $10 - //SEG341 [164] call divr16u param-assignment [ divr16u::return#0 ] ( main:2::sin8u_table:7::div16u:10 [ divr16u::return#0 ] ) - //SEG342 [168] phi from div16u to divr16u [phi:div16u->divr16u] + .label return = $12 + //SEG404 [189] call divr16u param-assignment [ divr16u::return#0 ] ( main:2::sin8u_table:7::div16u:10 [ divr16u::return#0 ] ) + //SEG405 [193] phi from div16u to divr16u [phi:div16u->divr16u] divr16u_from_div16u: jsr divr16u - //SEG343 [165] (word) divr16u::return#2 ← (word) divr16u::return#0 [ divr16u::return#2 ] ( main:2::sin8u_table:7::div16u:10 [ divr16u::return#2 ] ) - // (word) divr16u::return#2 = (word) divr16u::return#0 // register copy zp ZP_WORD:16 + //SEG406 [190] (word) divr16u::return#2 ← (word) divr16u::return#0 [ divr16u::return#2 ] ( main:2::sin8u_table:7::div16u:10 [ divr16u::return#2 ] ) + // (word) divr16u::return#2 = (word) divr16u::return#0 // register copy zp ZP_WORD:18 jmp b2 - //SEG344 div16u::@2 + //SEG407 div16u::@2 b2: - //SEG345 [166] (word) div16u::return#0 ← (word) divr16u::return#2 [ div16u::return#0 ] ( main:2::sin8u_table:7::div16u:10 [ div16u::return#0 ] ) - // (word) div16u::return#0 = (word) divr16u::return#2 // register copy zp ZP_WORD:16 + //SEG408 [191] (word) div16u::return#0 ← (word) divr16u::return#2 [ div16u::return#0 ] ( main:2::sin8u_table:7::div16u:10 [ div16u::return#0 ] ) + // (word) div16u::return#0 = (word) divr16u::return#2 // register copy zp ZP_WORD:18 jmp breturn - //SEG346 div16u::@return + //SEG409 div16u::@return breturn: - //SEG347 [167] return [ div16u::return#0 ] ( main:2::sin8u_table:7::div16u:10 [ div16u::return#0 ] ) + //SEG410 [192] return [ div16u::return#0 ] ( main:2::sin8u_table:7::div16u:10 [ div16u::return#0 ] ) rts } -//SEG348 divr16u +//SEG411 divr16u divr16u: { .label rem = 2 .label dividend = 4 - .label quotient = $10 - .label return = $10 - //SEG349 [169] phi from divr16u to divr16u::@1 [phi:divr16u->divr16u::@1] + .label quotient = $12 + .label return = $12 + //SEG412 [194] phi from divr16u to divr16u::@1 [phi:divr16u->divr16u::@1] b1_from_divr16u: - //SEG350 [169] phi (byte) divr16u::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#0] -- vbuxx=vbuc1 + //SEG413 [194] phi (byte) divr16u::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#0] -- vbuxx=vbuc1 ldx #0 - //SEG351 [169] phi (word) divr16u::quotient#3 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#1] -- vwuz1=vbuc1 + //SEG414 [194] phi (word) divr16u::quotient#3 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#1] -- vwuz1=vbuc1 lda #<0 sta quotient lda #>0 sta quotient+1 - //SEG352 [169] phi (word) divr16u::dividend#2 = (const word) PI2_u4f12#0 [phi:divr16u->divr16u::@1#2] -- vwuz1=vwuc1 + //SEG415 [194] phi (word) divr16u::dividend#2 = (const word) PI2_u4f12#0 [phi:divr16u->divr16u::@1#2] -- vwuz1=vwuc1 lda #PI2_u4f12 sta dividend+1 - //SEG353 [169] phi (word) divr16u::rem#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#3] -- vwuz1=vbuc1 + //SEG416 [194] phi (word) divr16u::rem#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#3] -- vwuz1=vbuc1 lda #<0 sta rem lda #>0 sta rem+1 jmp b1 - //SEG354 [169] phi from divr16u::@3 to divr16u::@1 [phi:divr16u::@3->divr16u::@1] + //SEG417 [194] phi from divr16u::@3 to divr16u::@1 [phi:divr16u::@3->divr16u::@1] b1_from_b3: - //SEG355 [169] phi (byte) divr16u::i#2 = (byte) divr16u::i#1 [phi:divr16u::@3->divr16u::@1#0] -- register_copy - //SEG356 [169] phi (word) divr16u::quotient#3 = (word) divr16u::return#0 [phi:divr16u::@3->divr16u::@1#1] -- register_copy - //SEG357 [169] phi (word) divr16u::dividend#2 = (word) divr16u::dividend#0 [phi:divr16u::@3->divr16u::@1#2] -- register_copy - //SEG358 [169] phi (word) divr16u::rem#4 = (word) divr16u::rem#10 [phi:divr16u::@3->divr16u::@1#3] -- register_copy + //SEG418 [194] phi (byte) divr16u::i#2 = (byte) divr16u::i#1 [phi:divr16u::@3->divr16u::@1#0] -- register_copy + //SEG419 [194] phi (word) divr16u::quotient#3 = (word) divr16u::return#0 [phi:divr16u::@3->divr16u::@1#1] -- register_copy + //SEG420 [194] phi (word) divr16u::dividend#2 = (word) divr16u::dividend#0 [phi:divr16u::@3->divr16u::@1#2] -- register_copy + //SEG421 [194] phi (word) divr16u::rem#4 = (word) divr16u::rem#10 [phi:divr16u::@3->divr16u::@1#3] -- register_copy jmp b1 - //SEG359 divr16u::@1 + //SEG422 divr16u::@1 b1: - //SEG360 [170] (word) divr16u::rem#0 ← (word) divr16u::rem#4 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vwuz1=vwuz1_rol_1 + //SEG423 [195] (word) divr16u::rem#0 ← (word) divr16u::rem#4 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vwuz1=vwuz1_rol_1 asl rem rol rem+1 - //SEG361 [171] (byte~) divr16u::$1 ← > (word) divr16u::dividend#2 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) -- vbuaa=_hi_vwuz1 + //SEG424 [196] (byte~) divr16u::$1 ← > (word) divr16u::dividend#2 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) -- vbuaa=_hi_vwuz1 lda dividend+1 - //SEG362 [172] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) -- vbuaa=vbuaa_band_vbuc1 + //SEG425 [197] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) -- vbuaa=vbuaa_band_vbuc1 and #$80 - //SEG363 [173] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vbuaa_eq_0_then_la1 + //SEG426 [198] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vbuaa_eq_0_then_la1 cmp #0 beq b2_from_b1 jmp b4 - //SEG364 divr16u::@4 + //SEG427 divr16u::@4 b4: - //SEG365 [174] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) -- vwuz1=vwuz1_bor_vbuc1 + //SEG428 [199] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) -- vwuz1=vwuz1_bor_vbuc1 lda #1 ora rem sta rem - //SEG366 [175] phi from divr16u::@1 divr16u::@4 to divr16u::@2 [phi:divr16u::@1/divr16u::@4->divr16u::@2] + //SEG429 [200] phi from divr16u::@1 divr16u::@4 to divr16u::@2 [phi:divr16u::@1/divr16u::@4->divr16u::@2] b2_from_b1: b2_from_b4: - //SEG367 [175] phi (word) divr16u::rem#5 = (word) divr16u::rem#0 [phi:divr16u::@1/divr16u::@4->divr16u::@2#0] -- register_copy + //SEG430 [200] phi (word) divr16u::rem#5 = (word) divr16u::rem#0 [phi:divr16u::@1/divr16u::@4->divr16u::@2#0] -- register_copy jmp b2 - //SEG368 divr16u::@2 + //SEG431 divr16u::@2 b2: - //SEG369 [176] (word) divr16u::dividend#0 ← (word) divr16u::dividend#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 ] ) -- vwuz1=vwuz1_rol_1 + //SEG432 [201] (word) divr16u::dividend#0 ← (word) divr16u::dividend#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 ] ) -- vwuz1=vwuz1_rol_1 asl dividend rol dividend+1 - //SEG370 [177] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ) -- vwuz1=vwuz1_rol_1 + //SEG433 [202] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ) -- vwuz1=vwuz1_rol_1 asl quotient rol quotient+1 - //SEG371 [178] if((word) divr16u::rem#5<(const word) main::tabsize#0) goto divr16u::@3 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ) -- vwuz1_lt_vwuc1_then_la1 + //SEG434 [203] if((word) divr16u::rem#5<(const word) main::tabsize#0) goto divr16u::@3 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ) -- vwuz1_lt_vwuc1_then_la1 lda rem+1 cmp #>main.tabsize bcc b3_from_b2 @@ -8969,14 +9905,14 @@ divr16u: { bcc b3_from_b2 !: jmp b5 - //SEG372 divr16u::@5 + //SEG435 divr16u::@5 b5: - //SEG373 [179] (word) divr16u::quotient#2 ← ++ (word) divr16u::quotient#1 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#2 ] ) -- vwuz1=_inc_vwuz1 + //SEG436 [204] (word) divr16u::quotient#2 ← ++ (word) divr16u::quotient#1 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#2 ] ) -- vwuz1=_inc_vwuz1 inc quotient bne !+ inc quotient+1 !: - //SEG374 [180] (word) divr16u::rem#2 ← (word) divr16u::rem#5 - (const word) main::tabsize#0 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) -- vwuz1=vwuz1_minus_vwuc1 + //SEG437 [205] (word) divr16u::rem#2 ← (word) divr16u::rem#5 - (const word) main::tabsize#0 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ) -- vwuz1=vwuz1_minus_vwuc1 lda rem sec sbc #main.tabsize sta rem+1 - //SEG375 [181] phi from divr16u::@2 divr16u::@5 to divr16u::@3 [phi:divr16u::@2/divr16u::@5->divr16u::@3] + //SEG438 [206] phi from divr16u::@2 divr16u::@5 to divr16u::@3 [phi:divr16u::@2/divr16u::@5->divr16u::@3] b3_from_b2: b3_from_b5: - //SEG376 [181] phi (word) divr16u::return#0 = (word) divr16u::quotient#1 [phi:divr16u::@2/divr16u::@5->divr16u::@3#0] -- register_copy - //SEG377 [181] phi (word) divr16u::rem#10 = (word) divr16u::rem#5 [phi:divr16u::@2/divr16u::@5->divr16u::@3#1] -- register_copy + //SEG439 [206] phi (word) divr16u::return#0 = (word) divr16u::quotient#1 [phi:divr16u::@2/divr16u::@5->divr16u::@3#0] -- register_copy + //SEG440 [206] phi (word) divr16u::rem#10 = (word) divr16u::rem#5 [phi:divr16u::@2/divr16u::@5->divr16u::@3#1] -- register_copy jmp b3 - //SEG378 divr16u::@3 + //SEG441 divr16u::@3 b3: - //SEG379 [182] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuxx=_inc_vbuxx + //SEG442 [207] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuxx=_inc_vbuxx inx - //SEG380 [183] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuxx_neq_vbuc1_then_la1 + //SEG443 [208] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuxx_neq_vbuc1_then_la1 cpx #$10 bne b1_from_b3 jmp breturn - //SEG381 divr16u::@return + //SEG444 divr16u::@return breturn: - //SEG382 [184] return [ divr16u::return#0 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::return#0 ] ) + //SEG445 [209] return [ divr16u::return#0 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::return#0 ] ) rts } -//SEG383 print_cls +//SEG446 print_cls print_cls: { .label sc = 2 - //SEG384 [186] phi from print_cls to print_cls::@1 [phi:print_cls->print_cls::@1] + //SEG447 [211] phi from print_cls to print_cls::@1 [phi:print_cls->print_cls::@1] b1_from_print_cls: - //SEG385 [186] phi (byte*) print_cls::sc#2 = (const byte*) SCREEN#0 [phi:print_cls->print_cls::@1#0] -- pbuz1=pbuc1 + //SEG448 [211] phi (byte*) print_cls::sc#2 = (const byte*) SCREEN#0 [phi:print_cls->print_cls::@1#0] -- pbuz1=pbuc1 lda #SCREEN sta sc+1 jmp b1 - //SEG386 [186] phi from print_cls::@1 to print_cls::@1 [phi:print_cls::@1->print_cls::@1] + //SEG449 [211] phi from print_cls::@1 to print_cls::@1 [phi:print_cls::@1->print_cls::@1] b1_from_b1: - //SEG387 [186] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#1 [phi:print_cls::@1->print_cls::@1#0] -- register_copy + //SEG450 [211] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#1 [phi:print_cls::@1->print_cls::@1#0] -- register_copy jmp b1 - //SEG388 print_cls::@1 + //SEG451 print_cls::@1 b1: - //SEG389 [187] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:5 [ print_cls::sc#2 ] ) -- _deref_pbuz1=vbuc1 + //SEG452 [212] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:5 [ print_cls::sc#2 ] ) -- _deref_pbuz1=vbuc1 lda #' ' ldy #0 sta (sc),y - //SEG390 [188] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::print_cls:5 [ print_cls::sc#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG453 [213] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::print_cls:5 [ print_cls::sc#1 ] ) -- pbuz1=_inc_pbuz1 inc sc bne !+ inc sc+1 !: - //SEG391 [189] 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:5 [ print_cls::sc#1 ] ) -- pbuz1_neq_pbuc1_then_la1 + //SEG454 [214] 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:5 [ print_cls::sc#1 ] ) -- pbuz1_neq_pbuc1_then_la1 lda sc+1 cmp #>SCREEN+$3e8 bne b1_from_b1 @@ -9037,9 +9973,9 @@ print_cls: { cmp #0 Removing instruction lda #>0 +Replacing instruction ldy sinx with TAY Removing instruction ldy #0 Removing instruction lda #>0 Replacing instruction ldx x1 with TAX @@ -9124,11 +10073,13 @@ Removing instruction lda #>0 Replacing instruction lda #<0 with TXA Removing instruction lda #>0 Succesful ASM optimization Pass5UnnecesaryLoadElimination -Replacing label b1_from_b21 with b1 -Replacing label b1_from_b21 with b1 +Replacing label b1_from_b25 with b1 +Replacing label b1_from_b25 with b1 Replacing label b1_from_b1 with b1 Replacing label b1_from_b1 with b1 Replacing label b1_from_b2 with b1 +Replacing label b1_from_print_sword with b1 +Replacing label b1_from_print_sbyte with b1 Replacing label b1_from_b4 with b1 Replacing label b4_from_b2 with b4 Replacing label b2_from_b1 with b2 @@ -9165,15 +10116,27 @@ Removing instruction b12_from_b11: Removing instruction print_byte_from_b12: Removing instruction b13_from_b12: Removing instruction print_ln_from_b13: -Removing instruction b1_from_b21: +Removing instruction b1_from_b25: Removing instruction b18_from_b17: Removing instruction print_str_from_b18: Removing instruction b20_from_b19: -Removing instruction print_ln_from_b20: +Removing instruction print_str_from_b20: +Removing instruction b22_from_b21: +Removing instruction print_str_from_b22: +Removing instruction b24_from_b23: +Removing instruction print_ln_from_b24: Removing instruction b1_from_print_ln: Removing instruction b1_from_b1: Removing instruction b1_from_print_str: Removing instruction b1_from_b2: +Removing instruction b2_from_print_sword: +Removing instruction print_char_from_b2: +Removing instruction b1_from_print_sword: +Removing instruction b1_from_b4: +Removing instruction b2_from_print_sbyte: +Removing instruction print_char_from_b2: +Removing instruction b1_from_print_sbyte: +Removing instruction b1_from_b4: Removing instruction b1_from_b2: Removing instruction b1_from_b4: Removing instruction breturn: @@ -9220,9 +10183,13 @@ Removing instruction b17: Removing instruction print_word_from_b17: Removing instruction b18: Removing instruction b19: -Removing instruction print_byte_from_b19: Removing instruction b20: Removing instruction b21: +Removing instruction b22: +Removing instruction b23: +Removing instruction print_byte_from_b23: +Removing instruction b24: +Removing instruction b25: Removing instruction breturn: Removing instruction breturn: Removing instruction print_char_from_print_byte: @@ -9231,10 +10198,18 @@ Removing instruction print_char_from_b1: Removing instruction breturn: Removing instruction breturn: Removing instruction breturn: +Removing instruction b2: +Removing instruction b4: +Removing instruction print_word_from_b1: +Removing instruction breturn: Removing instruction print_byte_from_print_word: Removing instruction b1: Removing instruction print_byte_from_b1: Removing instruction breturn: +Removing instruction b2: +Removing instruction b4: +Removing instruction print_byte_from_b1: +Removing instruction breturn: Removing instruction mul8u_from_mul8su: Removing instruction b4: Removing instruction b2: @@ -9278,6 +10253,8 @@ Removing instruction jmp b1 Succesful ASM optimization Pass5NextJumpElimination Removing instruction lda #<0 Succesful ASM optimization Pass5UnnecesaryLoadElimination +Fixing long branch [164] bcc b1 to bcs +Fixing long branch [170] bcc b1 to bcs FINAL SYMBOL TABLE (label) @30 @@ -9292,21 +10269,24 @@ FINAL SYMBOL TABLE (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:11 101.0 -(byte*) char_cursor#11 char_cursor zp ZP_WORD:11 4.344827586206896 -(byte*) char_cursor#2 char_cursor zp ZP_WORD:11 16.3 -(byte*) char_cursor#46 char_cursor zp ZP_WORD:11 4.0 -(byte*) char_cursor#73 char_cursor zp ZP_WORD:11 8.333333333333334 -(byte*) char_cursor#78 char_cursor zp ZP_WORD:11 32.0 -(byte*~) char_cursor#92 char_cursor zp ZP_WORD:11 22.0 +(byte*) char_cursor#1 char_cursor zp ZP_WORD:13 101.0 +(byte*) char_cursor#102 char_cursor zp ZP_WORD:13 54.0 +(byte*~) char_cursor#121 char_cursor zp ZP_WORD:13 22.0 +(byte*) char_cursor#17 char_cursor zp ZP_WORD:13 3.7073170731707323 +(byte*) char_cursor#2 char_cursor zp ZP_WORD:13 13.269230769230768 +(byte*) char_cursor#62 char_cursor zp ZP_WORD:13 6.0 +(byte*) char_cursor#92 char_cursor zp ZP_WORD:13 3.0 +(byte*) char_cursor#94 char_cursor zp ZP_WORD:13 3.0 +(byte*) char_cursor#96 char_cursor zp ZP_WORD:13 8.5 +(byte*) char_cursor#97 char_cursor zp ZP_WORD:13 9.0 (word()) div16u((word) div16u::dividend , (word) div16u::divisor) (label) div16u::@2 (label) div16u::@return (word) div16u::dividend (word) div16u::divisor (word) div16u::return -(word) div16u::return#0 return zp ZP_WORD:16 1.3333333333333333 -(word) div16u::return#2 return zp ZP_WORD:16 4.0 +(word) div16u::return#0 return zp ZP_WORD:18 1.3333333333333333 +(word) div16u::return#2 return zp ZP_WORD:18 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 @@ -9324,9 +10304,9 @@ FINAL SYMBOL TABLE (byte) divr16u::i#1 reg byte x 16.5 (byte) divr16u::i#2 reg byte x 1.6923076923076923 (word) divr16u::quotient -(word) divr16u::quotient#1 quotient zp ZP_WORD:16 16.5 -(word) divr16u::quotient#2 quotient zp ZP_WORD:16 11.0 -(word) divr16u::quotient#3 quotient zp ZP_WORD:16 2.75 +(word) divr16u::quotient#1 quotient zp ZP_WORD:18 16.5 +(word) divr16u::quotient#2 quotient zp ZP_WORD:18 11.0 +(word) divr16u::quotient#3 quotient zp ZP_WORD:18 2.75 (word) divr16u::rem (word) divr16u::rem#0 rem zp ZP_WORD:2 8.25 (word) divr16u::rem#1 rem zp ZP_WORD:2 22.0 @@ -9335,10 +10315,10 @@ FINAL SYMBOL TABLE (word) divr16u::rem#4 rem zp ZP_WORD:2 22.0 (word) divr16u::rem#5 rem zp ZP_WORD:2 11.0 (word) divr16u::return -(word) divr16u::return#0 return zp ZP_WORD:16 7.000000000000001 -(word) divr16u::return#2 return zp ZP_WORD:16 4.0 +(word) divr16u::return#0 return zp ZP_WORD:18 7.000000000000001 +(word) divr16u::return#2 return zp ZP_WORD:18 4.0 (byte*) line_cursor -(byte*) line_cursor#1 line_cursor zp ZP_WORD:8 11.206896551724137 +(byte*) line_cursor#1 line_cursor zp ZP_WORD:8 8.55263157894737 (byte*) line_cursor#12 line_cursor zp ZP_WORD:8 204.0 (byte*) line_cursor#23 line_cursor zp ZP_WORD:8 13.0 (void()) main() @@ -9358,12 +10338,13 @@ FINAL SYMBOL TABLE (signed byte) mul8su::a (signed byte) mul8su::a#0 reg byte y 2.6 (byte) mul8su::b +(const byte) mul8su::b#0 b = (const byte) sin8u_table::amplitude#0+(byte/signed byte/word/signed word/dword/signed dword) 1 (word) mul8su::m -(word) mul8su::m#0 m zp ZP_WORD:11 2.0 -(word) mul8su::m#1 m zp ZP_WORD:11 4.0 -(word) mul8su::m#2 m zp ZP_WORD:11 1.3333333333333333 +(word) mul8su::m#0 m zp ZP_WORD:15 2.0 +(word) mul8su::m#1 m zp ZP_WORD:15 4.0 +(word) mul8su::m#2 m zp ZP_WORD:15 1.3333333333333333 (signed word) mul8su::return -(signed word) mul8su::return#2 return zp ZP_WORD:11 22.0 +(signed word) mul8su::return#2 return zp ZP_WORD:15 22.0 (word()) mul8u((byte) mul8u::a , (byte) mul8u::b) (byte~) mul8u::$1 reg byte a 202.0 (label) mul8u::@1 @@ -9381,19 +10362,19 @@ FINAL SYMBOL TABLE (byte) mul8u::b#1 reg byte a 4.0 (byte) mul8u::b#2 reg byte a 4.0 (word) mul8u::mb -(word) mul8u::mb#0 mb zp ZP_WORD:13 4.0 -(word) mul8u::mb#1 mb zp ZP_WORD:13 202.0 -(word) mul8u::mb#2 mb zp ZP_WORD:13 43.57142857142858 +(word) mul8u::mb#0 mb zp ZP_WORD:11 4.0 +(word) mul8u::mb#1 mb zp ZP_WORD:11 202.0 +(word) mul8u::mb#2 mb zp ZP_WORD:11 43.57142857142858 (word) mul8u::res -(word) mul8u::res#1 res zp ZP_WORD:11 202.0 -(word) mul8u::res#2 res zp ZP_WORD:11 43.85714285714286 -(word) mul8u::res#6 res zp ZP_WORD:11 101.0 +(word) mul8u::res#1 res zp ZP_WORD:15 202.0 +(word) mul8u::res#2 res zp ZP_WORD:15 43.85714285714286 +(word) mul8u::res#6 res zp ZP_WORD:15 101.0 (word) mul8u::return -(word) mul8u::return#2 return zp ZP_WORD:11 4.0 -(word) mul8u::return#3 return zp ZP_WORD:11 4.0 +(word) mul8u::return#2 return zp ZP_WORD:15 4.0 +(word) mul8u::return#3 return zp ZP_WORD:15 4.0 (byte()) mulu8_sel((byte) mulu8_sel::v1 , (byte) mulu8_sel::v2 , (byte) mulu8_sel::select) -(word~) mulu8_sel::$0 $0 zp ZP_WORD:11 4.0 -(word~) mulu8_sel::$1 $1 zp ZP_WORD:11 4.0 +(word~) mulu8_sel::$0 $0 zp ZP_WORD:15 4.0 +(word~) mulu8_sel::$1 $1 zp ZP_WORD:15 4.0 (label) mulu8_sel::@2 (label) mulu8_sel::@return (byte) mulu8_sel::return @@ -9404,7 +10385,7 @@ FINAL SYMBOL TABLE (byte) mulu8_sel::return#12 reg byte a 1.714285714285714 (byte) mulu8_sel::return#2 reg byte a 4.0 (byte) mulu8_sel::select -(byte) mulu8_sel::select#5 select zp ZP_BYTE:15 0.3333333333333333 +(byte) mulu8_sel::select#5 select zp ZP_BYTE:17 0.3333333333333333 (byte) mulu8_sel::v1 (byte) mulu8_sel::v1#0 reg byte x 2.0 (byte) mulu8_sel::v1#1 reg byte x 2.0 @@ -9424,18 +10405,19 @@ FINAL SYMBOL TABLE (label) print_byte::@1 (label) print_byte::@return (byte) print_byte::b -(byte) print_byte::b#0 b zp ZP_BYTE:10 4.0 (byte) print_byte::b#1 b zp ZP_BYTE:10 4.0 -(byte) print_byte::b#6 b zp ZP_BYTE:10 22.0 -(byte) print_byte::b#7 b zp ZP_BYTE:10 4.75 +(byte~) print_byte::b#10 b zp ZP_BYTE:10 4.0 +(byte) print_byte::b#2 b zp ZP_BYTE:10 4.0 +(byte) print_byte::b#7 b zp ZP_BYTE:10 22.0 +(byte) print_byte::b#8 b zp ZP_BYTE:10 5.25 (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#0 reg byte a 4.0 -(byte) print_char::ch#1 reg byte a 4.0 -(byte) print_char::ch#2 reg byte a 6.0 +(byte) print_char::ch#2 reg byte a 4.0 +(byte) print_char::ch#3 reg byte a 4.0 +(byte) print_char::ch#4 reg byte a 6.0 (void()) print_cls() (label) print_cls::@1 (label) print_cls::@return @@ -9445,21 +10427,40 @@ FINAL SYMBOL TABLE (void()) print_ln() (label) print_ln::@1 (label) print_ln::@return +(void()) print_sbyte((signed byte) print_sbyte::b) +(label) print_sbyte::@1 +(label) print_sbyte::@2 +(label) print_sbyte::@4 +(label) print_sbyte::@return +(signed byte) print_sbyte::b +(signed byte) print_sbyte::b#0 b zp ZP_BYTE:10 4.0 +(signed byte) print_sbyte::b#1 b zp ZP_BYTE:10 4.25 +(signed byte) print_sbyte::b#3 b zp ZP_BYTE:10 4.0 (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:13 202.0 -(byte*) print_str::str#10 str zp ZP_WORD:13 2.0 -(byte*) print_str::str#8 str zp ZP_WORD:13 101.5 +(byte*) print_str::str#0 str zp ZP_WORD:11 202.0 +(byte*) print_str::str#10 str zp ZP_WORD:11 101.5 +(byte*) print_str::str#12 str zp ZP_WORD:11 2.0 +(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:11 4.0 +(signed word) print_sword::w#1 w zp ZP_WORD:11 4.25 +(signed word) print_sword::w#3 w zp ZP_WORD:11 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#0 w zp ZP_WORD:2 4.0 -(word) print_word::w#1 w zp ZP_WORD:2 22.0 -(word) print_word::w#2 w zp ZP_WORD:2 5.666666666666667 +(word) print_word::w#1 w zp ZP_WORD:11 4.0 +(word) print_word::w#2 w zp ZP_WORD:11 22.0 +(word) print_word::w#3 w zp ZP_WORD:11 6.333333333333334 +(word~) print_word::w#5 w zp ZP_WORD:11 4.0 (word) rem16u (signed byte()) sin8s((word) sin8s::x) (word~) sin8s::$6 $6 zp ZP_WORD:11 4.0 @@ -9489,7 +10490,7 @@ FINAL SYMBOL TABLE (signed byte) sin8s::sinx (signed byte) sin8s::sinx#1 reg byte a 4.0 (byte) sin8s::usinx -(byte) sin8s::usinx#0 usinx zp ZP_BYTE:20 0.3333333333333333 +(byte) sin8s::usinx#0 usinx zp ZP_BYTE:22 0.3333333333333333 (byte) sin8s::usinx#1 reg byte x 4.0 (byte) sin8s::usinx#2 reg byte x 4.0 (byte) sin8s::usinx#4 reg byte x 2.0 @@ -9500,11 +10501,11 @@ FINAL SYMBOL TABLE (word) sin8s::x#4 x zp ZP_WORD:11 5.0 (word) sin8s::x#6 x zp ZP_WORD:11 6.0 (byte) sin8s::x1 -(byte) sin8s::x1#0 x1 zp ZP_BYTE:18 0.6363636363636365 +(byte) sin8s::x1#0 x1 zp ZP_BYTE:20 0.6363636363636365 (byte) sin8s::x2 (byte) sin8s::x2#0 reg byte a 4.0 (byte) sin8s::x3 -(byte) sin8s::x3#0 x3 zp ZP_BYTE:19 1.0 +(byte) sin8s::x3#0 x3 zp ZP_BYTE:21 1.0 (byte) sin8s::x3_6 (byte) sin8s::x3_6#0 reg byte a 4.0 (byte) sin8s::x4 @@ -9514,8 +10515,7 @@ FINAL SYMBOL TABLE (byte) sin8s::x5_128 (byte) sin8s::x5_128#0 reg byte a 4.0 (void()) sin8u_table((byte*) sin8u_table::sintab , (word) sin8u_table::tabsize , (byte) sin8u_table::min , (byte) sin8u_table::max) -(signed word~) sin8u_table::$17 $17 zp ZP_WORD:11 22.0 -(byte~) sin8u_table::$18 reg byte a 22.0 +(byte~) sin8u_table::$20 reg byte a 22.0 (label) sin8u_table::@1 (label) sin8u_table::@10 (label) sin8u_table::@11 @@ -9528,6 +10528,10 @@ FINAL SYMBOL TABLE (label) sin8u_table::@19 (label) sin8u_table::@20 (label) sin8u_table::@21 +(label) sin8u_table::@22 +(label) sin8u_table::@23 +(label) sin8u_table::@24 +(label) sin8u_table::@25 (label) sin8u_table::@3 (label) sin8u_table::@4 (label) sin8u_table::@5 @@ -9540,20 +10544,24 @@ FINAL SYMBOL TABLE (const byte) sin8u_table::amplitude#0 amplitude = (const byte) sin8u_table::max#0-(const byte) sin8u_table::min#0 (word) sin8u_table::i (word) sin8u_table::i#1 i zp ZP_WORD:6 16.5 -(word) sin8u_table::i#2 i zp ZP_WORD:6 0.9565217391304348 +(word) sin8u_table::i#10 i zp ZP_WORD:6 0.6875 (byte) sin8u_table::max (const byte) sin8u_table::max#0 max = (byte/word/signed word/dword/signed dword) 255 (byte) sin8u_table::mid -(const byte) sin8u_table::mid#0 mid = ((byte))(const word) sin8u_table::sum#0>>(byte/signed byte/word/signed word/dword/signed dword) 1 +(const byte) sin8u_table::mid#0 mid = ((byte))(const word) sin8u_table::sum#0>>(byte/signed byte/word/signed word/dword/signed dword) 1+(byte/signed byte/word/signed word/dword/signed dword) 1 (byte) sin8u_table::min (const byte) sin8u_table::min#0 min = (byte/signed byte/word/signed word/dword/signed dword) 10 (byte*) sin8u_table::sintab -(byte*) sin8u_table::sintab#1 sintab zp ZP_WORD:4 1.5714285714285714 -(byte*) sin8u_table::sintab#2 sintab zp ZP_WORD:4 3.0 -(byte) sin8u_table::sinval -(byte) sin8u_table::sinval#0 reg byte x 3.666666666666667 +(byte*) sin8u_table::sintab#1 sintab zp ZP_WORD:4 1.0 +(byte*) sin8u_table::sintab#2 sintab zp ZP_WORD:4 2.75 +(signed byte) sin8u_table::sinx +(signed byte) sin8u_table::sinx#0 sinx zp ZP_BYTE:17 2.1999999999999997 +(signed word) sin8u_table::sinx_sc +(signed word) sin8u_table::sinx_sc#0 sinx_sc zp ZP_WORD:15 2.1999999999999997 +(byte) sin8u_table::sinx_tr +(byte) sin8u_table::sinx_tr#0 reg byte x 1.9411764705882355 (word) sin8u_table::step -(word) sin8u_table::step#0 step zp ZP_WORD:16 0.3191489361702128 +(word) sin8u_table::step#0 step zp ZP_WORD:18 0.26785714285714285 (const string) sin8u_table::str str = (string) "step:@" (const string) sin8u_table::str1 str1 = (string) " min:@" (const string) sin8u_table::str2 str2 = (string) " max:@" @@ -9561,47 +10569,50 @@ FINAL SYMBOL TABLE (const string) sin8u_table::str4 str4 = (string) " mid:@" (const string) sin8u_table::str5 str5 = (string) "x: @" (const string) sin8u_table::str6 str6 = (string) " sin: @" +(const string) sin8u_table::str7 str7 = (string) " scaled: @" +(const string) sin8u_table::str8 str8 = (string) " trans: @" (word) sin8u_table::sum (const word) sin8u_table::sum#0 sum = (const byte) sin8u_table::min#0+(const byte) sin8u_table::max#0 (word) sin8u_table::tabsize (word) sin8u_table::x (word) sin8u_table::x#1 x zp ZP_WORD:2 7.333333333333333 -(word) sin8u_table::x#2 x zp ZP_WORD:2 2.0 +(word) sin8u_table::x#10 x zp ZP_WORD:2 1.4193548387096775 -zp ZP_WORD:2 [ sin8u_table::x#2 sin8u_table::x#1 print_word::w#2 print_word::w#1 print_word::w#0 divr16u::rem#4 divr16u::rem#10 divr16u::rem#5 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 print_cls::sc#2 print_cls::sc#1 ] +zp ZP_WORD:2 [ sin8u_table::x#10 sin8u_table::x#1 divr16u::rem#4 divr16u::rem#10 divr16u::rem#5 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 print_cls::sc#2 print_cls::sc#1 ] zp ZP_WORD:4 [ sin8u_table::sintab#2 sin8u_table::sintab#1 divr16u::dividend#2 divr16u::dividend#0 ] -zp ZP_WORD:6 [ sin8u_table::i#2 sin8u_table::i#1 ] +zp ZP_WORD:6 [ sin8u_table::i#10 sin8u_table::i#1 ] zp ZP_WORD:8 [ line_cursor#12 line_cursor#23 line_cursor#1 ] -zp ZP_BYTE:10 [ print_byte::b#7 print_byte::b#0 print_byte::b#1 print_byte::b#6 sin8s::isUpper#10 ] -reg byte a [ print_char::ch#2 print_char::ch#0 print_char::ch#1 ] -zp ZP_WORD:11 [ char_cursor#78 char_cursor#46 char_cursor#73 char_cursor#2 char_cursor#11 char_cursor#92 char_cursor#1 mul8su::m#2 mul8su::m#1 mul8su::m#0 mul8su::return#2 mul8u::return#2 mul8u::res#2 mul8u::res#6 mul8u::res#1 mul8u::return#3 sin8u_table::$17 mulu8_sel::$0 mulu8_sel::$1 sin8s::x#6 sin8s::x#4 sin8s::x#2 sin8s::x#0 sin8s::x#1 sin8s::$6 ] -zp ZP_WORD:13 [ print_str::str#8 print_str::str#10 print_str::str#0 mul8u::mb#2 mul8u::mb#0 mul8u::mb#1 ] +zp ZP_BYTE:10 [ print_byte::b#8 print_byte::b#10 print_byte::b#1 print_byte::b#2 print_byte::b#7 print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#0 sin8s::isUpper#10 ] +reg byte a [ print_char::ch#4 print_char::ch#2 print_char::ch#3 ] +zp ZP_WORD:11 [ print_str::str#10 print_str::str#12 print_str::str#0 print_sword::w#3 print_sword::w#1 print_sword::w#0 print_word::w#3 print_word::w#5 print_word::w#2 print_word::w#1 mul8u::mb#2 mul8u::mb#0 mul8u::mb#1 sin8s::x#6 sin8s::x#4 sin8s::x#2 sin8s::x#0 sin8s::x#1 sin8s::$6 ] +zp ZP_WORD:13 [ char_cursor#92 char_cursor#102 char_cursor#62 char_cursor#97 char_cursor#94 char_cursor#96 char_cursor#17 char_cursor#2 char_cursor#121 char_cursor#1 ] +zp ZP_WORD:15 [ mul8su::m#2 mul8su::m#1 mul8su::m#0 mul8su::return#2 mul8u::return#2 mul8u::res#2 mul8u::res#6 mul8u::res#1 mul8u::return#3 sin8u_table::sinx_sc#0 mulu8_sel::$0 mulu8_sel::$1 ] reg byte a [ mul8u::b#2 mul8u::b#1 ] reg byte x [ mul8u::a#3 mul8u::a#6 mul8u::a#8 mul8u::a#2 mul8u::a#0 ] reg byte x [ sin8s::usinx#4 sin8s::usinx#1 sin8s::usinx#2 ] reg byte a [ sin8s::return#0 sin8s::return#5 sin8s::sinx#1 ] reg byte x [ mulu8_sel::v1#5 mulu8_sel::v1#1 mulu8_sel::v1#2 mulu8_sel::v1#3 mulu8_sel::v1#4 mulu8_sel::v1#0 ] reg byte y [ mulu8_sel::v2#5 mulu8_sel::v2#1 mulu8_sel::v2#3 mulu8_sel::v2#4 mulu8_sel::v2#0 ] -zp ZP_BYTE:15 [ mulu8_sel::select#5 ] -zp ZP_WORD:16 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 div16u::return#2 sin8u_table::step#0 div16u::return#0 ] +zp ZP_BYTE:17 [ mulu8_sel::select#5 sin8u_table::sinx#0 ] +zp ZP_WORD:18 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 div16u::return#2 sin8u_table::step#0 div16u::return#0 ] reg byte x [ divr16u::i#2 divr16u::i#1 ] reg byte a [ sin8s::return#2 ] reg byte y [ mul8su::a#0 ] -reg byte a [ sin8u_table::$18 ] -reg byte x [ sin8u_table::sinval#0 ] +reg byte a [ sin8u_table::$20 ] +reg byte x [ sin8u_table::sinx_tr#0 ] reg byte a [ print_byte::$0 ] reg byte a [ print_byte::$2 ] reg byte a [ mul8su::$6 ] reg byte a [ mul8su::$10 ] reg byte a [ mul8u::$1 ] -zp ZP_BYTE:18 [ sin8s::x1#0 ] +zp ZP_BYTE:20 [ sin8s::x1#0 ] reg byte a [ mulu8_sel::return#0 ] reg byte a [ sin8s::x2#0 ] reg byte a [ mulu8_sel::return#1 ] -zp ZP_BYTE:19 [ sin8s::x3#0 ] +zp ZP_BYTE:21 [ sin8s::x3#0 ] reg byte a [ mulu8_sel::return#2 ] reg byte a [ sin8s::x3_6#0 ] -zp ZP_BYTE:20 [ sin8s::usinx#0 ] +zp ZP_BYTE:22 [ sin8s::usinx#0 ] reg byte a [ mulu8_sel::return#10 ] reg byte a [ sin8s::x4#0 ] reg byte a [ mulu8_sel::return#11 ] @@ -9613,7 +10624,7 @@ reg byte a [ divr16u::$2 ] FINAL ASSEMBLER -Score: 18841 +Score: 19469 //SEG0 Basic Upstart .pc = $801 "Basic" @@ -9624,7 +10635,7 @@ Score: 18841 .const PI_u4f12 = $3244 .const PI_HALF_u4f12 = $1922 .label SCREEN = $400 - .label char_cursor = $b + .label char_cursor = $d .label line_cursor = 8 //SEG2 @begin //SEG3 [1] phi from @begin to @30 [phi:@begin->@30] @@ -9638,7 +10649,7 @@ Score: 18841 main: { .label tabsize = $14 //SEG10 [5] call print_cls param-assignment [ ] ( main:2 [ ] ) - //SEG11 [185] phi from main to print_cls [phi:main->print_cls] + //SEG11 [210] phi from main to print_cls [phi:main->print_cls] jsr print_cls //SEG12 [6] phi from main to main::@1 [phi:main->main::@1] //SEG13 main::@1 @@ -9656,235 +10667,279 @@ sin8u_table: { .const max = $ff .label amplitude = max-min .const sum = min+max - .const mid = $ff & sum>>1 - .label _17 = $b - .label step = $10 + .const mid = $ff & (sum>>1)+1 + .label step = $12 + .label sinx = $11 + .label sinx_sc = $f .label sintab = 4 .label x = 2 .label i = 6 //SEG19 [10] call div16u param-assignment [ div16u::return#0 ] ( main:2::sin8u_table:7 [ div16u::return#0 ] ) - //SEG20 [163] phi from sin8u_table to div16u [phi:sin8u_table->div16u] + //SEG20 [188] phi from sin8u_table to div16u [phi:sin8u_table->div16u] jsr div16u //SEG21 [11] (word) div16u::return#2 ← (word) div16u::return#0 [ div16u::return#2 ] ( main:2::sin8u_table:7 [ div16u::return#2 ] ) - // (word) div16u::return#2 = (word) div16u::return#0 // register copy zp ZP_WORD:16 + // (word) div16u::return#2 = (word) div16u::return#0 // register copy zp ZP_WORD:18 //SEG22 sin8u_table::@3 //SEG23 [12] (word) sin8u_table::step#0 ← (word) div16u::return#2 [ sin8u_table::step#0 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 ] ) - // (word) sin8u_table::step#0 = (word) div16u::return#2 // register copy zp ZP_WORD:16 + // (word) sin8u_table::step#0 = (word) div16u::return#2 // register copy zp ZP_WORD:18 //SEG24 [13] call print_str param-assignment [ sin8u_table::step#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#2 ] ) - //SEG25 [77] phi from sin8u_table::@3 to print_str [phi:sin8u_table::@3->print_str] - //SEG26 [77] phi (byte*) char_cursor#78 = (const byte*) SCREEN#0 [phi:sin8u_table::@3->print_str#0] -- pbuz1=pbuc1 + //SEG25 [86] phi from sin8u_table::@3 to print_str [phi:sin8u_table::@3->print_str] + //SEG26 [86] phi (byte*) char_cursor#102 = (const byte*) SCREEN#0 [phi:sin8u_table::@3->print_str#0] -- pbuz1=pbuc1 lda #SCREEN sta char_cursor+1 - //SEG27 [77] phi (byte*) print_str::str#10 = (const string) sin8u_table::str [phi:sin8u_table::@3->print_str#1] -- pbuz1=pbuc1 + //SEG27 [86] phi (byte*) print_str::str#12 = (const string) sin8u_table::str [phi:sin8u_table::@3->print_str#1] -- pbuz1=pbuc1 lda #str sta print_str.str+1 jsr print_str //SEG28 sin8u_table::@4 - //SEG29 [14] (word) print_word::w#0 ← (word) sin8u_table::step#0 [ sin8u_table::step#0 print_word::w#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 print_word::w#0 char_cursor#2 ] ) -- vwuz1=vwuz2 + //SEG29 [14] (word) print_word::w#1 ← (word) sin8u_table::step#0 [ sin8u_table::step#0 print_word::w#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 print_word::w#1 char_cursor#2 ] ) -- vwuz1=vwuz2 lda step sta print_word.w lda step+1 sta print_word.w+1 - //SEG30 [15] call print_word param-assignment [ sin8u_table::step#0 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#11 ] ) - //SEG31 [84] phi from sin8u_table::@4 to print_word [phi:sin8u_table::@4->print_word] - //SEG32 [84] phi (word) print_word::w#2 = (word) print_word::w#0 [phi:sin8u_table::@4->print_word#0] -- register_copy + //SEG30 [15] call print_word param-assignment [ sin8u_table::step#0 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#17 ] ) + //SEG31 [101] phi from sin8u_table::@4 to print_word [phi:sin8u_table::@4->print_word] + //SEG32 [101] phi (byte*) char_cursor#96 = (byte*) char_cursor#2 [phi:sin8u_table::@4->print_word#0] -- register_copy + //SEG33 [101] phi (word) print_word::w#3 = (word) print_word::w#1 [phi:sin8u_table::@4->print_word#1] -- register_copy jsr print_word - //SEG33 [16] phi from sin8u_table::@4 to sin8u_table::@5 [phi:sin8u_table::@4->sin8u_table::@5] - //SEG34 sin8u_table::@5 - //SEG35 [17] call print_str param-assignment [ sin8u_table::step#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#2 ] ) - //SEG36 [77] phi from sin8u_table::@5 to print_str [phi:sin8u_table::@5->print_str] - //SEG37 [77] phi (byte*) char_cursor#78 = (byte*) char_cursor#11 [phi:sin8u_table::@5->print_str#0] -- register_copy - //SEG38 [77] phi (byte*) print_str::str#10 = (const string) sin8u_table::str1 [phi:sin8u_table::@5->print_str#1] -- pbuz1=pbuc1 + //SEG34 [16] phi from sin8u_table::@4 to sin8u_table::@5 [phi:sin8u_table::@4->sin8u_table::@5] + //SEG35 sin8u_table::@5 + //SEG36 [17] call print_str param-assignment [ sin8u_table::step#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#2 ] ) + //SEG37 [86] phi from sin8u_table::@5 to print_str [phi:sin8u_table::@5->print_str] + //SEG38 [86] phi (byte*) char_cursor#102 = (byte*) char_cursor#17 [phi:sin8u_table::@5->print_str#0] -- register_copy + //SEG39 [86] phi (byte*) print_str::str#12 = (const string) sin8u_table::str1 [phi:sin8u_table::@5->print_str#1] -- pbuz1=pbuc1 lda #str1 sta print_str.str+1 jsr print_str - //SEG39 [18] phi from sin8u_table::@5 to sin8u_table::@6 [phi:sin8u_table::@5->sin8u_table::@6] - //SEG40 sin8u_table::@6 - //SEG41 [19] call print_byte param-assignment [ sin8u_table::step#0 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#11 ] ) - //SEG42 [65] phi from sin8u_table::@6 to print_byte [phi:sin8u_table::@6->print_byte] - //SEG43 [65] phi (byte*) char_cursor#73 = (byte*) char_cursor#2 [phi:sin8u_table::@6->print_byte#0] -- register_copy - //SEG44 [65] phi (byte) print_byte::b#7 = (const byte) sin8u_table::min#0 [phi:sin8u_table::@6->print_byte#1] -- vbuz1=vbuc1 + //SEG40 [18] phi from sin8u_table::@5 to sin8u_table::@6 [phi:sin8u_table::@5->sin8u_table::@6] + //SEG41 sin8u_table::@6 + //SEG42 [19] call print_byte param-assignment [ sin8u_table::step#0 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#17 ] ) + //SEG43 [74] phi from sin8u_table::@6 to print_byte [phi:sin8u_table::@6->print_byte] + //SEG44 [74] phi (byte*) char_cursor#97 = (byte*) char_cursor#2 [phi:sin8u_table::@6->print_byte#0] -- register_copy + //SEG45 [74] phi (byte) print_byte::b#8 = (const byte) sin8u_table::min#0 [phi:sin8u_table::@6->print_byte#1] -- vbuz1=vbuc1 lda #min sta print_byte.b jsr print_byte - //SEG45 [20] phi from sin8u_table::@6 to sin8u_table::@7 [phi:sin8u_table::@6->sin8u_table::@7] - //SEG46 sin8u_table::@7 - //SEG47 [21] call print_str param-assignment [ sin8u_table::step#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#2 ] ) - //SEG48 [77] phi from sin8u_table::@7 to print_str [phi:sin8u_table::@7->print_str] - //SEG49 [77] phi (byte*) char_cursor#78 = (byte*) char_cursor#11 [phi:sin8u_table::@7->print_str#0] -- register_copy - //SEG50 [77] phi (byte*) print_str::str#10 = (const string) sin8u_table::str2 [phi:sin8u_table::@7->print_str#1] -- pbuz1=pbuc1 + //SEG46 [20] phi from sin8u_table::@6 to sin8u_table::@7 [phi:sin8u_table::@6->sin8u_table::@7] + //SEG47 sin8u_table::@7 + //SEG48 [21] call print_str param-assignment [ sin8u_table::step#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#2 ] ) + //SEG49 [86] phi from sin8u_table::@7 to print_str [phi:sin8u_table::@7->print_str] + //SEG50 [86] phi (byte*) char_cursor#102 = (byte*) char_cursor#17 [phi:sin8u_table::@7->print_str#0] -- register_copy + //SEG51 [86] phi (byte*) print_str::str#12 = (const string) sin8u_table::str2 [phi:sin8u_table::@7->print_str#1] -- pbuz1=pbuc1 lda #str2 sta print_str.str+1 jsr print_str - //SEG51 [22] phi from sin8u_table::@7 to sin8u_table::@8 [phi:sin8u_table::@7->sin8u_table::@8] - //SEG52 sin8u_table::@8 - //SEG53 [23] call print_byte param-assignment [ sin8u_table::step#0 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#11 ] ) - //SEG54 [65] phi from sin8u_table::@8 to print_byte [phi:sin8u_table::@8->print_byte] - //SEG55 [65] phi (byte*) char_cursor#73 = (byte*) char_cursor#2 [phi:sin8u_table::@8->print_byte#0] -- register_copy - //SEG56 [65] phi (byte) print_byte::b#7 = (const byte) sin8u_table::max#0 [phi:sin8u_table::@8->print_byte#1] -- vbuz1=vbuc1 + //SEG52 [22] phi from sin8u_table::@7 to sin8u_table::@8 [phi:sin8u_table::@7->sin8u_table::@8] + //SEG53 sin8u_table::@8 + //SEG54 [23] call print_byte param-assignment [ sin8u_table::step#0 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#17 ] ) + //SEG55 [74] phi from sin8u_table::@8 to print_byte [phi:sin8u_table::@8->print_byte] + //SEG56 [74] phi (byte*) char_cursor#97 = (byte*) char_cursor#2 [phi:sin8u_table::@8->print_byte#0] -- register_copy + //SEG57 [74] phi (byte) print_byte::b#8 = (const byte) sin8u_table::max#0 [phi:sin8u_table::@8->print_byte#1] -- vbuz1=vbuc1 lda #max sta print_byte.b jsr print_byte - //SEG57 [24] phi from sin8u_table::@8 to sin8u_table::@9 [phi:sin8u_table::@8->sin8u_table::@9] - //SEG58 sin8u_table::@9 - //SEG59 [25] call print_str param-assignment [ sin8u_table::step#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#2 ] ) - //SEG60 [77] phi from sin8u_table::@9 to print_str [phi:sin8u_table::@9->print_str] - //SEG61 [77] phi (byte*) char_cursor#78 = (byte*) char_cursor#11 [phi:sin8u_table::@9->print_str#0] -- register_copy - //SEG62 [77] phi (byte*) print_str::str#10 = (const string) sin8u_table::str3 [phi:sin8u_table::@9->print_str#1] -- pbuz1=pbuc1 + //SEG58 [24] phi from sin8u_table::@8 to sin8u_table::@9 [phi:sin8u_table::@8->sin8u_table::@9] + //SEG59 sin8u_table::@9 + //SEG60 [25] call print_str param-assignment [ sin8u_table::step#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#2 ] ) + //SEG61 [86] phi from sin8u_table::@9 to print_str [phi:sin8u_table::@9->print_str] + //SEG62 [86] phi (byte*) char_cursor#102 = (byte*) char_cursor#17 [phi:sin8u_table::@9->print_str#0] -- register_copy + //SEG63 [86] phi (byte*) print_str::str#12 = (const string) sin8u_table::str3 [phi:sin8u_table::@9->print_str#1] -- pbuz1=pbuc1 lda #str3 sta print_str.str+1 jsr print_str - //SEG63 [26] phi from sin8u_table::@9 to sin8u_table::@10 [phi:sin8u_table::@9->sin8u_table::@10] - //SEG64 sin8u_table::@10 - //SEG65 [27] call print_byte param-assignment [ sin8u_table::step#0 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#11 ] ) - //SEG66 [65] phi from sin8u_table::@10 to print_byte [phi:sin8u_table::@10->print_byte] - //SEG67 [65] phi (byte*) char_cursor#73 = (byte*) char_cursor#2 [phi:sin8u_table::@10->print_byte#0] -- register_copy - //SEG68 [65] phi (byte) print_byte::b#7 = (const byte) sin8u_table::amplitude#0 [phi:sin8u_table::@10->print_byte#1] -- vbuz1=vbuc1 + //SEG64 [26] phi from sin8u_table::@9 to sin8u_table::@10 [phi:sin8u_table::@9->sin8u_table::@10] + //SEG65 sin8u_table::@10 + //SEG66 [27] call print_byte param-assignment [ sin8u_table::step#0 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#17 ] ) + //SEG67 [74] phi from sin8u_table::@10 to print_byte [phi:sin8u_table::@10->print_byte] + //SEG68 [74] phi (byte*) char_cursor#97 = (byte*) char_cursor#2 [phi:sin8u_table::@10->print_byte#0] -- register_copy + //SEG69 [74] phi (byte) print_byte::b#8 = (const byte) sin8u_table::amplitude#0 [phi:sin8u_table::@10->print_byte#1] -- vbuz1=vbuc1 lda #amplitude sta print_byte.b jsr print_byte - //SEG69 [28] phi from sin8u_table::@10 to sin8u_table::@11 [phi:sin8u_table::@10->sin8u_table::@11] - //SEG70 sin8u_table::@11 - //SEG71 [29] call print_str param-assignment [ sin8u_table::step#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#2 ] ) - //SEG72 [77] phi from sin8u_table::@11 to print_str [phi:sin8u_table::@11->print_str] - //SEG73 [77] phi (byte*) char_cursor#78 = (byte*) char_cursor#11 [phi:sin8u_table::@11->print_str#0] -- register_copy - //SEG74 [77] phi (byte*) print_str::str#10 = (const string) sin8u_table::str4 [phi:sin8u_table::@11->print_str#1] -- pbuz1=pbuc1 + //SEG70 [28] phi from sin8u_table::@10 to sin8u_table::@11 [phi:sin8u_table::@10->sin8u_table::@11] + //SEG71 sin8u_table::@11 + //SEG72 [29] call print_str param-assignment [ sin8u_table::step#0 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#2 ] ) + //SEG73 [86] phi from sin8u_table::@11 to print_str [phi:sin8u_table::@11->print_str] + //SEG74 [86] phi (byte*) char_cursor#102 = (byte*) char_cursor#17 [phi:sin8u_table::@11->print_str#0] -- register_copy + //SEG75 [86] phi (byte*) print_str::str#12 = (const string) sin8u_table::str4 [phi:sin8u_table::@11->print_str#1] -- pbuz1=pbuc1 lda #str4 sta print_str.str+1 jsr print_str - //SEG75 [30] phi from sin8u_table::@11 to sin8u_table::@12 [phi:sin8u_table::@11->sin8u_table::@12] - //SEG76 sin8u_table::@12 - //SEG77 [31] call print_byte param-assignment [ sin8u_table::step#0 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#11 ] ) - //SEG78 [65] phi from sin8u_table::@12 to print_byte [phi:sin8u_table::@12->print_byte] - //SEG79 [65] phi (byte*) char_cursor#73 = (byte*) char_cursor#2 [phi:sin8u_table::@12->print_byte#0] -- register_copy - //SEG80 [65] phi (byte) print_byte::b#7 = (const byte) sin8u_table::mid#0 [phi:sin8u_table::@12->print_byte#1] -- vbuz1=vbuc1 + //SEG76 [30] phi from sin8u_table::@11 to sin8u_table::@12 [phi:sin8u_table::@11->sin8u_table::@12] + //SEG77 sin8u_table::@12 + //SEG78 [31] call print_byte param-assignment [ sin8u_table::step#0 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 char_cursor#17 ] ) + //SEG79 [74] phi from sin8u_table::@12 to print_byte [phi:sin8u_table::@12->print_byte] + //SEG80 [74] phi (byte*) char_cursor#97 = (byte*) char_cursor#2 [phi:sin8u_table::@12->print_byte#0] -- register_copy + //SEG81 [74] phi (byte) print_byte::b#8 = (const byte) sin8u_table::mid#0 [phi:sin8u_table::@12->print_byte#1] -- vbuz1=vbuc1 lda #mid sta print_byte.b jsr print_byte - //SEG81 [32] phi from sin8u_table::@12 to sin8u_table::@13 [phi:sin8u_table::@12->sin8u_table::@13] - //SEG82 sin8u_table::@13 - //SEG83 [33] call print_ln param-assignment [ sin8u_table::step#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 line_cursor#1 ] ) - //SEG84 [60] phi from sin8u_table::@13 to print_ln [phi:sin8u_table::@13->print_ln] - //SEG85 [60] phi (byte*) line_cursor#23 = (const byte*) SCREEN#0 [phi:sin8u_table::@13->print_ln#0] -- pbuz1=pbuc1 + //SEG82 [32] phi from sin8u_table::@12 to sin8u_table::@13 [phi:sin8u_table::@12->sin8u_table::@13] + //SEG83 sin8u_table::@13 + //SEG84 [33] call print_ln param-assignment [ sin8u_table::step#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 line_cursor#1 ] ) + //SEG85 [69] phi from sin8u_table::@13 to print_ln [phi:sin8u_table::@13->print_ln] + //SEG86 [69] phi (byte*) line_cursor#23 = (const byte*) SCREEN#0 [phi:sin8u_table::@13->print_ln#0] -- pbuz1=pbuc1 lda #SCREEN sta line_cursor+1 jsr print_ln - //SEG86 [34] phi from sin8u_table::@13 to sin8u_table::@1 [phi:sin8u_table::@13->sin8u_table::@1] - //SEG87 [34] phi (word) sin8u_table::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8u_table::@13->sin8u_table::@1#0] -- vwuz1=vbuc1 + //SEG87 [34] phi from sin8u_table::@13 to sin8u_table::@1 [phi:sin8u_table::@13->sin8u_table::@1] + //SEG88 [34] phi (word) sin8u_table::i#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8u_table::@13->sin8u_table::@1#0] -- vwuz1=vbuc1 lda #<0 sta i sta i+1 - //SEG88 [34] phi (byte*) sin8u_table::sintab#2 = (const byte[20]) main::sintab#0 [phi:sin8u_table::@13->sin8u_table::@1#1] -- pbuz1=pbuc1 + //SEG89 [34] phi (byte*) sin8u_table::sintab#2 = (const byte[20]) main::sintab#0 [phi:sin8u_table::@13->sin8u_table::@1#1] -- pbuz1=pbuc1 lda #main.sintab sta sintab+1 - //SEG89 [34] phi (word) sin8u_table::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8u_table::@13->sin8u_table::@1#2] -- vwuz1=vbuc1 + //SEG90 [34] phi (word) sin8u_table::x#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8u_table::@13->sin8u_table::@1#2] -- vwuz1=vbuc1 lda #<0 sta x sta x+1 - //SEG90 [34] phi from sin8u_table::@21 to sin8u_table::@1 [phi:sin8u_table::@21->sin8u_table::@1] - //SEG91 [34] phi (word) sin8u_table::i#2 = (word) sin8u_table::i#1 [phi:sin8u_table::@21->sin8u_table::@1#0] -- register_copy - //SEG92 [34] phi (byte*) sin8u_table::sintab#2 = (byte*) sin8u_table::sintab#1 [phi:sin8u_table::@21->sin8u_table::@1#1] -- register_copy - //SEG93 [34] phi (word) sin8u_table::x#2 = (word) sin8u_table::x#1 [phi:sin8u_table::@21->sin8u_table::@1#2] -- register_copy - //SEG94 sin8u_table::@1 + //SEG91 [34] phi from sin8u_table::@25 to sin8u_table::@1 [phi:sin8u_table::@25->sin8u_table::@1] + //SEG92 [34] phi (word) sin8u_table::i#10 = (word) sin8u_table::i#1 [phi:sin8u_table::@25->sin8u_table::@1#0] -- register_copy + //SEG93 [34] phi (byte*) sin8u_table::sintab#2 = (byte*) sin8u_table::sintab#1 [phi:sin8u_table::@25->sin8u_table::@1#1] -- register_copy + //SEG94 [34] phi (word) sin8u_table::x#10 = (word) sin8u_table::x#1 [phi:sin8u_table::@25->sin8u_table::@1#2] -- register_copy + //SEG95 sin8u_table::@1 b1: - //SEG95 [35] (word) sin8s::x#2 ← (word) sin8u_table::x#2 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8s::x#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8s::x#2 line_cursor#1 ] ) -- vwuz1=vwuz2 + //SEG96 [35] (word) sin8s::x#2 ← (word) sin8u_table::x#10 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8s::x#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8s::x#2 line_cursor#1 ] ) -- vwuz1=vwuz2 lda x sta sin8s.x lda x+1 sta sin8s.x+1 - //SEG96 [36] call sin8s param-assignment [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8s::return#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8s::return#0 line_cursor#1 ] ) + //SEG97 [36] call sin8s param-assignment [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8s::return#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8s::return#0 line_cursor#1 ] ) jsr sin8s - //SEG97 [37] (signed byte) sin8s::return#2 ← (signed byte) sin8s::return#0 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8s::return#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8s::return#2 line_cursor#1 ] ) + //SEG98 [37] (signed byte) sin8s::return#2 ← (signed byte) sin8s::return#0 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8s::return#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8s::return#2 line_cursor#1 ] ) // (signed byte) sin8s::return#2 = (signed byte) sin8s::return#0 // register copy reg byte a - //SEG98 sin8u_table::@15 - //SEG99 [38] (signed byte) mul8su::a#0 ← (signed byte) sin8s::return#2 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 mul8su::a#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 mul8su::a#0 line_cursor#1 ] ) -- vbsyy=vbsaa + //SEG99 sin8u_table::@15 + //SEG100 [38] (signed byte) sin8u_table::sinx#0 ← (signed byte) sin8s::return#2 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 ] ) -- vbsz1=vbsaa + sta sinx + //SEG101 [39] (signed byte) mul8su::a#0 ← (signed byte) sin8u_table::sinx#0 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 mul8su::a#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 mul8su::a#0 line_cursor#1 ] ) -- vbsyy=vbsz1 tay - //SEG100 [39] call mul8su param-assignment [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 mul8su::m#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 mul8su::m#2 line_cursor#1 ] ) + //SEG102 [40] call mul8su param-assignment [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 mul8su::m#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 mul8su::m#2 line_cursor#1 ] ) jsr mul8su - //SEG101 [40] (signed word) mul8su::return#2 ← (signed word)(word) mul8su::m#2 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 mul8su::return#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 mul8su::return#2 line_cursor#1 ] ) - // (signed word) mul8su::return#2 = (signed word)(word) mul8su::m#2 // register copy zp ZP_WORD:11 - //SEG102 sin8u_table::@16 - //SEG103 [41] (signed word~) sin8u_table::$17 ← (signed word) mul8su::return#2 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8u_table::$17 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8u_table::$17 line_cursor#1 ] ) - // (signed word~) sin8u_table::$17 = (signed word) mul8su::return#2 // register copy zp ZP_WORD:11 - //SEG104 [42] (byte~) sin8u_table::$18 ← > (signed word~) sin8u_table::$17 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8u_table::$18 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8u_table::$18 line_cursor#1 ] ) -- vbuaa=_hi_vwsz1 - lda _17+1 - //SEG105 [43] (byte) sin8u_table::sinval#0 ← (const byte) sin8u_table::mid#0 + (byte~) sin8u_table::$18 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8u_table::sinval#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8u_table::sinval#0 line_cursor#1 ] ) -- vbuxx=vbuc1_plus_vbuaa + //SEG103 [41] (signed word) mul8su::return#2 ← (signed word)(word) mul8su::m#2 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 mul8su::return#2 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 mul8su::return#2 line_cursor#1 ] ) + // (signed word) mul8su::return#2 = (signed word)(word) mul8su::m#2 // register copy zp ZP_WORD:15 + //SEG104 sin8u_table::@16 + //SEG105 [42] (signed word) sin8u_table::sinx_sc#0 ← (signed word) mul8su::return#2 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 line_cursor#1 ] ) + // (signed word) sin8u_table::sinx_sc#0 = (signed word) mul8su::return#2 // register copy zp ZP_WORD:15 + //SEG106 [43] (byte~) sin8u_table::$20 ← > (signed word) sin8u_table::sinx_sc#0 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::$20 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::$20 line_cursor#1 ] ) -- vbuaa=_hi_vwsz1 + lda sinx_sc+1 + //SEG107 [44] (byte) sin8u_table::sinx_tr#0 ← (const byte) sin8u_table::mid#0 + (byte~) sin8u_table::$20 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 ] ) -- vbuxx=vbuc1_plus_vbuaa clc adc #mid tax - //SEG106 [44] *((byte*) sin8u_table::sintab#2) ← (byte) sin8u_table::sinval#0 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8u_table::sinval#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 sin8u_table::sinval#0 line_cursor#1 ] ) -- _deref_pbuz1=vbuxx + //SEG108 [45] *((byte*) sin8u_table::sintab#2) ← (byte) sin8u_table::sinx_tr#0 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 ] ) -- _deref_pbuz1=vbuxx txa ldy #0 sta (sintab),y - //SEG107 [45] (byte*) sin8u_table::sintab#1 ← ++ (byte*) sin8u_table::sintab#2 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG109 [46] (byte*) sin8u_table::sintab#1 ← ++ (byte*) sin8u_table::sintab#2 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 ] ) -- pbuz1=_inc_pbuz1 inc sintab bne !+ inc sintab+1 !: - //SEG108 [46] (byte*~) char_cursor#92 ← (byte*) line_cursor#1 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 char_cursor#92 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 char_cursor#92 line_cursor#1 ] ) -- pbuz1=pbuz2 + //SEG110 [47] (byte*~) char_cursor#121 ← (byte*) line_cursor#1 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 char_cursor#121 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 char_cursor#121 line_cursor#1 ] ) -- pbuz1=pbuz2 lda line_cursor sta char_cursor lda line_cursor+1 sta char_cursor+1 - //SEG109 [47] call print_str param-assignment [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 ] ) - //SEG110 [77] phi from sin8u_table::@16 to print_str [phi:sin8u_table::@16->print_str] - //SEG111 [77] phi (byte*) char_cursor#78 = (byte*~) char_cursor#92 [phi:sin8u_table::@16->print_str#0] -- register_copy - //SEG112 [77] phi (byte*) print_str::str#10 = (const string) sin8u_table::str5 [phi:sin8u_table::@16->print_str#1] -- pbuz1=pbuc1 + //SEG111 [48] call print_str param-assignment [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] ) + //SEG112 [86] phi from sin8u_table::@16 to print_str [phi:sin8u_table::@16->print_str] + //SEG113 [86] phi (byte*) char_cursor#102 = (byte*~) char_cursor#121 [phi:sin8u_table::@16->print_str#0] -- register_copy + //SEG114 [86] phi (byte*) print_str::str#12 = (const string) sin8u_table::str5 [phi:sin8u_table::@16->print_str#1] -- pbuz1=pbuc1 lda #str5 sta print_str.str+1 jsr print_str - //SEG113 sin8u_table::@17 - //SEG114 [48] (word) print_word::w#1 ← (word) sin8u_table::x#2 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#1 char_cursor#2 ] ) - // (word) print_word::w#1 = (word) sin8u_table::x#2 // register copy zp ZP_WORD:2 - //SEG115 [49] call print_word param-assignment [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 ] ) - //SEG116 [84] phi from sin8u_table::@17 to print_word [phi:sin8u_table::@17->print_word] - //SEG117 [84] phi (word) print_word::w#2 = (word) print_word::w#1 [phi:sin8u_table::@17->print_word#0] -- register_copy + //SEG115 sin8u_table::@17 + //SEG116 [49] (word) print_word::w#2 ← (word) sin8u_table::x#10 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#2 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#2 char_cursor#2 ] ) -- vwuz1=vwuz2 + lda x + sta print_word.w + lda x+1 + sta print_word.w+1 + //SEG117 [50] call print_word param-assignment [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) + //SEG118 [101] phi from sin8u_table::@17 to print_word [phi:sin8u_table::@17->print_word] + //SEG119 [101] phi (byte*) char_cursor#96 = (byte*) char_cursor#2 [phi:sin8u_table::@17->print_word#0] -- register_copy + //SEG120 [101] phi (word) print_word::w#3 = (word) print_word::w#2 [phi:sin8u_table::@17->print_word#1] -- register_copy jsr print_word - //SEG118 [50] phi from sin8u_table::@17 to sin8u_table::@18 [phi:sin8u_table::@17->sin8u_table::@18] - //SEG119 sin8u_table::@18 - //SEG120 [51] call print_str param-assignment [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 ] ) - //SEG121 [77] phi from sin8u_table::@18 to print_str [phi:sin8u_table::@18->print_str] - //SEG122 [77] phi (byte*) char_cursor#78 = (byte*) char_cursor#11 [phi:sin8u_table::@18->print_str#0] -- register_copy - //SEG123 [77] phi (byte*) print_str::str#10 = (const string) sin8u_table::str6 [phi:sin8u_table::@18->print_str#1] -- pbuz1=pbuc1 + //SEG121 [51] phi from sin8u_table::@17 to sin8u_table::@18 [phi:sin8u_table::@17->sin8u_table::@18] + //SEG122 sin8u_table::@18 + //SEG123 [52] call print_str param-assignment [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] ) + //SEG124 [86] phi from sin8u_table::@18 to print_str [phi:sin8u_table::@18->print_str] + //SEG125 [86] phi (byte*) char_cursor#102 = (byte*) char_cursor#17 [phi:sin8u_table::@18->print_str#0] -- register_copy + //SEG126 [86] phi (byte*) print_str::str#12 = (const string) sin8u_table::str6 [phi:sin8u_table::@18->print_str#1] -- pbuz1=pbuc1 lda #str6 sta print_str.str+1 jsr print_str - //SEG124 sin8u_table::@19 - //SEG125 [52] (byte) print_byte::b#6 ← (byte) sin8u_table::sinval#0 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_byte::b#6 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_byte::b#6 char_cursor#2 ] ) -- vbuz1=vbuxx - stx print_byte.b - //SEG126 [53] call print_byte param-assignment [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 ] ) - //SEG127 [65] phi from sin8u_table::@19 to print_byte [phi:sin8u_table::@19->print_byte] - //SEG128 [65] phi (byte*) char_cursor#73 = (byte*) char_cursor#2 [phi:sin8u_table::@19->print_byte#0] -- register_copy - //SEG129 [65] phi (byte) print_byte::b#7 = (byte) print_byte::b#6 [phi:sin8u_table::@19->print_byte#1] -- register_copy - jsr print_byte - //SEG130 [54] phi from sin8u_table::@19 to sin8u_table::@20 [phi:sin8u_table::@19->sin8u_table::@20] + //SEG127 sin8u_table::@19 + //SEG128 [53] (signed byte) print_sbyte::b#1 ← (signed byte) sin8u_table::sinx#0 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_sbyte::b#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_sbyte::b#1 char_cursor#2 ] ) -- vbsz1=vbsz2 + lda sinx + sta print_sbyte.b + //SEG129 [54] call print_sbyte param-assignment [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) + jsr print_sbyte + //SEG130 [55] phi from sin8u_table::@19 to sin8u_table::@20 [phi:sin8u_table::@19->sin8u_table::@20] //SEG131 sin8u_table::@20 - //SEG132 [55] call print_ln param-assignment [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 ] ) - //SEG133 [60] phi from sin8u_table::@20 to print_ln [phi:sin8u_table::@20->print_ln] - //SEG134 [60] phi (byte*) line_cursor#23 = (byte*) line_cursor#1 [phi:sin8u_table::@20->print_ln#0] -- register_copy + //SEG132 [56] call print_str param-assignment [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] ) + //SEG133 [86] phi from sin8u_table::@20 to print_str [phi:sin8u_table::@20->print_str] + //SEG134 [86] phi (byte*) char_cursor#102 = (byte*) char_cursor#17 [phi:sin8u_table::@20->print_str#0] -- register_copy + //SEG135 [86] phi (byte*) print_str::str#12 = (const string) sin8u_table::str7 [phi:sin8u_table::@20->print_str#1] -- pbuz1=pbuc1 + lda #str7 + sta print_str.str+1 + jsr print_str + //SEG136 sin8u_table::@21 + //SEG137 [57] (signed word) print_sword::w#1 ← (signed word) sin8u_table::sinx_sc#0 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_sword::w#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_sword::w#1 char_cursor#2 ] ) -- vwsz1=vwsz2 + lda sinx_sc + sta print_sword.w + lda sinx_sc+1 + sta print_sword.w+1 + //SEG138 [58] call print_sword param-assignment [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) + jsr print_sword + //SEG139 [59] phi from sin8u_table::@21 to sin8u_table::@22 [phi:sin8u_table::@21->sin8u_table::@22] + //SEG140 sin8u_table::@22 + //SEG141 [60] call print_str param-assignment [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] ) + //SEG142 [86] phi from sin8u_table::@22 to print_str [phi:sin8u_table::@22->print_str] + //SEG143 [86] phi (byte*) char_cursor#102 = (byte*) char_cursor#17 [phi:sin8u_table::@22->print_str#0] -- register_copy + //SEG144 [86] phi (byte*) print_str::str#12 = (const string) sin8u_table::str8 [phi:sin8u_table::@22->print_str#1] -- pbuz1=pbuc1 + lda #str8 + sta print_str.str+1 + jsr print_str + //SEG145 sin8u_table::@23 + //SEG146 [61] (byte) print_byte::b#7 ← (byte) sin8u_table::sinx_tr#0 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 print_byte::b#7 char_cursor#2 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 print_byte::b#7 char_cursor#2 ] ) -- vbuz1=vbuxx + stx print_byte.b + //SEG147 [62] call print_byte param-assignment [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 ] ) + //SEG148 [74] phi from sin8u_table::@23 to print_byte [phi:sin8u_table::@23->print_byte] + //SEG149 [74] phi (byte*) char_cursor#97 = (byte*) char_cursor#2 [phi:sin8u_table::@23->print_byte#0] -- register_copy + //SEG150 [74] phi (byte) print_byte::b#8 = (byte) print_byte::b#7 [phi:sin8u_table::@23->print_byte#1] -- register_copy + jsr print_byte + //SEG151 [63] phi from sin8u_table::@23 to sin8u_table::@24 [phi:sin8u_table::@23->sin8u_table::@24] + //SEG152 sin8u_table::@24 + //SEG153 [64] call print_ln param-assignment [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 ] ) + //SEG154 [69] phi from sin8u_table::@24 to print_ln [phi:sin8u_table::@24->print_ln] + //SEG155 [69] phi (byte*) line_cursor#23 = (byte*) line_cursor#1 [phi:sin8u_table::@24->print_ln#0] -- register_copy jsr print_ln - //SEG135 sin8u_table::@21 - //SEG136 [56] (word) sin8u_table::x#1 ← (word) sin8u_table::x#2 + (word) sin8u_table::step#0 [ sin8u_table::step#0 sin8u_table::i#2 sin8u_table::x#1 sin8u_table::sintab#1 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::i#2 sin8u_table::x#1 sin8u_table::sintab#1 line_cursor#1 ] ) -- vwuz1=vwuz1_plus_vwuz2 + //SEG156 sin8u_table::@25 + //SEG157 [65] (word) sin8u_table::x#1 ← (word) sin8u_table::x#10 + (word) sin8u_table::step#0 [ sin8u_table::step#0 sin8u_table::i#10 sin8u_table::x#1 sin8u_table::sintab#1 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::i#10 sin8u_table::x#1 sin8u_table::sintab#1 line_cursor#1 ] ) -- vwuz1=vwuz1_plus_vwuz2 lda x clc adc step @@ -9892,22 +10947,26 @@ sin8u_table: { lda x+1 adc step+1 sta x+1 - //SEG137 [57] (word) sin8u_table::i#1 ← ++ (word) sin8u_table::i#2 [ sin8u_table::step#0 sin8u_table::x#1 sin8u_table::sintab#1 sin8u_table::i#1 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#1 sin8u_table::sintab#1 sin8u_table::i#1 line_cursor#1 ] ) -- vwuz1=_inc_vwuz1 + //SEG158 [66] (word) sin8u_table::i#1 ← ++ (word) sin8u_table::i#10 [ sin8u_table::step#0 sin8u_table::x#1 sin8u_table::sintab#1 sin8u_table::i#1 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#1 sin8u_table::sintab#1 sin8u_table::i#1 line_cursor#1 ] ) -- vwuz1=_inc_vwuz1 inc i bne !+ inc i+1 !: - //SEG138 [58] if((word) sin8u_table::i#1<(const word) main::tabsize#0) goto sin8u_table::@1 [ sin8u_table::step#0 sin8u_table::x#1 sin8u_table::sintab#1 sin8u_table::i#1 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#1 sin8u_table::sintab#1 sin8u_table::i#1 line_cursor#1 ] ) -- vwuz1_lt_vwuc1_then_la1 + //SEG159 [67] if((word) sin8u_table::i#1<(const word) main::tabsize#0) goto sin8u_table::@1 [ sin8u_table::step#0 sin8u_table::x#1 sin8u_table::sintab#1 sin8u_table::i#1 line_cursor#1 ] ( main:2::sin8u_table:7 [ sin8u_table::step#0 sin8u_table::x#1 sin8u_table::sintab#1 sin8u_table::i#1 line_cursor#1 ] ) -- vwuz1_lt_vwuc1_then_la1 lda i+1 cmp #>main.tabsize - bcc b1 + bcs !b1+ + jmp b1 + !b1: bne !+ lda i cmp #print_ln::@1] - //SEG143 [61] phi (byte*) line_cursor#12 = (byte*) line_cursor#23 [phi:print_ln/print_ln::@1->print_ln::@1#0] -- register_copy - //SEG144 print_ln::@1 + //SEG163 [70] phi from print_ln print_ln::@1 to print_ln::@1 [phi:print_ln/print_ln::@1->print_ln::@1] + //SEG164 [70] phi (byte*) line_cursor#12 = (byte*) line_cursor#23 [phi:print_ln/print_ln::@1->print_ln::@1#0] -- register_copy + //SEG165 print_ln::@1 b1: - //SEG145 [62] (byte*) line_cursor#1 ← (byte*) line_cursor#12 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ line_cursor#1 char_cursor#11 ] ( main:2::sin8u_table:7::print_ln:33 [ sin8u_table::step#0 line_cursor#1 char_cursor#11 ] main:2::sin8u_table:7::print_ln:55 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 ] ) -- pbuz1=pbuz1_plus_vbuc1 + //SEG166 [71] (byte*) line_cursor#1 ← (byte*) line_cursor#12 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ line_cursor#1 char_cursor#17 ] ( main:2::sin8u_table:7::print_ln:33 [ sin8u_table::step#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_ln:64 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 ] ) -- pbuz1=pbuz1_plus_vbuc1 lda line_cursor clc adc #$28 @@ -9931,7 +10992,7 @@ print_ln: { bcc !+ inc line_cursor+1 !: - //SEG146 [63] if((byte*) line_cursor#1<(byte*) char_cursor#11) goto print_ln::@1 [ line_cursor#1 char_cursor#11 ] ( main:2::sin8u_table:7::print_ln:33 [ sin8u_table::step#0 line_cursor#1 char_cursor#11 ] main:2::sin8u_table:7::print_ln:55 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 ] ) -- pbuz1_lt_pbuz2_then_la1 + //SEG167 [72] if((byte*) line_cursor#1<(byte*) char_cursor#17) goto print_ln::@1 [ line_cursor#1 char_cursor#17 ] ( main:2::sin8u_table:7::print_ln:33 [ sin8u_table::step#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_ln:64 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 ] ) -- pbuz1_lt_pbuz2_then_la1 lda line_cursor+1 cmp char_cursor+1 bcc b1 @@ -9940,186 +11001,266 @@ print_ln: { cmp char_cursor bcc b1 !: - //SEG147 print_ln::@return - //SEG148 [64] return [ line_cursor#1 ] ( main:2::sin8u_table:7::print_ln:33 [ sin8u_table::step#0 line_cursor#1 ] main:2::sin8u_table:7::print_ln:55 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 ] ) + //SEG168 print_ln::@return + //SEG169 [73] return [ line_cursor#1 ] ( main:2::sin8u_table:7::print_ln:33 [ sin8u_table::step#0 line_cursor#1 ] main:2::sin8u_table:7::print_ln:64 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 ] ) rts } -//SEG149 print_byte +//SEG170 print_byte print_byte: { .label b = $a - //SEG150 [66] (byte~) print_byte::$0 ← (byte) print_byte::b#7 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ print_byte::b#7 char_cursor#73 print_byte::$0 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_byte::$0 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_byte::$0 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_byte::$0 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_byte::$0 ] main:2::sin8u_table:7::print_byte:53 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_byte::b#7 char_cursor#73 print_byte::$0 ] main:2::sin8u_table:7::print_word:15::print_byte:86 [ sin8u_table::step#0 print_word::w#2 print_byte::b#7 char_cursor#73 print_byte::$0 ] main:2::sin8u_table:7::print_word:49::print_byte:86 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 print_byte::b#7 char_cursor#73 print_byte::$0 ] main:2::sin8u_table:7::print_word:15::print_byte:88 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_byte::$0 ] main:2::sin8u_table:7::print_word:49::print_byte:88 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_byte::b#7 char_cursor#73 print_byte::$0 ] ) -- vbuaa=vbuz1_ror_4 + //SEG171 [75] (byte~) print_byte::$0 ← (byte) print_byte::b#8 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ print_byte::b#8 char_cursor#97 print_byte::$0 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 print_byte::$0 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 print_byte::$0 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 print_byte::$0 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 print_byte::$0 ] main:2::sin8u_table:7::print_byte:62 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 print_byte::b#8 char_cursor#97 print_byte::$0 ] main:2::sin8u_table:7::print_word:15::print_byte:103 [ sin8u_table::step#0 print_word::w#3 print_byte::b#8 char_cursor#97 print_byte::$0 ] main:2::sin8u_table:7::print_word:50::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#97 print_byte::$0 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#97 print_byte::$0 ] main:2::sin8u_table:7::print_word:15::print_byte:105 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 print_byte::$0 ] main:2::sin8u_table:7::print_word:50::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#97 print_byte::$0 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#97 print_byte::$0 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#97 print_byte::$0 ] ) -- vbuaa=vbuz1_ror_4 lda b lsr lsr lsr lsr - //SEG151 [67] (byte) print_char::ch#0 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$0) [ print_byte::b#7 char_cursor#73 print_char::ch#0 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_char::ch#0 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_char::ch#0 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_char::ch#0 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_char::ch#0 ] main:2::sin8u_table:7::print_byte:53 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_byte::b#7 char_cursor#73 print_char::ch#0 ] main:2::sin8u_table:7::print_word:15::print_byte:86 [ sin8u_table::step#0 print_word::w#2 print_byte::b#7 char_cursor#73 print_char::ch#0 ] main:2::sin8u_table:7::print_word:49::print_byte:86 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 print_byte::b#7 char_cursor#73 print_char::ch#0 ] main:2::sin8u_table:7::print_word:15::print_byte:88 [ sin8u_table::step#0 print_byte::b#7 char_cursor#73 print_char::ch#0 ] main:2::sin8u_table:7::print_word:49::print_byte:88 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_byte::b#7 char_cursor#73 print_char::ch#0 ] ) -- vbuaa=pbuc1_derefidx_vbuaa + //SEG172 [76] (byte) print_char::ch#2 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$0) [ print_byte::b#8 char_cursor#97 print_char::ch#2 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 print_char::ch#2 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 print_char::ch#2 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 print_char::ch#2 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 print_char::ch#2 ] main:2::sin8u_table:7::print_byte:62 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 print_byte::b#8 char_cursor#97 print_char::ch#2 ] main:2::sin8u_table:7::print_word:15::print_byte:103 [ sin8u_table::step#0 print_word::w#3 print_byte::b#8 char_cursor#97 print_char::ch#2 ] main:2::sin8u_table:7::print_word:50::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#97 print_char::ch#2 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#97 print_char::ch#2 ] main:2::sin8u_table:7::print_word:15::print_byte:105 [ sin8u_table::step#0 print_byte::b#8 char_cursor#97 print_char::ch#2 ] main:2::sin8u_table:7::print_word:50::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#97 print_char::ch#2 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#97 print_char::ch#2 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#97 print_char::ch#2 ] ) -- vbuaa=pbuc1_derefidx_vbuaa tay lda hextab,y - //SEG152 [68] call print_char param-assignment [ char_cursor#11 print_byte::b#7 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#11 print_byte::b#7 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#11 print_byte::b#7 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#11 print_byte::b#7 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#11 print_byte::b#7 ] main:2::sin8u_table:7::print_byte:53 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 print_byte::b#7 ] main:2::sin8u_table:7::print_word:15::print_byte:86 [ sin8u_table::step#0 print_word::w#2 char_cursor#11 print_byte::b#7 ] main:2::sin8u_table:7::print_word:49::print_byte:86 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 char_cursor#11 print_byte::b#7 ] main:2::sin8u_table:7::print_word:15::print_byte:88 [ sin8u_table::step#0 char_cursor#11 print_byte::b#7 ] main:2::sin8u_table:7::print_word:49::print_byte:88 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 print_byte::b#7 ] ) - //SEG153 [73] phi from print_byte to print_char [phi:print_byte->print_char] - //SEG154 [73] phi (byte*) char_cursor#46 = (byte*) char_cursor#73 [phi:print_byte->print_char#0] -- register_copy - //SEG155 [73] phi (byte) print_char::ch#2 = (byte) print_char::ch#0 [phi:print_byte->print_char#1] -- register_copy + //SEG173 [77] call print_char param-assignment [ char_cursor#17 print_byte::b#8 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#17 print_byte::b#8 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#17 print_byte::b#8 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#17 print_byte::b#8 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#17 print_byte::b#8 ] main:2::sin8u_table:7::print_byte:62 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 print_byte::b#8 ] main:2::sin8u_table:7::print_word:15::print_byte:103 [ sin8u_table::step#0 print_word::w#3 char_cursor#17 print_byte::b#8 ] main:2::sin8u_table:7::print_word:50::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 print_byte::b#8 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 print_byte::b#8 ] main:2::sin8u_table:7::print_word:15::print_byte:105 [ sin8u_table::step#0 char_cursor#17 print_byte::b#8 ] main:2::sin8u_table:7::print_word:50::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_byte::b#8 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_byte::b#8 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_byte::b#8 ] ) + //SEG174 [82] phi from print_byte to print_char [phi:print_byte->print_char] + //SEG175 [82] phi (byte*) char_cursor#62 = (byte*) char_cursor#97 [phi:print_byte->print_char#0] -- register_copy + //SEG176 [82] phi (byte) print_char::ch#4 = (byte) print_char::ch#2 [phi:print_byte->print_char#1] -- register_copy jsr print_char - //SEG156 print_byte::@1 - //SEG157 [69] (byte~) print_byte::$2 ← (byte) print_byte::b#7 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ char_cursor#11 print_byte::$2 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#11 print_byte::$2 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#11 print_byte::$2 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#11 print_byte::$2 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#11 print_byte::$2 ] main:2::sin8u_table:7::print_byte:53 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 print_byte::$2 ] main:2::sin8u_table:7::print_word:15::print_byte:86 [ sin8u_table::step#0 print_word::w#2 char_cursor#11 print_byte::$2 ] main:2::sin8u_table:7::print_word:49::print_byte:86 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 char_cursor#11 print_byte::$2 ] main:2::sin8u_table:7::print_word:15::print_byte:88 [ sin8u_table::step#0 char_cursor#11 print_byte::$2 ] main:2::sin8u_table:7::print_word:49::print_byte:88 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 print_byte::$2 ] ) -- vbuaa=vbuz1_band_vbuc1 + //SEG177 print_byte::@1 + //SEG178 [78] (byte~) print_byte::$2 ← (byte) print_byte::b#8 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ char_cursor#17 print_byte::$2 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_byte:62 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_word:15::print_byte:103 [ sin8u_table::step#0 print_word::w#3 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_word:50::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_word:15::print_byte:105 [ sin8u_table::step#0 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_word:50::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_byte::$2 ] ) -- vbuaa=vbuz1_band_vbuc1 lda #$f and b - //SEG158 [70] (byte) print_char::ch#1 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$2) [ char_cursor#11 print_char::ch#1 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#11 print_char::ch#1 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#11 print_char::ch#1 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#11 print_char::ch#1 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#11 print_char::ch#1 ] main:2::sin8u_table:7::print_byte:53 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 print_char::ch#1 ] main:2::sin8u_table:7::print_word:15::print_byte:86 [ sin8u_table::step#0 print_word::w#2 char_cursor#11 print_char::ch#1 ] main:2::sin8u_table:7::print_word:49::print_byte:86 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 char_cursor#11 print_char::ch#1 ] main:2::sin8u_table:7::print_word:15::print_byte:88 [ sin8u_table::step#0 char_cursor#11 print_char::ch#1 ] main:2::sin8u_table:7::print_word:49::print_byte:88 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 print_char::ch#1 ] ) -- vbuaa=pbuc1_derefidx_vbuaa + //SEG179 [79] (byte) print_char::ch#3 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$2) [ char_cursor#17 print_char::ch#3 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#17 print_char::ch#3 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#17 print_char::ch#3 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#17 print_char::ch#3 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#17 print_char::ch#3 ] main:2::sin8u_table:7::print_byte:62 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 print_char::ch#3 ] main:2::sin8u_table:7::print_word:15::print_byte:103 [ sin8u_table::step#0 print_word::w#3 char_cursor#17 print_char::ch#3 ] main:2::sin8u_table:7::print_word:50::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 print_char::ch#3 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 print_char::ch#3 ] main:2::sin8u_table:7::print_word:15::print_byte:105 [ sin8u_table::step#0 char_cursor#17 print_char::ch#3 ] main:2::sin8u_table:7::print_word:50::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_char::ch#3 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_char::ch#3 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_char::ch#3 ] ) -- vbuaa=pbuc1_derefidx_vbuaa tay lda hextab,y - //SEG159 [71] call print_char param-assignment [ char_cursor#11 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:53 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:86 [ sin8u_table::step#0 print_word::w#2 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:86 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:88 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:88 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 ] ) - //SEG160 [73] phi from print_byte::@1 to print_char [phi:print_byte::@1->print_char] - //SEG161 [73] phi (byte*) char_cursor#46 = (byte*) char_cursor#11 [phi:print_byte::@1->print_char#0] -- register_copy - //SEG162 [73] phi (byte) print_char::ch#2 = (byte) print_char::ch#1 [phi:print_byte::@1->print_char#1] -- register_copy + //SEG180 [80] call print_char param-assignment [ char_cursor#17 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:62 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:103 [ sin8u_table::step#0 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:105 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) + //SEG181 [82] phi from print_byte::@1 to print_char [phi:print_byte::@1->print_char] + //SEG182 [82] phi (byte*) char_cursor#62 = (byte*) char_cursor#17 [phi:print_byte::@1->print_char#0] -- register_copy + //SEG183 [82] phi (byte) print_char::ch#4 = (byte) print_char::ch#3 [phi:print_byte::@1->print_char#1] -- register_copy jsr print_char - //SEG163 print_byte::@return - //SEG164 [72] return [ char_cursor#11 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:53 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:86 [ sin8u_table::step#0 print_word::w#2 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:86 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:88 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:88 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 ] ) + //SEG184 print_byte::@return + //SEG185 [81] return [ char_cursor#17 ] ( main:2::sin8u_table:7::print_byte:19 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:23 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:27 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:31 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:62 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:103 [ sin8u_table::step#0 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:105 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) rts hextab: .text "0123456789abcdef" } -//SEG165 print_char +//SEG186 print_char print_char: { - //SEG166 [74] *((byte*) char_cursor#46) ← (byte) print_char::ch#2 [ char_cursor#46 ] ( main:2::sin8u_table:7::print_byte:19::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_byte:23::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_byte:27::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_byte:31::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_byte:53::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_word:15::print_byte:86::print_char:68 [ sin8u_table::step#0 print_word::w#2 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_word:49::print_byte:86::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_word:15::print_byte:88::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_word:49::print_byte:88::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_byte::b#7 char_cursor#46 ] main:2::sin8u_table:7::print_byte:19::print_char:71 [ sin8u_table::step#0 char_cursor#46 ] main:2::sin8u_table:7::print_byte:23::print_char:71 [ sin8u_table::step#0 char_cursor#46 ] main:2::sin8u_table:7::print_byte:27::print_char:71 [ sin8u_table::step#0 char_cursor#46 ] main:2::sin8u_table:7::print_byte:31::print_char:71 [ sin8u_table::step#0 char_cursor#46 ] main:2::sin8u_table:7::print_byte:53::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#46 ] main:2::sin8u_table:7::print_word:15::print_byte:86::print_char:71 [ sin8u_table::step#0 print_word::w#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:49::print_byte:86::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 char_cursor#46 ] main:2::sin8u_table:7::print_word:15::print_byte:88::print_char:71 [ sin8u_table::step#0 char_cursor#46 ] main:2::sin8u_table:7::print_word:49::print_byte:88::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#46 ] ) -- _deref_pbuz1=vbuaa + //SEG187 [83] *((byte*) char_cursor#62) ← (byte) print_char::ch#4 [ char_cursor#62 ] ( main:2::sin8u_table:7::print_byte:19::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_byte:23::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_byte:27::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_byte:31::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_byte:62::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_word:15::print_byte:103::print_char:77 [ sin8u_table::step#0 print_word::w#3 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_word:50::print_byte:103::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_word:15::print_byte:105::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_word:50::print_byte:105::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#62 ] main:2::sin8u_table:7::print_byte:19::print_char:80 [ sin8u_table::step#0 char_cursor#62 ] main:2::sin8u_table:7::print_byte:23::print_char:80 [ sin8u_table::step#0 char_cursor#62 ] main:2::sin8u_table:7::print_byte:27::print_char:80 [ sin8u_table::step#0 char_cursor#62 ] main:2::sin8u_table:7::print_byte:31::print_char:80 [ sin8u_table::step#0 char_cursor#62 ] main:2::sin8u_table:7::print_byte:62::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#62 ] main:2::sin8u_table:7::print_word:15::print_byte:103::print_char:80 [ sin8u_table::step#0 print_word::w#3 char_cursor#62 ] main:2::sin8u_table:7::print_word:50::print_byte:103::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#62 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#62 ] main:2::sin8u_table:7::print_word:15::print_byte:105::print_char:80 [ sin8u_table::step#0 char_cursor#62 ] main:2::sin8u_table:7::print_word:50::print_byte:105::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#62 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#62 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#62 ] main:2::sin8u_table:7::print_sword:58::print_char:95 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_sword::w#1 char_cursor#62 ] main:2::sin8u_table:7::print_sbyte:54::print_char:109 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_sbyte::b#1 char_cursor#62 ] ) -- _deref_pbuz1=vbuaa ldy #0 sta (char_cursor),y - //SEG167 [75] (byte*) char_cursor#11 ← ++ (byte*) char_cursor#46 [ char_cursor#11 ] ( main:2::sin8u_table:7::print_byte:19::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:23::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:27::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:31::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:53::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:86::print_char:68 [ sin8u_table::step#0 print_word::w#2 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:86::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:88::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:88::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:19::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:23::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:27::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:31::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:53::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:86::print_char:71 [ sin8u_table::step#0 print_word::w#2 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:86::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:88::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:88::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 ] ) -- pbuz1=_inc_pbuz1 + //SEG188 [84] (byte*) char_cursor#17 ← ++ (byte*) char_cursor#62 [ char_cursor#17 ] ( main:2::sin8u_table:7::print_byte:19::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_byte:23::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_byte:27::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_byte:31::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_byte:62::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:103::print_char:77 [ sin8u_table::step#0 print_word::w#3 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:103::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:105::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:105::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_byte:19::print_char:80 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:23::print_char:80 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:27::print_char:80 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:31::print_char:80 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:62::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:103::print_char:80 [ sin8u_table::step#0 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:103::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:105::print_char:80 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:105::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_char:95 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_sword::w#1 char_cursor#17 ] main:2::sin8u_table:7::print_sbyte:54::print_char:109 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_sbyte::b#1 char_cursor#17 ] ) -- pbuz1=_inc_pbuz1 inc char_cursor bne !+ inc char_cursor+1 !: - //SEG168 print_char::@return - //SEG169 [76] return [ char_cursor#11 ] ( main:2::sin8u_table:7::print_byte:19::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:23::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:27::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:31::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:53::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:86::print_char:68 [ sin8u_table::step#0 print_word::w#2 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:86::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:88::print_char:68 [ sin8u_table::step#0 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:88::print_char:68 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_byte::b#7 char_cursor#11 ] main:2::sin8u_table:7::print_byte:19::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:23::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:27::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:31::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_byte:53::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 line_cursor#1 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:86::print_char:71 [ sin8u_table::step#0 print_word::w#2 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:86::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_word::w#2 char_cursor#11 ] main:2::sin8u_table:7::print_word:15::print_byte:88::print_char:71 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_word:49::print_byte:88::print_char:71 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 ] ) + //SEG189 print_char::@return + //SEG190 [85] return [ char_cursor#17 ] ( main:2::sin8u_table:7::print_byte:19::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_byte:23::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_byte:27::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_byte:31::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_byte:62::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:103::print_char:77 [ sin8u_table::step#0 print_word::w#3 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:103::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:105::print_char:77 [ sin8u_table::step#0 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:105::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113::print_char:77 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#8 char_cursor#17 ] main:2::sin8u_table:7::print_byte:19::print_char:80 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:23::print_char:80 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:27::print_char:80 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:31::print_char:80 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_byte:62::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:103::print_char:80 [ sin8u_table::step#0 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:103::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:103::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_word::w#3 char_cursor#17 ] main:2::sin8u_table:7::print_word:15::print_byte:105::print_char:80 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_word:50::print_byte:105::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99::print_byte:105::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sbyte:54::print_byte:113::print_char:80 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_char:95 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_sword::w#1 char_cursor#17 ] main:2::sin8u_table:7::print_sbyte:54::print_char:109 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_sbyte::b#1 char_cursor#17 ] ) rts } -//SEG170 print_str +//SEG191 print_str print_str: { - .label str = $d - //SEG171 [78] phi from print_str print_str::@2 to print_str::@1 [phi:print_str/print_str::@2->print_str::@1] - //SEG172 [78] phi (byte*) char_cursor#2 = (byte*) char_cursor#78 [phi:print_str/print_str::@2->print_str::@1#0] -- register_copy - //SEG173 [78] phi (byte*) print_str::str#8 = (byte*) print_str::str#10 [phi:print_str/print_str::@2->print_str::@1#1] -- register_copy - //SEG174 print_str::@1 + .label str = $b + //SEG192 [87] phi from print_str print_str::@2 to print_str::@1 [phi:print_str/print_str::@2->print_str::@1] + //SEG193 [87] phi (byte*) char_cursor#2 = (byte*) char_cursor#102 [phi:print_str/print_str::@2->print_str::@1#0] -- register_copy + //SEG194 [87] phi (byte*) print_str::str#10 = (byte*) print_str::str#12 [phi:print_str/print_str::@2->print_str::@1#1] -- register_copy + //SEG195 print_str::@1 b1: - //SEG175 [79] if(*((byte*) print_str::str#8)!=(byte) '@') goto print_str::@2 [ char_cursor#2 print_str::str#8 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:47 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:51 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 print_str::str#8 ] ) -- _deref_pbuz1_neq_vbuc1_then_la1 + //SEG196 [88] if(*((byte*) print_str::str#10)!=(byte) '@') goto print_str::@2 [ char_cursor#2 print_str::str#10 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:48 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:52 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:56 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:60 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] ) -- _deref_pbuz1_neq_vbuc1_then_la1 ldy #0 lda (str),y cmp #'@' bne b2 - //SEG176 print_str::@return - //SEG177 [80] return [ char_cursor#2 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 char_cursor#2 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 char_cursor#2 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 char_cursor#2 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 char_cursor#2 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 char_cursor#2 ] main:2::sin8u_table:7::print_str:47 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 ] main:2::sin8u_table:7::print_str:51 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 ] ) + //SEG197 print_str::@return + //SEG198 [89] return [ char_cursor#2 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 char_cursor#2 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 char_cursor#2 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 char_cursor#2 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 char_cursor#2 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 char_cursor#2 ] main:2::sin8u_table:7::print_str:48 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] main:2::sin8u_table:7::print_str:52 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] main:2::sin8u_table:7::print_str:56 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] main:2::sin8u_table:7::print_str:60 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 ] ) rts - //SEG178 print_str::@2 + //SEG199 print_str::@2 b2: - //SEG179 [81] *((byte*) char_cursor#2) ← *((byte*) print_str::str#8) [ char_cursor#2 print_str::str#8 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:47 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 print_str::str#8 ] main:2::sin8u_table:7::print_str:51 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 print_str::str#8 ] ) -- _deref_pbuz1=_deref_pbuz2 + //SEG200 [90] *((byte*) char_cursor#2) ← *((byte*) print_str::str#10) [ char_cursor#2 print_str::str#10 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:48 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:52 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:56 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] main:2::sin8u_table:7::print_str:60 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#2 print_str::str#10 ] ) -- _deref_pbuz1=_deref_pbuz2 ldy #0 lda (str),y sta (char_cursor),y - //SEG180 [82] (byte*) char_cursor#1 ← ++ (byte*) char_cursor#2 [ print_str::str#8 char_cursor#1 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 print_str::str#8 char_cursor#1 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 print_str::str#8 char_cursor#1 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 print_str::str#8 char_cursor#1 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 print_str::str#8 char_cursor#1 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 print_str::str#8 char_cursor#1 ] main:2::sin8u_table:7::print_str:47 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_str::str#8 char_cursor#1 ] main:2::sin8u_table:7::print_str:51 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_str::str#8 char_cursor#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG201 [91] (byte*) char_cursor#1 ← ++ (byte*) char_cursor#2 [ print_str::str#10 char_cursor#1 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 print_str::str#10 char_cursor#1 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 print_str::str#10 char_cursor#1 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 print_str::str#10 char_cursor#1 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 print_str::str#10 char_cursor#1 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 print_str::str#10 char_cursor#1 ] main:2::sin8u_table:7::print_str:48 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::sin8u_table:7::print_str:52 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::sin8u_table:7::print_str:56 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_str::str#10 char_cursor#1 ] main:2::sin8u_table:7::print_str:60 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_str::str#10 char_cursor#1 ] ) -- pbuz1=_inc_pbuz1 inc char_cursor bne !+ inc char_cursor+1 !: - //SEG181 [83] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#8 [ print_str::str#0 char_cursor#1 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:47 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:51 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 print_str::str#0 char_cursor#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG202 [92] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#10 [ print_str::str#0 char_cursor#1 ] ( main:2::sin8u_table:7::print_str:13 [ sin8u_table::step#0 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:17 [ sin8u_table::step#0 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:21 [ sin8u_table::step#0 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:25 [ sin8u_table::step#0 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:29 [ sin8u_table::step#0 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:48 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:52 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:56 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::sin8u_table:7::print_str:60 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_str::str#0 char_cursor#1 ] ) -- pbuz1=_inc_pbuz1 inc str bne !+ inc str+1 !: jmp b1 } -//SEG182 print_word +//SEG203 print_sword +print_sword: { + .label w = $b + //SEG204 [93] if((signed word) print_sword::w#1>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto print_sword::@1 [ print_sword::w#1 char_cursor#2 ] ( main:2::sin8u_table:7::print_sword:58 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_sword::w#1 char_cursor#2 ] ) -- vwsz1_ge_0_then_la1 + lda w+1 + bpl b1 + //SEG205 [94] phi from print_sword to print_sword::@2 [phi:print_sword->print_sword::@2] + //SEG206 print_sword::@2 + //SEG207 [95] call print_char param-assignment [ print_sword::w#1 char_cursor#17 ] ( main:2::sin8u_table:7::print_sword:58 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_sword::w#1 char_cursor#17 ] ) + //SEG208 [82] phi from print_sword::@2 to print_char [phi:print_sword::@2->print_char] + //SEG209 [82] phi (byte*) char_cursor#62 = (byte*) char_cursor#2 [phi:print_sword::@2->print_char#0] -- register_copy + //SEG210 [82] phi (byte) print_char::ch#4 = (byte) '-' [phi:print_sword::@2->print_char#1] -- vbuaa=vbuc1 + lda #'-' + jsr print_char + //SEG211 print_sword::@4 + //SEG212 [96] (signed word) print_sword::w#0 ← - (signed word) print_sword::w#1 [ char_cursor#17 print_sword::w#0 ] ( main:2::sin8u_table:7::print_sword:58 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_sword::w#0 ] ) -- vwsz1=_neg_vwsz1 + sec + lda w + eor #$ff + adc #0 + sta w + lda w+1 + eor #$ff + adc #0 + sta w+1 + //SEG213 [97] phi from print_sword print_sword::@4 to print_sword::@1 [phi:print_sword/print_sword::@4->print_sword::@1] + //SEG214 [97] phi (byte*) char_cursor#92 = (byte*) char_cursor#2 [phi:print_sword/print_sword::@4->print_sword::@1#0] -- register_copy + //SEG215 [97] phi (signed word) print_sword::w#3 = (signed word) print_sword::w#1 [phi:print_sword/print_sword::@4->print_sword::@1#1] -- register_copy + //SEG216 print_sword::@1 + b1: + //SEG217 [98] (word~) print_word::w#5 ← (word)(signed word) print_sword::w#3 [ char_cursor#92 print_word::w#5 ] ( main:2::sin8u_table:7::print_sword:58 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#92 print_word::w#5 ] ) + // (word~) print_word::w#5 = (word)(signed word) print_sword::w#3 // register copy zp ZP_WORD:11 + //SEG218 [99] call print_word param-assignment [ char_cursor#17 ] ( main:2::sin8u_table:7::print_sword:58 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) + //SEG219 [101] phi from print_sword::@1 to print_word [phi:print_sword::@1->print_word] + //SEG220 [101] phi (byte*) char_cursor#96 = (byte*) char_cursor#92 [phi:print_sword::@1->print_word#0] -- register_copy + //SEG221 [101] phi (word) print_word::w#3 = (word~) print_word::w#5 [phi:print_sword::@1->print_word#1] -- register_copy + jsr print_word + //SEG222 print_sword::@return + //SEG223 [100] return [ char_cursor#17 ] ( main:2::sin8u_table:7::print_sword:58 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) + rts +} +//SEG224 print_word print_word: { - .label w = 2 - //SEG183 [85] (byte) print_byte::b#0 ← > (word) print_word::w#2 [ char_cursor#2 print_byte::b#0 print_word::w#2 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#2 print_byte::b#0 print_word::w#2 ] main:2::sin8u_table:7::print_word:49 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#2 print_byte::b#0 print_word::w#2 ] ) -- vbuz1=_hi_vwuz2 + .label w = $b + //SEG225 [102] (byte) print_byte::b#1 ← > (word) print_word::w#3 [ print_byte::b#1 char_cursor#96 print_word::w#3 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 print_byte::b#1 char_cursor#96 print_word::w#3 ] main:2::sin8u_table:7::print_word:50 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#1 char_cursor#96 print_word::w#3 ] main:2::sin8u_table:7::print_sword:58::print_word:99 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#1 char_cursor#96 print_word::w#3 ] ) -- vbuz1=_hi_vwuz2 lda w+1 sta print_byte.b - //SEG184 [86] call print_byte param-assignment [ char_cursor#11 print_word::w#2 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#11 print_word::w#2 ] main:2::sin8u_table:7::print_word:49 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 print_word::w#2 ] ) - //SEG185 [65] phi from print_word to print_byte [phi:print_word->print_byte] - //SEG186 [65] phi (byte*) char_cursor#73 = (byte*) char_cursor#2 [phi:print_word->print_byte#0] -- register_copy - //SEG187 [65] phi (byte) print_byte::b#7 = (byte) print_byte::b#0 [phi:print_word->print_byte#1] -- register_copy + //SEG226 [103] call print_byte param-assignment [ char_cursor#17 print_word::w#3 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#17 print_word::w#3 ] main:2::sin8u_table:7::print_word:50 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_word::w#3 ] main:2::sin8u_table:7::print_sword:58::print_word:99 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_word::w#3 ] ) + //SEG227 [74] phi from print_word to print_byte [phi:print_word->print_byte] + //SEG228 [74] phi (byte*) char_cursor#97 = (byte*) char_cursor#96 [phi:print_word->print_byte#0] -- register_copy + //SEG229 [74] phi (byte) print_byte::b#8 = (byte) print_byte::b#1 [phi:print_word->print_byte#1] -- register_copy jsr print_byte - //SEG188 print_word::@1 - //SEG189 [87] (byte) print_byte::b#1 ← < (word) print_word::w#2 [ char_cursor#11 print_byte::b#1 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#11 print_byte::b#1 ] main:2::sin8u_table:7::print_word:49 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 print_byte::b#1 ] ) -- vbuz1=_lo_vwuz2 + //SEG230 print_word::@1 + //SEG231 [104] (byte) print_byte::b#2 ← < (word) print_word::w#3 [ char_cursor#17 print_byte::b#2 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#17 print_byte::b#2 ] main:2::sin8u_table:7::print_word:50 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_byte::b#2 ] main:2::sin8u_table:7::print_sword:58::print_word:99 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_byte::b#2 ] ) -- vbuz1=_lo_vwuz2 lda w sta print_byte.b - //SEG190 [88] call print_byte param-assignment [ char_cursor#11 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_word:49 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 ] ) - //SEG191 [65] phi from print_word::@1 to print_byte [phi:print_word::@1->print_byte] - //SEG192 [65] phi (byte*) char_cursor#73 = (byte*) char_cursor#11 [phi:print_word::@1->print_byte#0] -- register_copy - //SEG193 [65] phi (byte) print_byte::b#7 = (byte) print_byte::b#1 [phi:print_word::@1->print_byte#1] -- register_copy + //SEG232 [105] call print_byte param-assignment [ char_cursor#17 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_word:50 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) + //SEG233 [74] phi from print_word::@1 to print_byte [phi:print_word::@1->print_byte] + //SEG234 [74] phi (byte*) char_cursor#97 = (byte*) char_cursor#17 [phi:print_word::@1->print_byte#0] -- register_copy + //SEG235 [74] phi (byte) print_byte::b#8 = (byte) print_byte::b#2 [phi:print_word::@1->print_byte#1] -- register_copy jsr print_byte - //SEG194 print_word::@return - //SEG195 [89] return [ char_cursor#11 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#11 ] main:2::sin8u_table:7::print_word:49 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::i#2 sin8u_table::sintab#1 sin8u_table::sinval#0 line_cursor#1 char_cursor#11 ] ) + //SEG236 print_word::@return + //SEG237 [106] return [ char_cursor#17 ] ( main:2::sin8u_table:7::print_word:15 [ sin8u_table::step#0 char_cursor#17 ] main:2::sin8u_table:7::print_word:50 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx#0 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] main:2::sin8u_table:7::print_sword:58::print_word:99 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) rts } -//SEG196 mul8su +//SEG238 print_sbyte +print_sbyte: { + .label b = $a + //SEG239 [107] if((signed byte) print_sbyte::b#1>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto print_sbyte::@1 [ print_sbyte::b#1 char_cursor#2 ] ( main:2::sin8u_table:7::print_sbyte:54 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_sbyte::b#1 char_cursor#2 ] ) -- vbsz1_ge_0_then_la1 + lda b + cmp #0 + bpl b1 + //SEG240 [108] phi from print_sbyte to print_sbyte::@2 [phi:print_sbyte->print_sbyte::@2] + //SEG241 print_sbyte::@2 + //SEG242 [109] call print_char param-assignment [ print_sbyte::b#1 char_cursor#17 ] ( main:2::sin8u_table:7::print_sbyte:54 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_sbyte::b#1 char_cursor#17 ] ) + //SEG243 [82] phi from print_sbyte::@2 to print_char [phi:print_sbyte::@2->print_char] + //SEG244 [82] phi (byte*) char_cursor#62 = (byte*) char_cursor#2 [phi:print_sbyte::@2->print_char#0] -- register_copy + //SEG245 [82] phi (byte) print_char::ch#4 = (byte) '-' [phi:print_sbyte::@2->print_char#1] -- vbuaa=vbuc1 + lda #'-' + jsr print_char + //SEG246 print_sbyte::@4 + //SEG247 [110] (signed byte) print_sbyte::b#0 ← - (signed byte) print_sbyte::b#1 [ char_cursor#17 print_sbyte::b#0 ] ( main:2::sin8u_table:7::print_sbyte:54 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 print_sbyte::b#0 ] ) -- vbsz1=_neg_vbsz1 + lda b + eor #$ff + clc + adc #1 + sta b + //SEG248 [111] phi from print_sbyte print_sbyte::@4 to print_sbyte::@1 [phi:print_sbyte/print_sbyte::@4->print_sbyte::@1] + //SEG249 [111] phi (byte*) char_cursor#94 = (byte*) char_cursor#2 [phi:print_sbyte/print_sbyte::@4->print_sbyte::@1#0] -- register_copy + //SEG250 [111] phi (signed byte) print_sbyte::b#3 = (signed byte) print_sbyte::b#1 [phi:print_sbyte/print_sbyte::@4->print_sbyte::@1#1] -- register_copy + //SEG251 print_sbyte::@1 + b1: + //SEG252 [112] (byte~) print_byte::b#10 ← (byte)(signed byte) print_sbyte::b#3 [ print_byte::b#10 char_cursor#94 ] ( main:2::sin8u_table:7::print_sbyte:54 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 print_byte::b#10 char_cursor#94 ] ) + // (byte~) print_byte::b#10 = (byte)(signed byte) print_sbyte::b#3 // register copy zp ZP_BYTE:10 + //SEG253 [113] call print_byte param-assignment [ char_cursor#17 ] ( main:2::sin8u_table:7::print_sbyte:54 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) + //SEG254 [74] phi from print_sbyte::@1 to print_byte [phi:print_sbyte::@1->print_byte] + //SEG255 [74] phi (byte*) char_cursor#97 = (byte*) char_cursor#94 [phi:print_sbyte::@1->print_byte#0] -- register_copy + //SEG256 [74] phi (byte) print_byte::b#8 = (byte~) print_byte::b#10 [phi:print_sbyte::@1->print_byte#1] -- register_copy + jsr print_byte + //SEG257 print_sbyte::@return + //SEG258 [114] return [ char_cursor#17 ] ( main:2::sin8u_table:7::print_sbyte:54 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::i#10 sin8u_table::sintab#1 sin8u_table::sinx_sc#0 sin8u_table::sinx_tr#0 line_cursor#1 char_cursor#17 ] ) + rts +} +//SEG259 mul8su mul8su: { - .label m = $b - .label return = $b - //SEG197 [90] (byte~) mul8u::a#8 ← (byte)(signed byte) mul8su::a#0 [ mul8su::a#0 mul8u::a#8 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::a#8 ] ) -- vbuxx=vbuyy + .const b = sin8u_table.amplitude+1 + .label m = $f + .label return = $f + //SEG260 [115] (byte~) mul8u::a#8 ← (byte)(signed byte) mul8su::a#0 [ mul8su::a#0 mul8u::a#8 ] ( main:2::sin8u_table:7::mul8su:40 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::a#8 ] ) -- vbuxx=vbuyy tya tax - //SEG198 [91] call mul8u param-assignment [ mul8su::a#0 mul8u::res#2 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::res#2 ] ) - //SEG199 [100] phi from mul8su to mul8u [phi:mul8su->mul8u] - //SEG200 [100] phi (byte) mul8u::a#6 = (byte~) mul8u::a#8 [phi:mul8su->mul8u#0] -- register_copy - //SEG201 [100] phi (byte) mul8u::b#2 = ((byte))(const byte) sin8u_table::amplitude#0 [phi:mul8su->mul8u#1] -- vbuaa=vbuc1 - lda #sin8u_table.amplitude + //SEG261 [116] call mul8u param-assignment [ mul8su::a#0 mul8u::res#2 ] ( main:2::sin8u_table:7::mul8su:40 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::res#2 ] ) + //SEG262 [125] phi from mul8su to mul8u [phi:mul8su->mul8u] + //SEG263 [125] phi (byte) mul8u::a#6 = (byte~) mul8u::a#8 [phi:mul8su->mul8u#0] -- register_copy + //SEG264 [125] phi (byte) mul8u::b#2 = ((byte))(const byte) mul8su::b#0 [phi:mul8su->mul8u#1] -- vbuaa=vbuc1 + lda #b jsr mul8u - //SEG202 [92] (word) mul8u::return#2 ← (word) mul8u::res#2 [ mul8su::a#0 mul8u::return#2 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::return#2 ] ) - // (word) mul8u::return#2 = (word) mul8u::res#2 // register copy zp ZP_WORD:11 - //SEG203 mul8su::@4 - //SEG204 [93] (word) mul8su::m#0 ← (word) mul8u::return#2 [ mul8su::a#0 mul8su::m#0 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8su::m#0 ] ) - // (word) mul8su::m#0 = (word) mul8u::return#2 // register copy zp ZP_WORD:11 - //SEG205 [94] if((signed byte) mul8su::a#0>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8su::@1 [ mul8su::m#0 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::m#0 ] ) -- vbsyy_ge_0_then_la1 + //SEG265 [117] (word) mul8u::return#2 ← (word) mul8u::res#2 [ mul8su::a#0 mul8u::return#2 ] ( main:2::sin8u_table:7::mul8su:40 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::return#2 ] ) + // (word) mul8u::return#2 = (word) mul8u::res#2 // register copy zp ZP_WORD:15 + //SEG266 mul8su::@4 + //SEG267 [118] (word) mul8su::m#0 ← (word) mul8u::return#2 [ mul8su::a#0 mul8su::m#0 ] ( main:2::sin8u_table:7::mul8su:40 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8su::m#0 ] ) + // (word) mul8su::m#0 = (word) mul8u::return#2 // register copy zp ZP_WORD:15 + //SEG268 [119] if((signed byte) mul8su::a#0>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8su::@1 [ mul8su::m#0 ] ( main:2::sin8u_table:7::mul8su:40 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::m#0 ] ) -- vbsyy_ge_0_then_la1 cpy #0 bpl b1 - //SEG206 mul8su::@2 - //SEG207 [95] (byte~) mul8su::$6 ← > (word) mul8su::m#0 [ mul8su::m#0 mul8su::$6 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::m#0 mul8su::$6 ] ) -- vbuaa=_hi_vwuz1 + //SEG269 mul8su::@2 + //SEG270 [120] (byte~) mul8su::$6 ← > (word) mul8su::m#0 [ mul8su::m#0 mul8su::$6 ] ( main:2::sin8u_table:7::mul8su:40 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::m#0 mul8su::$6 ] ) -- vbuaa=_hi_vwuz1 lda m+1 - //SEG208 [96] (byte/signed byte/word/signed word/dword/signed dword~) mul8su::$10 ← (byte~) mul8su::$6 - ((byte))(const byte) sin8u_table::amplitude#0 [ mul8su::m#0 mul8su::$10 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::m#0 mul8su::$10 ] ) -- vbuaa=vbuaa_minus_vbuc1 + //SEG271 [121] (byte/signed byte/word/signed word/dword/signed dword~) mul8su::$10 ← (byte~) mul8su::$6 - ((byte))(const byte) mul8su::b#0 [ mul8su::m#0 mul8su::$10 ] ( main:2::sin8u_table:7::mul8su:40 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::m#0 mul8su::$10 ] ) -- vbuaa=vbuaa_minus_vbuc1 sec - sbc #sin8u_table.amplitude - //SEG209 [97] (word) mul8su::m#1 ← (word) mul8su::m#0 hi= (byte/signed byte/word/signed word/dword/signed dword~) mul8su::$10 [ mul8su::m#1 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::m#1 ] ) -- vwuz1=vwuz1_sethi_vbuaa + sbc #b + //SEG272 [122] (word) mul8su::m#1 ← (word) mul8su::m#0 hi= (byte/signed byte/word/signed word/dword/signed dword~) mul8su::$10 [ mul8su::m#1 ] ( main:2::sin8u_table:7::mul8su:40 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::m#1 ] ) -- vwuz1=vwuz1_sethi_vbuaa sta m+1 - //SEG210 [98] phi from mul8su::@2 mul8su::@4 to mul8su::@1 [phi:mul8su::@2/mul8su::@4->mul8su::@1] - //SEG211 [98] phi (word) mul8su::m#2 = (word) mul8su::m#1 [phi:mul8su::@2/mul8su::@4->mul8su::@1#0] -- register_copy - //SEG212 mul8su::@1 + //SEG273 [123] phi from mul8su::@2 mul8su::@4 to mul8su::@1 [phi:mul8su::@2/mul8su::@4->mul8su::@1] + //SEG274 [123] phi (word) mul8su::m#2 = (word) mul8su::m#1 [phi:mul8su::@2/mul8su::@4->mul8su::@1#0] -- register_copy + //SEG275 mul8su::@1 b1: - //SEG213 mul8su::@return - //SEG214 [99] return [ mul8su::m#2 ] ( main:2::sin8u_table:7::mul8su:39 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::m#2 ] ) + //SEG276 mul8su::@return + //SEG277 [124] return [ mul8su::m#2 ] ( main:2::sin8u_table:7::mul8su:40 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::m#2 ] ) rts } -//SEG215 mul8u +//SEG278 mul8u mul8u: { - .label mb = $d - .label res = $b - .label return = $b - //SEG216 [101] (word) mul8u::mb#0 ← ((word)) (byte) mul8u::b#2 [ mul8u::a#6 mul8u::mb#0 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] ) -- vwuz1=_word_vbuaa + .label mb = $b + .label res = $f + .label return = $f + //SEG279 [126] (word) mul8u::mb#0 ← ((word)) (byte) mul8u::b#2 [ mul8u::a#6 mul8u::mb#0 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#6 mul8u::mb#0 ] ) -- vwuz1=_word_vbuaa sta mb lda #0 sta mb+1 - //SEG217 [102] phi from mul8u to mul8u::@1 [phi:mul8u->mul8u::@1] - //SEG218 [102] phi (word) mul8u::mb#2 = (word) mul8u::mb#0 [phi:mul8u->mul8u::@1#0] -- register_copy - //SEG219 [102] phi (word) mul8u::res#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mul8u->mul8u::@1#1] -- vwuz1=vbuc1 + //SEG280 [127] phi from mul8u to mul8u::@1 [phi:mul8u->mul8u::@1] + //SEG281 [127] phi (word) mul8u::mb#2 = (word) mul8u::mb#0 [phi:mul8u->mul8u::@1#0] -- register_copy + //SEG282 [127] phi (word) mul8u::res#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:mul8u->mul8u::@1#1] -- vwuz1=vbuc1 sta res sta res+1 - //SEG220 [102] phi (byte) mul8u::a#3 = (byte) mul8u::a#6 [phi:mul8u->mul8u::@1#2] -- register_copy - //SEG221 mul8u::@1 + //SEG283 [127] phi (byte) mul8u::a#3 = (byte) mul8u::a#6 [phi:mul8u->mul8u::@1#2] -- register_copy + //SEG284 mul8u::@1 b1: - //SEG222 [103] if((byte) mul8u::a#3!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@2 [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ) -- vbuxx_neq_0_then_la1 + //SEG285 [128] if((byte) mul8u::a#3!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@2 [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ) -- vbuxx_neq_0_then_la1 cpx #0 bne b2 - //SEG223 mul8u::@return - //SEG224 [104] return [ mul8u::res#2 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::res#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 ] ) + //SEG286 mul8u::@return + //SEG287 [129] return [ mul8u::res#2 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::res#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 ] ) rts - //SEG225 mul8u::@2 + //SEG288 mul8u::@2 b2: - //SEG226 [105] (byte~) mul8u::$1 ← (byte) mul8u::a#3 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] ) -- vbuaa=vbuxx_band_vbuc1 + //SEG289 [130] (byte~) mul8u::$1 ← (byte) mul8u::a#3 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 mul8u::$1 ] ) -- vbuaa=vbuxx_band_vbuc1 txa and #1 - //SEG227 [106] if((byte~) mul8u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@4 [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ) -- vbuaa_eq_0_then_la1 + //SEG290 [131] if((byte~) mul8u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@4 [ mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#3 mul8u::mb#2 ] ) -- vbuaa_eq_0_then_la1 cmp #0 beq b4 - //SEG228 mul8u::@7 - //SEG229 [107] (word) mul8u::res#1 ← (word) mul8u::res#2 + (word) mul8u::mb#2 [ mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] ) -- vwuz1=vwuz1_plus_vwuz2 + //SEG291 mul8u::@7 + //SEG292 [132] (word) mul8u::res#1 ← (word) mul8u::res#2 + (word) mul8u::mb#2 [ mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#3 mul8u::mb#2 mul8u::res#1 ] ) -- vwuz1=vwuz1_plus_vwuz2 lda res clc adc mb @@ -10127,33 +11268,33 @@ mul8u: { lda res+1 adc mb+1 sta res+1 - //SEG230 [108] phi from mul8u::@2 mul8u::@7 to mul8u::@4 [phi:mul8u::@2/mul8u::@7->mul8u::@4] - //SEG231 [108] phi (word) mul8u::res#6 = (word) mul8u::res#2 [phi:mul8u::@2/mul8u::@7->mul8u::@4#0] -- register_copy - //SEG232 mul8u::@4 + //SEG293 [133] phi from mul8u::@2 mul8u::@7 to mul8u::@4 [phi:mul8u::@2/mul8u::@7->mul8u::@4] + //SEG294 [133] phi (word) mul8u::res#6 = (word) mul8u::res#2 [phi:mul8u::@2/mul8u::@7->mul8u::@4#0] -- register_copy + //SEG295 mul8u::@4 b4: - //SEG233 [109] (byte) mul8u::a#0 ← (byte) mul8u::a#3 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] ) -- vbuxx=vbuxx_ror_1 + //SEG296 [134] (byte) mul8u::a#0 ← (byte) mul8u::a#3 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] ) -- vbuxx=vbuxx_ror_1 txa lsr tax - //SEG234 [110] (word) mul8u::mb#1 ← (word) mul8u::mb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] ( main:2::sin8u_table:7::mul8su:39::mul8u:91 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 mul8su::a#0 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:121::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141::mul8u:157 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] ) -- vwuz1=vwuz1_rol_1 + //SEG297 [135] (word) mul8u::mb#1 ← (word) mul8u::mb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] ( main:2::sin8u_table:7::mul8su:40::mul8u:116 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 sin8u_table::sinx#0 line_cursor#1 mul8su::a#0 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:146::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166::mul8u:182 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] ) -- vwuz1=vwuz1_rol_1 asl mb rol mb+1 - //SEG235 [102] phi from mul8u::@4 to mul8u::@1 [phi:mul8u::@4->mul8u::@1] - //SEG236 [102] phi (word) mul8u::mb#2 = (word) mul8u::mb#1 [phi:mul8u::@4->mul8u::@1#0] -- register_copy - //SEG237 [102] phi (word) mul8u::res#2 = (word) mul8u::res#6 [phi:mul8u::@4->mul8u::@1#1] -- register_copy - //SEG238 [102] phi (byte) mul8u::a#3 = (byte) mul8u::a#0 [phi:mul8u::@4->mul8u::@1#2] -- register_copy + //SEG298 [127] phi from mul8u::@4 to mul8u::@1 [phi:mul8u::@4->mul8u::@1] + //SEG299 [127] phi (word) mul8u::mb#2 = (word) mul8u::mb#1 [phi:mul8u::@4->mul8u::@1#0] -- register_copy + //SEG300 [127] phi (word) mul8u::res#2 = (word) mul8u::res#6 [phi:mul8u::@4->mul8u::@1#1] -- register_copy + //SEG301 [127] phi (byte) mul8u::a#3 = (byte) mul8u::a#0 [phi:mul8u::@4->mul8u::@1#2] -- register_copy jmp b1 } -//SEG239 sin8s +//SEG302 sin8s sin8s: { .const DIV_6 = $2b .label _6 = $b .label x = $b - .label x1 = $12 - .label x3 = $13 - .label usinx = $14 + .label x1 = $14 + .label x3 = $15 + .label usinx = $16 .label isUpper = $a - //SEG240 [111] if((word) sin8s::x#2<(const word) PI_u4f12#0) goto sin8s::@1 [ sin8s::x#2 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::x#2 ] ) -- vwuz1_lt_vwuc1_then_la1 + //SEG303 [136] if((word) sin8s::x#2<(const word) PI_u4f12#0) goto sin8s::@1 [ sin8s::x#2 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::x#2 ] ) -- vwuz1_lt_vwuc1_then_la1 lda x+1 cmp #>PI_u4f12 bcc b5 @@ -10162,8 +11303,8 @@ sin8s: { cmp #PI_u4f12 sta x+1 - //SEG243 [113] phi from sin8s::@5 to sin8s::@1 [phi:sin8s::@5->sin8s::@1] - //SEG244 [113] phi (byte) sin8s::isUpper#10 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin8s::@5->sin8s::@1#0] -- vbuz1=vbuc1 + //SEG306 [138] phi from sin8s::@5 to sin8s::@1 [phi:sin8s::@5->sin8s::@1] + //SEG307 [138] phi (byte) sin8s::isUpper#10 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin8s::@5->sin8s::@1#0] -- vbuz1=vbuc1 lda #1 sta isUpper - //SEG245 [113] phi (word) sin8s::x#4 = (word) sin8s::x#0 [phi:sin8s::@5->sin8s::@1#1] -- register_copy + //SEG308 [138] phi (word) sin8s::x#4 = (word) sin8s::x#0 [phi:sin8s::@5->sin8s::@1#1] -- register_copy jmp b1 - //SEG246 [113] phi from sin8s to sin8s::@1 [phi:sin8s->sin8s::@1] + //SEG309 [138] phi from sin8s to sin8s::@1 [phi:sin8s->sin8s::@1] b5: - //SEG247 [113] phi (byte) sin8s::isUpper#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s->sin8s::@1#0] -- vbuz1=vbuc1 + //SEG310 [138] phi (byte) sin8s::isUpper#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s->sin8s::@1#0] -- vbuz1=vbuc1 lda #0 sta isUpper - //SEG248 [113] phi (word) sin8s::x#4 = (word) sin8s::x#2 [phi:sin8s->sin8s::@1#1] -- register_copy - //SEG249 sin8s::@1 + //SEG311 [138] phi (word) sin8s::x#4 = (word) sin8s::x#2 [phi:sin8s->sin8s::@1#1] -- register_copy + //SEG312 sin8s::@1 b1: - //SEG250 [114] if((word) sin8s::x#4<(const word) PI_HALF_u4f12#0) goto sin8s::@2 [ sin8s::x#4 sin8s::isUpper#10 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::x#4 sin8s::isUpper#10 ] ) -- vwuz1_lt_vwuc1_then_la1 + //SEG313 [139] if((word) sin8s::x#4<(const word) PI_HALF_u4f12#0) goto sin8s::@2 [ sin8s::x#4 sin8s::isUpper#10 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::x#4 sin8s::isUpper#10 ] ) -- vwuz1_lt_vwuc1_then_la1 lda x+1 cmp #>PI_HALF_u4f12 bcc b2 @@ -10194,8 +11335,8 @@ sin8s: { cmp #PI_u4f12 sbc x+1 sta x+1 - //SEG253 [116] phi from sin8s::@1 sin8s::@6 to sin8s::@2 [phi:sin8s::@1/sin8s::@6->sin8s::@2] - //SEG254 [116] phi (word) sin8s::x#6 = (word) sin8s::x#4 [phi:sin8s::@1/sin8s::@6->sin8s::@2#0] -- register_copy - //SEG255 sin8s::@2 + //SEG316 [141] phi from sin8s::@1 sin8s::@6 to sin8s::@2 [phi:sin8s::@1/sin8s::@6->sin8s::@2] + //SEG317 [141] phi (word) sin8s::x#6 = (word) sin8s::x#4 [phi:sin8s::@1/sin8s::@6->sin8s::@2#0] -- register_copy + //SEG318 sin8s::@2 b2: - //SEG256 [117] (word~) sin8s::$6 ← (word) sin8s::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin8s::isUpper#10 sin8s::$6 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::$6 ] ) -- vwuz1=vwuz1_rol_3 + //SEG319 [142] (word~) sin8s::$6 ← (word) sin8s::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin8s::isUpper#10 sin8s::$6 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::$6 ] ) -- vwuz1=vwuz1_rol_3 asl _6 rol _6+1 asl _6 rol _6+1 asl _6 rol _6+1 - //SEG257 [118] (byte) sin8s::x1#0 ← > (word~) sin8s::$6 [ sin8s::isUpper#10 sin8s::x1#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 ] ) -- vbuz1=_hi_vwuz2 + //SEG320 [143] (byte) sin8s::x1#0 ← > (word~) sin8s::$6 [ sin8s::isUpper#10 sin8s::x1#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 ] ) -- vbuz1=_hi_vwuz2 lda _6+1 sta x1 - //SEG258 [119] (byte) mulu8_sel::v1#0 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 ] ) -- vbuxx=vbuz1 + //SEG321 [144] (byte) mulu8_sel::v1#0 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 ] ) -- vbuxx=vbuz1 tax - //SEG259 [120] (byte) mulu8_sel::v2#0 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 mulu8_sel::v2#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 mulu8_sel::v2#0 ] ) -- vbuyy=vbuz1 + //SEG322 [145] (byte) mulu8_sel::v2#0 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 mulu8_sel::v2#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 mulu8_sel::v2#0 ] ) -- vbuyy=vbuz1 tay - //SEG260 [121] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ) - //SEG261 [154] phi from sin8s::@2 to mulu8_sel [phi:sin8s::@2->mulu8_sel] - //SEG262 [154] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s::@2->mulu8_sel#0] -- vbuz1=vbuc1 + //SEG323 [146] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ) + //SEG324 [179] phi from sin8s::@2 to mulu8_sel [phi:sin8s::@2->mulu8_sel] + //SEG325 [179] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s::@2->mulu8_sel#0] -- vbuz1=vbuc1 lda #0 sta mulu8_sel.select - //SEG263 [154] phi (byte) mulu8_sel::v2#5 = (byte) mulu8_sel::v2#0 [phi:sin8s::@2->mulu8_sel#1] -- register_copy - //SEG264 [154] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#0 [phi:sin8s::@2->mulu8_sel#2] -- register_copy + //SEG326 [179] phi (byte) mulu8_sel::v2#5 = (byte) mulu8_sel::v2#0 [phi:sin8s::@2->mulu8_sel#1] -- register_copy + //SEG327 [179] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#0 [phi:sin8s::@2->mulu8_sel#2] -- register_copy jsr mulu8_sel - //SEG265 [122] (byte) mulu8_sel::return#0 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#0 ] ) + //SEG328 [147] (byte) mulu8_sel::return#0 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#0 ] ) // (byte) mulu8_sel::return#0 = (byte) mulu8_sel::return#12 // register copy reg byte a - //SEG266 sin8s::@10 - //SEG267 [123] (byte) sin8s::x2#0 ← (byte) mulu8_sel::return#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x2#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x2#0 ] ) + //SEG329 sin8s::@10 + //SEG330 [148] (byte) sin8s::x2#0 ← (byte) mulu8_sel::return#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x2#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x2#0 ] ) // (byte) sin8s::x2#0 = (byte) mulu8_sel::return#0 // register copy reg byte a - //SEG268 [124] (byte) mulu8_sel::v1#1 ← (byte) sin8s::x2#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 ] ) -- vbuxx=vbuaa + //SEG331 [149] (byte) mulu8_sel::v1#1 ← (byte) sin8s::x2#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 ] ) -- vbuxx=vbuaa tax - //SEG269 [125] (byte) mulu8_sel::v2#1 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 mulu8_sel::v2#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 mulu8_sel::v2#1 ] ) -- vbuyy=vbuz1 + //SEG332 [150] (byte) mulu8_sel::v2#1 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 mulu8_sel::v2#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 mulu8_sel::v2#1 ] ) -- vbuyy=vbuz1 ldy x1 - //SEG270 [126] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ) - //SEG271 [154] phi from sin8s::@10 to mulu8_sel [phi:sin8s::@10->mulu8_sel] - //SEG272 [154] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin8s::@10->mulu8_sel#0] -- vbuz1=vbuc1 + //SEG333 [151] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ) + //SEG334 [179] phi from sin8s::@10 to mulu8_sel [phi:sin8s::@10->mulu8_sel] + //SEG335 [179] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin8s::@10->mulu8_sel#0] -- vbuz1=vbuc1 lda #1 sta mulu8_sel.select - //SEG273 [154] phi (byte) mulu8_sel::v2#5 = (byte) mulu8_sel::v2#1 [phi:sin8s::@10->mulu8_sel#1] -- register_copy - //SEG274 [154] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#1 [phi:sin8s::@10->mulu8_sel#2] -- register_copy + //SEG336 [179] phi (byte) mulu8_sel::v2#5 = (byte) mulu8_sel::v2#1 [phi:sin8s::@10->mulu8_sel#1] -- register_copy + //SEG337 [179] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#1 [phi:sin8s::@10->mulu8_sel#2] -- register_copy jsr mulu8_sel - //SEG275 [127] (byte) mulu8_sel::return#1 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#1 ] ) + //SEG338 [152] (byte) mulu8_sel::return#1 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#1 ] ) // (byte) mulu8_sel::return#1 = (byte) mulu8_sel::return#12 // register copy reg byte a - //SEG276 sin8s::@11 - //SEG277 [128] (byte) sin8s::x3#0 ← (byte) mulu8_sel::return#1 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 ] ) -- vbuz1=vbuaa + //SEG339 sin8s::@11 + //SEG340 [153] (byte) sin8s::x3#0 ← (byte) mulu8_sel::return#1 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 ] ) -- vbuz1=vbuaa sta x3 - //SEG278 [129] (byte) mulu8_sel::v1#2 ← (byte) sin8s::x3#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#2 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#2 ] ) -- vbuxx=vbuz1 + //SEG341 [154] (byte) mulu8_sel::v1#2 ← (byte) sin8s::x3#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#2 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#2 ] ) -- vbuxx=vbuz1 tax - //SEG279 [130] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::x3#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::x3#0 ] ) - //SEG280 [154] phi from sin8s::@11 to mulu8_sel [phi:sin8s::@11->mulu8_sel] - //SEG281 [154] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin8s::@11->mulu8_sel#0] -- vbuz1=vbuc1 + //SEG342 [155] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::x3#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::x3#0 ] ) + //SEG343 [179] phi from sin8s::@11 to mulu8_sel [phi:sin8s::@11->mulu8_sel] + //SEG344 [179] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 1 [phi:sin8s::@11->mulu8_sel#0] -- vbuz1=vbuc1 lda #1 sta mulu8_sel.select - //SEG282 [154] phi (byte) mulu8_sel::v2#5 = (const byte) sin8s::DIV_6#0 [phi:sin8s::@11->mulu8_sel#1] -- vbuyy=vbuc1 + //SEG345 [179] phi (byte) mulu8_sel::v2#5 = (const byte) sin8s::DIV_6#0 [phi:sin8s::@11->mulu8_sel#1] -- vbuyy=vbuc1 ldy #DIV_6 - //SEG283 [154] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#2 [phi:sin8s::@11->mulu8_sel#2] -- register_copy + //SEG346 [179] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#2 [phi:sin8s::@11->mulu8_sel#2] -- register_copy jsr mulu8_sel - //SEG284 [131] (byte) mulu8_sel::return#2 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#2 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#2 ] ) + //SEG347 [156] (byte) mulu8_sel::return#2 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#2 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#2 ] ) // (byte) mulu8_sel::return#2 = (byte) mulu8_sel::return#12 // register copy reg byte a - //SEG285 sin8s::@12 - //SEG286 [132] (byte) sin8s::x3_6#0 ← (byte) mulu8_sel::return#2 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::x3_6#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::x3_6#0 ] ) + //SEG348 sin8s::@12 + //SEG349 [157] (byte) sin8s::x3_6#0 ← (byte) mulu8_sel::return#2 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::x3_6#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::x3_6#0 ] ) // (byte) sin8s::x3_6#0 = (byte) mulu8_sel::return#2 // register copy reg byte a - //SEG287 [133] (byte) sin8s::usinx#0 ← (byte) sin8s::x1#0 - (byte) sin8s::x3_6#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::usinx#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::usinx#0 ] ) -- vbuz1=vbuz2_minus_vbuaa + //SEG350 [158] (byte) sin8s::usinx#0 ← (byte) sin8s::x1#0 - (byte) sin8s::x3_6#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::usinx#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::usinx#0 ] ) -- vbuz1=vbuz2_minus_vbuaa eor #$ff sec adc x1 sta usinx - //SEG288 [134] (byte) mulu8_sel::v1#3 ← (byte) sin8s::x3#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 ] ) -- vbuxx=vbuz1 + //SEG351 [159] (byte) mulu8_sel::v1#3 ← (byte) sin8s::x3#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 ] ) -- vbuxx=vbuz1 ldx x3 - //SEG289 [135] (byte) mulu8_sel::v2#3 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 mulu8_sel::v2#3 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 mulu8_sel::v2#3 ] ) -- vbuyy=vbuz1 + //SEG352 [160] (byte) mulu8_sel::v2#3 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 mulu8_sel::v2#3 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 mulu8_sel::v2#3 ] ) -- vbuyy=vbuz1 ldy x1 - //SEG290 [136] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::usinx#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::usinx#0 ] ) - //SEG291 [154] phi from sin8s::@12 to mulu8_sel [phi:sin8s::@12->mulu8_sel] - //SEG292 [154] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s::@12->mulu8_sel#0] -- vbuz1=vbuc1 + //SEG353 [161] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::usinx#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::usinx#0 ] ) + //SEG354 [179] phi from sin8s::@12 to mulu8_sel [phi:sin8s::@12->mulu8_sel] + //SEG355 [179] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s::@12->mulu8_sel#0] -- vbuz1=vbuc1 lda #0 sta mulu8_sel.select - //SEG293 [154] phi (byte) mulu8_sel::v2#5 = (byte) mulu8_sel::v2#3 [phi:sin8s::@12->mulu8_sel#1] -- register_copy - //SEG294 [154] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#3 [phi:sin8s::@12->mulu8_sel#2] -- register_copy + //SEG356 [179] phi (byte) mulu8_sel::v2#5 = (byte) mulu8_sel::v2#3 [phi:sin8s::@12->mulu8_sel#1] -- register_copy + //SEG357 [179] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#3 [phi:sin8s::@12->mulu8_sel#2] -- register_copy jsr mulu8_sel - //SEG295 [137] (byte) mulu8_sel::return#10 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#10 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#10 ] ) + //SEG358 [162] (byte) mulu8_sel::return#10 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#10 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#10 ] ) // (byte) mulu8_sel::return#10 = (byte) mulu8_sel::return#12 // register copy reg byte a - //SEG296 sin8s::@13 - //SEG297 [138] (byte) sin8s::x4#0 ← (byte) mulu8_sel::return#10 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 sin8s::x4#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 sin8s::x4#0 ] ) + //SEG359 sin8s::@13 + //SEG360 [163] (byte) sin8s::x4#0 ← (byte) mulu8_sel::return#10 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 sin8s::x4#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 sin8s::x4#0 ] ) // (byte) sin8s::x4#0 = (byte) mulu8_sel::return#10 // register copy reg byte a - //SEG298 [139] (byte) mulu8_sel::v1#4 ← (byte) sin8s::x4#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#4 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#4 ] ) -- vbuxx=vbuaa + //SEG361 [164] (byte) mulu8_sel::v1#4 ← (byte) sin8s::x4#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#4 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#4 ] ) -- vbuxx=vbuaa tax - //SEG299 [140] (byte) mulu8_sel::v2#4 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v1#4 mulu8_sel::v2#4 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v1#4 mulu8_sel::v2#4 ] ) -- vbuyy=vbuz1 + //SEG362 [165] (byte) mulu8_sel::v2#4 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v1#4 mulu8_sel::v2#4 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v1#4 mulu8_sel::v2#4 ] ) -- vbuyy=vbuz1 ldy x1 - //SEG300 [141] call mulu8_sel param-assignment [ sin8s::isUpper#10 mulu8_sel::return#12 sin8s::usinx#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 mulu8_sel::return#12 sin8s::usinx#0 ] ) - //SEG301 [154] phi from sin8s::@13 to mulu8_sel [phi:sin8s::@13->mulu8_sel] - //SEG302 [154] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s::@13->mulu8_sel#0] -- vbuz1=vbuc1 + //SEG363 [166] call mulu8_sel param-assignment [ sin8s::isUpper#10 mulu8_sel::return#12 sin8s::usinx#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 mulu8_sel::return#12 sin8s::usinx#0 ] ) + //SEG364 [179] phi from sin8s::@13 to mulu8_sel [phi:sin8s::@13->mulu8_sel] + //SEG365 [179] phi (byte) mulu8_sel::select#5 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:sin8s::@13->mulu8_sel#0] -- vbuz1=vbuc1 lda #0 sta mulu8_sel.select - //SEG303 [154] phi (byte) mulu8_sel::v2#5 = (byte) mulu8_sel::v2#4 [phi:sin8s::@13->mulu8_sel#1] -- register_copy - //SEG304 [154] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#4 [phi:sin8s::@13->mulu8_sel#2] -- register_copy + //SEG366 [179] phi (byte) mulu8_sel::v2#5 = (byte) mulu8_sel::v2#4 [phi:sin8s::@13->mulu8_sel#1] -- register_copy + //SEG367 [179] phi (byte) mulu8_sel::v1#5 = (byte) mulu8_sel::v1#4 [phi:sin8s::@13->mulu8_sel#2] -- register_copy jsr mulu8_sel - //SEG305 [142] (byte) mulu8_sel::return#11 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#11 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#11 ] ) + //SEG368 [167] (byte) mulu8_sel::return#11 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#11 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#11 ] ) // (byte) mulu8_sel::return#11 = (byte) mulu8_sel::return#12 // register copy reg byte a - //SEG306 sin8s::@14 - //SEG307 [143] (byte) sin8s::x5#0 ← (byte) mulu8_sel::return#11 [ sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5#0 ] ) + //SEG369 sin8s::@14 + //SEG370 [168] (byte) sin8s::x5#0 ← (byte) mulu8_sel::return#11 [ sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5#0 ] ) // (byte) sin8s::x5#0 = (byte) mulu8_sel::return#11 // register copy reg byte a - //SEG308 [144] (byte) sin8s::x5_128#0 ← (byte) sin8s::x5#0 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5_128#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5_128#0 ] ) -- vbuaa=vbuaa_ror_4 + //SEG371 [169] (byte) sin8s::x5_128#0 ← (byte) sin8s::x5#0 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5_128#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5_128#0 ] ) -- vbuaa=vbuaa_ror_4 lsr lsr lsr lsr - //SEG309 [145] (byte) sin8s::usinx#1 ← (byte) sin8s::usinx#0 + (byte) sin8s::x5_128#0 [ sin8s::isUpper#10 sin8s::usinx#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#1 ] ) -- vbuxx=vbuz1_plus_vbuaa + //SEG372 [170] (byte) sin8s::usinx#1 ← (byte) sin8s::usinx#0 + (byte) sin8s::x5_128#0 [ sin8s::isUpper#10 sin8s::usinx#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#1 ] ) -- vbuxx=vbuz1_plus_vbuaa clc adc usinx tax - //SEG310 [146] if((byte) sin8s::usinx#1<(byte/word/signed word/dword/signed dword) 128) goto sin8s::@3 [ sin8s::isUpper#10 sin8s::usinx#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#1 ] ) -- vbuxx_lt_vbuc1_then_la1 + //SEG373 [171] if((byte) sin8s::usinx#1<(byte/word/signed word/dword/signed dword) 128) goto sin8s::@3 [ sin8s::isUpper#10 sin8s::usinx#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#1 ] ) -- vbuxx_lt_vbuc1_then_la1 cpx #$80 bcc b3 - //SEG311 sin8s::@7 - //SEG312 [147] (byte) sin8s::usinx#2 ← -- (byte) sin8s::usinx#1 [ sin8s::isUpper#10 sin8s::usinx#2 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#2 ] ) -- vbuxx=_dec_vbuxx + //SEG374 sin8s::@7 + //SEG375 [172] (byte) sin8s::usinx#2 ← -- (byte) sin8s::usinx#1 [ sin8s::isUpper#10 sin8s::usinx#2 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#2 ] ) -- vbuxx=_dec_vbuxx dex - //SEG313 [148] phi from sin8s::@14 sin8s::@7 to sin8s::@3 [phi:sin8s::@14/sin8s::@7->sin8s::@3] - //SEG314 [148] phi (byte) sin8s::usinx#4 = (byte) sin8s::usinx#1 [phi:sin8s::@14/sin8s::@7->sin8s::@3#0] -- register_copy - //SEG315 sin8s::@3 + //SEG376 [173] phi from sin8s::@14 sin8s::@7 to sin8s::@3 [phi:sin8s::@14/sin8s::@7->sin8s::@3] + //SEG377 [173] phi (byte) sin8s::usinx#4 = (byte) sin8s::usinx#1 [phi:sin8s::@14/sin8s::@7->sin8s::@3#0] -- register_copy + //SEG378 sin8s::@3 b3: - //SEG316 [149] if((byte) sin8s::isUpper#10==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin8s::@18 [ sin8s::usinx#4 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::usinx#4 ] ) -- vbuz1_eq_0_then_la1 + //SEG379 [174] if((byte) sin8s::isUpper#10==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin8s::@18 [ sin8s::usinx#4 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::usinx#4 ] ) -- vbuz1_eq_0_then_la1 lda isUpper beq b18 - //SEG317 sin8s::@8 - //SEG318 [150] (signed byte) sin8s::sinx#1 ← - (signed byte)(byte) sin8s::usinx#4 [ sin8s::sinx#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::sinx#1 ] ) -- vbsaa=_neg_vbsxx + //SEG380 sin8s::@8 + //SEG381 [175] (signed byte) sin8s::sinx#1 ← - (signed byte)(byte) sin8s::usinx#4 [ sin8s::sinx#1 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::sinx#1 ] ) -- vbsaa=_neg_vbsxx txa eor #$ff clc adc #1 - //SEG319 [151] phi from sin8s::@18 sin8s::@8 to sin8s::@4 [phi:sin8s::@18/sin8s::@8->sin8s::@4] - //SEG320 [151] phi (signed byte) sin8s::return#0 = (signed byte~) sin8s::return#5 [phi:sin8s::@18/sin8s::@8->sin8s::@4#0] -- register_copy - //SEG321 sin8s::@4 + //SEG382 [176] phi from sin8s::@18 sin8s::@8 to sin8s::@4 [phi:sin8s::@18/sin8s::@8->sin8s::@4] + //SEG383 [176] phi (signed byte) sin8s::return#0 = (signed byte~) sin8s::return#5 [phi:sin8s::@18/sin8s::@8->sin8s::@4#0] -- register_copy + //SEG384 sin8s::@4 b4: - //SEG322 sin8s::@return - //SEG323 [152] return [ sin8s::return#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::return#0 ] ) + //SEG385 sin8s::@return + //SEG386 [177] return [ sin8s::return#0 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::return#0 ] ) rts - //SEG324 sin8s::@18 + //SEG387 sin8s::@18 b18: - //SEG325 [153] (signed byte~) sin8s::return#5 ← (signed byte)(byte) sin8s::usinx#4 [ sin8s::return#5 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::return#5 ] ) -- vbsaa=vbsxx + //SEG388 [178] (signed byte~) sin8s::return#5 ← (signed byte)(byte) sin8s::usinx#4 [ sin8s::return#5 ] ( main:2::sin8u_table:7::sin8s:36 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::return#5 ] ) -- vbsaa=vbsxx txa jmp b4 } -//SEG326 mulu8_sel +//SEG389 mulu8_sel mulu8_sel: { - .label _0 = $b - .label _1 = $b - .label select = $f - //SEG327 [155] (byte) mul8u::a#2 ← (byte) mulu8_sel::v1#5 [ mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] ) + .label _0 = $f + .label _1 = $f + .label select = $11 + //SEG390 [180] (byte) mul8u::a#2 ← (byte) mulu8_sel::v1#5 [ mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:146 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mul8u::a#2 mulu8_sel::v2#5 mulu8_sel::select#5 ] ) // (byte) mul8u::a#2 = (byte) mulu8_sel::v1#5 // register copy reg byte x - //SEG328 [156] (byte) mul8u::b#1 ← (byte) mulu8_sel::v2#5 [ mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] ) -- vbuaa=vbuyy + //SEG391 [181] (byte) mul8u::b#1 ← (byte) mulu8_sel::v2#5 [ mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:146 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mul8u::b#1 mul8u::a#2 mulu8_sel::select#5 ] ) -- vbuaa=vbuyy tya - //SEG329 [157] call mul8u param-assignment [ mul8u::res#2 mulu8_sel::select#5 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::res#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::res#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mul8u::res#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mul8u::res#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mul8u::res#2 mulu8_sel::select#5 ] ) - //SEG330 [100] phi from mulu8_sel to mul8u [phi:mulu8_sel->mul8u] - //SEG331 [100] phi (byte) mul8u::a#6 = (byte) mul8u::a#2 [phi:mulu8_sel->mul8u#0] -- register_copy - //SEG332 [100] phi (byte) mul8u::b#2 = (byte) mul8u::b#1 [phi:mulu8_sel->mul8u#1] -- register_copy + //SEG392 [182] call mul8u param-assignment [ mul8u::res#2 mulu8_sel::select#5 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:146 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::res#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mul8u::res#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mul8u::res#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mul8u::res#2 mulu8_sel::select#5 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mul8u::res#2 mulu8_sel::select#5 ] ) + //SEG393 [125] phi from mulu8_sel to mul8u [phi:mulu8_sel->mul8u] + //SEG394 [125] phi (byte) mul8u::a#6 = (byte) mul8u::a#2 [phi:mulu8_sel->mul8u#0] -- register_copy + //SEG395 [125] phi (byte) mul8u::b#2 = (byte) mul8u::b#1 [phi:mulu8_sel->mul8u#1] -- register_copy jsr mul8u - //SEG333 [158] (word) mul8u::return#3 ← (word) mul8u::res#2 [ mulu8_sel::select#5 mul8u::return#3 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::return#3 ] ) - // (word) mul8u::return#3 = (word) mul8u::res#2 // register copy zp ZP_WORD:11 - //SEG334 mulu8_sel::@2 - //SEG335 [159] (word~) mulu8_sel::$0 ← (word) mul8u::return#3 [ mulu8_sel::select#5 mulu8_sel::$0 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mulu8_sel::$0 ] ) - // (word~) mulu8_sel::$0 = (word) mul8u::return#3 // register copy zp ZP_WORD:11 - //SEG336 [160] (word~) mulu8_sel::$1 ← (word~) mulu8_sel::$0 << (byte) mulu8_sel::select#5 [ mulu8_sel::$1 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::$1 ] ) -- vwuz1=vwuz1_rol_vbuz2 + //SEG396 [183] (word) mul8u::return#3 ← (word) mul8u::res#2 [ mulu8_sel::select#5 mul8u::return#3 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:146 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::return#3 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::return#3 ] ) + // (word) mul8u::return#3 = (word) mul8u::res#2 // register copy zp ZP_WORD:15 + //SEG397 mulu8_sel::@2 + //SEG398 [184] (word~) mulu8_sel::$0 ← (word) mul8u::return#3 [ mulu8_sel::select#5 mulu8_sel::$0 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:146 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mulu8_sel::$0 ] ) + // (word~) mulu8_sel::$0 = (word) mul8u::return#3 // register copy zp ZP_WORD:15 + //SEG399 [185] (word~) mulu8_sel::$1 ← (word~) mulu8_sel::$0 << (byte) mulu8_sel::select#5 [ mulu8_sel::$1 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:146 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::$1 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::$1 ] ) -- vwuz1=vwuz1_rol_vbuz2 ldy select beq !e+ !: @@ -10375,82 +11516,82 @@ mulu8_sel: { dey bne !- !e: - //SEG337 [161] (byte) mulu8_sel::return#12 ← > (word~) mulu8_sel::$1 [ mulu8_sel::return#12 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#12 ] ) -- vbuaa=_hi_vwuz1 + //SEG400 [186] (byte) mulu8_sel::return#12 ← > (word~) mulu8_sel::$1 [ mulu8_sel::return#12 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:146 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#12 ] ) -- vbuaa=_hi_vwuz1 lda _1+1 - //SEG338 mulu8_sel::@return - //SEG339 [162] return [ mulu8_sel::return#12 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:121 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:126 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:130 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:136 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:141 [ sin8u_table::step#0 sin8u_table::x#2 sin8u_table::sintab#2 sin8u_table::i#2 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#12 ] ) + //SEG401 mulu8_sel::@return + //SEG402 [187] return [ mulu8_sel::return#12 ] ( main:2::sin8u_table:7::sin8s:36::mulu8_sel:146 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:151 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:155 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:161 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#12 ] main:2::sin8u_table:7::sin8s:36::mulu8_sel:166 [ sin8u_table::step#0 sin8u_table::x#10 sin8u_table::sintab#2 sin8u_table::i#10 line_cursor#1 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#12 ] ) rts } -//SEG340 div16u +//SEG403 div16u div16u: { - .label return = $10 - //SEG341 [164] call divr16u param-assignment [ divr16u::return#0 ] ( main:2::sin8u_table:7::div16u:10 [ divr16u::return#0 ] ) - //SEG342 [168] phi from div16u to divr16u [phi:div16u->divr16u] + .label return = $12 + //SEG404 [189] call divr16u param-assignment [ divr16u::return#0 ] ( main:2::sin8u_table:7::div16u:10 [ divr16u::return#0 ] ) + //SEG405 [193] phi from div16u to divr16u [phi:div16u->divr16u] jsr divr16u - //SEG343 [165] (word) divr16u::return#2 ← (word) divr16u::return#0 [ divr16u::return#2 ] ( main:2::sin8u_table:7::div16u:10 [ divr16u::return#2 ] ) - // (word) divr16u::return#2 = (word) divr16u::return#0 // register copy zp ZP_WORD:16 - //SEG344 div16u::@2 - //SEG345 [166] (word) div16u::return#0 ← (word) divr16u::return#2 [ div16u::return#0 ] ( main:2::sin8u_table:7::div16u:10 [ div16u::return#0 ] ) - // (word) div16u::return#0 = (word) divr16u::return#2 // register copy zp ZP_WORD:16 - //SEG346 div16u::@return - //SEG347 [167] return [ div16u::return#0 ] ( main:2::sin8u_table:7::div16u:10 [ div16u::return#0 ] ) + //SEG406 [190] (word) divr16u::return#2 ← (word) divr16u::return#0 [ divr16u::return#2 ] ( main:2::sin8u_table:7::div16u:10 [ divr16u::return#2 ] ) + // (word) divr16u::return#2 = (word) divr16u::return#0 // register copy zp ZP_WORD:18 + //SEG407 div16u::@2 + //SEG408 [191] (word) div16u::return#0 ← (word) divr16u::return#2 [ div16u::return#0 ] ( main:2::sin8u_table:7::div16u:10 [ div16u::return#0 ] ) + // (word) div16u::return#0 = (word) divr16u::return#2 // register copy zp ZP_WORD:18 + //SEG409 div16u::@return + //SEG410 [192] return [ div16u::return#0 ] ( main:2::sin8u_table:7::div16u:10 [ div16u::return#0 ] ) rts } -//SEG348 divr16u +//SEG411 divr16u divr16u: { .label rem = 2 .label dividend = 4 - .label quotient = $10 - .label return = $10 - //SEG349 [169] phi from divr16u to divr16u::@1 [phi:divr16u->divr16u::@1] - //SEG350 [169] phi (byte) divr16u::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#0] -- vbuxx=vbuc1 + .label quotient = $12 + .label return = $12 + //SEG412 [194] phi from divr16u to divr16u::@1 [phi:divr16u->divr16u::@1] + //SEG413 [194] phi (byte) divr16u::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#0] -- vbuxx=vbuc1 ldx #0 - //SEG351 [169] phi (word) divr16u::quotient#3 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#1] -- vwuz1=vbuc1 + //SEG414 [194] phi (word) divr16u::quotient#3 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#1] -- vwuz1=vbuc1 txa sta quotient sta quotient+1 - //SEG352 [169] phi (word) divr16u::dividend#2 = (const word) PI2_u4f12#0 [phi:divr16u->divr16u::@1#2] -- vwuz1=vwuc1 + //SEG415 [194] phi (word) divr16u::dividend#2 = (const word) PI2_u4f12#0 [phi:divr16u->divr16u::@1#2] -- vwuz1=vwuc1 lda #PI2_u4f12 sta dividend+1 - //SEG353 [169] phi (word) divr16u::rem#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#3] -- vwuz1=vbuc1 + //SEG416 [194] phi (word) divr16u::rem#4 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:divr16u->divr16u::@1#3] -- vwuz1=vbuc1 txa sta rem sta rem+1 - //SEG354 [169] phi from divr16u::@3 to divr16u::@1 [phi:divr16u::@3->divr16u::@1] - //SEG355 [169] phi (byte) divr16u::i#2 = (byte) divr16u::i#1 [phi:divr16u::@3->divr16u::@1#0] -- register_copy - //SEG356 [169] phi (word) divr16u::quotient#3 = (word) divr16u::return#0 [phi:divr16u::@3->divr16u::@1#1] -- register_copy - //SEG357 [169] phi (word) divr16u::dividend#2 = (word) divr16u::dividend#0 [phi:divr16u::@3->divr16u::@1#2] -- register_copy - //SEG358 [169] phi (word) divr16u::rem#4 = (word) divr16u::rem#10 [phi:divr16u::@3->divr16u::@1#3] -- register_copy - //SEG359 divr16u::@1 + //SEG417 [194] phi from divr16u::@3 to divr16u::@1 [phi:divr16u::@3->divr16u::@1] + //SEG418 [194] phi (byte) divr16u::i#2 = (byte) divr16u::i#1 [phi:divr16u::@3->divr16u::@1#0] -- register_copy + //SEG419 [194] phi (word) divr16u::quotient#3 = (word) divr16u::return#0 [phi:divr16u::@3->divr16u::@1#1] -- register_copy + //SEG420 [194] phi (word) divr16u::dividend#2 = (word) divr16u::dividend#0 [phi:divr16u::@3->divr16u::@1#2] -- register_copy + //SEG421 [194] phi (word) divr16u::rem#4 = (word) divr16u::rem#10 [phi:divr16u::@3->divr16u::@1#3] -- register_copy + //SEG422 divr16u::@1 b1: - //SEG360 [170] (word) divr16u::rem#0 ← (word) divr16u::rem#4 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vwuz1=vwuz1_rol_1 + //SEG423 [195] (word) divr16u::rem#0 ← (word) divr16u::rem#4 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vwuz1=vwuz1_rol_1 asl rem rol rem+1 - //SEG361 [171] (byte~) divr16u::$1 ← > (word) divr16u::dividend#2 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) -- vbuaa=_hi_vwuz1 + //SEG424 [196] (byte~) divr16u::$1 ← > (word) divr16u::dividend#2 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ) -- vbuaa=_hi_vwuz1 lda dividend+1 - //SEG362 [172] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) -- vbuaa=vbuaa_band_vbuc1 + //SEG425 [197] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ) -- vbuaa=vbuaa_band_vbuc1 and #$80 - //SEG363 [173] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vbuaa_eq_0_then_la1 + //SEG426 [198] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ) -- vbuaa_eq_0_then_la1 cmp #0 beq b2 - //SEG364 divr16u::@4 - //SEG365 [174] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) -- vwuz1=vwuz1_bor_vbuc1 + //SEG427 divr16u::@4 + //SEG428 [199] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ) -- vwuz1=vwuz1_bor_vbuc1 lda #1 ora rem sta rem - //SEG366 [175] phi from divr16u::@1 divr16u::@4 to divr16u::@2 [phi:divr16u::@1/divr16u::@4->divr16u::@2] - //SEG367 [175] phi (word) divr16u::rem#5 = (word) divr16u::rem#0 [phi:divr16u::@1/divr16u::@4->divr16u::@2#0] -- register_copy - //SEG368 divr16u::@2 + //SEG429 [200] phi from divr16u::@1 divr16u::@4 to divr16u::@2 [phi:divr16u::@1/divr16u::@4->divr16u::@2] + //SEG430 [200] phi (word) divr16u::rem#5 = (word) divr16u::rem#0 [phi:divr16u::@1/divr16u::@4->divr16u::@2#0] -- register_copy + //SEG431 divr16u::@2 b2: - //SEG369 [176] (word) divr16u::dividend#0 ← (word) divr16u::dividend#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 ] ) -- vwuz1=vwuz1_rol_1 + //SEG432 [201] (word) divr16u::dividend#0 ← (word) divr16u::dividend#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 ] ) -- vwuz1=vwuz1_rol_1 asl dividend rol dividend+1 - //SEG370 [177] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ) -- vwuz1=vwuz1_rol_1 + //SEG433 [202] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ) -- vwuz1=vwuz1_rol_1 asl quotient rol quotient+1 - //SEG371 [178] if((word) divr16u::rem#5<(const word) main::tabsize#0) goto divr16u::@3 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ) -- vwuz1_lt_vwuc1_then_la1 + //SEG434 [203] if((word) divr16u::rem#5<(const word) main::tabsize#0) goto divr16u::@3 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ) -- vwuz1_lt_vwuc1_then_la1 lda rem+1 cmp #>main.tabsize bcc b3 @@ -10459,13 +11600,13 @@ divr16u: { cmp #main.tabsize sta rem+1 - //SEG375 [181] phi from divr16u::@2 divr16u::@5 to divr16u::@3 [phi:divr16u::@2/divr16u::@5->divr16u::@3] - //SEG376 [181] phi (word) divr16u::return#0 = (word) divr16u::quotient#1 [phi:divr16u::@2/divr16u::@5->divr16u::@3#0] -- register_copy - //SEG377 [181] phi (word) divr16u::rem#10 = (word) divr16u::rem#5 [phi:divr16u::@2/divr16u::@5->divr16u::@3#1] -- register_copy - //SEG378 divr16u::@3 + //SEG438 [206] phi from divr16u::@2 divr16u::@5 to divr16u::@3 [phi:divr16u::@2/divr16u::@5->divr16u::@3] + //SEG439 [206] phi (word) divr16u::return#0 = (word) divr16u::quotient#1 [phi:divr16u::@2/divr16u::@5->divr16u::@3#0] -- register_copy + //SEG440 [206] phi (word) divr16u::rem#10 = (word) divr16u::rem#5 [phi:divr16u::@2/divr16u::@5->divr16u::@3#1] -- register_copy + //SEG441 divr16u::@3 b3: - //SEG379 [182] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuxx=_inc_vbuxx + //SEG442 [207] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuxx=_inc_vbuxx inx - //SEG380 [183] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuxx_neq_vbuc1_then_la1 + //SEG443 [208] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ) -- vbuxx_neq_vbuc1_then_la1 cpx #$10 bne b1 - //SEG381 divr16u::@return - //SEG382 [184] return [ divr16u::return#0 ] ( main:2::sin8u_table:7::div16u:10::divr16u:164 [ divr16u::return#0 ] ) + //SEG444 divr16u::@return + //SEG445 [209] return [ divr16u::return#0 ] ( main:2::sin8u_table:7::div16u:10::divr16u:189 [ divr16u::return#0 ] ) rts } -//SEG383 print_cls +//SEG446 print_cls print_cls: { .label sc = 2 - //SEG384 [186] phi from print_cls to print_cls::@1 [phi:print_cls->print_cls::@1] - //SEG385 [186] phi (byte*) print_cls::sc#2 = (const byte*) SCREEN#0 [phi:print_cls->print_cls::@1#0] -- pbuz1=pbuc1 + //SEG447 [211] phi from print_cls to print_cls::@1 [phi:print_cls->print_cls::@1] + //SEG448 [211] phi (byte*) print_cls::sc#2 = (const byte*) SCREEN#0 [phi:print_cls->print_cls::@1#0] -- pbuz1=pbuc1 lda #SCREEN sta sc+1 - //SEG386 [186] phi from print_cls::@1 to print_cls::@1 [phi:print_cls::@1->print_cls::@1] - //SEG387 [186] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#1 [phi:print_cls::@1->print_cls::@1#0] -- register_copy - //SEG388 print_cls::@1 + //SEG449 [211] phi from print_cls::@1 to print_cls::@1 [phi:print_cls::@1->print_cls::@1] + //SEG450 [211] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#1 [phi:print_cls::@1->print_cls::@1#0] -- register_copy + //SEG451 print_cls::@1 b1: - //SEG389 [187] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:5 [ print_cls::sc#2 ] ) -- _deref_pbuz1=vbuc1 + //SEG452 [212] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:5 [ print_cls::sc#2 ] ) -- _deref_pbuz1=vbuc1 lda #' ' ldy #0 sta (sc),y - //SEG390 [188] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::print_cls:5 [ print_cls::sc#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG453 [213] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::print_cls:5 [ print_cls::sc#1 ] ) -- pbuz1=_inc_pbuz1 inc sc bne !+ inc sc+1 !: - //SEG391 [189] 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:5 [ print_cls::sc#1 ] ) -- pbuz1_neq_pbuc1_then_la1 + //SEG454 [214] 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:5 [ print_cls::sc#1 ] ) -- pbuz1_neq_pbuc1_then_la1 lda sc+1 cmp #>SCREEN+$3e8 bne b1 lda sc cmp #>(byte/signed byte/word/signed word/dword/signed dword) 1 +(const byte) sin8u_table::mid#0 mid = ((byte))(const word) sin8u_table::sum#0>>(byte/signed byte/word/signed word/dword/signed dword) 1+(byte/signed byte/word/signed word/dword/signed dword) 1 (byte) sin8u_table::min (const byte) sin8u_table::min#0 min = (byte/signed byte/word/signed word/dword/signed dword) 10 (byte*) sin8u_table::sintab -(byte*) sin8u_table::sintab#1 sintab zp ZP_WORD:4 1.5714285714285714 -(byte*) sin8u_table::sintab#2 sintab zp ZP_WORD:4 3.0 -(byte) sin8u_table::sinval -(byte) sin8u_table::sinval#0 reg byte x 3.666666666666667 +(byte*) sin8u_table::sintab#1 sintab zp ZP_WORD:4 1.0 +(byte*) sin8u_table::sintab#2 sintab zp ZP_WORD:4 2.75 +(signed byte) sin8u_table::sinx +(signed byte) sin8u_table::sinx#0 sinx zp ZP_BYTE:17 2.1999999999999997 +(signed word) sin8u_table::sinx_sc +(signed word) sin8u_table::sinx_sc#0 sinx_sc zp ZP_WORD:15 2.1999999999999997 +(byte) sin8u_table::sinx_tr +(byte) sin8u_table::sinx_tr#0 reg byte x 1.9411764705882355 (word) sin8u_table::step -(word) sin8u_table::step#0 step zp ZP_WORD:16 0.3191489361702128 +(word) sin8u_table::step#0 step zp ZP_WORD:18 0.26785714285714285 (const string) sin8u_table::str str = (string) "step:@" (const string) sin8u_table::str1 str1 = (string) " min:@" (const string) sin8u_table::str2 str2 = (string) " max:@" @@ -279,47 +310,50 @@ (const string) sin8u_table::str4 str4 = (string) " mid:@" (const string) sin8u_table::str5 str5 = (string) "x: @" (const string) sin8u_table::str6 str6 = (string) " sin: @" +(const string) sin8u_table::str7 str7 = (string) " scaled: @" +(const string) sin8u_table::str8 str8 = (string) " trans: @" (word) sin8u_table::sum (const word) sin8u_table::sum#0 sum = (const byte) sin8u_table::min#0+(const byte) sin8u_table::max#0 (word) sin8u_table::tabsize (word) sin8u_table::x (word) sin8u_table::x#1 x zp ZP_WORD:2 7.333333333333333 -(word) sin8u_table::x#2 x zp ZP_WORD:2 2.0 +(word) sin8u_table::x#10 x zp ZP_WORD:2 1.4193548387096775 -zp ZP_WORD:2 [ sin8u_table::x#2 sin8u_table::x#1 print_word::w#2 print_word::w#1 print_word::w#0 divr16u::rem#4 divr16u::rem#10 divr16u::rem#5 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 print_cls::sc#2 print_cls::sc#1 ] +zp ZP_WORD:2 [ sin8u_table::x#10 sin8u_table::x#1 divr16u::rem#4 divr16u::rem#10 divr16u::rem#5 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 print_cls::sc#2 print_cls::sc#1 ] zp ZP_WORD:4 [ sin8u_table::sintab#2 sin8u_table::sintab#1 divr16u::dividend#2 divr16u::dividend#0 ] -zp ZP_WORD:6 [ sin8u_table::i#2 sin8u_table::i#1 ] +zp ZP_WORD:6 [ sin8u_table::i#10 sin8u_table::i#1 ] zp ZP_WORD:8 [ line_cursor#12 line_cursor#23 line_cursor#1 ] -zp ZP_BYTE:10 [ print_byte::b#7 print_byte::b#0 print_byte::b#1 print_byte::b#6 sin8s::isUpper#10 ] -reg byte a [ print_char::ch#2 print_char::ch#0 print_char::ch#1 ] -zp ZP_WORD:11 [ char_cursor#78 char_cursor#46 char_cursor#73 char_cursor#2 char_cursor#11 char_cursor#92 char_cursor#1 mul8su::m#2 mul8su::m#1 mul8su::m#0 mul8su::return#2 mul8u::return#2 mul8u::res#2 mul8u::res#6 mul8u::res#1 mul8u::return#3 sin8u_table::$17 mulu8_sel::$0 mulu8_sel::$1 sin8s::x#6 sin8s::x#4 sin8s::x#2 sin8s::x#0 sin8s::x#1 sin8s::$6 ] -zp ZP_WORD:13 [ print_str::str#8 print_str::str#10 print_str::str#0 mul8u::mb#2 mul8u::mb#0 mul8u::mb#1 ] +zp ZP_BYTE:10 [ print_byte::b#8 print_byte::b#10 print_byte::b#1 print_byte::b#2 print_byte::b#7 print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#0 sin8s::isUpper#10 ] +reg byte a [ print_char::ch#4 print_char::ch#2 print_char::ch#3 ] +zp ZP_WORD:11 [ print_str::str#10 print_str::str#12 print_str::str#0 print_sword::w#3 print_sword::w#1 print_sword::w#0 print_word::w#3 print_word::w#5 print_word::w#2 print_word::w#1 mul8u::mb#2 mul8u::mb#0 mul8u::mb#1 sin8s::x#6 sin8s::x#4 sin8s::x#2 sin8s::x#0 sin8s::x#1 sin8s::$6 ] +zp ZP_WORD:13 [ char_cursor#92 char_cursor#102 char_cursor#62 char_cursor#97 char_cursor#94 char_cursor#96 char_cursor#17 char_cursor#2 char_cursor#121 char_cursor#1 ] +zp ZP_WORD:15 [ mul8su::m#2 mul8su::m#1 mul8su::m#0 mul8su::return#2 mul8u::return#2 mul8u::res#2 mul8u::res#6 mul8u::res#1 mul8u::return#3 sin8u_table::sinx_sc#0 mulu8_sel::$0 mulu8_sel::$1 ] reg byte a [ mul8u::b#2 mul8u::b#1 ] reg byte x [ mul8u::a#3 mul8u::a#6 mul8u::a#8 mul8u::a#2 mul8u::a#0 ] reg byte x [ sin8s::usinx#4 sin8s::usinx#1 sin8s::usinx#2 ] reg byte a [ sin8s::return#0 sin8s::return#5 sin8s::sinx#1 ] reg byte x [ mulu8_sel::v1#5 mulu8_sel::v1#1 mulu8_sel::v1#2 mulu8_sel::v1#3 mulu8_sel::v1#4 mulu8_sel::v1#0 ] reg byte y [ mulu8_sel::v2#5 mulu8_sel::v2#1 mulu8_sel::v2#3 mulu8_sel::v2#4 mulu8_sel::v2#0 ] -zp ZP_BYTE:15 [ mulu8_sel::select#5 ] -zp ZP_WORD:16 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 div16u::return#2 sin8u_table::step#0 div16u::return#0 ] +zp ZP_BYTE:17 [ mulu8_sel::select#5 sin8u_table::sinx#0 ] +zp ZP_WORD:18 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 div16u::return#2 sin8u_table::step#0 div16u::return#0 ] reg byte x [ divr16u::i#2 divr16u::i#1 ] reg byte a [ sin8s::return#2 ] reg byte y [ mul8su::a#0 ] -reg byte a [ sin8u_table::$18 ] -reg byte x [ sin8u_table::sinval#0 ] +reg byte a [ sin8u_table::$20 ] +reg byte x [ sin8u_table::sinx_tr#0 ] reg byte a [ print_byte::$0 ] reg byte a [ print_byte::$2 ] reg byte a [ mul8su::$6 ] reg byte a [ mul8su::$10 ] reg byte a [ mul8u::$1 ] -zp ZP_BYTE:18 [ sin8s::x1#0 ] +zp ZP_BYTE:20 [ sin8s::x1#0 ] reg byte a [ mulu8_sel::return#0 ] reg byte a [ sin8s::x2#0 ] reg byte a [ mulu8_sel::return#1 ] -zp ZP_BYTE:19 [ sin8s::x3#0 ] +zp ZP_BYTE:21 [ sin8s::x3#0 ] reg byte a [ mulu8_sel::return#2 ] reg byte a [ sin8s::x3_6#0 ] -zp ZP_BYTE:20 [ sin8s::usinx#0 ] +zp ZP_BYTE:22 [ sin8s::usinx#0 ] reg byte a [ mulu8_sel::return#10 ] reg byte a [ sin8s::x4#0 ] reg byte a [ mulu8_sel::return#11 ]