1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2025-04-08 14:37:40 +00:00

Fixed 8-bit sinus implementation.

This commit is contained in:
jespergravgaard 2018-02-25 14:07:44 +01:00
parent 7d26c74c21
commit 2789361724
14 changed files with 1779 additions and 1427 deletions

View File

@ -0,0 +1,4 @@
sec
lda {c1},x
sbc {c2},x
sta {z1}

View File

@ -0,0 +1,4 @@
sec
lda {c1},y
sbc {c2},y
sta {z1}

View File

@ -0,0 +1,5 @@
ldy {z2}
sec
lda {c1},y
sbc {c2},y
sta {z1}

View File

@ -45,6 +45,11 @@ public class TestPrograms {
AsmFragmentTemplateUsages.logUsages(log, false, false, false, false, false, false);
}
//@Test
//public void testLoopProblem() throws IOException, URISyntaxException {
// compileAndCompare("loop-problem");
//}
@Test
public void testLoHiConst() throws IOException, URISyntaxException {
compileAndCompare("test-lohiconst");

View File

@ -0,0 +1,97 @@
// Results in NullPointerException during loop analysis
// Problem is related to the print_str() in main.
import "division.kc"
import "multiply.kc"
import "print.kc"
void main() {
print_cls();
print_str("x x' x1 x2 x3 /6 x4 x5 /80 ux sin@");
word wavelength = 20;
signed byte[20] sintab2;
sin8s_gen(sintab2, wavelength);
}
// 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 byte sinus table - on the full -$7f - $7f range
// sintab - the table to generate into
// wavelength - the number of sinus points in a total sinus wavelength (the size of the table)
void sin8s_gen(signed byte* sintab, word wavelength) {
// u[4.28] step = PI*2/wavelength
word step = div16u(PI2_u4f12, wavelength); // u[4.12]
// Iterate over the table
word x = 0; // u[4.12]
for( word i=0; i<wavelength; i++) {
*sintab++ = sin8s(x);
x = x + step;
}
}
// 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) {
print_word(x);
print_str(" @");
// 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;
}
print_word(x);
print_str(" @");
// sinx = x - x^3/6 + x5/128;
byte x1 = >x<<3; // u[1.7]
print_byte(x1);
print_str(" @");
byte x2 = mulu8_sel(x1, x1, 0); // u[2.6] x^2
print_byte(x2);
print_str(" @");
byte x3 = mulu8_sel(x2, x1, 1); // u[2.6] x^3
print_byte(x3);
print_str(" @");
byte x3_6 = mulu8_sel(x3, $100/6, 1); // u[1.7] x^3/6;
print_byte(x3_6);
print_str(" @");
byte usinx = x1 - x3_6; // u[1.7] x - x^3/6
byte x4 = mulu8_sel(x3, x1, 0); // u[3.5] x^4
print_byte(x4);
print_str(" @");
byte x5 = mulu8_sel(x4, x1, 0); // u[4.4] x^5
print_byte(x5);
print_str(" @");
byte x5_128 = x5>>4; // // u[1.7] x^5/128 -- much more efficient than mul_u16_sel(x5, $10000/128, 3);
print_byte(x5_128);
print_str(" @");
usinx = usinx + x5_128; // u[1.7] (first bit is always zero)
print_byte(usinx);
print_str(" @");
signed byte sinx = (signed byte)usinx; // s[0.7]
if(isUpper!=0) {
sinx = -(signed byte)usinx; // s[0.7];
}
if(sinx>=0) {
print_str(" @");
}
print_sbyte(sinx);
print_ln();
return sinx;
}
// Calculate val*val for two unsigned byte values - the result is 8 selected bits of the 16-bit result.
// The select parameter indicates how many of the highest bits of the 16-bit result to skip
byte mulu8_sel(byte v1, byte v2, byte select) {
return >mul8u(v1, v2)<<select;
}

View File

@ -97,17 +97,19 @@ signed byte sin8s(word x) {
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
byte x3_6 = mulu8_sel(x3, $100/6, 1); // u[1.7] x^3/6;
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;
}
return sinx;
}

View File

