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

Moved sin to separate method.

This commit is contained in:
jespergravgaard 2018-02-24 13:02:15 +01:00
parent 948db1a389
commit a87a97c669
9 changed files with 3440 additions and 3373 deletions

View File

@ -1,8 +1,8 @@
ldx #3
ldy #3
!:
asl {z1}
rol {z1}+1
rol {z1}+2
rol {z1}+3
dex
dey
bne !-

View File

@ -0,0 +1,11 @@
cpy #0
cpy #0
beq !e+
!:
asl {z1}
rol {z1}+1
rol {z1}+2
rol {z1}+3
dey
bne !-
!e:

View File

@ -46,36 +46,42 @@ void sin16s_gen(signed word* sintab, word wavelength) {
// Iterate over the table
dword x = 0; // u[4.28]
for( word i=0; i<wavelength; i++) {
// Move x1 into the range 0-PI/2 using sinus mirror symmetries
dword xp = x; // u[4.28]
byte isUpper = 0;
if(xp >= PI_u4f28 ) {
xp = xp - PI_u4f28;
isUpper = 1;
}
if(xp >= PI_HALF_u4f28 ) {
xp = PI_u4f28 - xp;
}
// s[4.12] sinx = x - x^3/6 + x5/128;
word x1 = >xp<<3; // u[1.15]
word x2 = mul_u16_sel(x1, x1, 0); // u[2.14] x^2
word x3 = mul_u16_sel(x2, x1, 1); // u[2.14] x^3
word x3_6 = mul_u16_sel(x3, $10000/6, 1); // u[1.15] x^3/6;
word usinx = x1 - x3_6; // u[1.15] x - x^3/6
word x4 = mul_u16_sel(x3, x1, 0); // u[3.13] x^4
word x5 = mul_u16_sel(x4, x1, 0); // u[4.12] x^5
word x5_128 = mul_u16_sel(x5, $10000/128, 3); // u[1.15] x^5/128;
usinx = usinx + x5_128; // u[1.15] (always an initial zero)
signed word sinx = (signed word)usinx; // s[0.15]
if(isUpper!=0) {
sinx = -(signed word)usinx; // s[0.15];
}
*sintab = sinx;
*sintab = sin16s(x);
sintab = sintab + 2;
x = x + step;
}
}
// Calculate signed word sinus sin(x)
// x: unsigned dword input u[4.28] in the interval $00000000 - PI2_u4f28
// result: signed word sin(x) s[0.15] - using the full range -$7fff - $7fff
signed word sin16s(dword x) {
// Move x1 into the range 0-PI/2 using sinus mirror symmetries
byte isUpper = 0;
if(x >= PI_u4f28 ) {
x = x - PI_u4f28;
isUpper = 1;
}
if(x >= PI_HALF_u4f28 ) {
x = PI_u4f28 - x;
}
// s[4.12] sinx = x - x^3/6 + x5/128;
word x1 = >x<<3; // u[1.15]
word x2 = mul_u16_sel(x1, x1, 0); // u[2.14] x^2
word x3 = mul_u16_sel(x2, x1, 1); // u[2.14] x^3
word x3_6 = mul_u16_sel(x3, $10000/6, 1); // u[1.15] x^3/6;
word usinx = x1 - x3_6; // u[1.15] x - x^3/6
word x4 = mul_u16_sel(x3, x1, 0); // u[3.13] x^4
word x5 = mul_u16_sel(x4, x1, 0); // u[4.12] x^5
word x5_128 = mul_u16_sel(x5, $10000/128, 3); // u[1.15] x^5/128;
usinx = usinx + x5_128; // u[1.15] (always an initial zero)
signed word sinx = (signed word)usinx; // s[0.15]
if(isUpper!=0) {
sinx = -(signed word)usinx; // s[0.15];
}
return sinx;
}
// Generate (small) signed word sinus table - in the limited -$fff - $fff range
// sintab - the table to generate into
// wavelength - the number of sinus points in a total sinus wavelength (the size of the table)

View File