@ -2,12 +2,27 @@ import "sinus.kc"
import "print.kc"
void main() {
word wavelength = 120;
signed byte[120] sintab2;
word wavelength = 192;
signed byte[192] sintab2;
// .fill $c0, round(127.5*sin(i*2*PI/$c0))
byte[] sintabref = {
$00, $04, $08, $0c, $11, $15, $19, $1d, $21, $25, $29, $2d, $31, $35, $38, $3c,
$40, $43, $47, $4a, $4e, $51, $54, $57, $5a, $5d, $60, $63, $65, $68, $6a, $6c,
$6e, $70, $72, $74, $76, $77, $79, $7a, $7b, $7c, $7d, $7e, $7e, $7f, $7f, $7f,
$80, $7f, $7f, $7f, $7e, $7e, $7d, $7c, $7b, $7a, $79, $77, $76, $74, $72, $70,
$6e, $6c, $6a, $68, $65, $63, $60, $5d, $5a, $57, $54, $51, $4e, $4a, $47, $43,
$40, $3c, $38, $35, $31, $2d, $29, $25, $21, $1d, $19, $15, $11, $0c, $08, $04,
$00, $fc, $f8, $f4, $ef, $eb, $e7, $e3, $df, $db, $d7, $d3, $cf, $cb, $c8, $c4,
$c0, $bd, $b9, $b6, $b2, $af, $ac, $a9, $a6, $a3, $a0, $9d, $9b, $98, $96, $94,
$92, $90, $8e, $8c, $8a, $89, $87, $86, $85, $84, $83, $82, $82, $81, $81, $81,
$81, $81, $81, $81, $82, $82, $83, $84, $85, $86, $87, $89, $8a, $8c, $8e, $90,
$92, $94, $96, $98, $9b, $9d, $a0, $a3, $a6, $a9, $ac, $af, $b2, $b6, $b9, $bd,
$c0, $c4, $c8, $cb, $cf, $d3, $d7, $db, $df, $e3, $e7, $eb, $ef, $f4, $f8, $fc
};
sin8s_gen(sintab2, wavelength);
print_cls();
for(byte i: 0..119) {
signed byte sb = sintab2[i];
for(byte i: 0..191) {
signed byte sb = sintab2[i]-(signed byte)sintabref[i];
if(sb>=0) {
print_str(" @");
}

View File

@ -119,17 +119,19 @@ signed byte sin8s(word x) {
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
byte x3_6 = mulu8_sel(x3, $100/6, 1); // u[1.7] x^3/6;
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;
}
return sinx;
}
@ -399,6 +401,7 @@ signed dword mul16s(signed word a, signed word b) {
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
Adding pre/post-modifier (word) sin16ss_gen::i ← ++ (word) sin16ss_gen::i
Importing print.kc
PARSING src/test/java/dk/camelot64/kickc/test/kc/print.kc
@ -928,28 +931,33 @@ sin8s::@2:
(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/signed byte/word/signed word/dword/signed dword~) sin8s::$10 ← (word/signed word/dword/signed dword) 256 / (byte/signed byte/word/signed word/dword/signed dword) 6
(byte~) sin8s::$11 ← call mulu8_sel (byte) sin8s::x3 (byte/signed byte/word/signed word/dword/signed dword~) sin8s::$10 (byte/signed byte/word/signed word/dword/signed dword) 1
(byte) sin8s::x3_6 ← (byte~) sin8s::$11
(byte/signed byte/word/signed word/dword/signed dword~) sin8s::$12 ← (byte) sin8s::x1 - (byte) sin8s::x3_6
(byte) sin8s::usinx ← (byte/signed byte/word/signed word/dword/signed dword~) sin8s::$12
(byte~) sin8s::$13 ← call mulu8_sel (byte) sin8s::x3 (byte) sin8s::x1 (byte/signed byte/word/signed word/dword/signed dword) 0
(byte) sin8s::x4 ← (byte~) sin8s::$13
(byte~) sin8s::$14 ← call mulu8_sel (byte) sin8s::x4 (byte) sin8s::x1 (byte/signed byte/word/signed word/dword/signed dword) 0
(byte) sin8s::x5 ← (byte~) sin8s::$14
(byte~) sin8s::$15 ← (byte) sin8s::x5 >> (byte/signed byte/word/signed word/dword/signed dword) 4
(byte) sin8s::x5_128 ← (byte~) sin8s::$15
(byte/word~) sin8s::$16 ← (byte) sin8s::usinx + (byte) sin8s::x5_128
(byte) sin8s::usinx ← (byte/word~) sin8s::$16
(signed byte~) sin8s::$17 ← ((signed byte)) (byte) sin8s::usinx
(signed byte) sin8s::sinx ← (signed byte~) sin8s::$17
(boolean~) sin8s::$18 ← (byte) sin8s::isUpper != (byte/signed byte/word/signed word/dword/signed dword) 0
(boolean~) sin8s::$19 ← ! (boolean~) sin8s::$18
if((boolean~) sin8s::$19) goto sin8s::@3
(signed byte~) sin8s::$20 ← ((signed byte)) (byte) sin8s::usinx
(signed byte~) sin8s::$21 ← - (signed byte~) sin8s::$20
(signed byte) sin8s::sinx ← (signed byte~) sin8s::$21
(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:
@ -1624,19 +1632,20 @@ SYMBOLS
(signed byte()) sin8s((word) sin8s::x)
(boolean~) sin8s::$0
(boolean~) sin8s::$1
(byte/signed byte/word/signed word/dword/signed dword~) sin8s::$10
(byte~) sin8s::$11
(byte/signed byte/word/signed word/dword/signed dword~) sin8s::$12
(byte~) sin8s::$10
(byte/signed byte/word/signed word/dword/signed dword~) sin8s::$11
(byte~) sin8s::$12
(byte~) sin8s::$13
(byte~) sin8s::$14
(byte~) sin8s::$15
(byte/word~) sin8s::$16
(signed byte~) sin8s::$17
(boolean~) sin8s::$18
(byte/word~) sin8s::$15
(boolean~) sin8s::$16
(boolean~) sin8s::$17
(signed byte~) sin8s::$18
(boolean~) sin8s::$19
(word~) sin8s::$2
(signed byte~) sin8s::$20
(boolean~) sin8s::$20
(signed byte~) sin8s::$21
(signed byte~) sin8s::$22
(boolean~) sin8s::$3
(boolean~) sin8s::$4
(word~) sin8s::$5
@ -1647,7 +1656,9 @@ SYMBOLS
(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
@ -2257,18 +2268,18 @@ sin8s: scope:[sin8s] from
(boolean~) sin8s::$0 ← (word) sin8s::x >= (word) PI_u4f12
(boolean~) sin8s::$1 ← ! (boolean~) sin8s::$0
if((boolean~) sin8s::$1) goto sin8s::@1
to:sin8s::@4
sin8s::@1: scope:[sin8s] from sin8s sin8s::@4
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::@5
sin8s::@4: scope:[sin8s] from sin8s
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::@5
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
@ -2276,42 +2287,50 @@ sin8s::@2: scope:[sin8s] from sin8s::@1 sin8s::@5
(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/signed byte/word/signed word/dword/signed dword~) sin8s::$10 ← (word/signed word/dword/signed dword) 256 / (byte/signed byte/word/signed word/dword/signed dword) 6
(byte~) sin8s::$11 ← call mulu8_sel (byte) sin8s::x3 (byte/signed byte/word/signed word/dword/signed dword~) sin8s::$10 (byte/signed byte/word/signed word/dword/signed dword) 1
(byte) sin8s::x3_6 ← (byte~) sin8s::$11
(byte/signed byte/word/signed word/dword/signed dword~) sin8s::$12 ← (byte) sin8s::x1 - (byte) sin8s::x3_6
(byte) sin8s::usinx ← (byte/signed byte/word/signed word/dword/signed dword~) sin8s::$12
(byte~) sin8s::$13 ← call mulu8_sel (byte) sin8s::x3 (byte) sin8s::x1 (byte/signed byte/word/signed word/dword/signed dword) 0
(byte) sin8s::x4 ← (byte~) sin8s::$13
(byte~) sin8s::$14 ← call mulu8_sel (byte) sin8s::x4 (byte) sin8s::x1 (byte/signed byte/word/signed word/dword/signed dword) 0
(byte) sin8s::x5 ← (byte~) sin8s::$14
(byte~) sin8s::$15 ← (byte) sin8s::x5 >> (byte/signed byte/word/signed word/dword/signed dword) 4
(byte) sin8s::x5_128 ← (byte~) sin8s::$15
(byte/word~) sin8s::$16 ← (byte) sin8s::usinx + (byte) sin8s::x5_128
(byte) sin8s::usinx ← (byte/word~) sin8s::$16
(signed byte~) sin8s::$17 ← ((signed byte)) (byte) sin8s::usinx
(signed byte) sin8s::sinx ← (signed byte~) sin8s::$17
(boolean~) sin8s::$18 ← (byte) sin8s::isUpper != (byte/signed byte/word/signed word/dword/signed dword) 0
(boolean~) sin8s::$19 ← ! (boolean~) sin8s::$18
if((boolean~) sin8s::$19) goto sin8s::@3
to:sin8s::@6
sin8s::@5: scope:[sin8s] from sin8s::@1
(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::@6
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::@6: scope:[sin8s] from sin8s::@2
(signed byte~) sin8s::$20 ← ((signed byte)) (byte) sin8s::usinx
(signed byte~) sin8s::$21 ← - (signed byte~) sin8s::$20
(signed byte) sin8s::sinx ← (signed byte~) sin8s::$21
to:sin8s::@3
sin8s::@return: scope:[sin8s] from sin8s::@3 sin8s::@7
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::@7: scope:[sin8s] from
sin8s::@9: scope:[sin8s] from
to:sin8s::@return
@15: scope:[] from @14
to:@16

View File

@ -8,7 +8,7 @@
.label char_cursor = 5
jsr main
main: {
.label wavelength = $78
.label wavelength = $c0
.label sb = 4
jsr sin8s_gen
jsr print_cls
@ -18,7 +18,9 @@ main: {
sta char_cursor+1
ldx #0
b1:
sec
lda sintab2,x
sbc sintabref,x
sta sb
bmi b2
lda #<str1
@ -34,12 +36,13 @@ main: {
sta print_str.str+1
jsr print_str
inx
cpx #$78
cpx #$c0
bne b1
rts
str: .text " @"
str1: .text " @"
sintab2: .fill $78, 0
sintab2: .fill $c0, 0
sintabref: .byte 0, 4, 8, $c, $11, $15, $19, $1d, $21, $25, $29, $2d, $31, $35, $38, $3c, $40, $43, $47, $4a, $4e, $51, $54, $57, $5a, $5d, $60, $63, $65, $68, $6a, $6c, $6e, $70, $72, $74, $76, $77, $79, $7a, $7b, $7c, $7d, $7e, $7e, $7f, $7f, $7f, $80, $7f, $7f, $7f, $7e, $7e, $7d, $7c, $7b, $7a, $79, $77, $76, $74, $72, $70, $6e, $6c, $6a, $68, $65, $63, $60, $5d, $5a, $57, $54, $51, $4e, $4a, $47, $43, $40, $3c, $38, $35, $31, $2d, $29, $25, $21, $1d, $19, $15, $11, $c, 8, 4, 0, $fc, $f8, $f4, $ef, $eb, $e7, $e3, $df, $db, $d7, $d3, $cf, $cb, $c8, $c4, $c0, $bd, $b9, $b6, $b2, $af, $ac, $a9, $a6, $a3, $a0, $9d, $9b, $98, $96, $94, $92, $90, $8e, $8c, $8a, $89, $87, $86, $85, $84, $83, $82, $82, $81, $81, $81, $81, $81, $81, $81, $82, $82, $83, $84, $85, $86, $87, $89, $8a, $8c, $8e, $90, $92, $94, $96, $98, $9b, $9d, $a0, $a3, $a6, $a9, $ac, $af, $b2, $b6, $b9, $bd, $c0, $c4, $c8, $cb, $cf, $d3, $d7, $db, $df, $e3, $e7, $eb, $ef, $f4, $f8, $fc
}
print_str: {
.label str = 2
@ -177,6 +180,7 @@ sin8s_gen: {
rts
}
sin8s: {
.const DIV_6 = $2b
.label _6 = 9
.label x = 9
.label x1 = $10
@ -185,11 +189,11 @@ sin8s: {
.label isUpper = 4
lda x+1
cmp #>PI_u4f12
bcc b4
bcc b5
bne !+
lda x
cmp #<PI_u4f12
bcc b4
bcc b5
!:
lda x
sec
@ -201,7 +205,7 @@ sin8s: {
lda #1
sta isUpper
jmp b1
b4:
b5:
lda #0
sta isUpper
b1:
@ -243,7 +247,7 @@ sin8s: {
tax
lda #1
sta mulu8_sel.select
ldy #$100/6
ldy #DIV_6
jsr mulu8_sel
eor #$ff
sec
@ -266,17 +270,21 @@ sin8s: {
clc
adc usinx
tax
cpx #$80
bcc b3
dex
b3:
lda isUpper
beq b15
beq b18
txa
eor #$ff
clc
adc #1
b3:
b4:
rts
b15:
b18:
txa
jmp b3
jmp b4
}
mulu8_sel: {
.label _0 = 9

View File

@ -18,7 +18,7 @@ main::@5: scope:[main] from main
main::@1: scope:[main] from main::@5 main::@8
[8] (byte*) char_cursor#42 ← phi( main::@5/(const byte*) SCREEN#0 main::@8/(byte*) char_cursor#19 ) [ main::i#2 char_cursor#42 ] ( main:2 [ main::i#2 char_cursor#42 ] )
[8] (byte) main::i#2 ← phi( main::@5/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@8/(byte) main::i#1 ) [ main::i#2 char_cursor#42 ] ( main:2 [ main::i#2 char_cursor#42 ] )
[9] (signed byte) main::sb#0 ← *((const signed byte[120]) main::sintab2#0 + (byte) main::i#2) [ main::i#2 char_cursor#42 main::sb#0 ] ( main:2 [ main::i#2 char_cursor#42 main::sb#0 ] )
[9] (signed byte) main::sb#0 ← *((const signed byte[192]) main::sintab2#0 + (byte) main::i#2) - (signed byte)*((const byte[]) main::sintabref#0 + (byte) main::i#2) [ main::i#2 char_cursor#42 main::sb#0 ] ( main:2 [ main::i#2 char_cursor#42 main::sb#0 ] )
[10] if((signed byte) main::sb#0<(byte/signed byte/word/signed word/dword/signed dword) 0) goto main::@2 [ main::i#2 char_cursor#42 main::sb#0 ] ( main:2 [ main::i#2 char_cursor#42 main::sb#0 ] )
to:main::@3
main::@3: scope:[main] from main::@1
@ -36,7 +36,7 @@ main::@7: scope:[main] from main::@2
to:main::@8
main::@8: scope:[main] from main::@7
[18] (byte) main::i#1 ← ++ (byte) main::i#2 [ main::i#1 char_cursor#19 ] ( main:2 [ main::i#1 char_cursor#19 ] )
[19] if((byte) main::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 120) goto main::@1 [ main::i#1 char_cursor#19 ] ( main:2 [ main::i#1 char_cursor#19 ] )
[19] if((byte) main::i#1!=(byte/word/signed word/dword/signed dword) 192) goto main::@1 [ main::i#1 char_cursor#19 ] ( main:2 [ main::i#1 char_cursor#19 ] )
to:main::@return
main::@return: scope:[main] from main::@8
[20] return [ ] ( main:2 [ ] )
@ -120,7 +120,7 @@ sin8s_gen::@3: scope:[sin8s_gen] from sin8s_gen
to:sin8s_gen::@1
sin8s_gen::@1: scope:[sin8s_gen] from sin8s_gen::@3 sin8s_gen::@4
[56] (word) sin8s_gen::i#2 ← phi( sin8s_gen::@3/(byte/signed byte/word/signed word/dword/signed dword) 0 sin8s_gen::@4/(word) sin8s_gen::i#1 ) [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 ] )
[56] (signed byte*) sin8s_gen::sintab#2 ← phi( sin8s_gen::@3/(const signed byte[120]) main::sintab2#0 sin8s_gen::@4/(signed byte*) sin8s_gen::sintab#0 ) [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 ] )
[56] (signed byte*) sin8s_gen::sintab#2 ← phi( sin8s_gen::@3/(const signed byte[192]) main::sintab2#0 sin8s_gen::@4/(signed byte*) sin8s_gen::sintab#0 ) [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 ] )
[56] (word) sin8s_gen::x#2 ← phi( sin8s_gen::@3/(byte/signed byte/word/signed word/dword/signed dword) 0 sin8s_gen::@4/(word) sin8s_gen::x#1 ) [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 ] )
[57] (word) sin8s::x#0 ← (word) sin8s_gen::x#2 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::x#0 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::x#0 ] )
[58] call sin8s param-assignment [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::return#1 ] ( main:2::sin8s_gen:5 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::return#1 ] )
@ -139,157 +139,164 @@ sin8s_gen::@return: scope:[sin8s_gen] from sin8s_gen::@4
to:@return
sin8s: scope:[sin8s] from sin8s_gen::@1
[67] if((word) sin8s::x#0<(const word) PI_u4f12#0) goto sin8s::@1 [ sin8s::x#0 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::x#0 ] )
to:sin8s::@4
sin8s::@4: scope:[sin8s] from sin8s
to:sin8s::@5
sin8s::@5: scope:[sin8s] from sin8s
[68] (word) sin8s::x#1 ← (word) sin8s::x#0 - (const word) PI_u4f12#0 [ sin8s::x#1 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::x#1 ] )
to:sin8s::@1
sin8s::@1: scope:[sin8s] from sin8s sin8s::@4
[69] (byte) sin8s::isUpper#2 ← phi( sin8s/(byte/signed byte/word/signed word/dword/signed dword) 0 sin8s::@4/(byte/signed byte/word/signed word/dword/signed dword) 1 ) [ sin8s::x#4 sin8s::isUpper#2 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::x#4 sin8s::isUpper#2 ] )
[69] (word) sin8s::x#4 ← phi( sin8s/(word) sin8s::x#0 sin8s::@4/(word) sin8s::x#1 ) [ sin8s::x#4 sin8s::isUpper#2 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::x#4 sin8s::isUpper#2 ] )
[70] if((word) sin8s::x#4<(const word) PI_HALF_u4f12#0) goto sin8s::@2 [ sin8s::x#4 sin8s::isUpper#2 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::x#4 sin8s::isUpper#2 ] )
to:sin8s::@5
sin8s::@5: scope:[sin8s] from sin8s::@1
[71] (word) sin8s::x#2 ← (const word) PI_u4f12#0 - (word) sin8s::x#4 [ sin8s::isUpper#2 sin8s::x#2 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x#2 ] )
sin8s::@1: scope:[sin8s] from sin8s sin8s::@5
[69] (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::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::x#4 sin8s::isUpper#10 ] )
[69] (word) sin8s::x#4 ← phi( sin8s/(word) sin8s::x#0 sin8s::@5/(word) sin8s::x#1 ) [ sin8s::x#4 sin8s::isUpper#10 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::x#4 sin8s::isUpper#10 ] )
[70] if((word) sin8s::x#4<(const word) PI_HALF_u4f12#0) goto sin8s::@2 [ sin8s::x#4 sin8s::isUpper#10 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::x#4 sin8s::isUpper#10 ] )
to:sin8s::@6
sin8s::@6: scope:[sin8s] from sin8s::@1
[71] (word) sin8s::x#2 ← (const word) PI_u4f12#0 - (word) sin8s::x#4 [ sin8s::isUpper#10 sin8s::x#2 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x#2 ] )
to:sin8s::@2
sin8s::@2: scope:[sin8s] from sin8s::@1 sin8s::@5
[72] (word) sin8s::x#6 ← phi( sin8s::@1/(word) sin8s::x#4 sin8s::@5/(word) sin8s::x#2 ) [ sin8s::isUpper#2 sin8s::x#6 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x#6 ] )
[73] (word~) sin8s::$6 ← (word) sin8s::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin8s::isUpper#2 sin8s::$6 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::$6 ] )
[74] (byte) sin8s::x1#0 ← > (word~) sin8s::$6 [ sin8s::isUpper#2 sin8s::x1#0 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 ] )
[75] (byte) mulu8_sel::v1#0 ← (byte) sin8s::x1#0 [ sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::v1#0 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::v1#0 ] )
[76] (byte) mulu8_sel::v2#0 ← (byte) sin8s::x1#0 [ sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::v1#0 mulu8_sel::v2#0 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::v1#0 mulu8_sel::v2#0 ] )
[77] call mulu8_sel param-assignment [ sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::return#12 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::return#12 ] )
[78] (byte) mulu8_sel::return#0 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::return#0 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::return#0 ] )
to:sin8s::@8
sin8s::@8: scope:[sin8s] from sin8s::@2
[79] (byte) sin8s::x2#0 ← (byte) mulu8_sel::return#0 [ sin8s::isUpper#2 sin8s::x1#0 sin8s::x2#0 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::x2#0 ] )
[80] (byte) mulu8_sel::v1#1 ← (byte) sin8s::x2#0 [ sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::v1#1 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::v1#1 ] )
[81] (byte) mulu8_sel::v2#1 ← (byte) sin8s::x1#0 [ sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::v1#1 mulu8_sel::v2#1 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::v1#1 mulu8_sel::v2#1 ] )
[82] call mulu8_sel param-assignment [ sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::return#12 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::return#12 ] )
[83] (byte) mulu8_sel::return#1 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::return#1 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::return#1 ] )
to:sin8s::@9
sin8s::@9: scope:[sin8s] from sin8s::@8
[84] (byte) sin8s::x3#0 ← (byte) mulu8_sel::return#1 [ sin8s::isUpper#2 sin8s::x1#0 sin8s::x3#0 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::x3#0 ] )
[85] (byte) mulu8_sel::v1#2 ← (byte) sin8s::x3#0 [ sin8s::isUpper#2 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#2 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#2 ] )
[86] call mulu8_sel param-assignment [ sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::return#12 sin8s::x3#0 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::return#12 sin8s::x3#0 ] )
[87] (byte) mulu8_sel::return#2 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#2 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#2 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#2 ] )
sin8s::@2: scope:[sin8s] from sin8s::@1 sin8s::@6
[72] (word) sin8s::x#6 ← phi( sin8s::@1/(word) sin8s::x#4 sin8s::@6/(word) sin8s::x#2 ) [ sin8s::isUpper#10 sin8s::x#6 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x#6 ] )
[73] (word~) sin8s::$6 ← (word) sin8s::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin8s::isUpper#10 sin8s::$6 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::$6 ] )
[74] (byte) sin8s::x1#0 ← > (word~) sin8s::$6 [ sin8s::isUpper#10 sin8s::x1#0 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 ] )
[75] (byte) mulu8_sel::v1#0 ← (byte) sin8s::x1#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 ] )
[76] (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::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#0 mulu8_sel::v2#0 ] )
[77] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] )
[78] (byte) mulu8_sel::return#0 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#0 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#0 ] )
to:sin8s::@10
sin8s::@10: scope:[sin8s] from sin8s::@9
[88] (byte) sin8s::x3_6#0 ← (byte) mulu8_sel::return#2 [ sin8s::isUpper#2 sin8s::x1#0 sin8s::x3#0 sin8s::x3_6#0 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::x3#0 sin8s::x3_6#0 ] )
[89] (byte) sin8s::usinx#0 ← (byte) sin8s::x1#0 - (byte) sin8s::x3_6#0 [ sin8s::isUpper#2 sin8s::x1#0 sin8s::x3#0 sin8s::usinx#0 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::x3#0 sin8s::usinx#0 ] )
[90] (byte) mulu8_sel::v1#3 ← (byte) sin8s::x3#0 [ sin8s::isUpper#2 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 ] )
[91] (byte) mulu8_sel::v2#3 ← (byte) sin8s::x1#0 [ sin8s::isUpper#2 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 mulu8_sel::v2#3 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 mulu8_sel::v2#3 ] )
[92] call mulu8_sel param-assignment [ sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::return#12 sin8s::usinx#0 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::return#12 sin8s::usinx#0 ] )
[93] (byte) mulu8_sel::return#10 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#2 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#10 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#10 ] )
sin8s::@10: scope:[sin8s] from sin8s::@2
[79] (byte) sin8s::x2#0 ← (byte) mulu8_sel::return#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x2#0 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x2#0 ] )
[80] (byte) mulu8_sel::v1#1 ← (byte) sin8s::x2#0 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 ] )
[81] (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::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#1 mulu8_sel::v2#1 ] )
[82] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] )
[83] (byte) mulu8_sel::return#1 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#1 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#1 ] )
to:sin8s::@11
sin8s::@11: scope:[sin8s] from sin8s::@10
[94] (byte) sin8s::x4#0 ← (byte) mulu8_sel::return#10 [ sin8s::isUpper#2 sin8s::x1#0 sin8s::usinx#0 sin8s::x4#0 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::usinx#0 sin8s::x4#0 ] )
[95] (byte) mulu8_sel::v1#4 ← (byte) sin8s::x4#0 [ sin8s::isUpper#2 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#4 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#4 ] )
[96] (byte) mulu8_sel::v2#4 ← (byte) sin8s::x1#0 [ sin8s::isUpper#2 sin8s::usinx#0 mulu8_sel::v1#4 mulu8_sel::v2#4 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::usinx#0 mulu8_sel::v1#4 mulu8_sel::v2#4 ] )
[97] call mulu8_sel param-assignment [ sin8s::isUpper#2 mulu8_sel::return#12 sin8s::usinx#0 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 mulu8_sel::return#12 sin8s::usinx#0 ] )
[98] (byte) mulu8_sel::return#11 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#2 sin8s::usinx#0 mulu8_sel::return#11 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::usinx#0 mulu8_sel::return#11 ] )
[84] (byte) sin8s::x3#0 ← (byte) mulu8_sel::return#1 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 ] )
[85] (byte) mulu8_sel::v1#2 ← (byte) sin8s::x3#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#2 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#2 ] )
[86] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::x3#0 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::x3#0 ] )
[87] (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::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#2 ] )
to:sin8s::@12
sin8s::@12: scope:[sin8s] from sin8s::@11
[99] (byte) sin8s::x5#0 ← (byte) mulu8_sel::return#11 [ sin8s::isUpper#2 sin8s::usinx#0 sin8s::x5#0 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::usinx#0 sin8s::x5#0 ] )
[100] (byte) sin8s::x5_128#0 ← (byte) sin8s::x5#0 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ sin8s::isUpper#2 sin8s::usinx#0 sin8s::x5_128#0 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::usinx#0 sin8s::x5_128#0 ] )
[101] (byte) sin8s::usinx#1 ← (byte) sin8s::usinx#0 + (byte) sin8s::x5_128#0 [ sin8s::isUpper#2 sin8s::usinx#1 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::usinx#1 ] )
[102] if((byte) sin8s::isUpper#2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin8s::@15 [ sin8s::usinx#1 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::usinx#1 ] )
to:sin8s::@6
sin8s::@6: scope:[sin8s] from sin8s::@12
[103] (signed byte) sin8s::sinx#1 ← - (signed byte)(byte) sin8s::usinx#1 [ sin8s::sinx#1 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::sinx#1 ] )
[88] (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::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::x3_6#0 ] )
[89] (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::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 sin8s::usinx#0 ] )
[90] (byte) mulu8_sel::v1#3 ← (byte) sin8s::x3#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 ] )
[91] (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::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#3 mulu8_sel::v2#3 ] )
[92] call mulu8_sel param-assignment [ sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::usinx#0 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 sin8s::usinx#0 ] )
[93] (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::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#10 ] )
to:sin8s::@13
sin8s::@13: scope:[sin8s] from sin8s::@12
[94] (byte) sin8s::x4#0 ← (byte) mulu8_sel::return#10 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 sin8s::x4#0 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 sin8s::x4#0 ] )
[95] (byte) mulu8_sel::v1#4 ← (byte) sin8s::x4#0 [ sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#4 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#4 ] )
[96] (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::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v1#4 mulu8_sel::v2#4 ] )
[97] call mulu8_sel param-assignment [ sin8s::isUpper#10 mulu8_sel::return#12 sin8s::usinx#0 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 mulu8_sel::return#12 sin8s::usinx#0 ] )
[98] (byte) mulu8_sel::return#11 ← (byte) mulu8_sel::return#12 [ sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#11 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#11 ] )
to:sin8s::@14
sin8s::@14: scope:[sin8s] from sin8s::@13
[99] (byte) sin8s::x5#0 ← (byte) mulu8_sel::return#11 [ sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5#0 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5#0 ] )
[100] (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::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 sin8s::x5_128#0 ] )
[101] (byte) sin8s::usinx#1 ← (byte) sin8s::usinx#0 + (byte) sin8s::x5_128#0 [ sin8s::isUpper#10 sin8s::usinx#1 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#1 ] )
[102] if((byte) sin8s::usinx#1<(byte/word/signed word/dword/signed dword) 128) goto sin8s::@3 [ sin8s::isUpper#10 sin8s::usinx#1 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#1 ] )
to:sin8s::@7
sin8s::@7: scope:[sin8s] from sin8s::@14
[103] (byte) sin8s::usinx#2 ← -- (byte) sin8s::usinx#1 [ sin8s::isUpper#10 sin8s::usinx#2 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#2 ] )
to:sin8s::@3
sin8s::@3: scope:[sin8s] from sin8s::@15 sin8s::@6
[104] (signed byte) sin8s::return#1 ← phi( sin8s::@15/(signed byte~) sin8s::return#5 sin8s::@6/(signed byte) sin8s::sinx#1 ) [ sin8s::return#1 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::return#1 ] )
sin8s::@3: scope:[sin8s] from sin8s::@14 sin8s::@7
[104] (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::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#4 ] )
[105] if((byte) sin8s::isUpper#10==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin8s::@18 [ sin8s::usinx#4 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::usinx#4 ] )
to:sin8s::@8
sin8s::@8: scope:[sin8s] from sin8s::@3
[106] (signed byte) sin8s::sinx#1 ← - (signed byte)(byte) sin8s::usinx#4 [ sin8s::sinx#1 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::sinx#1 ] )
to:sin8s::@4
sin8s::@4: scope:[sin8s] from sin8s::@18 sin8s::@8
[107] (signed byte) sin8s::return#1 ← phi( sin8s::@18/(signed byte~) sin8s::return#5 sin8s::@8/(signed byte) sin8s::sinx#1 ) [ sin8s::return#1 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::return#1 ] )
to:sin8s::@return
sin8s::@return: scope:[sin8s] from sin8s::@3
[105] return [ sin8s::return#1 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::return#1 ] )
sin8s::@return: scope:[sin8s] from sin8s::@4
[108] return [ sin8s::return#1 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::return#1 ] )
to:@return
sin8s::@15: scope:[sin8s] from sin8s::@12
[106] (signed byte~) sin8s::return#5 ← (signed byte)(byte) sin8s::usinx#1 [ sin8s::return#5 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::return#5 ] )
to:sin8s::@3
mulu8_sel: scope:[mulu8_sel] from sin8s::@10 sin8s::@11 sin8s::@2 sin8s::@8 sin8s::@9
[107] (byte) mulu8_sel::select#5 ← phi( sin8s::@10/(byte/signed byte/word/signed word/dword/signed dword) 0 sin8s::@11/(byte/signed byte/word/signed word/dword/signed dword) 0 sin8s::@2/(byte/signed byte/word/signed word/dword/signed dword) 0 sin8s::@8/(byte/signed byte/word/signed word/dword/signed dword) 1 sin8s::@9/(byte/signed byte/word/signed word/dword/signed dword) 1 ) [ mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] ( main:2::sin8s_gen:5::sin8s:58::mulu8_sel:77 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:82 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:86 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:92 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:97 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::usinx#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] )
[107] (byte) mulu8_sel::v2#5 ← phi( sin8s::@10/(byte) mulu8_sel::v2#3 sin8s::@11/(byte) mulu8_sel::v2#4 sin8s::@2/(byte) mulu8_sel::v2#0 sin8s::@8/(byte) mulu8_sel::v2#1 sin8s::@9/(word/signed word/dword/signed dword) 256/(byte/signed byte/word/signed word/dword/signed dword) 6 ) [ mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] ( main:2::sin8s_gen:5::sin8s:58::mulu8_sel:77 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:82 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:86 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:92 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:97 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::usinx#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] )
[107] (byte) mulu8_sel::v1#5 ← phi( sin8s::@10/(byte) mulu8_sel::v1#3 sin8s::@11/(byte) mulu8_sel::v1#4 sin8s::@2/(byte) mulu8_sel::v1#0 sin8s::@8/(byte) mulu8_sel::v1#1 sin8s::@9/(byte) mulu8_sel::v1#2 ) [ mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] ( main:2::sin8s_gen:5::sin8s:58::mulu8_sel:77 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:82 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:86 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:92 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:97 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::usinx#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] )
[108] (byte) mul8u::a#1 ← (byte) mulu8_sel::v1#5 [ mulu8_sel::v2#5 mulu8_sel::select#5 mul8u::a#1 ] ( main:2::sin8s_gen:5::sin8s:58::mulu8_sel:77 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::v2#5 mulu8_sel::select#5 mul8u::a#1 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:82 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::v2#5 mulu8_sel::select#5 mul8u::a#1 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:86 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v2#5 mulu8_sel::select#5 mul8u::a#1 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:92 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v2#5 mulu8_sel::select#5 mul8u::a#1 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:97 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::usinx#0 mulu8_sel::v2#5 mulu8_sel::select#5 mul8u::a#1 ] )
[109] (byte) mul8u::b#0 ← (byte) mulu8_sel::v2#5 [ mulu8_sel::select#5 mul8u::a#1 mul8u::b#0 ] ( main:2::sin8s_gen:5::sin8s:58::mulu8_sel:77 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#1 mul8u::b#0 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:82 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#1 mul8u::b#0 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:86 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#1 mul8u::b#0 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:92 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#1 mul8u::b#0 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:97 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#1 mul8u::b#0 ] )
[110] call mul8u param-assignment [ mulu8_sel::select#5 mul8u::res#2 ] ( main:2::sin8s_gen:5::sin8s:58::mulu8_sel:77 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:82 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:86 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:92 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:97 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 ] )
[111] (word) mul8u::return#2 ← (word) mul8u::res#2 [ mulu8_sel::select#5 mul8u::return#2 ] ( main:2::sin8s_gen:5::sin8s:58::mulu8_sel:77 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::select#5 mul8u::return#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:82 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::select#5 mul8u::return#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:86 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::return#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:92 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::return#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:97 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::usinx#0 mulu8_sel::select#5 mul8u::return#2 ] )
sin8s::@18: scope:[sin8s] from sin8s::@3
[109] (signed byte~) sin8s::return#5 ← (signed byte)(byte) sin8s::usinx#4 [ sin8s::return#5 ] ( main:2::sin8s_gen:5::sin8s:58 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::return#5 ] )
to:sin8s::@4
mulu8_sel: scope:[mulu8_sel] from sin8s::@10 sin8s::@11 sin8s::@12 sin8s::@13 sin8s::@2
[110] (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::sin8s_gen:5::sin8s:58::mulu8_sel:77 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:82 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:86 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:92 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:97 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] )
[110] (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::sin8s_gen:5::sin8s:58::mulu8_sel:77 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:82 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:86 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:92 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:97 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] )
[110] (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::sin8s_gen:5::sin8s:58::mulu8_sel:77 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:82 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:86 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:92 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:97 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v1#5 mulu8_sel::v2#5 mulu8_sel::select#5 ] )
[111] (byte) mul8u::a#1 ← (byte) mulu8_sel::v1#5 [ mulu8_sel::v2#5 mulu8_sel::select#5 mul8u::a#1 ] ( main:2::sin8s_gen:5::sin8s:58::mulu8_sel:77 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v2#5 mulu8_sel::select#5 mul8u::a#1 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:82 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::v2#5 mulu8_sel::select#5 mul8u::a#1 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:86 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::v2#5 mulu8_sel::select#5 mul8u::a#1 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:92 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::v2#5 mulu8_sel::select#5 mul8u::a#1 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:97 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::v2#5 mulu8_sel::select#5 mul8u::a#1 ] )
[112] (byte) mul8u::b#0 ← (byte) mulu8_sel::v2#5 [ mulu8_sel::select#5 mul8u::a#1 mul8u::b#0 ] ( main:2::sin8s_gen:5::sin8s:58::mulu8_sel:77 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#1 mul8u::b#0 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:82 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#1 mul8u::b#0 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:86 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#1 mul8u::b#0 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:92 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#1 mul8u::b#0 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:97 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#1 mul8u::b#0 ] )
[113] call mul8u param-assignment [ mulu8_sel::select#5 mul8u::res#2 ] ( main:2::sin8s_gen:5::sin8s:58::mulu8_sel:77 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:82 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:86 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:92 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:97 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 ] )
[114] (word) mul8u::return#2 ← (word) mul8u::res#2 [ mulu8_sel::select#5 mul8u::return#2 ] ( main:2::sin8s_gen:5::sin8s:58::mulu8_sel:77 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::return#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:82 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::return#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:86 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::return#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:92 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::return#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:97 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::return#2 ] )
to:mulu8_sel::@2
mulu8_sel::@2: scope:[mulu8_sel] from mulu8_sel
[112] (word~) mulu8_sel::$0 ← (word) mul8u::return#2 [ mulu8_sel::select#5 mulu8_sel::$0 ] ( main:2::sin8s_gen:5::sin8s:58::mulu8_sel:77 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:82 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:86 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:92 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:97 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::usinx#0 mulu8_sel::select#5 mulu8_sel::$0 ] )
[113] (word~) mulu8_sel::$1 ← (word~) mulu8_sel::$0 << (byte) mulu8_sel::select#5 [ mulu8_sel::$1 ] ( main:2::sin8s_gen:5::sin8s:58::mulu8_sel:77 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::$1 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:82 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::$1 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:86 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::x3#0 mulu8_sel::$1 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:92 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::$1 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:97 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::usinx#0 mulu8_sel::$1 ] )
[114] (byte) mulu8_sel::return#12 ← > (word~) mulu8_sel::$1 [ mulu8_sel::return#12 ] ( main:2::sin8s_gen:5::sin8s:58::mulu8_sel:77 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:82 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:86 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:92 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:97 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::usinx#0 mulu8_sel::return#12 ] )
[115] (word~) mulu8_sel::$0 ← (word) mul8u::return#2 [ mulu8_sel::select#5 mulu8_sel::$0 ] ( main:2::sin8s_gen:5::sin8s:58::mulu8_sel:77 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:82 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:86 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:92 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mulu8_sel::$0 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:97 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mulu8_sel::$0 ] )
[116] (word~) mulu8_sel::$1 ← (word~) mulu8_sel::$0 << (byte) mulu8_sel::select#5 [ mulu8_sel::$1 ] ( main:2::sin8s_gen:5::sin8s:58::mulu8_sel:77 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::$1 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:82 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::$1 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:86 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::$1 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:92 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::$1 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:97 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::$1 ] )
[117] (byte) mulu8_sel::return#12 ← > (word~) mulu8_sel::$1 [ mulu8_sel::return#12 ] ( main:2::sin8s_gen:5::sin8s:58::mulu8_sel:77 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:82 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:86 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:92 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:97 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#12 ] )
to:mulu8_sel::@return
mulu8_sel::@return: scope:[mulu8_sel] from mulu8_sel::@2
[115] return [ mulu8_sel::return#12 ] ( main:2::sin8s_gen:5::sin8s:58::mulu8_sel:77 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:82 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:86 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:92 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:97 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::usinx#0 mulu8_sel::return#12 ] )
[118] return [ mulu8_sel::return#12 ] ( main:2::sin8s_gen:5::sin8s:58::mulu8_sel:77 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:82 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:86 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:92 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::return#12 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:97 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::return#12 ] )
to:@return
mul8u: scope:[mul8u] from mulu8_sel
[116] (word) mul8u::mb#0 ← ((word)) (byte) mul8u::b#0 [ mul8u::a#1 mul8u::mb#0 ] ( main:2::sin8s_gen:5::sin8s:58::mulu8_sel:77::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#1 mul8u::mb#0 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:82::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#1 mul8u::mb#0 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:86::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#1 mul8u::mb#0 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:92::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#1 mul8u::mb#0 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:97::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#1 mul8u::mb#0 ] )
[119] (word) mul8u::mb#0 ← ((word)) (byte) mul8u::b#0 [ mul8u::a#1 mul8u::mb#0 ] ( main:2::sin8s_gen:5::sin8s:58::mulu8_sel:77::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#1 mul8u::mb#0 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:82::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#1 mul8u::mb#0 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:86::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#1 mul8u::mb#0 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:92::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#1 mul8u::mb#0 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:97::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#1 mul8u::mb#0 ] )
to:mul8u::@1
mul8u::@1: scope:[mul8u] from mul8u mul8u::@4
[117] (word) mul8u::mb#2 ← phi( mul8u/(word) mul8u::mb#0 mul8u::@4/(word) mul8u::mb#1 ) [ mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] ( main:2::sin8s_gen:5::sin8s:58::mulu8_sel:77::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:82::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:86::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:92::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:97::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] )
[117] (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#2 mul8u::mb#2 ] ( main:2::sin8s_gen:5::sin8s:58::mulu8_sel:77::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:82::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:86::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:92::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:97::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] )
[117] (byte) mul8u::a#2 ← phi( mul8u/(byte) mul8u::a#1 mul8u::@4/(byte) mul8u::a#0 ) [ mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] ( main:2::sin8s_gen:5::sin8s:58::mulu8_sel:77::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:82::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:86::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:92::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:97::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] )
[118] if((byte) mul8u::a#2!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@2 [ mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] ( main:2::sin8s_gen:5::sin8s:58::mulu8_sel:77::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:82::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:86::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:92::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:97::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] )
[120] (word) mul8u::mb#2 ← phi( mul8u/(word) mul8u::mb#0 mul8u::@4/(word) mul8u::mb#1 ) [ mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] ( main:2::sin8s_gen:5::sin8s:58::mulu8_sel:77::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:82::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:86::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:92::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:97::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] )
[120] (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#2 mul8u::mb#2 ] ( main:2::sin8s_gen:5::sin8s:58::mulu8_sel:77::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:82::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:86::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:92::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:97::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] )
[120] (byte) mul8u::a#2 ← phi( mul8u/(byte) mul8u::a#1 mul8u::@4/(byte) mul8u::a#0 ) [ mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] ( main:2::sin8s_gen:5::sin8s:58::mulu8_sel:77::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:82::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:86::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:92::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:97::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] )
[121] if((byte) mul8u::a#2!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@2 [ mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] ( main:2::sin8s_gen:5::sin8s:58::mulu8_sel:77::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:82::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:86::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:92::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:97::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] )
to:mul8u::@return
mul8u::@return: scope:[mul8u] from mul8u::@1
[119] return [ mul8u::res#2 ] ( main:2::sin8s_gen:5::sin8s:58::mulu8_sel:77::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:82::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:86::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:92::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:97::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 ] )
[122] return [ mul8u::res#2 ] ( main:2::sin8s_gen:5::sin8s:58::mulu8_sel:77::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:82::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:86::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:92::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:97::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 ] )
to:@return
mul8u::@2: scope:[mul8u] from mul8u::@1
[120] (byte~) mul8u::$1 ← (byte) mul8u::a#2 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] ( main:2::sin8s_gen:5::sin8s:58::mulu8_sel:77::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:82::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:86::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:92::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:97::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] )
[121] if((byte~) mul8u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@4 [ mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] ( main:2::sin8s_gen:5::sin8s:58::mulu8_sel:77::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:82::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:86::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:92::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:97::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] )
[123] (byte~) mul8u::$1 ← (byte) mul8u::a#2 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] ( main:2::sin8s_gen:5::sin8s:58::mulu8_sel:77::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:82::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:86::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:92::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:97::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] )
[124] if((byte~) mul8u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@4 [ mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] ( main:2::sin8s_gen:5::sin8s:58::mulu8_sel:77::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:82::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:86::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:92::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:97::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] )
to:mul8u::@7
mul8u::@7: scope:[mul8u] from mul8u::@2
[122] (word) mul8u::res#1 ← (word) mul8u::res#2 + (word) mul8u::mb#2 [ mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] ( main:2::sin8s_gen:5::sin8s:58::mulu8_sel:77::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:82::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:86::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:92::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:97::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] )
[125] (word) mul8u::res#1 ← (word) mul8u::res#2 + (word) mul8u::mb#2 [ mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] ( main:2::sin8s_gen:5::sin8s:58::mulu8_sel:77::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:82::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:86::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:92::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:97::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] )
to:mul8u::@4
mul8u::@4: scope:[mul8u] from mul8u::@2 mul8u::@7
[123] (word) mul8u::res#6 ← phi( mul8u::@2/(word) mul8u::res#2 mul8u::@7/(word) mul8u::res#1 ) [ mul8u::a#2 mul8u::mb#2 mul8u::res#6 ] ( main:2::sin8s_gen:5::sin8s:58::mulu8_sel:77::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#2 mul8u::mb#2 mul8u::res#6 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:82::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#2 mul8u::mb#2 mul8u::res#6 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:86::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#2 mul8u::mb#2 mul8u::res#6 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:92::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#2 mul8u::mb#2 mul8u::res#6 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:97::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#2 mul8u::mb#2 mul8u::res#6 ] )
[124] (byte) mul8u::a#0 ← (byte) mul8u::a#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] ( main:2::sin8s_gen:5::sin8s:58::mulu8_sel:77::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:82::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:86::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:92::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:97::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::usinx#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] )
[125] (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::sin8s_gen:5::sin8s:58::mulu8_sel:77::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:82::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:86::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:92::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:97::mul8u:110 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#2 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] )
[126] (word) mul8u::res#6 ← phi( mul8u::@2/(word) mul8u::res#2 mul8u::@7/(word) mul8u::res#1 ) [ mul8u::a#2 mul8u::mb#2 mul8u::res#6 ] ( main:2::sin8s_gen:5::sin8s:58::mulu8_sel:77::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#2 mul8u::mb#2 mul8u::res#6 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:82::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#2 mul8u::mb#2 mul8u::res#6 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:86::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#2 mul8u::mb#2 mul8u::res#6 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:92::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#2 mul8u::mb#2 mul8u::res#6 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:97::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#2 mul8u::mb#2 mul8u::res#6 ] )
[127] (byte) mul8u::a#0 ← (byte) mul8u::a#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] ( main:2::sin8s_gen:5::sin8s:58::mulu8_sel:77::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:82::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:86::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:92::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:97::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] )
[128] (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::sin8s_gen:5::sin8s:58::mulu8_sel:77::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:82::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:86::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::x3#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:92::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::x1#0 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::sin8s_gen:5::sin8s:58::mulu8_sel:97::mul8u:113 [ sin8s_gen::step#0 sin8s_gen::x#2 sin8s_gen::sintab#2 sin8s_gen::i#2 sin8s::isUpper#10 sin8s::usinx#0 mulu8_sel::select#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] )
to:mul8u::@1
div16u: scope:[div16u] from sin8s_gen
[126] phi() [ ] ( main:2::sin8s_gen:5::div16u:53 [ ] )
[127] call divr16u param-assignment [ divr16u::return#0 ] ( main:2::sin8s_gen:5::div16u:53 [ divr16u::return#0 ] )
[128] (word) divr16u::return#2 ← (word) divr16u::return#0 [ divr16u::return#2 ] ( main:2::sin8s_gen:5::div16u:53 [ divr16u::return#2 ] )
[129] phi() [ ] ( main:2::sin8s_gen:5::div16u:53 [ ] )
[130] call divr16u param-assignment [ divr16u::return#0 ] ( main:2::sin8s_gen:5::div16u:53 [ divr16u::return#0 ] )
[131] (word) divr16u::return#2 ← (word) divr16u::return#0 [ divr16u::return#2 ] ( main:2::sin8s_gen:5::div16u:53 [ divr16u::return#2 ] )
to:div16u::@2
div16u::@2: scope:[div16u] from div16u
[129] (word) div16u::return#0 ← (word) divr16u::return#2 [ div16u::return#0 ] ( main:2::sin8s_gen:5::div16u:53 [ div16u::return#0 ] )
[132] (word) div16u::return#0 ← (word) divr16u::return#2 [ div16u::return#0 ] ( main:2::sin8s_gen:5::div16u:53 [ div16u::return#0 ] )
to:div16u::@return
div16u::@return: scope:[div16u] from div16u::@2
[130] return [ div16u::return#0 ] ( main:2::sin8s_gen:5::div16u:53 [ div16u::return#0 ] )
[133] return [ div16u::return#0 ] ( main:2::sin8s_gen:5::div16u:53 [ div16u::return#0 ] )
to:@return
divr16u: scope:[divr16u] from div16u
[131] phi() [ ] ( main:2::sin8s_gen:5::div16u:53::divr16u:127 [ ] )
[134] phi() [ ] ( main:2::sin8s_gen:5::div16u:53::divr16u:130 [ ] )
to:divr16u::@1
divr16u::@1: scope:[divr16u] from divr16u divr16u::@3
[132] (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::sin8s_gen:5::div16u:53::divr16u:127 [ divr16u::rem#4 divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 ] )
[132] (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::sin8s_gen:5::div16u:53::divr16u:127 [ divr16u::rem#4 divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 ] )
[132] (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::sin8s_gen:5::div16u:53::divr16u:127 [ divr16u::rem#4 divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 ] )
[132] (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::sin8s_gen:5::div16u:53::divr16u:127 [ divr16u::rem#4 divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 ] )
[133] (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::sin8s_gen:5::div16u:53::divr16u:127 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] )
[134] (byte~) divr16u::$1 ← > (word) divr16u::dividend#2 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin8s_gen:5::div16u:53::divr16u:127 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] )
[135] (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::sin8s_gen:5::div16u:53::divr16u:127 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] )
[136] 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::sin8s_gen:5::div16u:53::divr16u:127 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] )
[135] (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::sin8s_gen:5::div16u:53::divr16u:130 [ divr16u::rem#4 divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 ] )
[135] (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::sin8s_gen:5::div16u:53::divr16u:130 [ divr16u::rem#4 divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 ] )
[135] (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::sin8s_gen:5::div16u:53::divr16u:130 [ divr16u::rem#4 divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 ] )
[135] (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::sin8s_gen:5::div16u:53::divr16u:130 [ divr16u::rem#4 divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 ] )
[136] (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::sin8s_gen:5::div16u:53::divr16u:130 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] )
[137] (byte~) divr16u::$1 ← > (word) divr16u::dividend#2 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin8s_gen:5::div16u:53::divr16u:130 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] )
[138] (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::sin8s_gen:5::div16u:53::divr16u:130 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] )
[139] 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::sin8s_gen:5::div16u:53::divr16u:130 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] )
to:divr16u::@4
divr16u::@4: scope:[divr16u] from divr16u::@1
[137] (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::sin8s_gen:5::div16u:53::divr16u:127 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] )
[140] (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::sin8s_gen:5::div16u:53::divr16u:130 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] )
to:divr16u::@2
divr16u::@2: scope:[divr16u] from divr16u::@1 divr16u::@4
[138] (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::sin8s_gen:5::div16u:53::divr16u:127 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#5 ] )
[139] (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::sin8s_gen:5::div16u:53::divr16u:127 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 ] )
[140] (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::sin8s_gen:5::div16u:53::divr16u:127 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] )
[141] if((word) divr16u::rem#5<(const word) main::wavelength#0) goto divr16u::@3 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ( main:2::sin8s_gen:5::div16u:53::divr16u:127 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] )
[141] (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::sin8s_gen:5::div16u:53::divr16u:130 [ divr16u::dividend#2 divr16u::quotient#3 divr16u::i#2 divr16u::rem#5 ] )
[142] (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::sin8s_gen:5::div16u:53::divr16u:130 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 ] )
[143] (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::sin8s_gen:5::div16u:53::divr16u:130 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] )
[144] if((word) divr16u::rem#5<(const word) main::wavelength#0) goto divr16u::@3 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] ( main:2::sin8s_gen:5::div16u:53::divr16u:130 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#1 ] )
to:divr16u::@5
divr16u::@5: scope:[divr16u] from divr16u::@2
[142] (word) divr16u::quotient#2 ← ++ (word) divr16u::quotient#1 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#2 ] ( main:2::sin8s_gen:5::div16u:53::divr16u:127 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#2 ] )
[143] (word) divr16u::rem#2 ← (word) divr16u::rem#5 - (const word) main::wavelength#0 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::sin8s_gen:5::div16u:53::divr16u:127 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] )
[145] (word) divr16u::quotient#2 ← ++ (word) divr16u::quotient#1 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#2 ] ( main:2::sin8s_gen:5::div16u:53::divr16u:130 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#5 divr16u::quotient#2 ] )
[146] (word) divr16u::rem#2 ← (word) divr16u::rem#5 - (const word) main::wavelength#0 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::sin8s_gen:5::div16u:53::divr16u:130 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] )
to:divr16u::@3
divr16u::@3: scope:[divr16u] from divr16u::@2 divr16u::@5
[144] (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::sin8s_gen:5::div16u:53::divr16u:127 [ divr16u::return#0 divr16u::i#2 divr16u::rem#10 divr16u::dividend#0 ] )
[144] (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::sin8s_gen:5::div16u:53::divr16u:127 [ divr16u::return#0 divr16u::i#2 divr16u::rem#10 divr16u::dividend#0 ] )
[145] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin8s_gen:5::div16u:53::divr16u:127 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] )
[146] 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::sin8s_gen:5::div16u:53::divr16u:127 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] )
[147] (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::sin8s_gen:5::div16u:53::divr16u:130 [ divr16u::return#0 divr16u::i#2 divr16u::rem#10 divr16u::dividend#0 ] )
[147] (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::sin8s_gen:5::div16u:53::divr16u:130 [ divr16u::return#0 divr16u::i#2 divr16u::rem#10 divr16u::dividend#0 ] )
[148] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin8s_gen:5::div16u:53::divr16u:130 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] )
[149] 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::sin8s_gen:5::div16u:53::divr16u:130 [ divr16u::return#0 divr16u::rem#10 divr16u::dividend#0 divr16u::i#1 ] )
to:divr16u::@return
divr16u::@return: scope:[divr16u] from divr16u::@3
[147] return [ divr16u::return#0 ] ( main:2::sin8s_gen:5::div16u:53::divr16u:127 [ divr16u::return#0 ] )
[150] return [ divr16u::return#0 ] ( main:2::sin8s_gen:5::div16u:53::divr16u:130 [ divr16u::return#0 ] )
to:@return

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long