@ -160,21 +160,11 @@ print_cls: {
rts
}
sin16s_gen: {
.label _7 = $e
.label step = $1a
.label xp = $e
.label x1 = $1e
.label x2 = 8
.label x3 = 8
.label x3_6 = 6
.label usinx = 6
.label x4 = 8
.label x5 = 8
.label x5_128 = $12
.label _1 = 6
.label step = $1b
.label sintab = 2
.label x = $a
.label i = 4
.label sinx = 6
jsr div32u16u
lda #<0
sta i
@ -189,178 +179,20 @@ sin16s_gen: {
sta x+2
sta x+3
b1:
lda x+3
cmp #>PI_u4f28>>$10
bcs !b17+
jmp b17
!b17:
bne !+
lda x+2
cmp #<PI_u4f28>>$10
bcs !b17+
jmp b17
!b17:
bne !+
lda x+1
cmp #>PI_u4f28
bcs !b17+
jmp b17
!b17:
bne !+
lda x
cmp #<PI_u4f28
bcs !b17+
jmp b17
!b17:
!:
lda x
sec
sbc #<PI_u4f28
sta xp
sta sin16s.x
lda x+1
sbc #>PI_u4f28
sta xp+1
sta sin16s.x+1
lda x+2
sbc #<PI_u4f28>>$10
sta xp+2
sta sin16s.x+2
lda x+3
sbc #>PI_u4f28>>$10
sta xp+3
ldy #1
b2:
lda xp+3
cmp #>PI_HALF_u4f28>>$10
bcc b3
bne !+
lda xp+2
cmp #<PI_HALF_u4f28>>$10
bcc b3
bne !+
lda xp+1
cmp #>PI_HALF_u4f28
bcc b3
bne !+
lda xp
cmp #<PI_HALF_u4f28
bcc b3
!:
lda #<PI_u4f28
sec
sbc xp
sta xp
lda #>PI_u4f28
sbc xp+1
sta xp+1
lda #<PI_u4f28>>$10
sbc xp+2
sta xp+2
lda #>PI_u4f28>>$10
sbc xp+3
sta xp+3
b3:
ldx #3
!:
asl _7
rol _7+1
rol _7+2
rol _7+3
dex
bne !-
lda _7+2
sta x1
lda _7+3
sta x1+1
lda x1
sta mul_u16_sel.v1
lda x1+1
sta mul_u16_sel.v1+1
lda x1
sta mul_u16_sel.v2
lda x1+1
sta mul_u16_sel.v2+1
ldx #0
jsr mul_u16_sel
lda mul_u16_sel.return_14
sta mul_u16_sel.return
lda mul_u16_sel.return_14+1
sta mul_u16_sel.return+1
lda x1
sta mul_u16_sel.v2
lda x1+1
sta mul_u16_sel.v2+1
ldx #1
jsr mul_u16_sel
lda mul_u16_sel.return_14
sta mul_u16_sel.return
lda mul_u16_sel.return_14+1
sta mul_u16_sel.return+1
ldx #1
lda #<$10000/6
sta mul_u16_sel.v2
lda #>$10000/6
sta mul_u16_sel.v2+1
jsr mul_u16_sel
lda mul_u16_sel.return_14
sta mul_u16_sel.return_10
lda mul_u16_sel.return_14+1
sta mul_u16_sel.return_10+1
lda x1
sec
sbc usinx
sta usinx
lda x1+1
sbc usinx+1
sta usinx+1
lda x1
sta mul_u16_sel.v2
lda x1+1
sta mul_u16_sel.v2+1
ldx #0
jsr mul_u16_sel
lda mul_u16_sel.return_14
sta mul_u16_sel.return
lda mul_u16_sel.return_14+1
sta mul_u16_sel.return+1
lda x1
sta mul_u16_sel.v2
lda x1+1
sta mul_u16_sel.v2+1
ldx #0
jsr mul_u16_sel
lda mul_u16_sel.return_14
sta mul_u16_sel.return
lda mul_u16_sel.return_14+1
sta mul_u16_sel.return+1
ldx #3
lda #<$10000/$80
sta mul_u16_sel.v2
lda #>$10000/$80
sta mul_u16_sel.v2+1
jsr mul_u16_sel
lda usinx
clc
adc x5_128
sta usinx
lda usinx+1
adc x5_128+1
sta usinx+1
cpy #0
beq b4
sec
lda sinx
eor #$ff
adc #0
sta sinx
lda sinx+1
eor #$ff
adc #0
sta sinx+1
b4:
sta sin16s.x+3
jsr sin16s
ldy #0
lda sinx
lda _1
sta (sintab),y
iny
lda sinx+1
lda _1+1
sta (sintab),y
clc
lda sintab
@ -388,28 +220,196 @@ sin16s_gen: {
!:
lda i+1
cmp #>main.wavelength
bcs !b1+
jmp b1
!b1:
bcc b1
bne !+
lda i
cmp #<main.wavelength
bcs !b1+
jmp b1
!b1:
bcc b1
!:
rts
b17:
lda x
sta xp
lda x+1
sta xp+1
lda x+2
sta xp+2
}
sin16s: {
.label _6 = $e
.label x = $e
.label return = 6
.label x1 = $1f
.label x2 = 8
.label x3 = 8
.label x3_6 = 6
.label usinx = 6
.label x4 = 8
.label x5 = 8
.label x5_128 = $12
.label sinx = 6
lda x+3
sta xp+3
ldy #0
jmp b2
cmp #>PI_u4f28>>$10
bcc b4
bne !+
lda x+2
cmp #<PI_u4f28>>$10
bcc b4
bne !+
lda x+1
cmp #>PI_u4f28
bcc b4
bne !+
lda x
cmp #<PI_u4f28
bcc b4
!:
lda x
sec
sbc #<PI_u4f28
sta x
lda x+1
sbc #>PI_u4f28
sta x+1
lda x+2
sbc #<PI_u4f28>>$10
sta x+2
lda x+3
sbc #>PI_u4f28>>$10
sta x+3
ldx #1
jmp b1
b4:
ldx #0
b1:
lda x+3
cmp #>PI_HALF_u4f28>>$10
bcc b2
bne !+
lda x+2
cmp #<PI_HALF_u4f28>>$10
bcc b2
bne !+
lda x+1
cmp #>PI_HALF_u4f28
bcc b2
bne !+
lda x
cmp #<PI_HALF_u4f28
bcc b2
!:
lda #<PI_u4f28
sec
sbc x
sta x
lda #>PI_u4f28
sbc x+1
sta x+1
lda #<PI_u4f28>>$10
sbc x+2
sta x+2
lda #>PI_u4f28>>$10
sbc x+3
sta x+3
b2:
ldy #3
!:
asl _6
rol _6+1
rol _6+2
rol _6+3
dey
bne !-
lda _6+2
sta x1
lda _6+3
sta x1+1
lda x1
sta mul_u16_sel.v1
lda x1+1
sta mul_u16_sel.v1+1
lda x1
sta mul_u16_sel.v2
lda x1+1
sta mul_u16_sel.v2+1
lda #0
sta mul_u16_sel.select
jsr mul_u16_sel
lda mul_u16_sel.return_14
sta mul_u16_sel.return
lda mul_u16_sel.return_14+1
sta mul_u16_sel.return+1
lda x1
sta mul_u16_sel.v2
lda x1+1
sta mul_u16_sel.v2+1
lda #1
sta mul_u16_sel.select
jsr mul_u16_sel
lda mul_u16_sel.return_14
sta mul_u16_sel.return
lda mul_u16_sel.return_14+1
sta mul_u16_sel.return+1
lda #1
sta mul_u16_sel.select
lda #<$10000/6
sta mul_u16_sel.v2
lda #>$10000/6
sta mul_u16_sel.v2+1
jsr mul_u16_sel
lda mul_u16_sel.return_14
sta mul_u16_sel.return_10
lda mul_u16_sel.return_14+1
sta mul_u16_sel.return_10+1
lda x1
sec
sbc usinx
sta usinx
lda x1+1
sbc usinx+1
sta usinx+1
lda x1
sta mul_u16_sel.v2
lda x1+1
sta mul_u16_sel.v2+1
lda #0
sta mul_u16_sel.select
jsr mul_u16_sel
lda mul_u16_sel.return_14
sta mul_u16_sel.return
lda mul_u16_sel.return_14+1
sta mul_u16_sel.return+1
lda x1
sta mul_u16_sel.v2
lda x1+1
sta mul_u16_sel.v2+1
lda #0
sta mul_u16_sel.select
jsr mul_u16_sel
lda mul_u16_sel.return_14
sta mul_u16_sel.return
lda mul_u16_sel.return_14+1
sta mul_u16_sel.return+1
lda #3
sta mul_u16_sel.select
lda #<$10000/$80
sta mul_u16_sel.v2
lda #>$10000/$80
sta mul_u16_sel.v2+1
jsr mul_u16_sel
lda usinx
clc
adc x5_128
sta usinx
lda usinx+1
adc x5_128+1
sta usinx+1
cpx #0
beq b3
sec
lda sinx
eor #$ff
adc #0
sta sinx
lda sinx+1
eor #$ff
adc #0
sta sinx+1
b3:
rts
}
mul_u16_sel: {
.label _0 = $e
@ -419,20 +419,22 @@ mul_u16_sel: {
.label return = 8
.label return_10 = 6
.label return_13 = $12
.label select = $14
.label return_14 = $12
lda v1
sta mul16u.a
lda v1+1
sta mul16u.a+1
jsr mul16u
cpx #0
ldy select
cpy #0
beq !e+
!:
asl _1
rol _1+1
rol _1+2
rol _1+3
dex
dey
bne !-
!e:
lda _1+2
@ -442,8 +444,8 @@ mul_u16_sel: {
rts
}
mul16u: {
.label mb = $16
.label a = $14
.label mb = $17
.label a = $15
.label res = $e
.label b = $12
.label return = $e
@ -493,7 +495,7 @@ mul16u: {
jmp b1
}
div32u16u: {
.label return = $1a
.label return = $1b
.label quotient_hi = $12
.label quotient_lo = 8
lda #<main.wavelength

View File

@ -1,13 +1,13 @@
@begin: scope:[] from
[0] phi() [ ] ( )
to:@25
@25: scope:[] from @begin
to:@26
@26: scope:[] from @begin
[1] phi() [ ] ( )
[2] call main param-assignment [ ] ( )
to:@end
@end: scope:[] from @25
@end: scope:[] from @26
[3] phi() [ ] ( )
main: scope:[main] from @25
main: scope:[main] from @26
[4] phi() [ ] ( main:2 [ ] )
[5] call sin16s_gen param-assignment [ ] ( main:2 [ ] )
to:main::@5
@ -127,191 +127,199 @@ sin16s_gen: scope:[sin16s_gen] from main
[58] phi() [ ] ( main:2::sin16s_gen:5 [ ] )
[59] call div32u16u param-assignment [ div32u16u::return#1 ] ( main:2::sin16s_gen:5 [ div32u16u::return#1 ] )
[60] (dword) div32u16u::return#0 ← (dword) div32u16u::return#1 [ div32u16u::return#0 ] ( main:2::sin16s_gen:5 [ div32u16u::return#0 ] )
to:sin16s_gen::@9
sin16s_gen::@9: scope:[sin16s_gen] from sin16s_gen
to:sin16s_gen::@3
sin16s_gen::@3: scope:[sin16s_gen] from sin16s_gen
[61] (dword) sin16s_gen::step#0 ← (dword) div32u16u::return#0 [ sin16s_gen::step#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 ] )
to:sin16s_gen::@1
sin16s_gen::@1: scope:[sin16s_gen] from sin16s_gen::@4 sin16s_gen::@9
[62] (word) sin16s_gen::i#10 ← phi( sin16s_gen::@4/(word) sin16s_gen::i#1 sin16s_gen::@9/(byte/signed byte/word/signed word/dword/signed dword) 0 ) [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 ] )
[62] (signed word*) sin16s_gen::sintab#10 ← phi( sin16s_gen::@4/(signed word*) sin16s_gen::sintab#1 sin16s_gen::@9/(const signed word[120]) main::sintab1#0 ) [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 ] )
[62] (dword) sin16s_gen::x#10 ← phi( sin16s_gen::@4/(dword) sin16s_gen::x#1 sin16s_gen::@9/(byte/signed byte/word/signed word/dword/signed dword) 0 ) [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 ] )
[63] if((dword) sin16s_gen::x#10<(const dword) PI_u4f28#0) goto sin16s_gen::@17 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 ] )
to:sin16s_gen::@5
sin16s_gen::@5: scope:[sin16s_gen] from sin16s_gen::@1
[64] (dword) sin16s_gen::xp#1 ← (dword) sin16s_gen::x#10 - (const dword) PI_u4f28#0 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::xp#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::xp#1 ] )
to:sin16s_gen::@2
sin16s_gen::@2: scope:[sin16s_gen] from sin16s_gen::@17 sin16s_gen::@5
[65] (byte) sin16s_gen::isUpper#10 ← phi( sin16s_gen::@17/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s_gen::@5/(byte/signed byte/word/signed word/dword/signed dword) 1 ) [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::xp#3 sin16s_gen::isUpper#10 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::xp#3 sin16s_gen::isUpper#10 ] )
[65] (dword) sin16s_gen::xp#3 ← phi( sin16s_gen::@17/(dword~) sin16s_gen::xp#7 sin16s_gen::@5/(dword) sin16s_gen::xp#1 ) [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::xp#3 sin16s_gen::isUpper#10 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::xp#3 sin16s_gen::isUpper#10 ] )
[66] if((dword) sin16s_gen::xp#3<(const dword) PI_HALF_u4f28#0) goto sin16s_gen::@3 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::xp#3 sin16s_gen::isUpper#10 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::xp#3 sin16s_gen::isUpper#10 ] )
to:sin16s_gen::@6
sin16s_gen::@6: scope:[sin16s_gen] from sin16s_gen::@2
[67] (dword) sin16s_gen::xp#2 ← (const dword) PI_u4f28#0 - (dword) sin16s_gen::xp#3 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::xp#2 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::xp#2 ] )
to:sin16s_gen::@3
sin16s_gen::@3: scope:[sin16s_gen] from sin16s_gen::@2 sin16s_gen::@6
[68] (dword) sin16s_gen::xp#5 ← phi( sin16s_gen::@2/(dword) sin16s_gen::xp#3 sin16s_gen::@6/(dword) sin16s_gen::xp#2 ) [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::xp#5 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::xp#5 ] )
[69] (dword~) sin16s_gen::$7 ← (dword) sin16s_gen::xp#5 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::$7 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::$7 ] )
[70] (word) sin16s_gen::x1#0 ← > (dword~) sin16s_gen::$7 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 ] )
[71] (word) mul_u16_sel::v1#0 ← (word) sin16s_gen::x1#0 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::v1#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::v1#0 ] )
[72] (word) mul_u16_sel::v2#0 ← (word) sin16s_gen::x1#0 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::v1#0 mul_u16_sel::v2#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::v1#0 mul_u16_sel::v2#0 ] )
[73] call mul_u16_sel param-assignment [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::return#14 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::return#14 ] )
[74] (word) mul_u16_sel::return#0 ← (word) mul_u16_sel::return#14 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::return#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::return#0 ] )
to:sin16s_gen::@10
sin16s_gen::@10: scope:[sin16s_gen] from sin16s_gen::@3
[75] (word) sin16s_gen::x2#0 ← (word) mul_u16_sel::return#0 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::x2#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::x2#0 ] )
[76] (word) mul_u16_sel::v1#1 ← (word) sin16s_gen::x2#0 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::v1#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::v1#1 ] )
[77] (word) mul_u16_sel::v2#1 ← (word) sin16s_gen::x1#0 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::v1#1 mul_u16_sel::v2#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::v1#1 mul_u16_sel::v2#1 ] )
[78] call mul_u16_sel param-assignment [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::return#14 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::return#14 ] )
[79] (word) mul_u16_sel::return#1 ← (word) mul_u16_sel::return#14 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::return#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::return#1 ] )
to:sin16s_gen::@11
sin16s_gen::@11: scope:[sin16s_gen] from sin16s_gen::@10
[80] (word) sin16s_gen::x3#0 ← (word) mul_u16_sel::return#1 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::x3#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::x3#0 ] )
[81] (word) mul_u16_sel::v1#2 ← (word) sin16s_gen::x3#0 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::x3#0 mul_u16_sel::v1#2 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::x3#0 mul_u16_sel::v1#2 ] )
[82] call mul_u16_sel param-assignment [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::return#14 sin16s_gen::x3#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::return#14 sin16s_gen::x3#0 ] )
[83] (word) mul_u16_sel::return#10 ← (word) mul_u16_sel::return#14 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::x3#0 mul_u16_sel::return#10 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::x3#0 mul_u16_sel::return#10 ] )
to:sin16s_gen::@12
sin16s_gen::@12: scope:[sin16s_gen] from sin16s_gen::@11
[84] (word) sin16s_gen::x3_6#0 ← (word) mul_u16_sel::return#10 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::x3#0 sin16s_gen::x3_6#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::x3#0 sin16s_gen::x3_6#0 ] )
[85] (word) sin16s_gen::usinx#0 ← (word) sin16s_gen::x1#0 - (word) sin16s_gen::x3_6#0 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::x3#0 sin16s_gen::usinx#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::x3#0 sin16s_gen::usinx#0 ] )
[86] (word) mul_u16_sel::v1#3 ← (word) sin16s_gen::x3#0 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::usinx#0 mul_u16_sel::v1#3 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::usinx#0 mul_u16_sel::v1#3 ] )
[87] (word) mul_u16_sel::v2#3 ← (word) sin16s_gen::x1#0 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::usinx#0 mul_u16_sel::v1#3 mul_u16_sel::v2#3 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::usinx#0 mul_u16_sel::v1#3 mul_u16_sel::v2#3 ] )
[88] call mul_u16_sel param-assignment [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::return#14 sin16s_gen::usinx#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::return#14 sin16s_gen::usinx#0 ] )
[89] (word) mul_u16_sel::return#11 ← (word) mul_u16_sel::return#14 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::usinx#0 mul_u16_sel::return#11 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::usinx#0 mul_u16_sel::return#11 ] )
to:sin16s_gen::@13
sin16s_gen::@13: scope:[sin16s_gen] from sin16s_gen::@12
[90] (word) sin16s_gen::x4#0 ← (word) mul_u16_sel::return#11 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::usinx#0 sin16s_gen::x4#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::usinx#0 sin16s_gen::x4#0 ] )
[91] (word) mul_u16_sel::v1#4 ← (word) sin16s_gen::x4#0 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::usinx#0 mul_u16_sel::v1#4 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::usinx#0 mul_u16_sel::v1#4 ] )
[92] (word) mul_u16_sel::v2#4 ← (word) sin16s_gen::x1#0 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u16_sel::v1#4 mul_u16_sel::v2#4 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u16_sel::v1#4 mul_u16_sel::v2#4 ] )
[93] call mul_u16_sel param-assignment [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 mul_u16_sel::return#14 sin16s_gen::usinx#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 mul_u16_sel::return#14 sin16s_gen::usinx#0 ] )
[94] (word) mul_u16_sel::return#12 ← (word) mul_u16_sel::return#14 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u16_sel::return#12 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u16_sel::return#12 ] )
to:sin16s_gen::@14
sin16s_gen::@14: scope:[sin16s_gen] from sin16s_gen::@13
[95] (word) sin16s_gen::x5#0 ← (word) mul_u16_sel::return#12 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 sin16s_gen::x5#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 sin16s_gen::x5#0 ] )
[96] (word) mul_u16_sel::v1#5 ← (word) sin16s_gen::x5#0 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u16_sel::v1#5 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u16_sel::v1#5 ] )
[97] call mul_u16_sel param-assignment [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 mul_u16_sel::return#14 sin16s_gen::usinx#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 mul_u16_sel::return#14 sin16s_gen::usinx#0 ] )
[98] (word) mul_u16_sel::return#13 ← (word) mul_u16_sel::return#14 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u16_sel::return#13 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u16_sel::return#13 ] )
to:sin16s_gen::@15
sin16s_gen::@15: scope:[sin16s_gen] from sin16s_gen::@14
[99] (word) sin16s_gen::x5_128#0 ← (word) mul_u16_sel::return#13 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 sin16s_gen::x5_128#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 sin16s_gen::x5_128#0 ] )
[100] (word) sin16s_gen::usinx#1 ← (word) sin16s_gen::usinx#0 + (word) sin16s_gen::x5_128#0 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#1 ] )
[101] if((byte) sin16s_gen::isUpper#10==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin16s_gen::@19 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::usinx#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::usinx#1 ] )
to:sin16s_gen::@7
sin16s_gen::@7: scope:[sin16s_gen] from sin16s_gen::@15
[102] (signed word) sin16s_gen::sinx#1 ← - (signed word)(word) sin16s_gen::usinx#1 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::sinx#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::sinx#1 ] )
sin16s_gen::@1: scope:[sin16s_gen] from sin16s_gen::@3 sin16s_gen::@4
[62] (word) sin16s_gen::i#2 ← phi( sin16s_gen::@3/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s_gen::@4/(word) sin16s_gen::i#1 ) [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] )
[62] (signed word*) sin16s_gen::sintab#2 ← phi( sin16s_gen::@3/(const signed word[120]) main::sintab1#0 sin16s_gen::@4/(signed word*) sin16s_gen::sintab#1 ) [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] )
[62] (dword) sin16s_gen::x#2 ← phi( sin16s_gen::@3/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s_gen::@4/(dword) sin16s_gen::x#1 ) [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] )
[63] (dword) sin16s::x#0 ← (dword) sin16s_gen::x#2 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] )
[64] call sin16s param-assignment [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#1 ] )
[65] (signed word) sin16s::return#0 ← (signed word) sin16s::return#1 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#0 ] )
to:sin16s_gen::@4
sin16s_gen::@4: scope:[sin16s_gen] from sin16s_gen::@19 sin16s_gen::@7
[103] (signed word) sin16s_gen::sinx#2 ← phi( sin16s_gen::@19/(signed word~) sin16s_gen::sinx#3 sin16s_gen::@7/(signed word) sin16s_gen::sinx#1 ) [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::sinx#2 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::sinx#2 ] )
[104] *((signed word*) sin16s_gen::sintab#10) ← (signed word) sin16s_gen::sinx#2 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 ] )
[105] (signed word*) sin16s_gen::sintab#1 ← (signed word*) sin16s_gen::sintab#10 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::i#10 sin16s_gen::sintab#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::i#10 sin16s_gen::sintab#1 ] )
[106] (dword) sin16s_gen::x#1 ← (dword) sin16s_gen::x#10 + (dword) sin16s_gen::step#0 [ sin16s_gen::step#0 sin16s_gen::i#10 sin16s_gen::x#1 sin16s_gen::sintab#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::i#10 sin16s_gen::x#1 sin16s_gen::sintab#1 ] )
[107] (word) sin16s_gen::i#1 ← ++ (word) sin16s_gen::i#10 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#1 sin16s_gen::i#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#1 sin16s_gen::i#1 ] )
[108] if((word) sin16s_gen::i#1<(const word) main::wavelength#0) goto sin16s_gen::@1 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#1 sin16s_gen::i#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#1 sin16s_gen::i#1 ] )
sin16s_gen::@4: scope:[sin16s_gen] from sin16s_gen::@1
[66] (signed word~) sin16s_gen::$1 ← (signed word) sin16s::return#0 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s_gen::$1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s_gen::$1 ] )
[67] *((signed word*) sin16s_gen::sintab#2) ← (signed word~) sin16s_gen::$1 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 ] )
[68] (signed word*) sin16s_gen::sintab#1 ← (signed word*) sin16s_gen::sintab#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::i#2 sin16s_gen::sintab#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::i#2 sin16s_gen::sintab#1 ] )
[69] (dword) sin16s_gen::x#1 ← (dword) sin16s_gen::x#2 + (dword) sin16s_gen::step#0 [ sin16s_gen::step#0 sin16s_gen::i#2 sin16s_gen::x#1 sin16s_gen::sintab#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::i#2 sin16s_gen::x#1 sin16s_gen::sintab#1 ] )
[70] (word) sin16s_gen::i#1 ← ++ (word) sin16s_gen::i#2 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#1 sin16s_gen::i#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#1 sin16s_gen::i#1 ] )
[71] if((word) sin16s_gen::i#1<(const word) main::wavelength#0) goto sin16s_gen::@1 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#1 sin16s_gen::i#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#1 sin16s_gen::i#1 ] )
to:sin16s_gen::@return
sin16s_gen::@return: scope:[sin16s_gen] from sin16s_gen::@4
[109] return [ ] ( main:2::sin16s_gen:5 [ ] )
[72] return [ ] ( main:2::sin16s_gen:5 [ ] )
to:@return
sin16s_gen::@19: scope:[sin16s_gen] from sin16s_gen::@15
[110] (signed word~) sin16s_gen::sinx#3 ← (signed word)(word) sin16s_gen::usinx#1 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::sinx#3 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::sinx#3 ] )
to:sin16s_gen::@4
sin16s_gen::@17: scope:[sin16s_gen] from sin16s_gen::@1
[111] (dword~) sin16s_gen::xp#7 ← (dword) sin16s_gen::x#10 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::xp#7 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::xp#7 ] )
to:sin16s_gen::@2
mul_u16_sel: scope:[mul_u16_sel] from sin16s_gen::@10 sin16s_gen::@11 sin16s_gen::@12 sin16s_gen::@13 sin16s_gen::@14 sin16s_gen::@3
[112] (byte) mul_u16_sel::select#6 ← phi( sin16s_gen::@10/(byte/signed byte/word/signed word/dword/signed dword) 1 sin16s_gen::@11/(byte/signed byte/word/signed word/dword/signed dword) 1 sin16s_gen::@12/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s_gen::@13/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s_gen::@14/(byte/signed byte/word/signed word/dword/signed dword) 3 sin16s_gen::@3/(byte/signed byte/word/signed word/dword/signed dword) 0 ) [ mul_u16_sel::v1#6 mul_u16_sel::v2#6 mul_u16_sel::select#6 ] ( main:2::sin16s_gen:5::mul_u16_sel:73 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::v1#6 mul_u16_sel::v2#6 mul_u16_sel::select#6 ] main:2::sin16s_gen:5::mul_u16_sel:78 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::v1#6 mul_u16_sel::v2#6 mul_u16_sel::select#6 ] main:2::sin16s_gen:5::mul_u16_sel:82 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::x3#0 mul_u16_sel::v1#6 mul_u16_sel::v2#6 mul_u16_sel::select#6 ] main:2::sin16s_gen:5::mul_u16_sel:88 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::usinx#0 mul_u16_sel::v1#6 mul_u16_sel::v2#6 mul_u16_sel::select#6 ] main:2::sin16s_gen:5::mul_u16_sel:93 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u16_sel::v1#6 mul_u16_sel::v2#6 mul_u16_sel::select#6 ] main:2::sin16s_gen:5::mul_u16_sel:97 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u16_sel::v1#6 mul_u16_sel::v2#6 mul_u16_sel::select#6 ] )
[112] (word) mul_u16_sel::v2#6 ← phi( sin16s_gen::@10/(word) mul_u16_sel::v2#1 sin16s_gen::@11/(dword/signed dword) 65536/(byte/signed byte/word/signed word/dword/signed dword) 6 sin16s_gen::@12/(word) mul_u16_sel::v2#3 sin16s_gen::@13/(word) mul_u16_sel::v2#4 sin16s_gen::@14/(dword/signed dword) 65536/(byte/word/signed word/dword/signed dword) 128 sin16s_gen::@3/(word) mul_u16_sel::v2#0 ) [ mul_u16_sel::v1#6 mul_u16_sel::v2#6 mul_u16_sel::select#6 ] ( main:2::sin16s_gen:5::mul_u16_sel:73 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::v1#6 mul_u16_sel::v2#6 mul_u16_sel::select#6 ] main:2::sin16s_gen:5::mul_u16_sel:78 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::v1#6 mul_u16_sel::v2#6 mul_u16_sel::select#6 ] main:2::sin16s_gen:5::mul_u16_sel:82 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::x3#0 mul_u16_sel::v1#6 mul_u16_sel::v2#6 mul_u16_sel::select#6 ] main:2::sin16s_gen:5::mul_u16_sel:88 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::usinx#0 mul_u16_sel::v1#6 mul_u16_sel::v2#6 mul_u16_sel::select#6 ] main:2::sin16s_gen:5::mul_u16_sel:93 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u16_sel::v1#6 mul_u16_sel::v2#6 mul_u16_sel::select#6 ] main:2::sin16s_gen:5::mul_u16_sel:97 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u16_sel::v1#6 mul_u16_sel::v2#6 mul_u16_sel::select#6 ] )
[112] (word) mul_u16_sel::v1#6 ← phi( sin16s_gen::@10/(word) mul_u16_sel::v1#1 sin16s_gen::@11/(word) mul_u16_sel::v1#2 sin16s_gen::@12/(word) mul_u16_sel::v1#3 sin16s_gen::@13/(word) mul_u16_sel::v1#4 sin16s_gen::@14/(word) mul_u16_sel::v1#5 sin16s_gen::@3/(word) mul_u16_sel::v1#0 ) [ mul_u16_sel::v1#6 mul_u16_sel::v2#6 mul_u16_sel::select#6 ] ( main:2::sin16s_gen:5::mul_u16_sel:73 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::v1#6 mul_u16_sel::v2#6 mul_u16_sel::select#6 ] main:2::sin16s_gen:5::mul_u16_sel:78 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::v1#6 mul_u16_sel::v2#6 mul_u16_sel::select#6 ] main:2::sin16s_gen:5::mul_u16_sel:82 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::x3#0 mul_u16_sel::v1#6 mul_u16_sel::v2#6 mul_u16_sel::select#6 ] main:2::sin16s_gen:5::mul_u16_sel:88 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::usinx#0 mul_u16_sel::v1#6 mul_u16_sel::v2#6 mul_u16_sel::select#6 ] main:2::sin16s_gen:5::mul_u16_sel:93 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u16_sel::v1#6 mul_u16_sel::v2#6 mul_u16_sel::select#6 ] main:2::sin16s_gen:5::mul_u16_sel:97 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u16_sel::v1#6 mul_u16_sel::v2#6 mul_u16_sel::select#6 ] )
[113] (word) mul16u::a#1 ← (word) mul_u16_sel::v1#6 [ mul_u16_sel::v2#6 mul_u16_sel::select#6 mul16u::a#1 ] ( main:2::sin16s_gen:5::mul_u16_sel:73 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::v2#6 mul_u16_sel::select#6 mul16u::a#1 ] main:2::sin16s_gen:5::mul_u16_sel:78 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::v2#6 mul_u16_sel::select#6 mul16u::a#1 ] main:2::sin16s_gen:5::mul_u16_sel:82 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::x3#0 mul_u16_sel::v2#6 mul_u16_sel::select#6 mul16u::a#1 ] main:2::sin16s_gen:5::mul_u16_sel:88 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::usinx#0 mul_u16_sel::v2#6 mul_u16_sel::select#6 mul16u::a#1 ] main:2::sin16s_gen:5::mul_u16_sel:93 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u16_sel::v2#6 mul_u16_sel::select#6 mul16u::a#1 ] main:2::sin16s_gen:5::mul_u16_sel:97 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u16_sel::v2#6 mul_u16_sel::select#6 mul16u::a#1 ] )
[114] (word) mul16u::b#0 ← (word) mul_u16_sel::v2#6 [ mul_u16_sel::select#6 mul16u::a#1 mul16u::b#0 ] ( main:2::sin16s_gen:5::mul_u16_sel:73 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::select#6 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::mul_u16_sel:78 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::select#6 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::mul_u16_sel:82 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::x3#0 mul_u16_sel::select#6 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::mul_u16_sel:88 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::usinx#0 mul_u16_sel::select#6 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::mul_u16_sel:93 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u16_sel::select#6 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::mul_u16_sel:97 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u16_sel::select#6 mul16u::a#1 mul16u::b#0 ] )
[115] call mul16u param-assignment [ mul_u16_sel::select#6 mul16u::res#2 ] ( main:2::sin16s_gen:5::mul_u16_sel:73 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::select#6 mul16u::res#2 ] main:2::sin16s_gen:5::mul_u16_sel:78 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::select#6 mul16u::res#2 ] main:2::sin16s_gen:5::mul_u16_sel:82 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::x3#0 mul_u16_sel::select#6 mul16u::res#2 ] main:2::sin16s_gen:5::mul_u16_sel:88 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::usinx#0 mul_u16_sel::select#6 mul16u::res#2 ] main:2::sin16s_gen:5::mul_u16_sel:93 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u16_sel::select#6 mul16u::res#2 ] main:2::sin16s_gen:5::mul_u16_sel:97 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u16_sel::select#6 mul16u::res#2 ] )
[116] (dword) mul16u::return#2 ← (dword) mul16u::res#2 [ mul_u16_sel::select#6 mul16u::return#2 ] ( main:2::sin16s_gen:5::mul_u16_sel:73 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::select#6 mul16u::return#2 ] main:2::sin16s_gen:5::mul_u16_sel:78 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::select#6 mul16u::return#2 ] main:2::sin16s_gen:5::mul_u16_sel:82 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::x3#0 mul_u16_sel::select#6 mul16u::return#2 ] main:2::sin16s_gen:5::mul_u16_sel:88 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::usinx#0 mul_u16_sel::select#6 mul16u::return#2 ] main:2::sin16s_gen:5::mul_u16_sel:93 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u16_sel::select#6 mul16u::return#2 ] main:2::sin16s_gen:5::mul_u16_sel:97 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u16_sel::select#6 mul16u::return#2 ] )
sin16s: scope:[sin16s] from sin16s_gen::@1
[73] if((dword) sin16s::x#0<(const dword) PI_u4f28#0) goto sin16s::@1 [ sin16s::x#0 ] ( main:2::sin16s_gen:5::sin16s:64 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#0 ] )
to:sin16s::@4
sin16s::@4: scope:[sin16s] from sin16s
[74] (dword) sin16s::x#1 ← (dword) sin16s::x#0 - (const dword) PI_u4f28#0 [ sin16s::x#1 ] ( main:2::sin16s_gen:5::sin16s:64 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#1 ] )
to:sin16s::@1
sin16s::@1: scope:[sin16s] from sin16s sin16s::@4
[75] (byte) sin16s::isUpper#10 ← phi( sin16s/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s::@4/(byte/signed byte/word/signed word/dword/signed dword) 1 ) [ sin16s::x#4 sin16s::isUpper#10 ] ( main:2::sin16s_gen:5::sin16s:64 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#4 sin16s::isUpper#10 ] )
[75] (dword) sin16s::x#4 ← phi( sin16s/(dword) sin16s::x#0 sin16s::@4/(dword) sin16s::x#1 ) [ sin16s::x#4 sin16s::isUpper#10 ] ( main:2::sin16s_gen:5::sin16s:64 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#4 sin16s::isUpper#10 ] )
[76] if((dword) sin16s::x#4<(const dword) PI_HALF_u4f28#0) goto sin16s::@2 [ sin16s::x#4 sin16s::isUpper#10 ] ( main:2::sin16s_gen:5::sin16s:64 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::x#4 sin16s::isUpper#10 ] )
to:sin16s::@5
sin16s::@5: scope:[sin16s] from sin16s::@1
[77] (dword) sin16s::x#2 ← (const dword) PI_u4f28#0 - (dword) sin16s::x#4 [ sin16s::isUpper#10 sin16s::x#2 ] ( main:2::sin16s_gen:5::sin16s:64 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x#2 ] )
to:sin16s::@2
sin16s::@2: scope:[sin16s] from sin16s::@1 sin16s::@5
[78] (dword) sin16s::x#6 ← phi( sin16s::@1/(dword) sin16s::x#4 sin16s::@5/(dword) sin16s::x#2 ) [ sin16s::isUpper#10 sin16s::x#6 ] ( main:2::sin16s_gen:5::sin16s:64 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x#6 ] )
[79] (dword~) sin16s::$6 ← (dword) sin16s::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin16s::isUpper#10 sin16s::$6 ] ( main:2::sin16s_gen:5::sin16s:64 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::$6 ] )
[80] (word) sin16s::x1#0 ← > (dword~) sin16s::$6 [ sin16s::isUpper#10 sin16s::x1#0 ] ( main:2::sin16s_gen:5::sin16s:64 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 ] )
[81] (word) mul_u16_sel::v1#0 ← (word) sin16s::x1#0 [ sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::v1#0 ] ( main:2::sin16s_gen:5::sin16s:64 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::v1#0 ] )
[82] (word) mul_u16_sel::v2#0 ← (word) sin16s::x1#0 [ sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::v1#0 mul_u16_sel::v2#0 ] ( main:2::sin16s_gen:5::sin16s:64 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::v1#0 mul_u16_sel::v2#0 ] )
[83] call mul_u16_sel param-assignment [ sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::return#14 ] ( main:2::sin16s_gen:5::sin16s:64 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::return#14 ] )
[84] (word) mul_u16_sel::return#0 ← (word) mul_u16_sel::return#14 [ sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::return#0 ] ( main:2::sin16s_gen:5::sin16s:64 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::return#0 ] )
to:sin16s::@8
sin16s::@8: scope:[sin16s] from sin16s::@2
[85] (word) sin16s::x2#0 ← (word) mul_u16_sel::return#0 [ sin16s::isUpper#10 sin16s::x1#0 sin16s::x2#0 ] ( main:2::sin16s_gen:5::sin16s:64 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::x2#0 ] )
[86] (word) mul_u16_sel::v1#1 ← (word) sin16s::x2#0 [ sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::v1#1 ] ( main:2::sin16s_gen:5::sin16s:64 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::v1#1 ] )
[87] (word) mul_u16_sel::v2#1 ← (word) sin16s::x1#0 [ sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::v1#1 mul_u16_sel::v2#1 ] ( main:2::sin16s_gen:5::sin16s:64 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::v1#1 mul_u16_sel::v2#1 ] )
[88] call mul_u16_sel param-assignment [ sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::return#14 ] ( main:2::sin16s_gen:5::sin16s:64 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::return#14 ] )
[89] (word) mul_u16_sel::return#1 ← (word) mul_u16_sel::return#14 [ sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::return#1 ] ( main:2::sin16s_gen:5::sin16s:64 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::return#1 ] )
to:sin16s::@9
sin16s::@9: scope:[sin16s] from sin16s::@8
[90] (word) sin16s::x3#0 ← (word) mul_u16_sel::return#1 [ sin16s::isUpper#10 sin16s::x1#0 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:64 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::x3#0 ] )
[91] (word) mul_u16_sel::v1#2 ← (word) sin16s::x3#0 [ sin16s::isUpper#10 sin16s::x1#0 sin16s::x3#0 mul_u16_sel::v1#2 ] ( main:2::sin16s_gen:5::sin16s:64 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::x3#0 mul_u16_sel::v1#2 ] )
[92] call mul_u16_sel param-assignment [ sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::return#14 sin16s::x3#0 ] ( main:2::sin16s_gen:5::sin16s:64 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::return#14 sin16s::x3#0 ] )
[93] (word) mul_u16_sel::return#10 ← (word) mul_u16_sel::return#14 [ sin16s::isUpper#10 sin16s::x1#0 sin16s::x3#0 mul_u16_sel::return#10 ] ( main:2::sin16s_gen:5::sin16s:64 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::x3#0 mul_u16_sel::return#10 ] )
to:sin16s::@10
sin16s::@10: scope:[sin16s] from sin16s::@9
[94] (word) sin16s::x3_6#0 ← (word) mul_u16_sel::return#10 [ sin16s::isUpper#10 sin16s::x1#0 sin16s::x3#0 sin16s::x3_6#0 ] ( main:2::sin16s_gen:5::sin16s:64 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::x3#0 sin16s::x3_6#0 ] )
[95] (word) sin16s::usinx#0 ← (word) sin16s::x1#0 - (word) sin16s::x3_6#0 [ sin16s::isUpper#10 sin16s::x1#0 sin16s::x3#0 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:64 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::x3#0 sin16s::usinx#0 ] )
[96] (word) mul_u16_sel::v1#3 ← (word) sin16s::x3#0 [ sin16s::isUpper#10 sin16s::x1#0 sin16s::usinx#0 mul_u16_sel::v1#3 ] ( main:2::sin16s_gen:5::sin16s:64 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::usinx#0 mul_u16_sel::v1#3 ] )
[97] (word) mul_u16_sel::v2#3 ← (word) sin16s::x1#0 [ sin16s::isUpper#10 sin16s::x1#0 sin16s::usinx#0 mul_u16_sel::v1#3 mul_u16_sel::v2#3 ] ( main:2::sin16s_gen:5::sin16s:64 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::usinx#0 mul_u16_sel::v1#3 mul_u16_sel::v2#3 ] )
[98] call mul_u16_sel param-assignment [ sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::return#14 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:64 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::return#14 sin16s::usinx#0 ] )
[99] (word) mul_u16_sel::return#11 ← (word) mul_u16_sel::return#14 [ sin16s::isUpper#10 sin16s::x1#0 sin16s::usinx#0 mul_u16_sel::return#11 ] ( main:2::sin16s_gen:5::sin16s:64 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::usinx#0 mul_u16_sel::return#11 ] )
to:sin16s::@11
sin16s::@11: scope:[sin16s] from sin16s::@10
[100] (word) sin16s::x4#0 ← (word) mul_u16_sel::return#11 [ sin16s::isUpper#10 sin16s::x1#0 sin16s::usinx#0 sin16s::x4#0 ] ( main:2::sin16s_gen:5::sin16s:64 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::usinx#0 sin16s::x4#0 ] )
[101] (word) mul_u16_sel::v1#4 ← (word) sin16s::x4#0 [ sin16s::isUpper#10 sin16s::x1#0 sin16s::usinx#0 mul_u16_sel::v1#4 ] ( main:2::sin16s_gen:5::sin16s:64 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::usinx#0 mul_u16_sel::v1#4 ] )
[102] (word) mul_u16_sel::v2#4 ← (word) sin16s::x1#0 [ sin16s::isUpper#10 sin16s::usinx#0 mul_u16_sel::v1#4 mul_u16_sel::v2#4 ] ( main:2::sin16s_gen:5::sin16s:64 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::usinx#0 mul_u16_sel::v1#4 mul_u16_sel::v2#4 ] )
[103] call mul_u16_sel param-assignment [ sin16s::isUpper#10 mul_u16_sel::return#14 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:64 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 mul_u16_sel::return#14 sin16s::usinx#0 ] )
[104] (word) mul_u16_sel::return#12 ← (word) mul_u16_sel::return#14 [ sin16s::isUpper#10 sin16s::usinx#0 mul_u16_sel::return#12 ] ( main:2::sin16s_gen:5::sin16s:64 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::usinx#0 mul_u16_sel::return#12 ] )
to:sin16s::@12
sin16s::@12: scope:[sin16s] from sin16s::@11
[105] (word) sin16s::x5#0 ← (word) mul_u16_sel::return#12 [ sin16s::isUpper#10 sin16s::usinx#0 sin16s::x5#0 ] ( main:2::sin16s_gen:5::sin16s:64 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::usinx#0 sin16s::x5#0 ] )
[106] (word) mul_u16_sel::v1#5 ← (word) sin16s::x5#0 [ sin16s::isUpper#10 sin16s::usinx#0 mul_u16_sel::v1#5 ] ( main:2::sin16s_gen:5::sin16s:64 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::usinx#0 mul_u16_sel::v1#5 ] )
[107] call mul_u16_sel param-assignment [ sin16s::isUpper#10 mul_u16_sel::return#14 sin16s::usinx#0 ] ( main:2::sin16s_gen:5::sin16s:64 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 mul_u16_sel::return#14 sin16s::usinx#0 ] )
[108] (word) mul_u16_sel::return#13 ← (word) mul_u16_sel::return#14 [ sin16s::isUpper#10 sin16s::usinx#0 mul_u16_sel::return#13 ] ( main:2::sin16s_gen:5::sin16s:64 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::usinx#0 mul_u16_sel::return#13 ] )
to:sin16s::@13
sin16s::@13: scope:[sin16s] from sin16s::@12
[109] (word) sin16s::x5_128#0 ← (word) mul_u16_sel::return#13 [ sin16s::isUpper#10 sin16s::usinx#0 sin16s::x5_128#0 ] ( main:2::sin16s_gen:5::sin16s:64 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::usinx#0 sin16s::x5_128#0 ] )
[110] (word) sin16s::usinx#1 ← (word) sin16s::usinx#0 + (word) sin16s::x5_128#0 [ sin16s::isUpper#10 sin16s::usinx#1 ] ( main:2::sin16s_gen:5::sin16s:64 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::usinx#1 ] )
[111] if((byte) sin16s::isUpper#10==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin16s::@16 [ sin16s::usinx#1 ] ( main:2::sin16s_gen:5::sin16s:64 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::usinx#1 ] )
to:sin16s::@6
sin16s::@6: scope:[sin16s] from sin16s::@13
[112] (signed word) sin16s::sinx#1 ← - (signed word)(word) sin16s::usinx#1 [ sin16s::sinx#1 ] ( main:2::sin16s_gen:5::sin16s:64 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::sinx#1 ] )
to:sin16s::@3
sin16s::@3: scope:[sin16s] from sin16s::@16 sin16s::@6
[113] (signed word) sin16s::return#1 ← phi( sin16s::@16/(signed word~) sin16s::return#5 sin16s::@6/(signed word) sin16s::sinx#1 ) [ sin16s::return#1 ] ( main:2::sin16s_gen:5::sin16s:64 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#1 ] )
to:sin16s::@return
sin16s::@return: scope:[sin16s] from sin16s::@3
[114] return [ sin16s::return#1 ] ( main:2::sin16s_gen:5::sin16s:64 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#1 ] )
to:@return
sin16s::@16: scope:[sin16s] from sin16s::@13
[115] (signed word~) sin16s::return#5 ← (signed word)(word) sin16s::usinx#1 [ sin16s::return#5 ] ( main:2::sin16s_gen:5::sin16s:64 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::return#5 ] )
to:sin16s::@3
mul_u16_sel: scope:[mul_u16_sel] from sin16s::@10 sin16s::@11 sin16s::@12 sin16s::@2 sin16s::@8 sin16s::@9
[116] (byte) mul_u16_sel::select#6 ← phi( sin16s::@10/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s::@11/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s::@12/(byte/signed byte/word/signed word/dword/signed dword) 3 sin16s::@2/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s::@8/(byte/signed byte/word/signed word/dword/signed dword) 1 sin16s::@9/(byte/signed byte/word/signed word/dword/signed dword) 1 ) [ mul_u16_sel::v1#6 mul_u16_sel::v2#6 mul_u16_sel::select#6 ] ( main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:83 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::v1#6 mul_u16_sel::v2#6 mul_u16_sel::select#6 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:88 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::v1#6 mul_u16_sel::v2#6 mul_u16_sel::select#6 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:92 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::x3#0 mul_u16_sel::v1#6 mul_u16_sel::v2#6 mul_u16_sel::select#6 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:98 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::usinx#0 mul_u16_sel::v1#6 mul_u16_sel::v2#6 mul_u16_sel::select#6 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:103 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::usinx#0 mul_u16_sel::v1#6 mul_u16_sel::v2#6 mul_u16_sel::select#6 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:107 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::usinx#0 mul_u16_sel::v1#6 mul_u16_sel::v2#6 mul_u16_sel::select#6 ] )
[116] (word) mul_u16_sel::v2#6 ← phi( sin16s::@10/(word) mul_u16_sel::v2#3 sin16s::@11/(word) mul_u16_sel::v2#4 sin16s::@12/(dword/signed dword) 65536/(byte/word/signed word/dword/signed dword) 128 sin16s::@2/(word) mul_u16_sel::v2#0 sin16s::@8/(word) mul_u16_sel::v2#1 sin16s::@9/(dword/signed dword) 65536/(byte/signed byte/word/signed word/dword/signed dword) 6 ) [ mul_u16_sel::v1#6 mul_u16_sel::v2#6 mul_u16_sel::select#6 ] ( main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:83 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::v1#6 mul_u16_sel::v2#6 mul_u16_sel::select#6 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:88 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::v1#6 mul_u16_sel::v2#6 mul_u16_sel::select#6 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:92 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::x3#0 mul_u16_sel::v1#6 mul_u16_sel::v2#6 mul_u16_sel::select#6 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:98 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::usinx#0 mul_u16_sel::v1#6 mul_u16_sel::v2#6 mul_u16_sel::select#6 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:103 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::usinx#0 mul_u16_sel::v1#6 mul_u16_sel::v2#6 mul_u16_sel::select#6 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:107 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::usinx#0 mul_u16_sel::v1#6 mul_u16_sel::v2#6 mul_u16_sel::select#6 ] )
[116] (word) mul_u16_sel::v1#6 ← phi( sin16s::@10/(word) mul_u16_sel::v1#3 sin16s::@11/(word) mul_u16_sel::v1#4 sin16s::@12/(word) mul_u16_sel::v1#5 sin16s::@2/(word) mul_u16_sel::v1#0 sin16s::@8/(word) mul_u16_sel::v1#1 sin16s::@9/(word) mul_u16_sel::v1#2 ) [ mul_u16_sel::v1#6 mul_u16_sel::v2#6 mul_u16_sel::select#6 ] ( main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:83 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::v1#6 mul_u16_sel::v2#6 mul_u16_sel::select#6 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:88 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::v1#6 mul_u16_sel::v2#6 mul_u16_sel::select#6 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:92 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::x3#0 mul_u16_sel::v1#6 mul_u16_sel::v2#6 mul_u16_sel::select#6 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:98 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::usinx#0 mul_u16_sel::v1#6 mul_u16_sel::v2#6 mul_u16_sel::select#6 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:103 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::usinx#0 mul_u16_sel::v1#6 mul_u16_sel::v2#6 mul_u16_sel::select#6 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:107 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::usinx#0 mul_u16_sel::v1#6 mul_u16_sel::v2#6 mul_u16_sel::select#6 ] )
[117] (word) mul16u::a#1 ← (word) mul_u16_sel::v1#6 [ mul_u16_sel::v2#6 mul_u16_sel::select#6 mul16u::a#1 ] ( main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:83 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::v2#6 mul_u16_sel::select#6 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:88 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::v2#6 mul_u16_sel::select#6 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:92 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::x3#0 mul_u16_sel::v2#6 mul_u16_sel::select#6 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:98 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::usinx#0 mul_u16_sel::v2#6 mul_u16_sel::select#6 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:103 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::usinx#0 mul_u16_sel::v2#6 mul_u16_sel::select#6 mul16u::a#1 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:107 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::usinx#0 mul_u16_sel::v2#6 mul_u16_sel::select#6 mul16u::a#1 ] )
[118] (word) mul16u::b#0 ← (word) mul_u16_sel::v2#6 [ mul_u16_sel::select#6 mul16u::a#1 mul16u::b#0 ] ( main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:83 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::select#6 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:88 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::select#6 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:92 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::x3#0 mul_u16_sel::select#6 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:98 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::usinx#0 mul_u16_sel::select#6 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:103 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::usinx#0 mul_u16_sel::select#6 mul16u::a#1 mul16u::b#0 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:107 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::usinx#0 mul_u16_sel::select#6 mul16u::a#1 mul16u::b#0 ] )
[119] call mul16u param-assignment [ mul_u16_sel::select#6 mul16u::res#2 ] ( main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:83 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::select#6 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:88 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::select#6 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:92 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::x3#0 mul_u16_sel::select#6 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:98 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::usinx#0 mul_u16_sel::select#6 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:103 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::usinx#0 mul_u16_sel::select#6 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:107 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::usinx#0 mul_u16_sel::select#6 mul16u::res#2 ] )
[120] (dword) mul16u::return#2 ← (dword) mul16u::res#2 [ mul_u16_sel::select#6 mul16u::return#2 ] ( main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:83 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::select#6 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:88 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::select#6 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:92 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::x3#0 mul_u16_sel::select#6 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:98 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::usinx#0 mul_u16_sel::select#6 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:103 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::usinx#0 mul_u16_sel::select#6 mul16u::return#2 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:107 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::usinx#0 mul_u16_sel::select#6 mul16u::return#2 ] )
to:mul_u16_sel::@2
mul_u16_sel::@2: scope:[mul_u16_sel] from mul_u16_sel
[117] (dword~) mul_u16_sel::$0 ← (dword) mul16u::return#2 [ mul_u16_sel::select#6 mul_u16_sel::$0 ] ( main:2::sin16s_gen:5::mul_u16_sel:73 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::select#6 mul_u16_sel::$0 ] main:2::sin16s_gen:5::mul_u16_sel:78 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::select#6 mul_u16_sel::$0 ] main:2::sin16s_gen:5::mul_u16_sel:82 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::x3#0 mul_u16_sel::select#6 mul_u16_sel::$0 ] main:2::sin16s_gen:5::mul_u16_sel:88 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::usinx#0 mul_u16_sel::select#6 mul_u16_sel::$0 ] main:2::sin16s_gen:5::mul_u16_sel:93 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u16_sel::select#6 mul_u16_sel::$0 ] main:2::sin16s_gen:5::mul_u16_sel:97 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u16_sel::select#6 mul_u16_sel::$0 ] )
[118] (dword~) mul_u16_sel::$1 ← (dword~) mul_u16_sel::$0 << (byte) mul_u16_sel::select#6 [ mul_u16_sel::$1 ] ( main:2::sin16s_gen:5::mul_u16_sel:73 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::$1 ] main:2::sin16s_gen:5::mul_u16_sel:78 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::$1 ] main:2::sin16s_gen:5::mul_u16_sel:82 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::x3#0 mul_u16_sel::$1 ] main:2::sin16s_gen:5::mul_u16_sel:88 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::usinx#0 mul_u16_sel::$1 ] main:2::sin16s_gen:5::mul_u16_sel:93 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u16_sel::$1 ] main:2::sin16s_gen:5::mul_u16_sel:97 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u16_sel::$1 ] )
[119] (word) mul_u16_sel::return#14 ← > (dword~) mul_u16_sel::$1 [ mul_u16_sel::return#14 ] ( main:2::sin16s_gen:5::mul_u16_sel:73 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::return#14 ] main:2::sin16s_gen:5::mul_u16_sel:78 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::return#14 ] main:2::sin16s_gen:5::mul_u16_sel:82 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::x3#0 mul_u16_sel::return#14 ] main:2::sin16s_gen:5::mul_u16_sel:88 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::usinx#0 mul_u16_sel::return#14 ] main:2::sin16s_gen:5::mul_u16_sel:93 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u16_sel::return#14 ] main:2::sin16s_gen:5::mul_u16_sel:97 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u16_sel::return#14 ] )
[121] (dword~) mul_u16_sel::$0 ← (dword) mul16u::return#2 [ mul_u16_sel::select#6 mul_u16_sel::$0 ] ( main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:83 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::select#6 mul_u16_sel::$0 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:88 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::select#6 mul_u16_sel::$0 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:92 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::x3#0 mul_u16_sel::select#6 mul_u16_sel::$0 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:98 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::usinx#0 mul_u16_sel::select#6 mul_u16_sel::$0 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:103 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::usinx#0 mul_u16_sel::select#6 mul_u16_sel::$0 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:107 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::usinx#0 mul_u16_sel::select#6 mul_u16_sel::$0 ] )
[122] (dword~) mul_u16_sel::$1 ← (dword~) mul_u16_sel::$0 << (byte) mul_u16_sel::select#6 [ mul_u16_sel::$1 ] ( main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:83 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::$1 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:88 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::$1 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:92 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::x3#0 mul_u16_sel::$1 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:98 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::usinx#0 mul_u16_sel::$1 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:103 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::usinx#0 mul_u16_sel::$1 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:107 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::usinx#0 mul_u16_sel::$1 ] )
[123] (word) mul_u16_sel::return#14 ← > (dword~) mul_u16_sel::$1 [ mul_u16_sel::return#14 ] ( main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:83 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::return#14 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:88 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::return#14 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:92 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::x3#0 mul_u16_sel::return#14 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:98 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::usinx#0 mul_u16_sel::return#14 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:103 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::usinx#0 mul_u16_sel::return#14 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:107 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::usinx#0 mul_u16_sel::return#14 ] )
to:mul_u16_sel::@return
mul_u16_sel::@return: scope:[mul_u16_sel] from mul_u16_sel::@2
[120] return [ mul_u16_sel::return#14 ] ( main:2::sin16s_gen:5::mul_u16_sel:73 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::return#14 ] main:2::sin16s_gen:5::mul_u16_sel:78 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::return#14 ] main:2::sin16s_gen:5::mul_u16_sel:82 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::x3#0 mul_u16_sel::return#14 ] main:2::sin16s_gen:5::mul_u16_sel:88 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::usinx#0 mul_u16_sel::return#14 ] main:2::sin16s_gen:5::mul_u16_sel:93 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u16_sel::return#14 ] main:2::sin16s_gen:5::mul_u16_sel:97 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u16_sel::return#14 ] )
[124] return [ mul_u16_sel::return#14 ] ( main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:83 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::return#14 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:88 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::return#14 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:92 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::x3#0 mul_u16_sel::return#14 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:98 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::usinx#0 mul_u16_sel::return#14 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:103 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::usinx#0 mul_u16_sel::return#14 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:107 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::usinx#0 mul_u16_sel::return#14 ] )
to:@return
mul16u: scope:[mul16u] from mul_u16_sel
[121] (dword) mul16u::mb#0 ← ((dword)) (word) mul16u::b#0 [ mul16u::a#1 mul16u::mb#0 ] ( main:2::sin16s_gen:5::mul_u16_sel:73::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::select#6 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::mul_u16_sel:78::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::select#6 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::mul_u16_sel:82::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::x3#0 mul_u16_sel::select#6 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::mul_u16_sel:88::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::usinx#0 mul_u16_sel::select#6 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::mul_u16_sel:93::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u16_sel::select#6 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::mul_u16_sel:97::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u16_sel::select#6 mul16u::a#1 mul16u::mb#0 ] )
[125] (dword) mul16u::mb#0 ← ((dword)) (word) mul16u::b#0 [ mul16u::a#1 mul16u::mb#0 ] ( main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:83::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::select#6 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:88::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::select#6 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:92::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::x3#0 mul_u16_sel::select#6 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:98::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::usinx#0 mul_u16_sel::select#6 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:103::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::usinx#0 mul_u16_sel::select#6 mul16u::a#1 mul16u::mb#0 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:107::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::usinx#0 mul_u16_sel::select#6 mul16u::a#1 mul16u::mb#0 ] )
to:mul16u::@1
mul16u::@1: scope:[mul16u] from mul16u mul16u::@4
[122] (dword) mul16u::mb#2 ← phi( mul16u/(dword) mul16u::mb#0 mul16u::@4/(dword) mul16u::mb#1 ) [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_gen:5::mul_u16_sel:73::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::mul_u16_sel:78::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::mul_u16_sel:82::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::x3#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::mul_u16_sel:88::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::usinx#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::mul_u16_sel:93::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::mul_u16_sel:97::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] )
[122] (dword) mul16u::res#2 ← phi( mul16u/(byte/signed byte/word/signed word/dword/signed dword) 0 mul16u::@4/(dword) mul16u::res#6 ) [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_gen:5::mul_u16_sel:73::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::mul_u16_sel:78::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::mul_u16_sel:82::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::x3#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::mul_u16_sel:88::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::usinx#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::mul_u16_sel:93::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::mul_u16_sel:97::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] )
[122] (word) mul16u::a#2 ← phi( mul16u/(word) mul16u::a#1 mul16u::@4/(word) mul16u::a#0 ) [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_gen:5::mul_u16_sel:73::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::mul_u16_sel:78::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::mul_u16_sel:82::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::x3#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::mul_u16_sel:88::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::usinx#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::mul_u16_sel:93::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::mul_u16_sel:97::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] )
[123] if((word) mul16u::a#2!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul16u::@2 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_gen:5::mul_u16_sel:73::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::mul_u16_sel:78::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::mul_u16_sel:82::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::x3#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::mul_u16_sel:88::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::usinx#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::mul_u16_sel:93::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::mul_u16_sel:97::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] )
[126] (dword) mul16u::mb#2 ← phi( mul16u/(dword) mul16u::mb#0 mul16u::@4/(dword) mul16u::mb#1 ) [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:83::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:88::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:92::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::x3#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:98::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::usinx#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:103::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::usinx#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:107::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::usinx#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] )
[126] (dword) mul16u::res#2 ← phi( mul16u/(byte/signed byte/word/signed word/dword/signed dword) 0 mul16u::@4/(dword) mul16u::res#6 ) [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:83::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:88::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:92::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::x3#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:98::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::usinx#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:103::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::usinx#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:107::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::usinx#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] )
[126] (word) mul16u::a#2 ← phi( mul16u/(word) mul16u::a#1 mul16u::@4/(word) mul16u::a#0 ) [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:83::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:88::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:92::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::x3#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:98::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::usinx#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:103::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::usinx#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:107::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::usinx#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] )
[127] if((word) mul16u::a#2!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul16u::@2 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:83::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:88::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:92::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::x3#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:98::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::usinx#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:103::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::usinx#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:107::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::usinx#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] )
to:mul16u::@return
mul16u::@return: scope:[mul16u] from mul16u::@1
[124] return [ mul16u::res#2 ] ( main:2::sin16s_gen:5::mul_u16_sel:73::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::select#6 mul16u::res#2 ] main:2::sin16s_gen:5::mul_u16_sel:78::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::select#6 mul16u::res#2 ] main:2::sin16s_gen:5::mul_u16_sel:82::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::x3#0 mul_u16_sel::select#6 mul16u::res#2 ] main:2::sin16s_gen:5::mul_u16_sel:88::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::usinx#0 mul_u16_sel::select#6 mul16u::res#2 ] main:2::sin16s_gen:5::mul_u16_sel:93::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u16_sel::select#6 mul16u::res#2 ] main:2::sin16s_gen:5::mul_u16_sel:97::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u16_sel::select#6 mul16u::res#2 ] )
[128] return [ mul16u::res#2 ] ( main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:83::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::select#6 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:88::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::select#6 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:92::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::x3#0 mul_u16_sel::select#6 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:98::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::usinx#0 mul_u16_sel::select#6 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:103::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::usinx#0 mul_u16_sel::select#6 mul16u::res#2 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:107::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::usinx#0 mul_u16_sel::select#6 mul16u::res#2 ] )
to:@return
mul16u::@2: scope:[mul16u] from mul16u::@1
[125] (byte~) mul16u::$1 ← (word) mul16u::a#2 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] ( main:2::sin16s_gen:5::mul_u16_sel:73::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::mul_u16_sel:78::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::mul_u16_sel:82::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::x3#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::mul_u16_sel:88::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::usinx#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::mul_u16_sel:93::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::mul_u16_sel:97::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] )
[126] if((byte~) mul16u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul16u::@4 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_gen:5::mul_u16_sel:73::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::mul_u16_sel:78::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::mul_u16_sel:82::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::x3#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::mul_u16_sel:88::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::usinx#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::mul_u16_sel:93::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::mul_u16_sel:97::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] )
[129] (byte~) mul16u::$1 ← (word) mul16u::a#2 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] ( main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:83::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:88::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:92::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::x3#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:98::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::usinx#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:103::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::usinx#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:107::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::usinx#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 mul16u::$1 ] )
[130] if((byte~) mul16u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul16u::@4 [ mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] ( main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:83::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:88::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:92::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::x3#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:98::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::usinx#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:103::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::usinx#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:107::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::usinx#0 mul_u16_sel::select#6 mul16u::res#2 mul16u::a#2 mul16u::mb#2 ] )
to:mul16u::@7
mul16u::@7: scope:[mul16u] from mul16u::@2
[127] (dword) mul16u::res#1 ← (dword) mul16u::res#2 + (dword) mul16u::mb#2 [ mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] ( main:2::sin16s_gen:5::mul_u16_sel:73::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::select#6 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::mul_u16_sel:78::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::select#6 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::mul_u16_sel:82::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::x3#0 mul_u16_sel::select#6 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::mul_u16_sel:88::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::usinx#0 mul_u16_sel::select#6 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::mul_u16_sel:93::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u16_sel::select#6 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::mul_u16_sel:97::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u16_sel::select#6 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] )
[131] (dword) mul16u::res#1 ← (dword) mul16u::res#2 + (dword) mul16u::mb#2 [ mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] ( main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:83::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::select#6 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:88::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::select#6 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:92::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::x3#0 mul_u16_sel::select#6 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:98::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::usinx#0 mul_u16_sel::select#6 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:103::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::usinx#0 mul_u16_sel::select#6 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:107::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::usinx#0 mul_u16_sel::select#6 mul16u::a#2 mul16u::mb#2 mul16u::res#1 ] )
to:mul16u::@4
mul16u::@4: scope:[mul16u] from mul16u::@2 mul16u::@7
[128] (dword) mul16u::res#6 ← phi( mul16u::@2/(dword) mul16u::res#2 mul16u::@7/(dword) mul16u::res#1 ) [ mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] ( main:2::sin16s_gen:5::mul_u16_sel:73::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::select#6 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_gen:5::mul_u16_sel:78::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::select#6 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_gen:5::mul_u16_sel:82::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::x3#0 mul_u16_sel::select#6 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_gen:5::mul_u16_sel:88::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::usinx#0 mul_u16_sel::select#6 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_gen:5::mul_u16_sel:93::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u16_sel::select#6 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_gen:5::mul_u16_sel:97::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u16_sel::select#6 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] )
[129] (word) mul16u::a#0 ← (word) mul16u::a#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] ( main:2::sin16s_gen:5::mul_u16_sel:73::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::select#6 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::mul_u16_sel:78::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::select#6 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::mul_u16_sel:82::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::x3#0 mul_u16_sel::select#6 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::mul_u16_sel:88::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::usinx#0 mul_u16_sel::select#6 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::mul_u16_sel:93::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u16_sel::select#6 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::mul_u16_sel:97::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u16_sel::select#6 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] )
[130] (dword) mul16u::mb#1 ← (dword) mul16u::mb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] ( main:2::sin16s_gen:5::mul_u16_sel:73::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::select#6 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::mul_u16_sel:78::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 mul_u16_sel::select#6 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::mul_u16_sel:82::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::x3#0 mul_u16_sel::select#6 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::mul_u16_sel:88::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#0 sin16s_gen::usinx#0 mul_u16_sel::select#6 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::mul_u16_sel:93::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u16_sel::select#6 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::mul_u16_sel:97::mul16u:115 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u16_sel::select#6 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] )
[132] (dword) mul16u::res#6 ← phi( mul16u::@2/(dword) mul16u::res#2 mul16u::@7/(dword) mul16u::res#1 ) [ mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] ( main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:83::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::select#6 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:88::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::select#6 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:92::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::x3#0 mul_u16_sel::select#6 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:98::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::usinx#0 mul_u16_sel::select#6 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:103::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::usinx#0 mul_u16_sel::select#6 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:107::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::usinx#0 mul_u16_sel::select#6 mul16u::a#2 mul16u::mb#2 mul16u::res#6 ] )
[133] (word) mul16u::a#0 ← (word) mul16u::a#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] ( main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:83::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::select#6 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:88::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::select#6 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:92::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::x3#0 mul_u16_sel::select#6 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:98::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::usinx#0 mul_u16_sel::select#6 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:103::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::usinx#0 mul_u16_sel::select#6 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:107::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::usinx#0 mul_u16_sel::select#6 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] )
[134] (dword) mul16u::mb#1 ← (dword) mul16u::mb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] ( main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:83::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::select#6 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:88::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 mul_u16_sel::select#6 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:92::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::x3#0 mul_u16_sel::select#6 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:98::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::x1#0 sin16s::usinx#0 mul_u16_sel::select#6 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:103::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::usinx#0 mul_u16_sel::select#6 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::sin16s:64::mul_u16_sel:107::mul16u:119 [ sin16s_gen::step#0 sin16s_gen::x#2 sin16s_gen::sintab#2 sin16s_gen::i#2 sin16s::isUpper#10 sin16s::usinx#0 mul_u16_sel::select#6 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] )
to:mul16u::@1
div32u16u: scope:[div32u16u] from sin16s_gen
[131] phi() [ ] ( main:2::sin16s_gen:5::div32u16u:59 [ ] )
[132] call divr16u param-assignment [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_gen:5::div32u16u:59 [ divr16u::return#0 rem16u#1 ] )
[133] (word) divr16u::return#2 ← (word) divr16u::return#0 [ divr16u::return#2 rem16u#1 ] ( main:2::sin16s_gen:5::div32u16u:59 [ divr16u::return#2 rem16u#1 ] )
[135] phi() [ ] ( main:2::sin16s_gen:5::div32u16u:59 [ ] )
[136] call divr16u param-assignment [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_gen:5::div32u16u:59 [ divr16u::return#0 rem16u#1 ] )
[137] (word) divr16u::return#2 ← (word) divr16u::return#0 [ divr16u::return#2 rem16u#1 ] ( main:2::sin16s_gen:5::div32u16u:59 [ divr16u::return#2 rem16u#1 ] )
to:div32u16u::@2
div32u16u::@2: scope:[div32u16u] from div32u16u
[134] (word) div32u16u::quotient_hi#0 ← (word) divr16u::return#2 [ div32u16u::quotient_hi#0 rem16u#1 ] ( main:2::sin16s_gen:5::div32u16u:59 [ div32u16u::quotient_hi#0 rem16u#1 ] )
[135] (word) divr16u::rem#4 ← (word) rem16u#1 [ div32u16u::quotient_hi#0 divr16u::rem#4 ] ( main:2::sin16s_gen:5::div32u16u:59 [ div32u16u::quotient_hi#0 divr16u::rem#4 ] )
[136] call divr16u param-assignment [ divr16u::return#0 div32u16u::quotient_hi#0 ] ( main:2::sin16s_gen:5::div32u16u:59 [ divr16u::return#0 div32u16u::quotient_hi#0 ] )
[137] (word) divr16u::return#3 ← (word) divr16u::return#0 [ div32u16u::quotient_hi#0 divr16u::return#3 ] ( main:2::sin16s_gen:5::div32u16u:59 [ div32u16u::quotient_hi#0 divr16u::return#3 ] )
[138] (word) div32u16u::quotient_hi#0 ← (word) divr16u::return#2 [ div32u16u::quotient_hi#0 rem16u#1 ] ( main:2::sin16s_gen:5::div32u16u:59 [ div32u16u::quotient_hi#0 rem16u#1 ] )
[139] (word) divr16u::rem#4 ← (word) rem16u#1 [ div32u16u::quotient_hi#0 divr16u::rem#4 ] ( main:2::sin16s_gen:5::div32u16u:59 [ div32u16u::quotient_hi#0 divr16u::rem#4 ] )
[140] call divr16u param-assignment [ divr16u::return#0 div32u16u::quotient_hi#0 ] ( main:2::sin16s_gen:5::div32u16u:59 [ divr16u::return#0 div32u16u::quotient_hi#0 ] )
[141] (word) divr16u::return#3 ← (word) divr16u::return#0 [ div32u16u::quotient_hi#0 divr16u::return#3 ] ( main:2::sin16s_gen:5::div32u16u:59 [ div32u16u::quotient_hi#0 divr16u::return#3 ] )
to:div32u16u::@3
div32u16u::@3: scope:[div32u16u] from div32u16u::@2
[138] (word) div32u16u::quotient_lo#0 ← (word) divr16u::return#3 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ( main:2::sin16s_gen:5::div32u16u:59 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] )
[139] (dword) div32u16u::return#1 ← (word) div32u16u::quotient_hi#0 dw= (word) div32u16u::quotient_lo#0 [ div32u16u::return#1 ] ( main:2::sin16s_gen:5::div32u16u:59 [ div32u16u::return#1 ] )
[142] (word) div32u16u::quotient_lo#0 ← (word) divr16u::return#3 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ( main:2::sin16s_gen:5::div32u16u:59 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] )
[143] (dword) div32u16u::return#1 ← (word) div32u16u::quotient_hi#0 dw= (word) div32u16u::quotient_lo#0 [ div32u16u::return#1 ] ( main:2::sin16s_gen:5::div32u16u:59 [ div32u16u::return#1 ] )
to:div32u16u::@return
div32u16u::@return: scope:[div32u16u] from div32u16u::@3
[140] return [ div32u16u::return#1 ] ( main:2::sin16s_gen:5::div32u16u:59 [ div32u16u::return#1 ] )
[144] return [ div32u16u::return#1 ] ( main:2::sin16s_gen:5::div32u16u:59 [ div32u16u::return#1 ] )
to:@return
divr16u: scope:[divr16u] from div32u16u div32u16u::@2
[141] (word) divr16u::divisor#6 ← phi( div32u16u/(const word) main::wavelength#0 div32u16u::@2/(const word) main::wavelength#0 ) [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:132 [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:136 [ div32u16u::quotient_hi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] )
[141] (word) divr16u::dividend#5 ← phi( div32u16u/>(const dword) PI2_u4f28#0 div32u16u::@2/<(const dword) PI2_u4f28#0 ) [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:132 [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:136 [ div32u16u::quotient_hi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] )
[141] (word) divr16u::rem#10 ← phi( div32u16u/(byte/signed byte/word/signed word/dword/signed dword) 0 div32u16u::@2/(word) divr16u::rem#4 ) [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:132 [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:136 [ div32u16u::quotient_hi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] )
[145] (word) divr16u::divisor#6 ← phi( div32u16u/(const word) main::wavelength#0 div32u16u::@2/(const word) main::wavelength#0 ) [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:136 [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] )
[145] (word) divr16u::dividend#5 ← phi( div32u16u/>(const dword) PI2_u4f28#0 div32u16u::@2/<(const dword) PI2_u4f28#0 ) [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:136 [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] )
[145] (word) divr16u::rem#10 ← phi( div32u16u/(byte/signed byte/word/signed word/dword/signed dword) 0 div32u16u::@2/(word) divr16u::rem#4 ) [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:136 [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] )
to:divr16u::@1
divr16u::@1: scope:[divr16u] from divr16u divr16u::@3
[142] (byte) divr16u::i#2 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(byte) divr16u::i#1 ) [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:132 [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:136 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] )
[142] (word) divr16u::quotient#3 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(word) divr16u::return#0 ) [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:132 [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:136 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] )
[142] (word) divr16u::dividend#3 ← phi( divr16u/(word) divr16u::dividend#5 divr16u::@3/(word) divr16u::dividend#0 ) [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:132 [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:136 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] )
[142] (word) divr16u::rem#5 ← phi( divr16u/(word) divr16u::rem#10 divr16u::@3/(word) divr16u::rem#11 ) [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:132 [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:136 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] )
[143] (word) divr16u::rem#0 ← (word) divr16u::rem#5 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:132 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:136 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] )
[144] (byte~) divr16u::$1 ← > (word) divr16u::dividend#3 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:132 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:136 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] )
[145] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:132 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:136 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] )
[146] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:132 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:136 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] )
[146] (byte) divr16u::i#2 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(byte) divr16u::i#1 ) [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:136 [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] )
[146] (word) divr16u::quotient#3 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(word) divr16u::return#0 ) [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:136 [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] )
[146] (word) divr16u::dividend#3 ← phi( divr16u/(word) divr16u::dividend#5 divr16u::@3/(word) divr16u::dividend#0 ) [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:136 [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] )
[146] (word) divr16u::rem#5 ← phi( divr16u/(word) divr16u::rem#10 divr16u::@3/(word) divr16u::rem#11 ) [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:136 [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] )
[147] (word) divr16u::rem#0 ← (word) divr16u::rem#5 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:136 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] )
[148] (byte~) divr16u::$1 ← > (word) divr16u::dividend#3 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:136 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] )
[149] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:136 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] )
[150] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:136 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] )
to:divr16u::@4
divr16u::@4: scope:[divr16u] from divr16u::@1
[147] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:132 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:136 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] )
[151] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:136 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] )
to:divr16u::@2
divr16u::@2: scope:[divr16u] from divr16u::@1 divr16u::@4
[148] (word) divr16u::rem#6 ← phi( divr16u::@1/(word) divr16u::rem#0 divr16u::@4/(word) divr16u::rem#1 ) [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:132 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:136 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] )
[149] (word) divr16u::dividend#0 ← (word) divr16u::dividend#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:132 [ divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:136 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] )
[150] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:132 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:136 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] )
[151] if((word) divr16u::rem#6<(word) divr16u::divisor#6) goto divr16u::@3 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:132 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:136 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] )
[152] (word) divr16u::rem#6 ← phi( divr16u::@1/(word) divr16u::rem#0 divr16u::@4/(word) divr16u::rem#1 ) [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:136 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] )
[153] (word) divr16u::dividend#0 ← (word) divr16u::dividend#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:136 [ divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] )
[154] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:136 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] )
[155] if((word) divr16u::rem#6<(word) divr16u::divisor#6) goto divr16u::@3 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:136 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] )
to:divr16u::@5
divr16u::@5: scope:[divr16u] from divr16u::@2
[152] (word) divr16u::quotient#2 ← ++ (word) divr16u::quotient#1 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:132 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:136 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] )
[153] (word) divr16u::rem#2 ← (word) divr16u::rem#6 - (word) divr16u::divisor#6 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:132 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:136 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] )
[156] (word) divr16u::quotient#2 ← ++ (word) divr16u::quotient#1 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:136 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] )
[157] (word) divr16u::rem#2 ← (word) divr16u::rem#6 - (word) divr16u::divisor#6 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:136 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] )
to:divr16u::@3
divr16u::@3: scope:[divr16u] from divr16u::@2 divr16u::@5
[154] (word) divr16u::return#0 ← phi( divr16u::@2/(word) divr16u::quotient#1 divr16u::@5/(word) divr16u::quotient#2 ) [ divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:132 [ divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:136 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] )
[154] (word) divr16u::rem#11 ← phi( divr16u::@2/(word) divr16u::rem#6 divr16u::@5/(word) divr16u::rem#2 ) [ divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:132 [ divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:136 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] )
[155] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:132 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:136 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] )
[156] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:132 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:136 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] )
[158] (word) divr16u::return#0 ← phi( divr16u::@2/(word) divr16u::quotient#1 divr16u::@5/(word) divr16u::quotient#2 ) [ divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:136 [ divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] )
[158] (word) divr16u::rem#11 ← phi( divr16u::@2/(word) divr16u::rem#6 divr16u::@5/(word) divr16u::rem#2 ) [ divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:136 [ divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#6 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] )
[159] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:136 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] )
[160] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:136 [ divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::divisor#6 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] )
to:divr16u::@6
divr16u::@6: scope:[divr16u] from divr16u::@3
[157] (word) rem16u#1 ← (word) divr16u::rem#11 [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:132 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:136 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] )
[161] (word) rem16u#1 ← (word) divr16u::rem#11 [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:136 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] )
to:divr16u::@return
divr16u::@return: scope:[divr16u] from divr16u::@6
[158] return [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:132 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:136 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] )
[162] return [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_gen:5::div32u16u:59::divr16u:136 [ divr16u::return#0 rem16u#1 ] main:2::sin16s_gen:5::div32u16u:59::divr16u:140 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] )
to:@return

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
(label) @25
(label) @26
(label) @begin
(label) @end
(dword) PI2_u4f28
@ -31,8 +31,8 @@
(word) div32u16u::quotient_lo
(word) div32u16u::quotient_lo#0 quotient_lo zp ZP_WORD:8 4.0
(dword) div32u16u::return
(dword) div32u16u::return#0 return zp ZP_DWORD:26 4.0
(dword) div32u16u::return#1 return zp ZP_DWORD:26 1.3333333333333333
(dword) div32u16u::return#0 return zp ZP_DWORD:27 4.0
(dword) div32u16u::return#1 return zp ZP_DWORD:27 1.3333333333333333
(word()) divr16u((word) divr16u::dividend , (word) divr16u::divisor , (word) divr16u::rem)
(byte~) divr16u::$1 reg byte a 22.0
(byte~) divr16u::$2 reg byte a 22.0
@ -97,15 +97,15 @@
(label) mul16u::@7
(label) mul16u::@return
(word) mul16u::a
(word) mul16u::a#0 a zp ZP_WORD:20 101.0
(word) mul16u::a#1 a zp ZP_WORD:20 1.3333333333333333
(word) mul16u::a#2 a zp ZP_WORD:20 67.66666666666666
(word) mul16u::a#0 a zp ZP_WORD:21 101.0
(word) mul16u::a#1 a zp ZP_WORD:21 1.3333333333333333
(word) mul16u::a#2 a zp ZP_WORD:21 67.66666666666666
(word) mul16u::b
(word) mul16u::b#0 b zp ZP_WORD:18 4.0
(dword) mul16u::mb
(dword) mul16u::mb#0 mb zp ZP_DWORD:22 4.0
(dword) mul16u::mb#1 mb zp ZP_DWORD:22 202.0
(dword) mul16u::mb#2 mb zp ZP_DWORD:22 43.57142857142858
(dword) mul16u::mb#0 mb zp ZP_DWORD:23 4.0
(dword) mul16u::mb#1 mb zp ZP_DWORD:23 202.0
(dword) mul16u::mb#2 mb zp ZP_DWORD:23 43.57142857142858
(dword) mul16u::res
(dword) mul16u::res#1 res zp ZP_DWORD:14 202.0
(dword) mul16u::res#2 res zp ZP_DWORD:14 50.83333333333333
@ -118,29 +118,29 @@
(label) mul_u16_sel::@2
(label) mul_u16_sel::@return
(word) mul_u16_sel::return
(word) mul_u16_sel::return#0 return zp ZP_WORD:8 22.0
(word) mul_u16_sel::return#1 return zp ZP_WORD:8 22.0
(word) mul_u16_sel::return#10 return#10 zp ZP_WORD:6 22.0
(word) mul_u16_sel::return#11 return zp ZP_WORD:8 22.0
(word) mul_u16_sel::return#12 return zp ZP_WORD:8 22.0
(word) mul_u16_sel::return#13 return#13 zp ZP_WORD:18 22.0
(word) mul_u16_sel::return#14 return#14 zp ZP_WORD:18 8.5
(word) mul_u16_sel::return#0 return zp ZP_WORD:8 4.0
(word) mul_u16_sel::return#1 return zp ZP_WORD:8 4.0
(word) mul_u16_sel::return#10 return#10 zp ZP_WORD:6 4.0
(word) mul_u16_sel::return#11 return zp ZP_WORD:8 4.0
(word) mul_u16_sel::return#12 return zp ZP_WORD:8 4.0
(word) mul_u16_sel::return#13 return#13 zp ZP_WORD:18 4.0
(word) mul_u16_sel::return#14 return#14 zp ZP_WORD:18 1.75
(byte) mul_u16_sel::select
(byte) mul_u16_sel::select#6 reg byte x 0.3333333333333333
(byte) mul_u16_sel::select#6 select zp ZP_BYTE:20 0.3333333333333333
(word) mul_u16_sel::v1
(word) mul_u16_sel::v1#0 v1 zp ZP_WORD:8 11.0
(word) mul_u16_sel::v1#1 v1 zp ZP_WORD:8 11.0
(word) mul_u16_sel::v1#2 v1 zp ZP_WORD:8 22.0
(word) mul_u16_sel::v1#3 v1 zp ZP_WORD:8 11.0
(word) mul_u16_sel::v1#4 v1 zp ZP_WORD:8 11.0
(word) mul_u16_sel::v1#5 v1 zp ZP_WORD:8 22.0
(word) mul_u16_sel::v1#6 v1 zp ZP_WORD:8 68.0
(word) mul_u16_sel::v1#0 v1 zp ZP_WORD:8 2.0
(word) mul_u16_sel::v1#1 v1 zp ZP_WORD:8 2.0
(word) mul_u16_sel::v1#2 v1 zp ZP_WORD:8 4.0
(word) mul_u16_sel::v1#3 v1 zp ZP_WORD:8 2.0
(word) mul_u16_sel::v1#4 v1 zp ZP_WORD:8 2.0
(word) mul_u16_sel::v1#5 v1 zp ZP_WORD:8 4.0
(word) mul_u16_sel::v1#6 v1 zp ZP_WORD:8 14.0
(word) mul_u16_sel::v2
(word) mul_u16_sel::v2#0 v2 zp ZP_WORD:18 22.0
(word) mul_u16_sel::v2#1 v2 zp ZP_WORD:18 22.0
(word) mul_u16_sel::v2#3 v2 zp ZP_WORD:18 22.0
(word) mul_u16_sel::v2#4 v2 zp ZP_WORD:18 22.0
(word) mul_u16_sel::v2#6 v2 zp ZP_WORD:18 23.0
(word) mul_u16_sel::v2#0 v2 zp ZP_WORD:18 4.0
(word) mul_u16_sel::v2#1 v2 zp ZP_WORD:18 4.0
(word) mul_u16_sel::v2#3 v2 zp ZP_WORD:18 4.0
(word) mul_u16_sel::v2#4 v2 zp ZP_WORD:18 4.0
(word) mul_u16_sel::v2#6 v2 zp ZP_WORD:18 5.0
(void()) print_byte((byte) print_byte::b)
(byte~) print_byte::$0 reg byte a 4.0
(byte~) print_byte::$2 reg byte a 4.0
@ -187,85 +187,90 @@
(word) print_word::w
(word) rem16u
(word) rem16u#1 rem16u zp ZP_WORD:4 0.8
(signed word()) sin16s((dword) sin16s::x)
(dword~) sin16s::$6 $6 zp ZP_DWORD:14 4.0
(label) sin16s::@1
(label) sin16s::@10
(label) sin16s::@11
(label) sin16s::@12
(label) sin16s::@13
(label) sin16s::@16
(label) sin16s::@2
(label) sin16s::@3
(label) sin16s::@4
(label) sin16s::@5
(label) sin16s::@6
(label) sin16s::@8
(label) sin16s::@9
(label) sin16s::@return
(byte) sin16s::isUpper
(byte) sin16s::isUpper#10 reg byte x 0.05555555555555555
(signed word) sin16s::return
(signed word) sin16s::return#0 return zp ZP_WORD:6 22.0
(signed word) sin16s::return#1 return zp ZP_WORD:6 5.0
(signed word~) sin16s::return#5 return zp ZP_WORD:6 4.0
(signed word) sin16s::sinx
(signed word) sin16s::sinx#1 sinx zp ZP_WORD:6 4.0
(word) sin16s::usinx
(word) sin16s::usinx#0 usinx zp ZP_WORD:6 0.26666666666666666
(word) sin16s::usinx#1 usinx zp ZP_WORD:6 1.0
(dword) sin16s::x
(dword) sin16s::x#0 x zp ZP_DWORD:14 8.5
(dword) sin16s::x#1 x zp ZP_DWORD:14 4.0
(dword) sin16s::x#2 x zp ZP_DWORD:14 4.0
(dword) sin16s::x#4 x zp ZP_DWORD:14 5.0
(dword) sin16s::x#6 x zp ZP_DWORD:14 6.0
(word) sin16s::x1
(word) sin16s::x1#0 x1 zp ZP_WORD:31 0.6363636363636365
(word) sin16s::x2
(word) sin16s::x2#0 x2 zp ZP_WORD:8 4.0
(word) sin16s::x3
(word) sin16s::x3#0 x3 zp ZP_WORD:8 1.0
(word) sin16s::x3_6
(word) sin16s::x3_6#0 x3_6 zp ZP_WORD:6 4.0
(word) sin16s::x4
(word) sin16s::x4#0 x4 zp ZP_WORD:8 4.0
(word) sin16s::x5
(word) sin16s::x5#0 x5 zp ZP_WORD:8 4.0
(word) sin16s::x5_128
(word) sin16s::x5_128#0 x5_128 zp ZP_WORD:18 4.0
(void()) sin16s_gen((signed word*) sin16s_gen::sintab , (word) sin16s_gen::wavelength)
(dword~) sin16s_gen::$7 $7 zp ZP_DWORD:14 22.0
(signed word~) sin16s_gen::$1 $1 zp ZP_WORD:6 22.0
(label) sin16s_gen::@1
(label) sin16s_gen::@10
(label) sin16s_gen::@11
(label) sin16s_gen::@12
(label) sin16s_gen::@13
(label) sin16s_gen::@14
(label) sin16s_gen::@15
(label) sin16s_gen::@17
(label) sin16s_gen::@19
(label) sin16s_gen::@2
(label) sin16s_gen::@3
(label) sin16s_gen::@4
(label) sin16s_gen::@5
(label) sin16s_gen::@6
(label) sin16s_gen::@7
(label) sin16s_gen::@9
(label) sin16s_gen::@return
(word) sin16s_gen::i
(word) sin16s_gen::i#1 i zp ZP_WORD:4 16.5
(word) sin16s_gen::i#10 i zp ZP_WORD:4 0.46808510638297873
(byte) sin16s_gen::isUpper
(byte) sin16s_gen::isUpper#10 reg byte y 0.3055555555555556
(word) sin16s_gen::i#2 i zp ZP_WORD:4 2.75
(signed word*) sin16s_gen::sintab
(signed word*) sin16s_gen::sintab#1 sintab zp ZP_WORD:2 5.5
(signed word*) sin16s_gen::sintab#10 sintab zp ZP_WORD:2 0.7333333333333333
(signed word) sin16s_gen::sinx
(signed word) sin16s_gen::sinx#1 sinx zp ZP_WORD:6 22.0
(signed word) sin16s_gen::sinx#2 sinx zp ZP_WORD:6 33.0
(signed word~) sin16s_gen::sinx#3 sinx zp ZP_WORD:6 22.0
(signed word*) sin16s_gen::sintab#2 sintab zp ZP_WORD:2 5.5
(dword) sin16s_gen::step
(dword) sin16s_gen::step#0 step zp ZP_DWORD:26 0.26
(word) sin16s_gen::usinx
(word) sin16s_gen::usinx#0 usinx zp ZP_WORD:6 1.4666666666666666
(word) sin16s_gen::usinx#1 usinx zp ZP_WORD:6 5.5
(dword) sin16s_gen::step#0 step zp ZP_DWORD:27 1.1818181818181819
(word) sin16s_gen::wavelength
(dword) sin16s_gen::x
(dword) sin16s_gen::x#1 x zp ZP_DWORD:10 7.333333333333333
(dword) sin16s_gen::x#10 x zp ZP_DWORD:10 1.1956521739130435
(word) sin16s_gen::x1
(word) sin16s_gen::x1#0 x1 zp ZP_WORD:30 3.5
(word) sin16s_gen::x2
(word) sin16s_gen::x2#0 x2 zp ZP_WORD:8 22.0
(word) sin16s_gen::x3
(word) sin16s_gen::x3#0 x3 zp ZP_WORD:8 5.5
(word) sin16s_gen::x3_6
(word) sin16s_gen::x3_6#0 x3_6 zp ZP_WORD:6 22.0
(word) sin16s_gen::x4
(word) sin16s_gen::x4#0 x4 zp ZP_WORD:8 22.0
(word) sin16s_gen::x5
(word) sin16s_gen::x5#0 x5 zp ZP_WORD:8 22.0
(word) sin16s_gen::x5_128
(word) sin16s_gen::x5_128#0 x5_128 zp ZP_WORD:18 22.0
(dword) sin16s_gen::xp
(dword) sin16s_gen::xp#1 xp zp ZP_DWORD:14 22.0
(dword) sin16s_gen::xp#2 xp zp ZP_DWORD:14 22.0
(dword) sin16s_gen::xp#3 xp zp ZP_DWORD:14 27.5
(dword) sin16s_gen::xp#5 xp zp ZP_DWORD:14 33.0
(dword~) sin16s_gen::xp#7 xp zp ZP_DWORD:14 22.0
(dword) sin16s_gen::x#2 x zp ZP_DWORD:10 4.714285714285714
zp ZP_WORD:2 [ main::st1#2 main::st1#1 print_cls::sc#2 print_cls::sc#1 sin16s_gen::sintab#10 sin16s_gen::sintab#1 divr16u::divisor#6 ]
zp ZP_WORD:4 [ print_str::str#3 print_str::str#5 print_str::str#0 sin16s_gen::i#10 sin16s_gen::i#1 divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 rem16u#1 ]
zp ZP_WORD:6 [ print_sword::w#3 print_sword::w#1 print_sword::w#0 main::sw#0 sin16s_gen::sinx#2 sin16s_gen::sinx#3 sin16s_gen::sinx#1 sin16s_gen::usinx#1 sin16s_gen::usinx#0 sin16s_gen::x3_6#0 mul_u16_sel::return#10 divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#0 ]
zp ZP_WORD:2 [ main::st1#2 main::st1#1 print_cls::sc#2 print_cls::sc#1 sin16s_gen::sintab#2 sin16s_gen::sintab#1 divr16u::divisor#6 ]
zp ZP_WORD:4 [ print_str::str#3 print_str::str#5 print_str::str#0 sin16s_gen::i#2 sin16s_gen::i#1 divr16u::rem#5 divr16u::rem#10 divr16u::rem#4 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 rem16u#1 ]
zp ZP_WORD:6 [ print_sword::w#3 print_sword::w#1 print_sword::w#0 main::sw#0 sin16s::return#1 sin16s::return#5 sin16s::sinx#1 sin16s::usinx#1 sin16s::return#0 sin16s_gen::$1 sin16s::usinx#0 sin16s::x3_6#0 mul_u16_sel::return#10 divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#0 ]
reg byte x [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ]
reg byte a [ print_char::ch#3 print_char::ch#1 print_char::ch#2 ]
zp ZP_WORD:8 [ char_cursor#33 char_cursor#46 char_cursor#43 char_cursor#51 char_cursor#48 char_cursor#49 char_cursor#2 char_cursor#12 char_cursor#1 mul_u16_sel::v1#6 mul_u16_sel::v1#1 mul_u16_sel::v1#2 mul_u16_sel::v1#3 mul_u16_sel::v1#4 mul_u16_sel::v1#5 mul_u16_sel::v1#0 sin16s_gen::x3#0 sin16s_gen::x2#0 mul_u16_sel::return#0 mul_u16_sel::return#1 sin16s_gen::x4#0 mul_u16_sel::return#11 sin16s_gen::x5#0 mul_u16_sel::return#12 divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 divr16u::return#3 div32u16u::quotient_lo#0 ]
zp ZP_DWORD:10 [ sin16s_gen::x#10 sin16s_gen::x#1 ]
reg byte y [ sin16s_gen::isUpper#10 ]
zp ZP_DWORD:14 [ sin16s_gen::xp#5 sin16s_gen::xp#3 sin16s_gen::xp#7 sin16s_gen::xp#1 sin16s_gen::xp#2 sin16s_gen::$7 mul16u::res#2 mul16u::res#6 mul16u::res#1 mul16u::return#2 mul_u16_sel::$0 mul_u16_sel::$1 ]
zp ZP_WORD:18 [ mul_u16_sel::v2#6 mul_u16_sel::v2#1 mul_u16_sel::v2#3 mul_u16_sel::v2#4 mul_u16_sel::v2#0 mul16u::b#0 mul_u16_sel::return#13 sin16s_gen::x5_128#0 mul_u16_sel::return#14 div32u16u::quotient_hi#0 ]
reg byte x [ mul_u16_sel::select#6 ]
zp ZP_WORD:20 [ mul16u::a#2 mul16u::a#1 mul16u::a#0 ]
zp ZP_DWORD:22 [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ]
zp ZP_WORD:8 [ char_cursor#33 char_cursor#46 char_cursor#43 char_cursor#51 char_cursor#48 char_cursor#49 char_cursor#2 char_cursor#12 char_cursor#1 mul_u16_sel::v1#6 mul_u16_sel::v1#3 mul_u16_sel::v1#4 mul_u16_sel::v1#5 mul_u16_sel::v1#0 mul_u16_sel::v1#1 mul_u16_sel::v1#2 sin16s::x3#0 sin16s::x2#0 mul_u16_sel::return#0 mul_u16_sel::return#1 sin16s::x4#0 mul_u16_sel::return#11 sin16s::x5#0 mul_u16_sel::return#12 divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 divr16u::return#3 div32u16u::quotient_lo#0 ]
zp ZP_DWORD:10 [ sin16s_gen::x#2 sin16s_gen::x#1 ]
reg byte x [ sin16s::isUpper#10 ]
zp ZP_DWORD:14 [ sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 sin16s::$6 mul16u::res#2 mul16u::res#6 mul16u::res#1 mul16u::return#2 mul_u16_sel::$0 mul_u16_sel::$1 ]
zp ZP_WORD:18 [ mul_u16_sel::v2#6 mul_u16_sel::v2#3 mul_u16_sel::v2#4 mul_u16_sel::v2#0 mul_u16_sel::v2#1 mul16u::b#0 mul_u16_sel::return#13 sin16s::x5_128#0 mul_u16_sel::return#14 div32u16u::quotient_hi#0 ]
zp ZP_BYTE:20 [ mul_u16_sel::select#6 ]
zp ZP_WORD:21 [ mul16u::a#2 mul16u::a#1 mul16u::a#0 ]
zp ZP_DWORD:23 [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ]
reg byte x [ divr16u::i#2 divr16u::i#1 ]
reg byte a [ print_byte::$0 ]
reg byte a [ print_byte::$2 ]
zp ZP_DWORD:26 [ div32u16u::return#0 sin16s_gen::step#0 div32u16u::return#1 ]
zp ZP_WORD:30 [ sin16s_gen::x1#0 ]
zp ZP_DWORD:27 [ div32u16u::return#0 sin16s_gen::step#0 div32u16u::return#1 ]
zp ZP_WORD:31 [ sin16s::x1#0 ]
reg byte a [ mul16u::$1 ]
reg byte a [ divr16u::$1 ]
reg byte a [ divr16u::$2 ]

View File

@ -0,0 +1,18 @@
@begin: scope:[] from
[0] phi() [ ] ( )
to:@1
@1: scope:[] from @begin
[1] phi() [ ] ( )
[2] call main param-assignment [ ] ( )
to:@end
@end: scope:[] from @1
[3] phi() [ ] ( )
main: scope:[main] from @1
[4] *((const byte*) main::SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 0) ← >>(const dword) PI_u4f28#0 [ ] ( main:2 [ ] )
[5] *((const byte*) main::SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 1) ← <>(const dword) PI_u4f28#0 [ ] ( main:2 [ ] )
[6] *((const byte*) main::SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 2) ← ><(const dword) PI_u4f28#0 [ ] ( main:2 [ ] )
[7] *((const byte*) main::SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 3) ← <<(const dword) PI_u4f28#0 [ ] ( main:2 [ ] )
to:main::@return
main::@return: scope:[main] from main
[8] return [ ] ( main:2 [ ] )
to:@return

View File

@ -0,0 +1,10 @@
(label) @1
(label) @begin
(label) @end
(dword) PI_u4f28
(const dword) PI_u4f28#0 PI_u4f28 = (dword/signed dword) 843314857
(void()) main()
(label) main::@return
(byte*) main::SCREEN
(const byte*) main::SCREEN#0 SCREEN = ((byte*))(word/signed word/dword/signed dword) 1024