1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-10-10 20:23:47 +00:00

Using loop unrolling in logo scroller.

This commit is contained in:
jespergravgaard 2018-08-22 02:34:03 +02:00
parent 1d339804da
commit a78960a823
6 changed files with 6064 additions and 3117 deletions

View File

@ -35,12 +35,12 @@ public class CompileLog {
/**
* Should SSA optimization be verbose.
*/
private boolean verboseLoopUnroll = true;
private boolean verboseLoopUnroll = false;
/**
* Should the log be output to System.out while being built
*/
private boolean sysOut = true;
private boolean sysOut = false;
public CompileLog() {
this.log = new StringBuilder();

View File

@ -60,22 +60,16 @@ void render_logo(signed word xpos) {
logo_idx = (byte)(-x_char);
screen_idx = 0;
while(logo_idx!=40) {
SCREEN[screen_idx] = logo_idx;
(SCREEN+40*1)[screen_idx] = logo_idx+40*1;
(SCREEN+40*2)[screen_idx] = logo_idx+40*2;
(SCREEN+40*3)[screen_idx] = logo_idx+40*3;
(SCREEN+40*4)[screen_idx] = logo_idx+40*4;
(SCREEN+40*5)[screen_idx] = logo_idx+40*5;
inline for(byte line1: 0..5) {
(SCREEN+40*line1)[screen_idx] = logo_idx+40*line1;
}
screen_idx++;
logo_idx++;
}
while(screen_idx!=40) {
SCREEN[screen_idx] = $00;
(SCREEN+40*1)[screen_idx] = $00;
(SCREEN+40*2)[screen_idx] = $00;
(SCREEN+40*3)[screen_idx] = $00;
(SCREEN+40*4)[screen_idx] = $00;
(SCREEN+40*5)[screen_idx] = $00;
inline for(byte line2: 0..5) {
(SCREEN+40*line2)[screen_idx] = $00;
}
screen_idx++;
}
} else {
@ -83,22 +77,16 @@ void render_logo(signed word xpos) {
byte logo_start = (byte)x_char;
screen_idx = 0;
while(screen_idx!=logo_start) {
SCREEN[screen_idx] = $00;
(SCREEN+40*1)[screen_idx] = $00;
(SCREEN+40*2)[screen_idx] = $00;
(SCREEN+40*3)[screen_idx] = $00;
(SCREEN+40*4)[screen_idx] = $00;
(SCREEN+40*5)[screen_idx] = $00;
inline for(byte line3: 0..5) {
(SCREEN+40*line3)[screen_idx] = $00;
}
screen_idx++;
}
logo_idx = 0;
while(screen_idx!=40) {
SCREEN[screen_idx] = logo_idx;
(SCREEN+40*1)[screen_idx] = logo_idx+40*1;
(SCREEN+40*2)[screen_idx] = logo_idx+40*2;
(SCREEN+40*3)[screen_idx] = logo_idx+40*3;
(SCREEN+40*4)[screen_idx] = logo_idx+40*4;
(SCREEN+40*5)[screen_idx] = logo_idx+40*5;
inline for(byte line4: 0..5) {
(SCREEN+40*line4)[screen_idx] = logo_idx+40*line4;
}
screen_idx++;
logo_idx++;
}

View File

@ -132,102 +132,106 @@ render_logo: {
sta x_char
lda xpos+1
bmi b1
ldy #0
b2:
cpy x_char
bne b3
ldx #0
b5:
cpy #$28
bne b6
b2:
cpx x_char
bne b5
ldy #0
b6:
cpx #$28
bne b9
breturn:
rts
b6:
txa
sta SCREEN,y
txa
b9:
tya
clc
adc #$28*1
sta SCREEN+$28*1,y
txa
adc #$28*0
sta SCREEN+$28*0,x
tya
clc
adc #$28*2
sta SCREEN+$28*2,y
txa
adc #$28*(0+1)
sta SCREEN+$28*(0+1),x
tya
clc
adc #$28*3
sta SCREEN+$28*3,y
txa
adc #$28*(0+1+1)
sta SCREEN+$28*(0+1+1),x
tya
clc
adc #$28*4
sta SCREEN+$28*4,y
txa
adc #$28*(0+1+1+1)
sta SCREEN+$28*(0+1+1+1),x
tya
clc
adc #$28*5
sta SCREEN+$28*5,y
iny
adc #$28*(0+1+1+1+1)
sta SCREEN+$28*(0+1+1+1+1),x
tya
clc
adc #$28*(0+1+1+1+1+1)
sta SCREEN+$28*(0+1+1+1+1+1),x
inx
jmp b5
b3:
lda #0
sta SCREEN,y
sta SCREEN+$28*1,y
sta SCREEN+$28*2,y
sta SCREEN+$28*3,y
sta SCREEN+$28*4,y
sta SCREEN+$28*5,y
iny
jmp b6
b5:
lda #0
sta SCREEN+$28*0,x
sta SCREEN+$28*(0+1),x
sta SCREEN+$28*(0+1+1),x
sta SCREEN+$28*(0+1+1+1),x
sta SCREEN+$28*(0+1+1+1+1),x
sta SCREEN+$28*(0+1+1+1+1+1),x
inx
jmp b2
b1:
lda x_char
eor #$ff
clc
adc #1
tax
ldy #0
b9:
cpx #$28
bne b10
b12:
tay
ldx #0
b11:
cpy #$28
bne b13
bne b14
b15:
cpx #$28
bne b18
jmp breturn
b13:
b18:
lda #0
sta SCREEN,y
sta SCREEN+$28*1,y
sta SCREEN+$28*2,y
sta SCREEN+$28*3,y
sta SCREEN+$28*4,y
sta SCREEN+$28*5,y
iny
jmp b12
b10:
txa
sta SCREEN,y
txa
clc
adc #$28*1
sta SCREEN+$28*1,y
txa
clc
adc #$28*2
sta SCREEN+$28*2,y
txa
clc
adc #$28*3
sta SCREEN+$28*3,y
txa
clc
adc #$28*4
sta SCREEN+$28*4,y
txa
clc
adc #$28*5
sta SCREEN+$28*5,y
iny
sta SCREEN+$28*0,x
sta SCREEN+$28*(0+1),x
sta SCREEN+$28*(0+1+1),x
sta SCREEN+$28*(0+1+1+1),x
sta SCREEN+$28*(0+1+1+1+1),x
sta SCREEN+$28*(0+1+1+1+1+1),x
inx
jmp b9
jmp b15
b14:
tya
clc
adc #$28*0
sta SCREEN+$28*0,x
tya
clc
adc #$28*(0+1)
sta SCREEN+$28*(0+1),x
tya
clc
adc #$28*(0+1+1)
sta SCREEN+$28*(0+1+1),x
tya
clc
adc #$28*(0+1+1+1)
sta SCREEN+$28*(0+1+1+1),x
tya
clc
adc #$28*(0+1+1+1+1)
sta SCREEN+$28*(0+1+1+1+1),x
tya
clc
adc #$28*(0+1+1+1+1+1)
sta SCREEN+$28*(0+1+1+1+1+1),x
inx
iny
jmp b11
}
sin16s_gen2: {
.const min = -$140

View File

@ -88,316 +88,366 @@ render_logo: scope:[render_logo] from loop::@6
[43] (signed byte) render_logo::x_char#0 ← ((signed byte)) (signed word~) render_logo::$3 [ render_logo::xpos#0 render_logo::x_char#0 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::xpos#0 render_logo::x_char#0 ] )
[44] if((signed word) render_logo::xpos#0<(byte/signed byte/word/signed word/dword/signed dword) 0) goto render_logo::@1 [ render_logo::x_char#0 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::x_char#0 ] )
to:render_logo::@2
render_logo::@2: scope:[render_logo] from render_logo render_logo::@3
[45] (byte) render_logo::screen_idx#13 ← phi( render_logo/(byte/signed byte/word/signed word/dword/signed dword) 0 render_logo::@3/(byte) render_logo::screen_idx#2 ) [ render_logo::x_char#0 render_logo::screen_idx#13 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::x_char#0 render_logo::screen_idx#13 ] )
[46] if((byte) render_logo::screen_idx#13!=(byte)(signed byte) render_logo::x_char#0) goto render_logo::@3 [ render_logo::x_char#0 render_logo::screen_idx#13 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::x_char#0 render_logo::screen_idx#13 ] )
to:render_logo::@5
render_logo::@5: scope:[render_logo] from render_logo::@2 render_logo::@6
[47] (byte) render_logo::logo_idx#4 ← phi( render_logo::@2/(byte/signed byte/word/signed word/dword/signed dword) 0 render_logo::@6/(byte) render_logo::logo_idx#2 ) [ render_logo::screen_idx#8 render_logo::logo_idx#4 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::screen_idx#8 render_logo::logo_idx#4 ] )
[47] (byte) render_logo::screen_idx#8 ← phi( render_logo::@2/(byte) render_logo::screen_idx#13 render_logo::@6/(byte) render_logo::screen_idx#3 ) [ render_logo::screen_idx#8 render_logo::logo_idx#4 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::screen_idx#8 render_logo::logo_idx#4 ] )
[48] if((byte) render_logo::screen_idx#8!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto render_logo::@6 [ render_logo::screen_idx#8 render_logo::logo_idx#4 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::screen_idx#8 render_logo::logo_idx#4 ] )
render_logo::@2: scope:[render_logo] from render_logo render_logo::@22
[45] (byte) render_logo::screen_idx#17 ← phi( render_logo/(byte/signed byte/word/signed word/dword/signed dword) 0 render_logo::@22/(byte) render_logo::screen_idx#2 ) [ render_logo::x_char#0 render_logo::screen_idx#17 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::x_char#0 render_logo::screen_idx#17 ] )
[46] if((byte) render_logo::screen_idx#17!=(byte)(signed byte) render_logo::x_char#0) goto render_logo::@5 [ render_logo::x_char#0 render_logo::screen_idx#17 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::x_char#0 render_logo::screen_idx#17 ] )
to:render_logo::@6
render_logo::@6: scope:[render_logo] from render_logo::@2 render_logo::@26
[47] (byte) render_logo::logo_idx#11 ← phi( render_logo::@26/(byte) render_logo::logo_idx#2 render_logo::@2/(byte/signed byte/word/signed word/dword/signed dword) 0 ) [ render_logo::screen_idx#19 render_logo::logo_idx#11 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::screen_idx#19 render_logo::logo_idx#11 ] )
[47] (byte) render_logo::screen_idx#19 ← phi( render_logo::@26/(byte) render_logo::screen_idx#3 render_logo::@2/(byte) render_logo::screen_idx#17 ) [ render_logo::screen_idx#19 render_logo::logo_idx#11 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::screen_idx#19 render_logo::logo_idx#11 ] )
[48] if((byte) render_logo::screen_idx#19!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto render_logo::@9 [ render_logo::screen_idx#19 render_logo::logo_idx#11 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::screen_idx#19 render_logo::logo_idx#11 ] )
to:render_logo::@return
render_logo::@return: scope:[render_logo] from render_logo::@12 render_logo::@5
render_logo::@return: scope:[render_logo] from render_logo::@15 render_logo::@6
[49] return [ ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 ] )
to:@return
render_logo::@6: scope:[render_logo] from render_logo::@5
[50] *((const byte*) SCREEN#0 + (byte) render_logo::screen_idx#8) ← (byte) render_logo::logo_idx#4 [ render_logo::screen_idx#8 render_logo::logo_idx#4 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::screen_idx#8 render_logo::logo_idx#4 ] )
[51] (byte/signed word/word/dword/signed dword~) render_logo::$22 ← (byte) render_logo::logo_idx#4 + (byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 1 [ render_logo::screen_idx#8 render_logo::logo_idx#4 render_logo::$22 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::screen_idx#8 render_logo::logo_idx#4 render_logo::$22 ] )
[52] *((const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) render_logo::screen_idx#8) ← (byte/signed word/word/dword/signed dword~) render_logo::$22 [ render_logo::screen_idx#8 render_logo::logo_idx#4 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::screen_idx#8 render_logo::logo_idx#4 ] )
[53] (byte/signed word/word/dword/signed dword~) render_logo::$26 ← (byte) render_logo::logo_idx#4 + (byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 2 [ render_logo::screen_idx#8 render_logo::logo_idx#4 render_logo::$26 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::screen_idx#8 render_logo::logo_idx#4 render_logo::$26 ] )
[54] *((const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 2 + (byte) render_logo::screen_idx#8) ← (byte/signed word/word/dword/signed dword~) render_logo::$26 [ render_logo::screen_idx#8 render_logo::logo_idx#4 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::screen_idx#8 render_logo::logo_idx#4 ] )
[55] (byte/signed word/word/dword/signed dword~) render_logo::$30 ← (byte) render_logo::logo_idx#4 + (byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 3 [ render_logo::screen_idx#8 render_logo::logo_idx#4 render_logo::$30 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::screen_idx#8 render_logo::logo_idx#4 render_logo::$30 ] )
[56] *((const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 3 + (byte) render_logo::screen_idx#8) ← (byte/signed word/word/dword/signed dword~) render_logo::$30 [ render_logo::screen_idx#8 render_logo::logo_idx#4 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::screen_idx#8 render_logo::logo_idx#4 ] )
[57] (byte/word/signed word/dword/signed dword~) render_logo::$34 ← (byte) render_logo::logo_idx#4 + (byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 4 [ render_logo::screen_idx#8 render_logo::logo_idx#4 render_logo::$34 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::screen_idx#8 render_logo::logo_idx#4 render_logo::$34 ] )
[58] *((const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 4 + (byte) render_logo::screen_idx#8) ← (byte/word/signed word/dword/signed dword~) render_logo::$34 [ render_logo::screen_idx#8 render_logo::logo_idx#4 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::screen_idx#8 render_logo::logo_idx#4 ] )
[59] (byte/word/signed word/dword/signed dword~) render_logo::$38 ← (byte) render_logo::logo_idx#4 + (byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 5 [ render_logo::screen_idx#8 render_logo::logo_idx#4 render_logo::$38 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::screen_idx#8 render_logo::logo_idx#4 render_logo::$38 ] )
[60] *((const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 5 + (byte) render_logo::screen_idx#8) ← (byte/word/signed word/dword/signed dword~) render_logo::$38 [ render_logo::screen_idx#8 render_logo::logo_idx#4 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::screen_idx#8 render_logo::logo_idx#4 ] )
[61] (byte) render_logo::screen_idx#3 ← ++ (byte) render_logo::screen_idx#8 [ render_logo::logo_idx#4 render_logo::screen_idx#3 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::logo_idx#4 render_logo::screen_idx#3 ] )
[62] (byte) render_logo::logo_idx#2 ← ++ (byte) render_logo::logo_idx#4 [ render_logo::screen_idx#3 render_logo::logo_idx#2 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::screen_idx#3 render_logo::logo_idx#2 ] )
to:render_logo::@5
render_logo::@3: scope:[render_logo] from render_logo::@2
[63] *((const byte*) SCREEN#0 + (byte) render_logo::screen_idx#13) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ render_logo::x_char#0 render_logo::screen_idx#13 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::x_char#0 render_logo::screen_idx#13 ] )
[64] *((const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) render_logo::screen_idx#13) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ render_logo::x_char#0 render_logo::screen_idx#13 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::x_char#0 render_logo::screen_idx#13 ] )
[65] *((const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 2 + (byte) render_logo::screen_idx#13) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ render_logo::x_char#0 render_logo::screen_idx#13 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::x_char#0 render_logo::screen_idx#13 ] )
[66] *((const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 3 + (byte) render_logo::screen_idx#13) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ render_logo::x_char#0 render_logo::screen_idx#13 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::x_char#0 render_logo::screen_idx#13 ] )
[67] *((const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 4 + (byte) render_logo::screen_idx#13) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ render_logo::x_char#0 render_logo::screen_idx#13 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::x_char#0 render_logo::screen_idx#13 ] )
[68] *((const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 5 + (byte) render_logo::screen_idx#13) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ render_logo::x_char#0 render_logo::screen_idx#13 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::x_char#0 render_logo::screen_idx#13 ] )
[69] (byte) render_logo::screen_idx#2 ← ++ (byte) render_logo::screen_idx#13 [ render_logo::x_char#0 render_logo::screen_idx#2 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::x_char#0 render_logo::screen_idx#2 ] )
render_logo::@9: scope:[render_logo] from render_logo::@6
[50] (byte/signed word/word/dword/signed dword~) render_logo::$15 ← (byte) render_logo::logo_idx#11 + (byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 0 [ render_logo::screen_idx#19 render_logo::logo_idx#11 render_logo::$15 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::screen_idx#19 render_logo::logo_idx#11 render_logo::$15 ] )
[51] *((const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 0 + (byte) render_logo::screen_idx#19) ← (byte/signed word/word/dword/signed dword~) render_logo::$15 [ render_logo::screen_idx#19 render_logo::logo_idx#11 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::screen_idx#19 render_logo::logo_idx#11 ] )
to:render_logo::@9_1
render_logo::@9_1: scope:[render_logo] from render_logo::@9
[52] (byte/signed word/word/dword/signed dword~) render_logo::$34 ← (byte) render_logo::logo_idx#11 + (byte/signed byte/word/signed word/dword/signed dword) 40*++(byte/signed byte/word/signed word/dword/signed dword) 0 [ render_logo::screen_idx#19 render_logo::logo_idx#11 render_logo::$34 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::screen_idx#19 render_logo::logo_idx#11 render_logo::$34 ] )
[53] *((const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*++(byte/signed byte/word/signed word/dword/signed dword) 0 + (byte) render_logo::screen_idx#19) ← (byte/signed word/word/dword/signed dword~) render_logo::$34 [ render_logo::screen_idx#19 render_logo::logo_idx#11 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::screen_idx#19 render_logo::logo_idx#11 ] )
to:render_logo::@9_2
render_logo::@9_2: scope:[render_logo] from render_logo::@9_1
[54] (byte/signed word/word/dword/signed dword~) render_logo::$38 ← (byte) render_logo::logo_idx#11 + (byte/signed byte/word/signed word/dword/signed dword) 40*++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ render_logo::screen_idx#19 render_logo::logo_idx#11 render_logo::$38 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::screen_idx#19 render_logo::logo_idx#11 render_logo::$38 ] )
[55] *((const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*++++(byte/signed byte/word/signed word/dword/signed dword) 0 + (byte) render_logo::screen_idx#19) ← (byte/signed word/word/dword/signed dword~) render_logo::$38 [ render_logo::screen_idx#19 render_logo::logo_idx#11 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::screen_idx#19 render_logo::logo_idx#11 ] )
to:render_logo::@9_3
render_logo::@9_3: scope:[render_logo] from render_logo::@9_2
[56] (byte/signed word/word/dword/signed dword~) render_logo::$42 ← (byte) render_logo::logo_idx#11 + (byte/signed byte/word/signed word/dword/signed dword) 40*++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ render_logo::screen_idx#19 render_logo::logo_idx#11 render_logo::$42 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::screen_idx#19 render_logo::logo_idx#11 render_logo::$42 ] )
[57] *((const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*++++++(byte/signed byte/word/signed word/dword/signed dword) 0 + (byte) render_logo::screen_idx#19) ← (byte/signed word/word/dword/signed dword~) render_logo::$42 [ render_logo::screen_idx#19 render_logo::logo_idx#11 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::screen_idx#19 render_logo::logo_idx#11 ] )
to:render_logo::@9_4
render_logo::@9_4: scope:[render_logo] from render_logo::@9_3
[58] (byte/signed word/word/dword/signed dword~) render_logo::$46 ← (byte) render_logo::logo_idx#11 + (byte/signed byte/word/signed word/dword/signed dword) 40*++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ render_logo::screen_idx#19 render_logo::logo_idx#11 render_logo::$46 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::screen_idx#19 render_logo::logo_idx#11 render_logo::$46 ] )
[59] *((const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 + (byte) render_logo::screen_idx#19) ← (byte/signed word/word/dword/signed dword~) render_logo::$46 [ render_logo::screen_idx#19 render_logo::logo_idx#11 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::screen_idx#19 render_logo::logo_idx#11 ] )
to:render_logo::@9_5
render_logo::@9_5: scope:[render_logo] from render_logo::@9_4
[60] (byte/signed word/word/dword/signed dword~) render_logo::$50 ← (byte) render_logo::logo_idx#11 + (byte/signed byte/word/signed word/dword/signed dword) 40*++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ render_logo::screen_idx#19 render_logo::logo_idx#11 render_logo::$50 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::screen_idx#19 render_logo::logo_idx#11 render_logo::$50 ] )
[61] *((const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 + (byte) render_logo::screen_idx#19) ← (byte/signed word/word/dword/signed dword~) render_logo::$50 [ render_logo::screen_idx#19 render_logo::logo_idx#11 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::screen_idx#19 render_logo::logo_idx#11 ] )
to:render_logo::@26
render_logo::@26: scope:[render_logo] from render_logo::@9_5
[62] (byte) render_logo::screen_idx#3 ← ++ (byte) render_logo::screen_idx#19 [ render_logo::logo_idx#11 render_logo::screen_idx#3 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::logo_idx#11 render_logo::screen_idx#3 ] )
[63] (byte) render_logo::logo_idx#2 ← ++ (byte) render_logo::logo_idx#11 [ render_logo::screen_idx#3 render_logo::logo_idx#2 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::screen_idx#3 render_logo::logo_idx#2 ] )
to:render_logo::@6
render_logo::@5: scope:[render_logo] from render_logo::@2
[64] *((const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 0 + (byte) render_logo::screen_idx#17) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ render_logo::x_char#0 render_logo::screen_idx#17 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::x_char#0 render_logo::screen_idx#17 ] )
to:render_logo::@5_1
render_logo::@5_1: scope:[render_logo] from render_logo::@5
[65] *((const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*++(byte/signed byte/word/signed word/dword/signed dword) 0 + (byte) render_logo::screen_idx#17) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ render_logo::x_char#0 render_logo::screen_idx#17 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::x_char#0 render_logo::screen_idx#17 ] )
to:render_logo::@5_2
render_logo::@5_2: scope:[render_logo] from render_logo::@5_1
[66] *((const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*++++(byte/signed byte/word/signed word/dword/signed dword) 0 + (byte) render_logo::screen_idx#17) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ render_logo::x_char#0 render_logo::screen_idx#17 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::x_char#0 render_logo::screen_idx#17 ] )
to:render_logo::@5_3
render_logo::@5_3: scope:[render_logo] from render_logo::@5_2
[67] *((const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*++++++(byte/signed byte/word/signed word/dword/signed dword) 0 + (byte) render_logo::screen_idx#17) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ render_logo::x_char#0 render_logo::screen_idx#17 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::x_char#0 render_logo::screen_idx#17 ] )
to:render_logo::@5_4
render_logo::@5_4: scope:[render_logo] from render_logo::@5_3
[68] *((const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 + (byte) render_logo::screen_idx#17) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ render_logo::x_char#0 render_logo::screen_idx#17 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::x_char#0 render_logo::screen_idx#17 ] )
to:render_logo::@5_5
render_logo::@5_5: scope:[render_logo] from render_logo::@5_4
[69] *((const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 + (byte) render_logo::screen_idx#17) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ render_logo::x_char#0 render_logo::screen_idx#17 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::x_char#0 render_logo::screen_idx#17 ] )
to:render_logo::@22
render_logo::@22: scope:[render_logo] from render_logo::@5_5
[70] (byte) render_logo::screen_idx#2 ← ++ (byte) render_logo::screen_idx#17 [ render_logo::x_char#0 render_logo::screen_idx#2 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::x_char#0 render_logo::screen_idx#2 ] )
to:render_logo::@2
render_logo::@1: scope:[render_logo] from render_logo
[70] (signed byte~) render_logo::$39 ← - (signed byte) render_logo::x_char#0 [ render_logo::$39 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::$39 ] )
[71] (byte~) render_logo::logo_idx#9 ← (byte)(signed byte~) render_logo::$39 [ render_logo::logo_idx#9 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::logo_idx#9 ] )
to:render_logo::@9
render_logo::@9: scope:[render_logo] from render_logo::@1 render_logo::@10
[72] (byte) render_logo::screen_idx#10 ← phi( render_logo::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 render_logo::@10/(byte) render_logo::screen_idx#4 ) [ render_logo::logo_idx#5 render_logo::screen_idx#10 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::logo_idx#5 render_logo::screen_idx#10 ] )
[72] (byte) render_logo::logo_idx#5 ← phi( render_logo::@1/(byte~) render_logo::logo_idx#9 render_logo::@10/(byte) render_logo::logo_idx#3 ) [ render_logo::logo_idx#5 render_logo::screen_idx#10 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::logo_idx#5 render_logo::screen_idx#10 ] )
[73] if((byte) render_logo::logo_idx#5!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto render_logo::@10 [ render_logo::logo_idx#5 render_logo::screen_idx#10 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::logo_idx#5 render_logo::screen_idx#10 ] )
to:render_logo::@12
render_logo::@12: scope:[render_logo] from render_logo::@13 render_logo::@9
[74] (byte) render_logo::screen_idx#11 ← phi( render_logo::@13/(byte) render_logo::screen_idx#5 render_logo::@9/(byte) render_logo::screen_idx#10 ) [ render_logo::screen_idx#11 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::screen_idx#11 ] )
[75] if((byte) render_logo::screen_idx#11!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto render_logo::@13 [ render_logo::screen_idx#11 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::screen_idx#11 ] )
[71] (signed byte~) render_logo::$17 ← - (signed byte) render_logo::x_char#0 [ render_logo::$17 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::$17 ] )
[72] (byte~) render_logo::logo_idx#13 ← (byte)(signed byte~) render_logo::$17 [ render_logo::logo_idx#13 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::logo_idx#13 ] )
to:render_logo::@11
render_logo::@11: scope:[render_logo] from render_logo::@1 render_logo::@31
[73] (byte) render_logo::screen_idx#20 ← phi( render_logo::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 render_logo::@31/(byte) render_logo::screen_idx#4 ) [ render_logo::logo_idx#10 render_logo::screen_idx#20 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::logo_idx#10 render_logo::screen_idx#20 ] )
[73] (byte) render_logo::logo_idx#10 ← phi( render_logo::@1/(byte~) render_logo::logo_idx#13 render_logo::@31/(byte) render_logo::logo_idx#3 ) [ render_logo::logo_idx#10 render_logo::screen_idx#20 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::logo_idx#10 render_logo::screen_idx#20 ] )
[74] if((byte) render_logo::logo_idx#10!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto render_logo::@14 [ render_logo::logo_idx#10 render_logo::screen_idx#20 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::logo_idx#10 render_logo::screen_idx#20 ] )
to:render_logo::@15
render_logo::@15: scope:[render_logo] from render_logo::@11 render_logo::@35
[75] (byte) render_logo::screen_idx#14 ← phi( render_logo::@11/(byte) render_logo::screen_idx#20 render_logo::@35/(byte) render_logo::screen_idx#5 ) [ render_logo::screen_idx#14 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::screen_idx#14 ] )
[76] if((byte) render_logo::screen_idx#14!=(byte/signed byte/word/signed word/dword/signed dword) 40) goto render_logo::@18 [ render_logo::screen_idx#14 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::screen_idx#14 ] )
to:render_logo::@return
render_logo::@13: scope:[render_logo] from render_logo::@12
[76] *((const byte*) SCREEN#0 + (byte) render_logo::screen_idx#11) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ render_logo::screen_idx#11 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::screen_idx#11 ] )
[77] *((const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) render_logo::screen_idx#11) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ render_logo::screen_idx#11 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::screen_idx#11 ] )
[78] *((const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 2 + (byte) render_logo::screen_idx#11) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ render_logo::screen_idx#11 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::screen_idx#11 ] )
[79] *((const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 3 + (byte) render_logo::screen_idx#11) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ render_logo::screen_idx#11 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::screen_idx#11 ] )
[80] *((const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 4 + (byte) render_logo::screen_idx#11) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ render_logo::screen_idx#11 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::screen_idx#11 ] )
[81] *((const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 5 + (byte) render_logo::screen_idx#11) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ render_logo::screen_idx#11 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::screen_idx#11 ] )
[82] (byte) render_logo::screen_idx#5 ← ++ (byte) render_logo::screen_idx#11 [ render_logo::screen_idx#5 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::screen_idx#5 ] )
to:render_logo::@12
render_logo::@10: scope:[render_logo] from render_logo::@9
[83] *((const byte*) SCREEN#0 + (byte) render_logo::screen_idx#10) ← (byte) render_logo::logo_idx#5 [ render_logo::logo_idx#5 render_logo::screen_idx#10 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::logo_idx#5 render_logo::screen_idx#10 ] )
[84] (byte/signed word/word/dword/signed dword~) render_logo::$45 ← (byte) render_logo::logo_idx#5 + (byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 1 [ render_logo::logo_idx#5 render_logo::screen_idx#10 render_logo::$45 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::logo_idx#5 render_logo::screen_idx#10 render_logo::$45 ] )
[85] *((const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) render_logo::screen_idx#10) ← (byte/signed word/word/dword/signed dword~) render_logo::$45 [ render_logo::logo_idx#5 render_logo::screen_idx#10 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::logo_idx#5 render_logo::screen_idx#10 ] )
[86] (byte/signed word/word/dword/signed dword~) render_logo::$49 ← (byte) render_logo::logo_idx#5 + (byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 2 [ render_logo::logo_idx#5 render_logo::screen_idx#10 render_logo::$49 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::logo_idx#5 render_logo::screen_idx#10 render_logo::$49 ] )
[87] *((const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 2 + (byte) render_logo::screen_idx#10) ← (byte/signed word/word/dword/signed dword~) render_logo::$49 [ render_logo::logo_idx#5 render_logo::screen_idx#10 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::logo_idx#5 render_logo::screen_idx#10 ] )
[88] (byte/signed word/word/dword/signed dword~) render_logo::$53 ← (byte) render_logo::logo_idx#5 + (byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 3 [ render_logo::logo_idx#5 render_logo::screen_idx#10 render_logo::$53 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::logo_idx#5 render_logo::screen_idx#10 render_logo::$53 ] )
[89] *((const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 3 + (byte) render_logo::screen_idx#10) ← (byte/signed word/word/dword/signed dword~) render_logo::$53 [ render_logo::logo_idx#5 render_logo::screen_idx#10 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::logo_idx#5 render_logo::screen_idx#10 ] )
[90] (byte/word/signed word/dword/signed dword~) render_logo::$57 ← (byte) render_logo::logo_idx#5 + (byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 4 [ render_logo::logo_idx#5 render_logo::screen_idx#10 render_logo::$57 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::logo_idx#5 render_logo::screen_idx#10 render_logo::$57 ] )
[91] *((const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 4 + (byte) render_logo::screen_idx#10) ← (byte/word/signed word/dword/signed dword~) render_logo::$57 [ render_logo::logo_idx#5 render_logo::screen_idx#10 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::logo_idx#5 render_logo::screen_idx#10 ] )
[92] (byte/word/signed word/dword/signed dword~) render_logo::$61 ← (byte) render_logo::logo_idx#5 + (byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 5 [ render_logo::logo_idx#5 render_logo::screen_idx#10 render_logo::$61 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::logo_idx#5 render_logo::screen_idx#10 render_logo::$61 ] )
[93] *((const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 5 + (byte) render_logo::screen_idx#10) ← (byte/word/signed word/dword/signed dword~) render_logo::$61 [ render_logo::logo_idx#5 render_logo::screen_idx#10 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::logo_idx#5 render_logo::screen_idx#10 ] )
[94] (byte) render_logo::screen_idx#4 ← ++ (byte) render_logo::screen_idx#10 [ render_logo::logo_idx#5 render_logo::screen_idx#4 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::logo_idx#5 render_logo::screen_idx#4 ] )
[95] (byte) render_logo::logo_idx#3 ← ++ (byte) render_logo::logo_idx#5 [ render_logo::logo_idx#3 render_logo::screen_idx#4 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::logo_idx#3 render_logo::screen_idx#4 ] )
to:render_logo::@9
render_logo::@18: scope:[render_logo] from render_logo::@15
[77] *((const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 0 + (byte) render_logo::screen_idx#14) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ render_logo::screen_idx#14 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::screen_idx#14 ] )
to:render_logo::@18_1
render_logo::@18_1: scope:[render_logo] from render_logo::@18
[78] *((const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*++(byte/signed byte/word/signed word/dword/signed dword) 0 + (byte) render_logo::screen_idx#14) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ render_logo::screen_idx#14 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::screen_idx#14 ] )
to:render_logo::@18_2
render_logo::@18_2: scope:[render_logo] from render_logo::@18_1
[79] *((const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*++++(byte/signed byte/word/signed word/dword/signed dword) 0 + (byte) render_logo::screen_idx#14) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ render_logo::screen_idx#14 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::screen_idx#14 ] )
to:render_logo::@18_3
render_logo::@18_3: scope:[render_logo] from render_logo::@18_2
[80] *((const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*++++++(byte/signed byte/word/signed word/dword/signed dword) 0 + (byte) render_logo::screen_idx#14) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ render_logo::screen_idx#14 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::screen_idx#14 ] )
to:render_logo::@18_4
render_logo::@18_4: scope:[render_logo] from render_logo::@18_3
[81] *((const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 + (byte) render_logo::screen_idx#14) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ render_logo::screen_idx#14 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::screen_idx#14 ] )
to:render_logo::@18_5
render_logo::@18_5: scope:[render_logo] from render_logo::@18_4
[82] *((const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 + (byte) render_logo::screen_idx#14) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ render_logo::screen_idx#14 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::screen_idx#14 ] )
to:render_logo::@35
render_logo::@35: scope:[render_logo] from render_logo::@18_5
[83] (byte) render_logo::screen_idx#5 ← ++ (byte) render_logo::screen_idx#14 [ render_logo::screen_idx#5 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::screen_idx#5 ] )
to:render_logo::@15
render_logo::@14: scope:[render_logo] from render_logo::@11
[84] (byte/signed word/word/dword/signed dword~) render_logo::$23 ← (byte) render_logo::logo_idx#10 + (byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 0 [ render_logo::logo_idx#10 render_logo::screen_idx#20 render_logo::$23 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::logo_idx#10 render_logo::screen_idx#20 render_logo::$23 ] )
[85] *((const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 0 + (byte) render_logo::screen_idx#20) ← (byte/signed word/word/dword/signed dword~) render_logo::$23 [ render_logo::logo_idx#10 render_logo::screen_idx#20 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::logo_idx#10 render_logo::screen_idx#20 ] )
to:render_logo::@14_1
render_logo::@14_1: scope:[render_logo] from render_logo::@14
[86] (byte/signed word/word/dword/signed dword~) render_logo::$80 ← (byte) render_logo::logo_idx#10 + (byte/signed byte/word/signed word/dword/signed dword) 40*++(byte/signed byte/word/signed word/dword/signed dword) 0 [ render_logo::logo_idx#10 render_logo::screen_idx#20 render_logo::$80 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::logo_idx#10 render_logo::screen_idx#20 render_logo::$80 ] )
[87] *((const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*++(byte/signed byte/word/signed word/dword/signed dword) 0 + (byte) render_logo::screen_idx#20) ← (byte/signed word/word/dword/signed dword~) render_logo::$80 [ render_logo::logo_idx#10 render_logo::screen_idx#20 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::logo_idx#10 render_logo::screen_idx#20 ] )
to:render_logo::@14_2
render_logo::@14_2: scope:[render_logo] from render_logo::@14_1
[88] (byte/signed word/word/dword/signed dword~) render_logo::$84 ← (byte) render_logo::logo_idx#10 + (byte/signed byte/word/signed word/dword/signed dword) 40*++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ render_logo::logo_idx#10 render_logo::screen_idx#20 render_logo::$84 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::logo_idx#10 render_logo::screen_idx#20 render_logo::$84 ] )
[89] *((const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*++++(byte/signed byte/word/signed word/dword/signed dword) 0 + (byte) render_logo::screen_idx#20) ← (byte/signed word/word/dword/signed dword~) render_logo::$84 [ render_logo::logo_idx#10 render_logo::screen_idx#20 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::logo_idx#10 render_logo::screen_idx#20 ] )
to:render_logo::@14_3
render_logo::@14_3: scope:[render_logo] from render_logo::@14_2
[90] (byte/signed word/word/dword/signed dword~) render_logo::$88 ← (byte) render_logo::logo_idx#10 + (byte/signed byte/word/signed word/dword/signed dword) 40*++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ render_logo::logo_idx#10 render_logo::screen_idx#20 render_logo::$88 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::logo_idx#10 render_logo::screen_idx#20 render_logo::$88 ] )
[91] *((const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*++++++(byte/signed byte/word/signed word/dword/signed dword) 0 + (byte) render_logo::screen_idx#20) ← (byte/signed word/word/dword/signed dword~) render_logo::$88 [ render_logo::logo_idx#10 render_logo::screen_idx#20 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::logo_idx#10 render_logo::screen_idx#20 ] )
to:render_logo::@14_4
render_logo::@14_4: scope:[render_logo] from render_logo::@14_3
[92] (byte/signed word/word/dword/signed dword~) render_logo::$92 ← (byte) render_logo::logo_idx#10 + (byte/signed byte/word/signed word/dword/signed dword) 40*++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ render_logo::logo_idx#10 render_logo::screen_idx#20 render_logo::$92 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::logo_idx#10 render_logo::screen_idx#20 render_logo::$92 ] )
[93] *((const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 + (byte) render_logo::screen_idx#20) ← (byte/signed word/word/dword/signed dword~) render_logo::$92 [ render_logo::logo_idx#10 render_logo::screen_idx#20 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::logo_idx#10 render_logo::screen_idx#20 ] )
to:render_logo::@14_5
render_logo::@14_5: scope:[render_logo] from render_logo::@14_4
[94] (byte/signed word/word/dword/signed dword~) render_logo::$96 ← (byte) render_logo::logo_idx#10 + (byte/signed byte/word/signed word/dword/signed dword) 40*++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 [ render_logo::logo_idx#10 render_logo::screen_idx#20 render_logo::$96 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::logo_idx#10 render_logo::screen_idx#20 render_logo::$96 ] )
[95] *((const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*++++++++++(byte/signed byte/word/signed word/dword/signed dword) 0 + (byte) render_logo::screen_idx#20) ← (byte/signed word/word/dword/signed dword~) render_logo::$96 [ render_logo::logo_idx#10 render_logo::screen_idx#20 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::logo_idx#10 render_logo::screen_idx#20 ] )
to:render_logo::@31
render_logo::@31: scope:[render_logo] from render_logo::@14_5
[96] (byte) render_logo::screen_idx#4 ← ++ (byte) render_logo::screen_idx#20 [ render_logo::logo_idx#10 render_logo::screen_idx#4 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::logo_idx#10 render_logo::screen_idx#4 ] )
[97] (byte) render_logo::logo_idx#3 ← ++ (byte) render_logo::logo_idx#10 [ render_logo::logo_idx#3 render_logo::screen_idx#4 ] ( main:3::loop:23::render_logo:32 [ xsin_idx#11 render_logo::logo_idx#3 render_logo::screen_idx#4 ] )
to:render_logo::@11
sin16s_gen2: scope:[sin16s_gen2] from main::@2
[96] phi() [ ] ( main:3::sin16s_gen2:21 [ ] )
[97] call div32u16u [ div32u16u::return#0 ] ( main:3::sin16s_gen2:21 [ div32u16u::return#0 ] )
[98] (dword) div32u16u::return#2 ← (dword) div32u16u::return#0 [ div32u16u::return#2 ] ( main:3::sin16s_gen2:21 [ div32u16u::return#2 ] )
[98] phi() [ ] ( main:3::sin16s_gen2:21 [ ] )
[99] call div32u16u [ div32u16u::return#0 ] ( main:3::sin16s_gen2:21 [ div32u16u::return#0 ] )
[100] (dword) div32u16u::return#2 ← (dword) div32u16u::return#0 [ div32u16u::return#2 ] ( main:3::sin16s_gen2:21 [ div32u16u::return#2 ] )
to:sin16s_gen2::@3
sin16s_gen2::@3: scope:[sin16s_gen2] from sin16s_gen2
[99] (dword) sin16s_gen2::step#0 ← (dword) div32u16u::return#2 [ sin16s_gen2::step#0 ] ( main:3::sin16s_gen2:21 [ sin16s_gen2::step#0 ] )
[101] (dword) sin16s_gen2::step#0 ← (dword) div32u16u::return#2 [ sin16s_gen2::step#0 ] ( main:3::sin16s_gen2:21 [ sin16s_gen2::step#0 ] )
to:sin16s_gen2::@1
sin16s_gen2::@1: scope:[sin16s_gen2] from sin16s_gen2::@3 sin16s_gen2::@5
[100] (word) sin16s_gen2::i#2 ← phi( sin16s_gen2::@3/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s_gen2::@5/(word) sin16s_gen2::i#1 ) [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 ] ( main:3::sin16s_gen2:21 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 ] )
[100] (signed word*) sin16s_gen2::sintab#2 ← phi( sin16s_gen2::@3/(const signed word[XSIN_SIZE#0]) xsin#0 sin16s_gen2::@5/(signed word*) sin16s_gen2::sintab#0 ) [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 ] ( main:3::sin16s_gen2:21 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 ] )
[100] (dword) sin16s_gen2::x#2 ← phi( sin16s_gen2::@3/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s_gen2::@5/(dword) sin16s_gen2::x#1 ) [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 ] ( main:3::sin16s_gen2:21 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 ] )
[101] (dword) sin16s::x#0 ← (dword) sin16s_gen2::x#2 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::x#0 ] ( main:3::sin16s_gen2:21 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::x#0 ] )
[102] call sin16s [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::return#1 ] ( main:3::sin16s_gen2:21 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::return#1 ] )
[103] (signed word) sin16s::return#0 ← (signed word) sin16s::return#1 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::return#0 ] ( main:3::sin16s_gen2:21 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::return#0 ] )
[102] (word) sin16s_gen2::i#2 ← phi( sin16s_gen2::@3/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s_gen2::@5/(word) sin16s_gen2::i#1 ) [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 ] ( main:3::sin16s_gen2:21 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 ] )
[102] (signed word*) sin16s_gen2::sintab#2 ← phi( sin16s_gen2::@3/(const signed word[XSIN_SIZE#0]) xsin#0 sin16s_gen2::@5/(signed word*) sin16s_gen2::sintab#0 ) [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 ] ( main:3::sin16s_gen2:21 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 ] )
[102] (dword) sin16s_gen2::x#2 ← phi( sin16s_gen2::@3/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s_gen2::@5/(dword) sin16s_gen2::x#1 ) [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 ] ( main:3::sin16s_gen2:21 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 ] )
[103] (dword) sin16s::x#0 ← (dword) sin16s_gen2::x#2 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::x#0 ] ( main:3::sin16s_gen2:21 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::x#0 ] )
[104] call sin16s [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::return#1 ] ( main:3::sin16s_gen2:21 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::return#1 ] )
[105] (signed word) sin16s::return#0 ← (signed word) sin16s::return#1 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::return#0 ] ( main:3::sin16s_gen2:21 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::return#0 ] )
to:sin16s_gen2::@4
sin16s_gen2::@4: scope:[sin16s_gen2] from sin16s_gen2::@1
[104] (signed word) mul16s::a#0 ← (signed word) sin16s::return#0 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::a#0 ] ( main:3::sin16s_gen2:21 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::a#0 ] )
[105] call mul16s [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::return#0 ] ( main:3::sin16s_gen2:21 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::return#0 ] )
[106] (signed dword) mul16s::return#2 ← (signed dword) mul16s::return#0 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::return#2 ] ( main:3::sin16s_gen2:21 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::return#2 ] )
[106] (signed word) mul16s::a#0 ← (signed word) sin16s::return#0 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::a#0 ] ( main:3::sin16s_gen2:21 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::a#0 ] )
[107] call mul16s [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::return#0 ] ( main:3::sin16s_gen2:21 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::return#0 ] )
[108] (signed dword) mul16s::return#2 ← (signed dword) mul16s::return#0 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::return#2 ] ( main:3::sin16s_gen2:21 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::return#2 ] )
to:sin16s_gen2::@5
sin16s_gen2::@5: scope:[sin16s_gen2] from sin16s_gen2::@4
[107] (signed dword~) sin16s_gen2::$5 ← (signed dword) mul16s::return#2 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s_gen2::$5 ] ( main:3::sin16s_gen2:21 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s_gen2::$5 ] )
[108] (word~) sin16s_gen2::$6 ← > (signed dword~) sin16s_gen2::$5 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s_gen2::$6 ] ( main:3::sin16s_gen2:21 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s_gen2::$6 ] )
[109] (signed word~) sin16s_gen2::$8 ← (const signed word) sin16s_gen2::offs#0 + (signed word)(word~) sin16s_gen2::$6 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s_gen2::$8 ] ( main:3::sin16s_gen2:21 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s_gen2::$8 ] )
[110] *((signed word*) sin16s_gen2::sintab#2) ← (signed word~) sin16s_gen2::$8 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 ] ( main:3::sin16s_gen2:21 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 ] )
[111] (signed word*) sin16s_gen2::sintab#0 ← (signed word*) sin16s_gen2::sintab#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::i#2 sin16s_gen2::sintab#0 ] ( main:3::sin16s_gen2:21 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::i#2 sin16s_gen2::sintab#0 ] )
[112] (dword) sin16s_gen2::x#1 ← (dword) sin16s_gen2::x#2 + (dword) sin16s_gen2::step#0 [ sin16s_gen2::step#0 sin16s_gen2::i#2 sin16s_gen2::x#1 sin16s_gen2::sintab#0 ] ( main:3::sin16s_gen2:21 [ sin16s_gen2::step#0 sin16s_gen2::i#2 sin16s_gen2::x#1 sin16s_gen2::sintab#0 ] )
[113] (word) sin16s_gen2::i#1 ← ++ (word) sin16s_gen2::i#2 [ sin16s_gen2::step#0 sin16s_gen2::x#1 sin16s_gen2::sintab#0 sin16s_gen2::i#1 ] ( main:3::sin16s_gen2:21 [ sin16s_gen2::step#0 sin16s_gen2::x#1 sin16s_gen2::sintab#0 sin16s_gen2::i#1 ] )
[114] if((word) sin16s_gen2::i#1<(const word) XSIN_SIZE#0) goto sin16s_gen2::@1 [ sin16s_gen2::step#0 sin16s_gen2::x#1 sin16s_gen2::sintab#0 sin16s_gen2::i#1 ] ( main:3::sin16s_gen2:21 [ sin16s_gen2::step#0 sin16s_gen2::x#1 sin16s_gen2::sintab#0 sin16s_gen2::i#1 ] )
[109] (signed dword~) sin16s_gen2::$5 ← (signed dword) mul16s::return#2 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s_gen2::$5 ] ( main:3::sin16s_gen2:21 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s_gen2::$5 ] )
[110] (word~) sin16s_gen2::$6 ← > (signed dword~) sin16s_gen2::$5 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s_gen2::$6 ] ( main:3::sin16s_gen2:21 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s_gen2::$6 ] )
[111] (signed word~) sin16s_gen2::$8 ← (const signed word) sin16s_gen2::offs#0 + (signed word)(word~) sin16s_gen2::$6 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s_gen2::$8 ] ( main:3::sin16s_gen2:21 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s_gen2::$8 ] )
[112] *((signed word*) sin16s_gen2::sintab#2) ← (signed word~) sin16s_gen2::$8 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 ] ( main:3::sin16s_gen2:21 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 ] )
[113] (signed word*) sin16s_gen2::sintab#0 ← (signed word*) sin16s_gen2::sintab#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::i#2 sin16s_gen2::sintab#0 ] ( main:3::sin16s_gen2:21 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::i#2 sin16s_gen2::sintab#0 ] )
[114] (dword) sin16s_gen2::x#1 ← (dword) sin16s_gen2::x#2 + (dword) sin16s_gen2::step#0 [ sin16s_gen2::step#0 sin16s_gen2::i#2 sin16s_gen2::x#1 sin16s_gen2::sintab#0 ] ( main:3::sin16s_gen2:21 [ sin16s_gen2::step#0 sin16s_gen2::i#2 sin16s_gen2::x#1 sin16s_gen2::sintab#0 ] )
[115] (word) sin16s_gen2::i#1 ← ++ (word) sin16s_gen2::i#2 [ sin16s_gen2::step#0 sin16s_gen2::x#1 sin16s_gen2::sintab#0 sin16s_gen2::i#1 ] ( main:3::sin16s_gen2:21 [ sin16s_gen2::step#0 sin16s_gen2::x#1 sin16s_gen2::sintab#0 sin16s_gen2::i#1 ] )
[116] if((word) sin16s_gen2::i#1<(const word) XSIN_SIZE#0) goto sin16s_gen2::@1 [ sin16s_gen2::step#0 sin16s_gen2::x#1 sin16s_gen2::sintab#0 sin16s_gen2::i#1 ] ( main:3::sin16s_gen2:21 [ sin16s_gen2::step#0 sin16s_gen2::x#1 sin16s_gen2::sintab#0 sin16s_gen2::i#1 ] )
to:sin16s_gen2::@return
sin16s_gen2::@return: scope:[sin16s_gen2] from sin16s_gen2::@5
[115] return [ ] ( main:3::sin16s_gen2:21 [ ] )
[117] return [ ] ( main:3::sin16s_gen2:21 [ ] )
to:@return
mul16s: scope:[mul16s] from sin16s_gen2::@4
[116] (word~) mul16u::a#8 ← (word)(signed word) mul16s::a#0 [ mul16s::a#0 mul16u::a#8 ] ( main:3::sin16s_gen2:21::mul16s:105 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::a#0 mul16u::a#8 ] )
[117] call mul16u [ mul16s::a#0 mul16u::res#2 ] ( main:3::sin16s_gen2:21::mul16s:105 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::a#0 mul16u::res#2 ] )
[118] (dword) mul16u::return#2 ← (dword) mul16u::res#2 [ mul16s::a#0 mul16u::return#2 ] ( main:3::sin16s_gen2:21::mul16s:105 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::a#0 mul16u::return#2 ] )
[118] (word~) mul16u::a#8 ← (word)(signed word) mul16s::a#0 [ mul16s::a#0 mul16u::a#8 ] ( main:3::sin16s_gen2:21::mul16s:107 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::a#0 mul16u::a#8 ] )
[119] call mul16u [ mul16s::a#0 mul16u::res#2 ] ( main:3::sin16s_gen2:21::mul16s:107 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::a#0 mul16u::res#2 ] )
[120] (dword) mul16u::return#2 ← (dword) mul16u::res#2 [ mul16s::a#0 mul16u::return#2 ] ( main:3::sin16s_gen2:21::mul16s:107 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::a#0 mul16u::return#2 ] )
to:mul16s::@6
mul16s::@6: scope:[mul16s] from mul16s
[119] (dword) mul16s::m#0 ← (dword) mul16u::return#2 [ mul16s::a#0 mul16s::m#0 ] ( main:3::sin16s_gen2:21::mul16s:105 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::a#0 mul16s::m#0 ] )
[120] if((signed word) mul16s::a#0>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul16s::@1 [ mul16s::m#0 ] ( main:3::sin16s_gen2:21::mul16s:105 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::m#0 ] )
[121] (dword) mul16s::m#0 ← (dword) mul16u::return#2 [ mul16s::a#0 mul16s::m#0 ] ( main:3::sin16s_gen2:21::mul16s:107 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::a#0 mul16s::m#0 ] )
[122] if((signed word) mul16s::a#0>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul16s::@1 [ mul16s::m#0 ] ( main:3::sin16s_gen2:21::mul16s:107 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::m#0 ] )
to:mul16s::@3
mul16s::@3: scope:[mul16s] from mul16s::@6
[121] (word~) mul16s::$6 ← > (dword) mul16s::m#0 [ mul16s::m#0 mul16s::$6 ] ( main:3::sin16s_gen2:21::mul16s:105 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::m#0 mul16s::$6 ] )
[122] (word~) mul16s::$16 ← (word~) mul16s::$6 - ((word))(const signed word) sin16s_gen2::ampl#0 [ mul16s::m#0 mul16s::$16 ] ( main:3::sin16s_gen2:21::mul16s:105 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::m#0 mul16s::$16 ] )
[123] (dword) mul16s::m#1 ← (dword) mul16s::m#0 hi= (word~) mul16s::$16 [ mul16s::m#1 ] ( main:3::sin16s_gen2:21::mul16s:105 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::m#1 ] )
[123] (word~) mul16s::$6 ← > (dword) mul16s::m#0 [ mul16s::m#0 mul16s::$6 ] ( main:3::sin16s_gen2:21::mul16s:107 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::m#0 mul16s::$6 ] )
[124] (word~) mul16s::$16 ← (word~) mul16s::$6 - ((word))(const signed word) sin16s_gen2::ampl#0 [ mul16s::m#0 mul16s::$16 ] ( main:3::sin16s_gen2:21::mul16s:107 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::m#0 mul16s::$16 ] )
[125] (dword) mul16s::m#1 ← (dword) mul16s::m#0 hi= (word~) mul16s::$16 [ mul16s::m#1 ] ( main:3::sin16s_gen2:21::mul16s:107 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::m#1 ] )
to:mul16s::@1
mul16s::@1: scope:[mul16s] from mul16s::@3 mul16s::@6
[124] (dword) mul16s::m#4 ← phi( mul16s::@3/(dword) mul16s::m#1 mul16s::@6/(dword) mul16s::m#0 ) [ mul16s::m#4 ] ( main:3::sin16s_gen2:21::mul16s:105 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::m#4 ] )
[126] (dword) mul16s::m#4 ← phi( mul16s::@3/(dword) mul16s::m#1 mul16s::@6/(dword) mul16s::m#0 ) [ mul16s::m#4 ] ( main:3::sin16s_gen2:21::mul16s:107 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::m#4 ] )
to:mul16s::@2
mul16s::@2: scope:[mul16s] from mul16s::@1
[125] (signed dword) mul16s::return#0 ← ((signed dword)) (dword) mul16s::m#4 [ mul16s::return#0 ] ( main:3::sin16s_gen2:21::mul16s:105 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::return#0 ] )
[127] (signed dword) mul16s::return#0 ← ((signed dword)) (dword) mul16s::m#4 [ mul16s::return#0 ] ( main:3::sin16s_gen2:21::mul16s:107 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::return#0 ] )
to:mul16s::@return
mul16s::@return: scope:[mul16s] from mul16s::@2
[126] return [ mul16s::return#0 ] ( main:3::sin16s_gen2:21::mul16s:105 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::return#0 ] )
[128] return [ mul16s::return#0 ] ( main:3::sin16s_gen2:21::mul16s:107 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::return#0 ] )
to:@return
mul16u: scope:[mul16u] from mul16s mulu16_sel
[127] (word) mul16u::a#6 ← phi( mul16s/(word~) mul16u::a#8 mulu16_sel/(word) mul16u::a#2 ) [ mul16u::b#2 mul16u::a#6 ] ( main:3::sin16s_gen2:21::mul16s:105::mul16u:117 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::a#0 mul16u::b#2 mul16u::a#6 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:148::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::b#2 mul16u::a#6 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:153::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::b#2 mul16u::a#6 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:157::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#5 mul16u::b#2 mul16u::a#6 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:163::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#5 mul16u::b#2 mul16u::a#6 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:168::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#5 mul16u::b#2 mul16u::a#6 ] )
[127] (word) mul16u::b#2 ← phi( mul16s/((word))(const signed word) sin16s_gen2::ampl#0 mulu16_sel/(word) mul16u::b#1 ) [ mul16u::b#2 mul16u::a#6 ] ( main:3::sin16s_gen2:21::mul16s:105::mul16u:117 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::a#0 mul16u::b#2 mul16u::a#6 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:148::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::b#2 mul16u::a#6 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:153::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::b#2 mul16u::a#6 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:157::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#5 mul16u::b#2 mul16u::a#6 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:163::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#5 mul16u::b#2 mul16u::a#6 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:168::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#5 mul16u::b#2 mul16u::a#6 ] )
[128] (dword) mul16u::mb#0 ← ((dword)) (word) mul16u::b#2 [ mul16u::a#6 mul16u::mb#0 ] ( main:3::sin16s_gen2:21::mul16s:105::mul16u:117 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::a#0 mul16u::a#6 mul16u::mb#0 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:148::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::a#6 mul16u::mb#0 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:153::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::a#6 mul16u::mb#0 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:157::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#5 mul16u::a#6 mul16u::mb#0 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:163::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#5 mul16u::a#6 mul16u::mb#0 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:168::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#5 mul16u::a#6 mul16u::mb#0 ] )
[129] (word) mul16u::a#6 ← phi( mul16s/(word~) mul16u::a#8 mulu16_sel/(word) mul16u::a#2 ) [ mul16u::b#2 mul16u::a#6 ] ( main:3::sin16s_gen2:21::mul16s:107::mul16u:119 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::a#0 mul16u::b#2 mul16u::a#6 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:150::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::b#2 mul16u::a#6 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:155::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::b#2 mul16u::a#6 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:159::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#5 mul16u::b#2 mul16u::a#6 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:165::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#5 mul16u::b#2 mul16u::a#6 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:170::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#5 mul16u::b#2 mul16u::a#6 ] )
[129] (word) mul16u::b#2 ← phi( mul16s/((word))(const signed word) sin16s_gen2::ampl#0 mulu16_sel/(word) mul16u::b#1 ) [ mul16u::b#2 mul16u::a#6 ] ( main:3::sin16s_gen2:21::mul16s:107::mul16u:119 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::a#0 mul16u::b#2 mul16u::a#6 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:150::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::b#2 mul16u::a#6 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:155::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::b#2 mul16u::a#6 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:159::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#5 mul16u::b#2 mul16u::a#6 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:165::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#5 mul16u::b#2 mul16u::a#6 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:170::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#5 mul16u::b#2 mul16u::a#6 ] )
[130] (dword) mul16u::mb#0 ← ((dword)) (word) mul16u::b#2 [ mul16u::a#6 mul16u::mb#0 ] ( main:3::sin16s_gen2:21::mul16s:107::mul16u:119 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::a#0 mul16u::a#6 mul16u::mb#0 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:150::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::a#6 mul16u::mb#0 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:155::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::a#6 mul16u::mb#0 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:159::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#5 mul16u::a#6 mul16u::mb#0 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:165::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#5 mul16u::a#6 mul16u::mb#0 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:170::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#5 mul16u::a#6 mul16u::mb#0 ] )
to:mul16u::@1
mul16u::@1: scope:[mul16u] from mul16u mul16u::@4
[129] (dword) mul16u::mb#2 ← phi( mul16u/(dword) mul16u::mb#0 mul16u::@4/(dword) mul16u::mb#1 ) [ mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] ( main:3::sin16s_gen2:21::mul16s:105::mul16u:117 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::a#0 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:148::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:153::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:157::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:163::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:168::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] )
[129] (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#3 mul16u::mb#2 ] ( main:3::sin16s_gen2:21::mul16s:105::mul16u:117 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::a#0 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:148::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:153::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:157::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:163::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:168::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] )
[129] (word) mul16u::a#3 ← phi( mul16u/(word) mul16u::a#6 mul16u::@4/(word) mul16u::a#0 ) [ mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] ( main:3::sin16s_gen2:21::mul16s:105::mul16u:117 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::a#0 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:148::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:153::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:157::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:163::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:168::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] )
[130] if((word) mul16u::a#3!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul16u::@2 [ mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] ( main:3::sin16s_gen2:21::mul16s:105::mul16u:117 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::a#0 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:148::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:153::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:157::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:163::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:168::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] )
[131] (dword) mul16u::mb#2 ← phi( mul16u/(dword) mul16u::mb#0 mul16u::@4/(dword) mul16u::mb#1 ) [ mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] ( main:3::sin16s_gen2:21::mul16s:107::mul16u:119 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::a#0 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:150::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:155::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:159::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:165::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:170::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] )
[131] (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#3 mul16u::mb#2 ] ( main:3::sin16s_gen2:21::mul16s:107::mul16u:119 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::a#0 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:150::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:155::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:159::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:165::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:170::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] )
[131] (word) mul16u::a#3 ← phi( mul16u/(word) mul16u::a#6 mul16u::@4/(word) mul16u::a#0 ) [ mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] ( main:3::sin16s_gen2:21::mul16s:107::mul16u:119 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::a#0 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:150::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:155::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:159::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:165::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:170::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] )
[132] if((word) mul16u::a#3!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul16u::@2 [ mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] ( main:3::sin16s_gen2:21::mul16s:107::mul16u:119 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::a#0 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:150::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:155::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:159::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:165::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:170::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] )
to:mul16u::@return
mul16u::@return: scope:[mul16u] from mul16u::@1
[131] return [ mul16u::res#2 ] ( main:3::sin16s_gen2:21::mul16s:105::mul16u:117 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::a#0 mul16u::res#2 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:148::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::res#2 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:153::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::res#2 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:157::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#5 mul16u::res#2 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:163::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#5 mul16u::res#2 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:168::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#5 mul16u::res#2 ] )
[133] return [ mul16u::res#2 ] ( main:3::sin16s_gen2:21::mul16s:107::mul16u:119 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::a#0 mul16u::res#2 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:150::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::res#2 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:155::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::res#2 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:159::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#5 mul16u::res#2 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:165::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#5 mul16u::res#2 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:170::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#5 mul16u::res#2 ] )
to:@return
mul16u::@2: scope:[mul16u] from mul16u::@1
[132] (byte/word~) mul16u::$1 ← (word) mul16u::a#3 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::res#2 mul16u::a#3 mul16u::mb#2 mul16u::$1 ] ( main:3::sin16s_gen2:21::mul16s:105::mul16u:117 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::a#0 mul16u::res#2 mul16u::a#3 mul16u::mb#2 mul16u::$1 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:148::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 mul16u::$1 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:153::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 mul16u::$1 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:157::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 mul16u::$1 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:163::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 mul16u::$1 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:168::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 mul16u::$1 ] )
[133] if((byte/word~) mul16u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul16u::@4 [ mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] ( main:3::sin16s_gen2:21::mul16s:105::mul16u:117 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::a#0 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:148::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:153::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:157::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:163::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:168::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] )
[134] (byte/word~) mul16u::$1 ← (word) mul16u::a#3 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::res#2 mul16u::a#3 mul16u::mb#2 mul16u::$1 ] ( main:3::sin16s_gen2:21::mul16s:107::mul16u:119 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::a#0 mul16u::res#2 mul16u::a#3 mul16u::mb#2 mul16u::$1 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:150::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 mul16u::$1 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:155::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 mul16u::$1 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:159::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 mul16u::$1 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:165::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 mul16u::$1 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:170::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 mul16u::$1 ] )
[135] if((byte/word~) mul16u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul16u::@4 [ mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] ( main:3::sin16s_gen2:21::mul16s:107::mul16u:119 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::a#0 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:150::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:155::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:159::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:165::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:170::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#5 mul16u::res#2 mul16u::a#3 mul16u::mb#2 ] )
to:mul16u::@7
mul16u::@7: scope:[mul16u] from mul16u::@2
[134] (dword) mul16u::res#1 ← (dword) mul16u::res#2 + (dword) mul16u::mb#2 [ mul16u::a#3 mul16u::mb#2 mul16u::res#1 ] ( main:3::sin16s_gen2:21::mul16s:105::mul16u:117 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::a#0 mul16u::a#3 mul16u::mb#2 mul16u::res#1 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:148::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::a#3 mul16u::mb#2 mul16u::res#1 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:153::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::a#3 mul16u::mb#2 mul16u::res#1 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:157::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#5 mul16u::a#3 mul16u::mb#2 mul16u::res#1 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:163::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#5 mul16u::a#3 mul16u::mb#2 mul16u::res#1 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:168::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#5 mul16u::a#3 mul16u::mb#2 mul16u::res#1 ] )
[136] (dword) mul16u::res#1 ← (dword) mul16u::res#2 + (dword) mul16u::mb#2 [ mul16u::a#3 mul16u::mb#2 mul16u::res#1 ] ( main:3::sin16s_gen2:21::mul16s:107::mul16u:119 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::a#0 mul16u::a#3 mul16u::mb#2 mul16u::res#1 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:150::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::a#3 mul16u::mb#2 mul16u::res#1 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:155::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::a#3 mul16u::mb#2 mul16u::res#1 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:159::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#5 mul16u::a#3 mul16u::mb#2 mul16u::res#1 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:165::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#5 mul16u::a#3 mul16u::mb#2 mul16u::res#1 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:170::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#5 mul16u::a#3 mul16u::mb#2 mul16u::res#1 ] )
to:mul16u::@4
mul16u::@4: scope:[mul16u] from mul16u::@2 mul16u::@7
[135] (dword) mul16u::res#6 ← phi( mul16u::@2/(dword) mul16u::res#2 mul16u::@7/(dword) mul16u::res#1 ) [ mul16u::a#3 mul16u::mb#2 mul16u::res#6 ] ( main:3::sin16s_gen2:21::mul16s:105::mul16u:117 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::a#0 mul16u::a#3 mul16u::mb#2 mul16u::res#6 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:148::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::a#3 mul16u::mb#2 mul16u::res#6 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:153::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::a#3 mul16u::mb#2 mul16u::res#6 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:157::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#5 mul16u::a#3 mul16u::mb#2 mul16u::res#6 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:163::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#5 mul16u::a#3 mul16u::mb#2 mul16u::res#6 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:168::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#5 mul16u::a#3 mul16u::mb#2 mul16u::res#6 ] )
[136] (word) mul16u::a#0 ← (word) mul16u::a#3 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] ( main:3::sin16s_gen2:21::mul16s:105::mul16u:117 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::a#0 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:148::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:153::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:157::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#5 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:163::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#5 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:168::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#5 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] )
[137] (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:3::sin16s_gen2:21::mul16s:105::mul16u:117 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::a#0 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:148::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:153::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:157::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#5 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:163::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#5 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:168::mul16u:181 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#5 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] )
[137] (dword) mul16u::res#6 ← phi( mul16u::@2/(dword) mul16u::res#2 mul16u::@7/(dword) mul16u::res#1 ) [ mul16u::a#3 mul16u::mb#2 mul16u::res#6 ] ( main:3::sin16s_gen2:21::mul16s:107::mul16u:119 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::a#0 mul16u::a#3 mul16u::mb#2 mul16u::res#6 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:150::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::a#3 mul16u::mb#2 mul16u::res#6 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:155::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::a#3 mul16u::mb#2 mul16u::res#6 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:159::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#5 mul16u::a#3 mul16u::mb#2 mul16u::res#6 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:165::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#5 mul16u::a#3 mul16u::mb#2 mul16u::res#6 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:170::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#5 mul16u::a#3 mul16u::mb#2 mul16u::res#6 ] )
[138] (word) mul16u::a#0 ← (word) mul16u::a#3 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] ( main:3::sin16s_gen2:21::mul16s:107::mul16u:119 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::a#0 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:150::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:155::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:159::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#5 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:165::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#5 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:170::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#5 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] )
[139] (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:3::sin16s_gen2:21::mul16s:107::mul16u:119 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 mul16s::a#0 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:150::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:155::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:159::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#5 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:165::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#5 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:170::mul16u:183 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#5 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] )
to:mul16u::@1
sin16s: scope:[sin16s] from sin16s_gen2::@1
[138] if((dword) sin16s::x#0<(const dword) PI_u4f28#0) goto sin16s::@1 [ sin16s::x#0 ] ( main:3::sin16s_gen2:21::sin16s:102 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::x#0 ] )
[140] if((dword) sin16s::x#0<(const dword) PI_u4f28#0) goto sin16s::@1 [ sin16s::x#0 ] ( main:3::sin16s_gen2:21::sin16s:104 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::x#0 ] )
to:sin16s::@4
sin16s::@4: scope:[sin16s] from sin16s
[139] (dword) sin16s::x#1 ← (dword) sin16s::x#0 - (const dword) PI_u4f28#0 [ sin16s::x#1 ] ( main:3::sin16s_gen2:21::sin16s:102 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::x#1 ] )
[141] (dword) sin16s::x#1 ← (dword) sin16s::x#0 - (const dword) PI_u4f28#0 [ sin16s::x#1 ] ( main:3::sin16s_gen2:21::sin16s:104 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::x#1 ] )
to:sin16s::@1
sin16s::@1: scope:[sin16s] from sin16s sin16s::@4
[140] (byte) sin16s::isUpper#2 ← phi( sin16s/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s::@4/(byte/signed byte/word/signed word/dword/signed dword) 1 ) [ sin16s::x#4 sin16s::isUpper#2 ] ( main:3::sin16s_gen2:21::sin16s:102 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::x#4 sin16s::isUpper#2 ] )
[140] (dword) sin16s::x#4 ← phi( sin16s/(dword) sin16s::x#0 sin16s::@4/(dword) sin16s::x#1 ) [ sin16s::x#4 sin16s::isUpper#2 ] ( main:3::sin16s_gen2:21::sin16s:102 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::x#4 sin16s::isUpper#2 ] )
[141] if((dword) sin16s::x#4<(const dword) PI_HALF_u4f28#0) goto sin16s::@2 [ sin16s::x#4 sin16s::isUpper#2 ] ( main:3::sin16s_gen2:21::sin16s:102 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::x#4 sin16s::isUpper#2 ] )
[142] (byte) sin16s::isUpper#2 ← phi( sin16s/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s::@4/(byte/signed byte/word/signed word/dword/signed dword) 1 ) [ sin16s::x#4 sin16s::isUpper#2 ] ( main:3::sin16s_gen2:21::sin16s:104 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::x#4 sin16s::isUpper#2 ] )
[142] (dword) sin16s::x#4 ← phi( sin16s/(dword) sin16s::x#0 sin16s::@4/(dword) sin16s::x#1 ) [ sin16s::x#4 sin16s::isUpper#2 ] ( main:3::sin16s_gen2:21::sin16s:104 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::x#4 sin16s::isUpper#2 ] )
[143] if((dword) sin16s::x#4<(const dword) PI_HALF_u4f28#0) goto sin16s::@2 [ sin16s::x#4 sin16s::isUpper#2 ] ( main:3::sin16s_gen2:21::sin16s:104 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::x#4 sin16s::isUpper#2 ] )
to:sin16s::@5
sin16s::@5: scope:[sin16s] from sin16s::@1
[142] (dword) sin16s::x#2 ← (const dword) PI_u4f28#0 - (dword) sin16s::x#4 [ sin16s::isUpper#2 sin16s::x#2 ] ( main:3::sin16s_gen2:21::sin16s:102 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x#2 ] )
[144] (dword) sin16s::x#2 ← (const dword) PI_u4f28#0 - (dword) sin16s::x#4 [ sin16s::isUpper#2 sin16s::x#2 ] ( main:3::sin16s_gen2:21::sin16s:104 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x#2 ] )
to:sin16s::@2
sin16s::@2: scope:[sin16s] from sin16s::@1 sin16s::@5
[143] (dword) sin16s::x#6 ← phi( sin16s::@1/(dword) sin16s::x#4 sin16s::@5/(dword) sin16s::x#2 ) [ sin16s::isUpper#2 sin16s::x#6 ] ( main:3::sin16s_gen2:21::sin16s:102 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x#6 ] )
[144] (dword~) sin16s::$6 ← (dword) sin16s::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin16s::isUpper#2 sin16s::$6 ] ( main:3::sin16s_gen2:21::sin16s:102 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::$6 ] )
[145] (word) sin16s::x1#0 ← > (dword~) sin16s::$6 [ sin16s::isUpper#2 sin16s::x1#0 ] ( main:3::sin16s_gen2:21::sin16s:102 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 ] )
[146] (word) mulu16_sel::v1#0 ← (word) sin16s::x1#0 [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#0 ] ( main:3::sin16s_gen2:21::sin16s:102 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#0 ] )
[147] (word) mulu16_sel::v2#0 ← (word) sin16s::x1#0 [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#0 mulu16_sel::v2#0 ] ( main:3::sin16s_gen2:21::sin16s:102 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#0 mulu16_sel::v2#0 ] )
[148] call mulu16_sel [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#12 ] ( main:3::sin16s_gen2:21::sin16s:102 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#12 ] )
[149] (word) mulu16_sel::return#0 ← (word) mulu16_sel::return#12 [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#0 ] ( main:3::sin16s_gen2:21::sin16s:102 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#0 ] )
[145] (dword) sin16s::x#6 ← phi( sin16s::@1/(dword) sin16s::x#4 sin16s::@5/(dword) sin16s::x#2 ) [ sin16s::isUpper#2 sin16s::x#6 ] ( main:3::sin16s_gen2:21::sin16s:104 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x#6 ] )
[146] (dword~) sin16s::$6 ← (dword) sin16s::x#6 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ sin16s::isUpper#2 sin16s::$6 ] ( main:3::sin16s_gen2:21::sin16s:104 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::$6 ] )
[147] (word) sin16s::x1#0 ← > (dword~) sin16s::$6 [ sin16s::isUpper#2 sin16s::x1#0 ] ( main:3::sin16s_gen2:21::sin16s:104 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 ] )
[148] (word) mulu16_sel::v1#0 ← (word) sin16s::x1#0 [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#0 ] ( main:3::sin16s_gen2:21::sin16s:104 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#0 ] )
[149] (word) mulu16_sel::v2#0 ← (word) sin16s::x1#0 [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#0 mulu16_sel::v2#0 ] ( main:3::sin16s_gen2:21::sin16s:104 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#0 mulu16_sel::v2#0 ] )
[150] call mulu16_sel [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#12 ] ( main:3::sin16s_gen2:21::sin16s:104 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#12 ] )
[151] (word) mulu16_sel::return#0 ← (word) mulu16_sel::return#12 [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#0 ] ( main:3::sin16s_gen2:21::sin16s:104 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#0 ] )
to:sin16s::@8
sin16s::@8: scope:[sin16s] from sin16s::@2
[150] (word) sin16s::x2#0 ← (word) mulu16_sel::return#0 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x2#0 ] ( main:3::sin16s_gen2:21::sin16s:102 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x2#0 ] )
[151] (word) mulu16_sel::v1#1 ← (word) sin16s::x2#0 [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#1 ] ( main:3::sin16s_gen2:21::sin16s:102 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#1 ] )
[152] (word) mulu16_sel::v2#1 ← (word) sin16s::x1#0 [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#1 mulu16_sel::v2#1 ] ( main:3::sin16s_gen2:21::sin16s:102 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#1 mulu16_sel::v2#1 ] )
[153] call mulu16_sel [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#12 ] ( main:3::sin16s_gen2:21::sin16s:102 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#12 ] )
[154] (word) mulu16_sel::return#1 ← (word) mulu16_sel::return#12 [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#1 ] ( main:3::sin16s_gen2:21::sin16s:102 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#1 ] )
[152] (word) sin16s::x2#0 ← (word) mulu16_sel::return#0 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x2#0 ] ( main:3::sin16s_gen2:21::sin16s:104 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x2#0 ] )
[153] (word) mulu16_sel::v1#1 ← (word) sin16s::x2#0 [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#1 ] ( main:3::sin16s_gen2:21::sin16s:104 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#1 ] )
[154] (word) mulu16_sel::v2#1 ← (word) sin16s::x1#0 [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#1 mulu16_sel::v2#1 ] ( main:3::sin16s_gen2:21::sin16s:104 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#1 mulu16_sel::v2#1 ] )
[155] call mulu16_sel [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#12 ] ( main:3::sin16s_gen2:21::sin16s:104 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#12 ] )
[156] (word) mulu16_sel::return#1 ← (word) mulu16_sel::return#12 [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#1 ] ( main:3::sin16s_gen2:21::sin16s:104 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#1 ] )
to:sin16s::@9
sin16s::@9: scope:[sin16s] from sin16s::@8
[155] (word) sin16s::x3#0 ← (word) mulu16_sel::return#1 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:3::sin16s_gen2:21::sin16s:102 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] )
[156] (word) mulu16_sel::v1#2 ← (word) sin16s::x3#0 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::v1#2 ] ( main:3::sin16s_gen2:21::sin16s:102 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::v1#2 ] )
[157] call mulu16_sel [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#12 sin16s::x3#0 ] ( main:3::sin16s_gen2:21::sin16s:102 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#12 sin16s::x3#0 ] )
[158] (word) mulu16_sel::return#2 ← (word) mulu16_sel::return#12 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#2 ] ( main:3::sin16s_gen2:21::sin16s:102 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#2 ] )
[157] (word) sin16s::x3#0 ← (word) mulu16_sel::return#1 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] ( main:3::sin16s_gen2:21::sin16s:104 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 ] )
[158] (word) mulu16_sel::v1#2 ← (word) sin16s::x3#0 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::v1#2 ] ( main:3::sin16s_gen2:21::sin16s:104 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::v1#2 ] )
[159] call mulu16_sel [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#12 sin16s::x3#0 ] ( main:3::sin16s_gen2:21::sin16s:104 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#12 sin16s::x3#0 ] )
[160] (word) mulu16_sel::return#2 ← (word) mulu16_sel::return#12 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#2 ] ( main:3::sin16s_gen2:21::sin16s:104 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#2 ] )
to:sin16s::@10
sin16s::@10: scope:[sin16s] from sin16s::@9
[159] (word) sin16s::x3_6#0 ← (word) mulu16_sel::return#2 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::x3_6#0 ] ( main:3::sin16s_gen2:21::sin16s:102 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::x3_6#0 ] )
[160] (word) sin16s::usinx#0 ← (word) sin16s::x1#0 - (word) sin16s::x3_6#0 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::usinx#0 ] ( main:3::sin16s_gen2:21::sin16s:102 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::usinx#0 ] )
[161] (word) mulu16_sel::v1#3 ← (word) sin16s::x3#0 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v1#3 ] ( main:3::sin16s_gen2:21::sin16s:102 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v1#3 ] )
[162] (word) mulu16_sel::v2#3 ← (word) sin16s::x1#0 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v1#3 mulu16_sel::v2#3 ] ( main:3::sin16s_gen2:21::sin16s:102 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v1#3 mulu16_sel::v2#3 ] )
[163] call mulu16_sel [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#12 sin16s::usinx#0 ] ( main:3::sin16s_gen2:21::sin16s:102 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#12 sin16s::usinx#0 ] )
[164] (word) mulu16_sel::return#10 ← (word) mulu16_sel::return#12 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#10 ] ( main:3::sin16s_gen2:21::sin16s:102 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#10 ] )
[161] (word) sin16s::x3_6#0 ← (word) mulu16_sel::return#2 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::x3_6#0 ] ( main:3::sin16s_gen2:21::sin16s:104 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::x3_6#0 ] )
[162] (word) sin16s::usinx#0 ← (word) sin16s::x1#0 - (word) sin16s::x3_6#0 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::usinx#0 ] ( main:3::sin16s_gen2:21::sin16s:104 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 sin16s::usinx#0 ] )
[163] (word) mulu16_sel::v1#3 ← (word) sin16s::x3#0 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v1#3 ] ( main:3::sin16s_gen2:21::sin16s:104 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v1#3 ] )
[164] (word) mulu16_sel::v2#3 ← (word) sin16s::x1#0 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v1#3 mulu16_sel::v2#3 ] ( main:3::sin16s_gen2:21::sin16s:104 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v1#3 mulu16_sel::v2#3 ] )
[165] call mulu16_sel [ sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#12 sin16s::usinx#0 ] ( main:3::sin16s_gen2:21::sin16s:104 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#12 sin16s::usinx#0 ] )
[166] (word) mulu16_sel::return#10 ← (word) mulu16_sel::return#12 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#10 ] ( main:3::sin16s_gen2:21::sin16s:104 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#10 ] )
to:sin16s::@11
sin16s::@11: scope:[sin16s] from sin16s::@10
[165] (word) sin16s::x4#0 ← (word) mulu16_sel::return#10 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 sin16s::x4#0 ] ( main:3::sin16s_gen2:21::sin16s:102 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 sin16s::x4#0 ] )
[166] (word) mulu16_sel::v1#4 ← (word) sin16s::x4#0 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v1#4 ] ( main:3::sin16s_gen2:21::sin16s:102 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v1#4 ] )
[167] (word) mulu16_sel::v2#4 ← (word) sin16s::x1#0 [ sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::v1#4 mulu16_sel::v2#4 ] ( main:3::sin16s_gen2:21::sin16s:102 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::v1#4 mulu16_sel::v2#4 ] )
[168] call mulu16_sel [ sin16s::isUpper#2 mulu16_sel::return#12 sin16s::usinx#0 ] ( main:3::sin16s_gen2:21::sin16s:102 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 mulu16_sel::return#12 sin16s::usinx#0 ] )
[169] (word) mulu16_sel::return#11 ← (word) mulu16_sel::return#12 [ sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#11 ] ( main:3::sin16s_gen2:21::sin16s:102 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#11 ] )
[167] (word) sin16s::x4#0 ← (word) mulu16_sel::return#10 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 sin16s::x4#0 ] ( main:3::sin16s_gen2:21::sin16s:104 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 sin16s::x4#0 ] )
[168] (word) mulu16_sel::v1#4 ← (word) sin16s::x4#0 [ sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v1#4 ] ( main:3::sin16s_gen2:21::sin16s:104 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v1#4 ] )
[169] (word) mulu16_sel::v2#4 ← (word) sin16s::x1#0 [ sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::v1#4 mulu16_sel::v2#4 ] ( main:3::sin16s_gen2:21::sin16s:104 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::v1#4 mulu16_sel::v2#4 ] )
[170] call mulu16_sel [ sin16s::isUpper#2 mulu16_sel::return#12 sin16s::usinx#0 ] ( main:3::sin16s_gen2:21::sin16s:104 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 mulu16_sel::return#12 sin16s::usinx#0 ] )
[171] (word) mulu16_sel::return#11 ← (word) mulu16_sel::return#12 [ sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#11 ] ( main:3::sin16s_gen2:21::sin16s:104 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#11 ] )
to:sin16s::@12
sin16s::@12: scope:[sin16s] from sin16s::@11
[170] (word) sin16s::x5#0 ← (word) mulu16_sel::return#11 [ sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5#0 ] ( main:3::sin16s_gen2:21::sin16s:102 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5#0 ] )
[171] (word) sin16s::x5_128#0 ← (word) sin16s::x5#0 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5_128#0 ] ( main:3::sin16s_gen2:21::sin16s:102 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5_128#0 ] )
[172] (word) sin16s::usinx#1 ← (word) sin16s::usinx#0 + (word) sin16s::x5_128#0 [ sin16s::isUpper#2 sin16s::usinx#1 ] ( main:3::sin16s_gen2:21::sin16s:102 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#1 ] )
[173] if((byte) sin16s::isUpper#2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin16s::@15 [ sin16s::usinx#1 ] ( main:3::sin16s_gen2:21::sin16s:102 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::usinx#1 ] )
[172] (word) sin16s::x5#0 ← (word) mulu16_sel::return#11 [ sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5#0 ] ( main:3::sin16s_gen2:21::sin16s:104 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5#0 ] )
[173] (word) sin16s::x5_128#0 ← (word) sin16s::x5#0 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5_128#0 ] ( main:3::sin16s_gen2:21::sin16s:104 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 sin16s::x5_128#0 ] )
[174] (word) sin16s::usinx#1 ← (word) sin16s::usinx#0 + (word) sin16s::x5_128#0 [ sin16s::isUpper#2 sin16s::usinx#1 ] ( main:3::sin16s_gen2:21::sin16s:104 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#1 ] )
[175] if((byte) sin16s::isUpper#2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin16s::@15 [ sin16s::usinx#1 ] ( main:3::sin16s_gen2:21::sin16s:104 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::usinx#1 ] )
to:sin16s::@6
sin16s::@6: scope:[sin16s] from sin16s::@12
[174] (signed word) sin16s::sinx#1 ← - (signed word)(word) sin16s::usinx#1 [ sin16s::sinx#1 ] ( main:3::sin16s_gen2:21::sin16s:102 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::sinx#1 ] )
[176] (signed word) sin16s::sinx#1 ← - (signed word)(word) sin16s::usinx#1 [ sin16s::sinx#1 ] ( main:3::sin16s_gen2:21::sin16s:104 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::sinx#1 ] )
to:sin16s::@3
sin16s::@3: scope:[sin16s] from sin16s::@15 sin16s::@6
[175] (signed word) sin16s::return#1 ← phi( sin16s::@15/(signed word~) sin16s::return#5 sin16s::@6/(signed word) sin16s::sinx#1 ) [ sin16s::return#1 ] ( main:3::sin16s_gen2:21::sin16s:102 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::return#1 ] )
[177] (signed word) sin16s::return#1 ← phi( sin16s::@15/(signed word~) sin16s::return#5 sin16s::@6/(signed word) sin16s::sinx#1 ) [ sin16s::return#1 ] ( main:3::sin16s_gen2:21::sin16s:104 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::return#1 ] )
to:sin16s::@return
sin16s::@return: scope:[sin16s] from sin16s::@3
[176] return [ sin16s::return#1 ] ( main:3::sin16s_gen2:21::sin16s:102 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::return#1 ] )
[178] return [ sin16s::return#1 ] ( main:3::sin16s_gen2:21::sin16s:104 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::return#1 ] )
to:@return
sin16s::@15: scope:[sin16s] from sin16s::@12
[177] (signed word~) sin16s::return#5 ← (signed word)(word) sin16s::usinx#1 [ sin16s::return#5 ] ( main:3::sin16s_gen2:21::sin16s:102 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::return#5 ] )
[179] (signed word~) sin16s::return#5 ← (signed word)(word) sin16s::usinx#1 [ sin16s::return#5 ] ( main:3::sin16s_gen2:21::sin16s:104 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::return#5 ] )
to:sin16s::@3
mulu16_sel: scope:[mulu16_sel] from sin16s::@10 sin16s::@11 sin16s::@2 sin16s::@8 sin16s::@9
[178] (byte) mulu16_sel::select#5 ← phi( sin16s::@10/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s::@11/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s::@2/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s::@8/(byte/signed byte/word/signed word/dword/signed dword) 1 sin16s::@9/(byte/signed byte/word/signed word/dword/signed dword) 1 ) [ mulu16_sel::v1#5 mulu16_sel::v2#5 mulu16_sel::select#5 ] ( main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:148 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#5 mulu16_sel::v2#5 mulu16_sel::select#5 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:153 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#5 mulu16_sel::v2#5 mulu16_sel::select#5 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:157 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::v1#5 mulu16_sel::v2#5 mulu16_sel::select#5 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:163 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v1#5 mulu16_sel::v2#5 mulu16_sel::select#5 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:168 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::v1#5 mulu16_sel::v2#5 mulu16_sel::select#5 ] )
[178] (word) mulu16_sel::v2#5 ← phi( sin16s::@10/(word) mulu16_sel::v2#3 sin16s::@11/(word) mulu16_sel::v2#4 sin16s::@2/(word) mulu16_sel::v2#0 sin16s::@8/(word) mulu16_sel::v2#1 sin16s::@9/(dword/signed dword) 65536/(byte/signed byte/word/signed word/dword/signed dword) 6 ) [ mulu16_sel::v1#5 mulu16_sel::v2#5 mulu16_sel::select#5 ] ( main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:148 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#5 mulu16_sel::v2#5 mulu16_sel::select#5 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:153 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#5 mulu16_sel::v2#5 mulu16_sel::select#5 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:157 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::v1#5 mulu16_sel::v2#5 mulu16_sel::select#5 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:163 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v1#5 mulu16_sel::v2#5 mulu16_sel::select#5 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:168 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::v1#5 mulu16_sel::v2#5 mulu16_sel::select#5 ] )
[178] (word) mulu16_sel::v1#5 ← phi( sin16s::@10/(word) mulu16_sel::v1#3 sin16s::@11/(word) mulu16_sel::v1#4 sin16s::@2/(word) mulu16_sel::v1#0 sin16s::@8/(word) mulu16_sel::v1#1 sin16s::@9/(word) mulu16_sel::v1#2 ) [ mulu16_sel::v1#5 mulu16_sel::v2#5 mulu16_sel::select#5 ] ( main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:148 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#5 mulu16_sel::v2#5 mulu16_sel::select#5 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:153 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#5 mulu16_sel::v2#5 mulu16_sel::select#5 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:157 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::v1#5 mulu16_sel::v2#5 mulu16_sel::select#5 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:163 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v1#5 mulu16_sel::v2#5 mulu16_sel::select#5 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:168 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::v1#5 mulu16_sel::v2#5 mulu16_sel::select#5 ] )
[179] (word) mul16u::a#2 ← (word) mulu16_sel::v1#5 [ mul16u::a#2 mulu16_sel::v2#5 mulu16_sel::select#5 ] ( main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:148 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mul16u::a#2 mulu16_sel::v2#5 mulu16_sel::select#5 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:153 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mul16u::a#2 mulu16_sel::v2#5 mulu16_sel::select#5 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:157 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mul16u::a#2 mulu16_sel::v2#5 mulu16_sel::select#5 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:163 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mul16u::a#2 mulu16_sel::v2#5 mulu16_sel::select#5 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:168 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 mul16u::a#2 mulu16_sel::v2#5 mulu16_sel::select#5 ] )
[180] (word) mul16u::b#1 ← (word) mulu16_sel::v2#5 [ mul16u::b#1 mul16u::a#2 mulu16_sel::select#5 ] ( main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:148 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mul16u::b#1 mul16u::a#2 mulu16_sel::select#5 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:153 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mul16u::b#1 mul16u::a#2 mulu16_sel::select#5 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:157 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mul16u::b#1 mul16u::a#2 mulu16_sel::select#5 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:163 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mul16u::b#1 mul16u::a#2 mulu16_sel::select#5 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:168 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 mul16u::b#1 mul16u::a#2 mulu16_sel::select#5 ] )
[181] call mul16u [ mul16u::res#2 mulu16_sel::select#5 ] ( main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:148 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mul16u::res#2 mulu16_sel::select#5 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:153 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mul16u::res#2 mulu16_sel::select#5 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:157 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mul16u::res#2 mulu16_sel::select#5 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:163 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mul16u::res#2 mulu16_sel::select#5 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:168 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 mul16u::res#2 mulu16_sel::select#5 ] )
[182] (dword) mul16u::return#3 ← (dword) mul16u::res#2 [ mulu16_sel::select#5 mul16u::return#3 ] ( main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:148 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::return#3 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:153 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::return#3 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:157 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#5 mul16u::return#3 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:163 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#5 mul16u::return#3 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:168 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#5 mul16u::return#3 ] )
[180] (byte) mulu16_sel::select#5 ← phi( sin16s::@10/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s::@11/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s::@2/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s::@8/(byte/signed byte/word/signed word/dword/signed dword) 1 sin16s::@9/(byte/signed byte/word/signed word/dword/signed dword) 1 ) [ mulu16_sel::v1#5 mulu16_sel::v2#5 mulu16_sel::select#5 ] ( main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:150 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#5 mulu16_sel::v2#5 mulu16_sel::select#5 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:155 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#5 mulu16_sel::v2#5 mulu16_sel::select#5 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:159 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::v1#5 mulu16_sel::v2#5 mulu16_sel::select#5 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:165 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v1#5 mulu16_sel::v2#5 mulu16_sel::select#5 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:170 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::v1#5 mulu16_sel::v2#5 mulu16_sel::select#5 ] )
[180] (word) mulu16_sel::v2#5 ← phi( sin16s::@10/(word) mulu16_sel::v2#3 sin16s::@11/(word) mulu16_sel::v2#4 sin16s::@2/(word) mulu16_sel::v2#0 sin16s::@8/(word) mulu16_sel::v2#1 sin16s::@9/(dword/signed dword) 65536/(byte/signed byte/word/signed word/dword/signed dword) 6 ) [ mulu16_sel::v1#5 mulu16_sel::v2#5 mulu16_sel::select#5 ] ( main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:150 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#5 mulu16_sel::v2#5 mulu16_sel::select#5 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:155 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#5 mulu16_sel::v2#5 mulu16_sel::select#5 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:159 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::v1#5 mulu16_sel::v2#5 mulu16_sel::select#5 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:165 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v1#5 mulu16_sel::v2#5 mulu16_sel::select#5 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:170 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::v1#5 mulu16_sel::v2#5 mulu16_sel::select#5 ] )
[180] (word) mulu16_sel::v1#5 ← phi( sin16s::@10/(word) mulu16_sel::v1#3 sin16s::@11/(word) mulu16_sel::v1#4 sin16s::@2/(word) mulu16_sel::v1#0 sin16s::@8/(word) mulu16_sel::v1#1 sin16s::@9/(word) mulu16_sel::v1#2 ) [ mulu16_sel::v1#5 mulu16_sel::v2#5 mulu16_sel::select#5 ] ( main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:150 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#5 mulu16_sel::v2#5 mulu16_sel::select#5 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:155 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::v1#5 mulu16_sel::v2#5 mulu16_sel::select#5 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:159 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::v1#5 mulu16_sel::v2#5 mulu16_sel::select#5 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:165 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::v1#5 mulu16_sel::v2#5 mulu16_sel::select#5 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:170 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::v1#5 mulu16_sel::v2#5 mulu16_sel::select#5 ] )
[181] (word) mul16u::a#2 ← (word) mulu16_sel::v1#5 [ mul16u::a#2 mulu16_sel::v2#5 mulu16_sel::select#5 ] ( main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:150 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mul16u::a#2 mulu16_sel::v2#5 mulu16_sel::select#5 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:155 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mul16u::a#2 mulu16_sel::v2#5 mulu16_sel::select#5 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:159 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mul16u::a#2 mulu16_sel::v2#5 mulu16_sel::select#5 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:165 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mul16u::a#2 mulu16_sel::v2#5 mulu16_sel::select#5 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:170 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 mul16u::a#2 mulu16_sel::v2#5 mulu16_sel::select#5 ] )
[182] (word) mul16u::b#1 ← (word) mulu16_sel::v2#5 [ mul16u::b#1 mul16u::a#2 mulu16_sel::select#5 ] ( main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:150 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mul16u::b#1 mul16u::a#2 mulu16_sel::select#5 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:155 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mul16u::b#1 mul16u::a#2 mulu16_sel::select#5 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:159 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mul16u::b#1 mul16u::a#2 mulu16_sel::select#5 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:165 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mul16u::b#1 mul16u::a#2 mulu16_sel::select#5 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:170 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 mul16u::b#1 mul16u::a#2 mulu16_sel::select#5 ] )
[183] call mul16u [ mul16u::res#2 mulu16_sel::select#5 ] ( main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:150 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mul16u::res#2 mulu16_sel::select#5 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:155 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mul16u::res#2 mulu16_sel::select#5 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:159 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mul16u::res#2 mulu16_sel::select#5 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:165 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mul16u::res#2 mulu16_sel::select#5 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:170 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 mul16u::res#2 mulu16_sel::select#5 ] )
[184] (dword) mul16u::return#3 ← (dword) mul16u::res#2 [ mulu16_sel::select#5 mul16u::return#3 ] ( main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:150 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::return#3 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:155 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mul16u::return#3 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:159 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#5 mul16u::return#3 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:165 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#5 mul16u::return#3 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:170 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#5 mul16u::return#3 ] )
to:mulu16_sel::@2
mulu16_sel::@2: scope:[mulu16_sel] from mulu16_sel
[183] (dword~) mulu16_sel::$0 ← (dword) mul16u::return#3 [ mulu16_sel::select#5 mulu16_sel::$0 ] ( main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:148 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mulu16_sel::$0 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:153 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mulu16_sel::$0 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:157 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#5 mulu16_sel::$0 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:163 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#5 mulu16_sel::$0 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:168 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#5 mulu16_sel::$0 ] )
[184] (dword~) mulu16_sel::$1 ← (dword~) mulu16_sel::$0 << (byte) mulu16_sel::select#5 [ mulu16_sel::$1 ] ( main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:148 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::$1 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:153 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::$1 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:157 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::$1 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:163 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::$1 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:168 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::$1 ] )
[185] (word) mulu16_sel::return#12 ← > (dword~) mulu16_sel::$1 [ mulu16_sel::return#12 ] ( main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:148 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#12 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:153 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#12 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:157 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#12 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:163 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#12 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:168 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#12 ] )
[185] (dword~) mulu16_sel::$0 ← (dword) mul16u::return#3 [ mulu16_sel::select#5 mulu16_sel::$0 ] ( main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:150 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mulu16_sel::$0 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:155 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::select#5 mulu16_sel::$0 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:159 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::select#5 mulu16_sel::$0 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:165 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::select#5 mulu16_sel::$0 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:170 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::select#5 mulu16_sel::$0 ] )
[186] (dword~) mulu16_sel::$1 ← (dword~) mulu16_sel::$0 << (byte) mulu16_sel::select#5 [ mulu16_sel::$1 ] ( main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:150 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::$1 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:155 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::$1 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:159 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::$1 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:165 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::$1 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:170 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::$1 ] )
[187] (word) mulu16_sel::return#12 ← > (dword~) mulu16_sel::$1 [ mulu16_sel::return#12 ] ( main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:150 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#12 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:155 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#12 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:159 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#12 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:165 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#12 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:170 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#12 ] )
to:mulu16_sel::@return
mulu16_sel::@return: scope:[mulu16_sel] from mulu16_sel::@2
[186] return [ mulu16_sel::return#12 ] ( main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:148 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#12 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:153 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#12 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:157 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#12 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:163 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#12 ] main:3::sin16s_gen2:21::sin16s:102::mulu16_sel:168 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#12 ] )
[188] return [ mulu16_sel::return#12 ] ( main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:150 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#12 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:155 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 mulu16_sel::return#12 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:159 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::x3#0 mulu16_sel::return#12 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:165 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::x1#0 sin16s::usinx#0 mulu16_sel::return#12 ] main:3::sin16s_gen2:21::sin16s:104::mulu16_sel:170 [ sin16s_gen2::step#0 sin16s_gen2::x#2 sin16s_gen2::sintab#2 sin16s_gen2::i#2 sin16s::isUpper#2 sin16s::usinx#0 mulu16_sel::return#12 ] )
to:@return
div32u16u: scope:[div32u16u] from sin16s_gen2
[187] phi() [ ] ( main:3::sin16s_gen2:21::div32u16u:97 [ ] )
[188] call divr16u [ divr16u::return#0 rem16u#1 ] ( main:3::sin16s_gen2:21::div32u16u:97 [ divr16u::return#0 rem16u#1 ] )
[189] (word) divr16u::return#2 ← (word) divr16u::return#0 [ divr16u::return#2 rem16u#1 ] ( main:3::sin16s_gen2:21::div32u16u:97 [ divr16u::return#2 rem16u#1 ] )
[189] phi() [ ] ( main:3::sin16s_gen2:21::div32u16u:99 [ ] )
[190] call divr16u [ divr16u::return#0 rem16u#1 ] ( main:3::sin16s_gen2:21::div32u16u:99 [ divr16u::return#0 rem16u#1 ] )
[191] (word) divr16u::return#2 ← (word) divr16u::return#0 [ divr16u::return#2 rem16u#1 ] ( main:3::sin16s_gen2:21::div32u16u:99 [ divr16u::return#2 rem16u#1 ] )
to:div32u16u::@2
div32u16u::@2: scope:[div32u16u] from div32u16u
[190] (word) div32u16u::quotient_hi#0 ← (word) divr16u::return#2 [ div32u16u::quotient_hi#0 rem16u#1 ] ( main:3::sin16s_gen2:21::div32u16u:97 [ div32u16u::quotient_hi#0 rem16u#1 ] )
[191] (word) divr16u::rem#4 ← (word) rem16u#1 [ div32u16u::quotient_hi#0 divr16u::rem#4 ] ( main:3::sin16s_gen2:21::div32u16u:97 [ div32u16u::quotient_hi#0 divr16u::rem#4 ] )
[192] call divr16u [ divr16u::return#0 div32u16u::quotient_hi#0 ] ( main:3::sin16s_gen2:21::div32u16u:97 [ divr16u::return#0 div32u16u::quotient_hi#0 ] )
[193] (word) divr16u::return#3 ← (word) divr16u::return#0 [ div32u16u::quotient_hi#0 divr16u::return#3 ] ( main:3::sin16s_gen2:21::div32u16u:97 [ div32u16u::quotient_hi#0 divr16u::return#3 ] )
[192] (word) div32u16u::quotient_hi#0 ← (word) divr16u::return#2 [ div32u16u::quotient_hi#0 rem16u#1 ] ( main:3::sin16s_gen2:21::div32u16u:99 [ div32u16u::quotient_hi#0 rem16u#1 ] )
[193] (word) divr16u::rem#4 ← (word) rem16u#1 [ div32u16u::quotient_hi#0 divr16u::rem#4 ] ( main:3::sin16s_gen2:21::div32u16u:99 [ div32u16u::quotient_hi#0 divr16u::rem#4 ] )
[194] call divr16u [ divr16u::return#0 div32u16u::quotient_hi#0 ] ( main:3::sin16s_gen2:21::div32u16u:99 [ divr16u::return#0 div32u16u::quotient_hi#0 ] )
[195] (word) divr16u::return#3 ← (word) divr16u::return#0 [ div32u16u::quotient_hi#0 divr16u::return#3 ] ( main:3::sin16s_gen2:21::div32u16u:99 [ div32u16u::quotient_hi#0 divr16u::return#3 ] )
to:div32u16u::@3
div32u16u::@3: scope:[div32u16u] from div32u16u::@2
[194] (word) div32u16u::quotient_lo#0 ← (word) divr16u::return#3 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ( main:3::sin16s_gen2:21::div32u16u:97 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] )
[195] (dword) div32u16u::return#0 ← (word) div32u16u::quotient_hi#0 dw= (word) div32u16u::quotient_lo#0 [ div32u16u::return#0 ] ( main:3::sin16s_gen2:21::div32u16u:97 [ div32u16u::return#0 ] )
[196] (word) div32u16u::quotient_lo#0 ← (word) divr16u::return#3 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] ( main:3::sin16s_gen2:21::div32u16u:99 [ div32u16u::quotient_hi#0 div32u16u::quotient_lo#0 ] )
[197] (dword) div32u16u::return#0 ← (word) div32u16u::quotient_hi#0 dw= (word) div32u16u::quotient_lo#0 [ div32u16u::return#0 ] ( main:3::sin16s_gen2:21::div32u16u:99 [ div32u16u::return#0 ] )
to:div32u16u::@return
div32u16u::@return: scope:[div32u16u] from div32u16u::@3
[196] return [ div32u16u::return#0 ] ( main:3::sin16s_gen2:21::div32u16u:97 [ div32u16u::return#0 ] )
[198] return [ div32u16u::return#0 ] ( main:3::sin16s_gen2:21::div32u16u:99 [ div32u16u::return#0 ] )
to:@return
divr16u: scope:[divr16u] from div32u16u div32u16u::@2
[197] (word) divr16u::dividend#5 ← phi( div32u16u/>(const dword) PI2_u4f28#0 div32u16u::@2/<(const dword) PI2_u4f28#0 ) [ divr16u::rem#10 divr16u::dividend#5 ] ( main:3::sin16s_gen2:21::div32u16u:97::divr16u:188 [ divr16u::rem#10 divr16u::dividend#5 ] main:3::sin16s_gen2:21::div32u16u:97::divr16u:192 [ div32u16u::quotient_hi#0 divr16u::rem#10 divr16u::dividend#5 ] )
[197] (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 ] ( main:3::sin16s_gen2:21::div32u16u:97::divr16u:188 [ divr16u::rem#10 divr16u::dividend#5 ] main:3::sin16s_gen2:21::div32u16u:97::divr16u:192 [ div32u16u::quotient_hi#0 divr16u::rem#10 divr16u::dividend#5 ] )
[199] (word) divr16u::dividend#5 ← phi( div32u16u/>(const dword) PI2_u4f28#0 div32u16u::@2/<(const dword) PI2_u4f28#0 ) [ divr16u::rem#10 divr16u::dividend#5 ] ( main:3::sin16s_gen2:21::div32u16u:99::divr16u:190 [ divr16u::rem#10 divr16u::dividend#5 ] main:3::sin16s_gen2:21::div32u16u:99::divr16u:194 [ div32u16u::quotient_hi#0 divr16u::rem#10 divr16u::dividend#5 ] )
[199] (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 ] ( main:3::sin16s_gen2:21::div32u16u:99::divr16u:190 [ divr16u::rem#10 divr16u::dividend#5 ] main:3::sin16s_gen2:21::div32u16u:99::divr16u:194 [ div32u16u::quotient_hi#0 divr16u::rem#10 divr16u::dividend#5 ] )
to:divr16u::@1
divr16u::@1: scope:[divr16u] from divr16u divr16u::@3
[198] (byte) divr16u::i#2 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(byte) divr16u::i#1 ) [ divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:3::sin16s_gen2:21::div32u16u:97::divr16u:188 [ divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:3::sin16s_gen2:21::div32u16u:97::divr16u:192 [ div32u16u::quotient_hi#0 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] )
[198] (word) divr16u::quotient#3 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(word) divr16u::return#0 ) [ divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:3::sin16s_gen2:21::div32u16u:97::divr16u:188 [ divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:3::sin16s_gen2:21::div32u16u:97::divr16u:192 [ div32u16u::quotient_hi#0 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] )
[198] (word) divr16u::dividend#3 ← phi( divr16u/(word) divr16u::dividend#5 divr16u::@3/(word) divr16u::dividend#0 ) [ divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:3::sin16s_gen2:21::div32u16u:97::divr16u:188 [ divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:3::sin16s_gen2:21::div32u16u:97::divr16u:192 [ div32u16u::quotient_hi#0 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] )
[198] (word) divr16u::rem#5 ← phi( divr16u/(word) divr16u::rem#10 divr16u::@3/(word) divr16u::rem#11 ) [ divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:3::sin16s_gen2:21::div32u16u:97::divr16u:188 [ divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:3::sin16s_gen2:21::div32u16u:97::divr16u:192 [ div32u16u::quotient_hi#0 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] )
[199] (word) divr16u::rem#0 ← (word) divr16u::rem#5 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:3::sin16s_gen2:21::div32u16u:97::divr16u:188 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:3::sin16s_gen2:21::div32u16u:97::divr16u:192 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] )
[200] (byte~) divr16u::$1 ← > (word) divr16u::dividend#3 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:3::sin16s_gen2:21::div32u16u:97::divr16u:188 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:3::sin16s_gen2:21::div32u16u:97::divr16u:192 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] )
[201] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:3::sin16s_gen2:21::div32u16u:97::divr16u:188 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:3::sin16s_gen2:21::div32u16u:97::divr16u:192 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] )
[202] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:3::sin16s_gen2:21::div32u16u:97::divr16u:188 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:3::sin16s_gen2:21::div32u16u:97::divr16u:192 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] )
[200] (byte) divr16u::i#2 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(byte) divr16u::i#1 ) [ divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:3::sin16s_gen2:21::div32u16u:99::divr16u:190 [ divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:3::sin16s_gen2:21::div32u16u:99::divr16u:194 [ div32u16u::quotient_hi#0 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] )
[200] (word) divr16u::quotient#3 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(word) divr16u::return#0 ) [ divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:3::sin16s_gen2:21::div32u16u:99::divr16u:190 [ divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:3::sin16s_gen2:21::div32u16u:99::divr16u:194 [ div32u16u::quotient_hi#0 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] )
[200] (word) divr16u::dividend#3 ← phi( divr16u/(word) divr16u::dividend#5 divr16u::@3/(word) divr16u::dividend#0 ) [ divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:3::sin16s_gen2:21::div32u16u:99::divr16u:190 [ divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:3::sin16s_gen2:21::div32u16u:99::divr16u:194 [ div32u16u::quotient_hi#0 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] )
[200] (word) divr16u::rem#5 ← phi( divr16u/(word) divr16u::rem#10 divr16u::@3/(word) divr16u::rem#11 ) [ divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:3::sin16s_gen2:21::div32u16u:99::divr16u:190 [ divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:3::sin16s_gen2:21::div32u16u:99::divr16u:194 [ div32u16u::quotient_hi#0 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] )
[201] (word) divr16u::rem#0 ← (word) divr16u::rem#5 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:3::sin16s_gen2:21::div32u16u:99::divr16u:190 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:3::sin16s_gen2:21::div32u16u:99::divr16u:194 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] )
[202] (byte~) divr16u::$1 ← > (word) divr16u::dividend#3 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] ( main:3::sin16s_gen2:21::div32u16u:99::divr16u:190 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] main:3::sin16s_gen2:21::div32u16u:99::divr16u:194 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$1 ] )
[203] (byte~) divr16u::$2 ← (byte~) divr16u::$1 & (byte/word/signed word/dword/signed dword) 128 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] ( main:3::sin16s_gen2:21::div32u16u:99::divr16u:190 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] main:3::sin16s_gen2:21::div32u16u:99::divr16u:194 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 divr16u::$2 ] )
[204] if((byte~) divr16u::$2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto divr16u::@2 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] ( main:3::sin16s_gen2:21::div32u16u:99::divr16u:190 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] main:3::sin16s_gen2:21::div32u16u:99::divr16u:194 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#0 ] )
to:divr16u::@4
divr16u::@4: scope:[divr16u] from divr16u::@1
[203] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:3::sin16s_gen2:21::div32u16u:97::divr16u:188 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:3::sin16s_gen2:21::div32u16u:97::divr16u:192 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] )
[205] (word) divr16u::rem#1 ← (word) divr16u::rem#0 | (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( main:3::sin16s_gen2:21::div32u16u:99::divr16u:190 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] main:3::sin16s_gen2:21::div32u16u:99::divr16u:194 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] )
to:divr16u::@2
divr16u::@2: scope:[divr16u] from divr16u::@1 divr16u::@4
[204] (word) divr16u::rem#6 ← phi( divr16u::@1/(word) divr16u::rem#0 divr16u::@4/(word) divr16u::rem#1 ) [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] ( main:3::sin16s_gen2:21::div32u16u:97::divr16u:188 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] main:3::sin16s_gen2:21::div32u16u:97::divr16u:192 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] )
[205] (word) divr16u::dividend#0 ← (word) divr16u::dividend#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ( main:3::sin16s_gen2:21::div32u16u:97::divr16u:188 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:3::sin16s_gen2:21::div32u16u:97::divr16u:192 [ div32u16u::quotient_hi#0 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] )
[206] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:3::sin16s_gen2:21::div32u16u:97::divr16u:188 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:3::sin16s_gen2:21::div32u16u:97::divr16u:192 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] )
[207] if((word) divr16u::rem#6<(const word) XSIN_SIZE#0) goto divr16u::@3 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:3::sin16s_gen2:21::div32u16u:97::divr16u:188 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:3::sin16s_gen2:21::div32u16u:97::divr16u:192 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] )
[206] (word) divr16u::rem#6 ← phi( divr16u::@1/(word) divr16u::rem#0 divr16u::@4/(word) divr16u::rem#1 ) [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] ( main:3::sin16s_gen2:21::div32u16u:99::divr16u:190 [ divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] main:3::sin16s_gen2:21::div32u16u:99::divr16u:194 [ div32u16u::quotient_hi#0 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#6 ] )
[207] (word) divr16u::dividend#0 ← (word) divr16u::dividend#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] ( main:3::sin16s_gen2:21::div32u16u:99::divr16u:190 [ divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] main:3::sin16s_gen2:21::div32u16u:99::divr16u:194 [ div32u16u::quotient_hi#0 divr16u::quotient#3 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 ] )
[208] (word) divr16u::quotient#1 ← (word) divr16u::quotient#3 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:3::sin16s_gen2:21::div32u16u:99::divr16u:190 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:3::sin16s_gen2:21::div32u16u:99::divr16u:194 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] )
[209] if((word) divr16u::rem#6<(const word) XSIN_SIZE#0) goto divr16u::@3 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( main:3::sin16s_gen2:21::div32u16u:99::divr16u:190 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] main:3::sin16s_gen2:21::div32u16u:99::divr16u:194 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] )
to:divr16u::@5
divr16u::@5: scope:[divr16u] from divr16u::@2
[208] (word) divr16u::quotient#2 ← ++ (word) divr16u::quotient#1 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] ( main:3::sin16s_gen2:21::div32u16u:97::divr16u:188 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:3::sin16s_gen2:21::div32u16u:97::divr16u:192 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] )
[209] (word) divr16u::rem#2 ← (word) divr16u::rem#6 - (const word) XSIN_SIZE#0 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:3::sin16s_gen2:21::div32u16u:97::divr16u:188 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:3::sin16s_gen2:21::div32u16u:97::divr16u:192 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] )
[210] (word) divr16u::quotient#2 ← ++ (word) divr16u::quotient#1 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] ( main:3::sin16s_gen2:21::div32u16u:99::divr16u:190 [ divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] main:3::sin16s_gen2:21::div32u16u:99::divr16u:194 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#2 ] )
[211] (word) divr16u::rem#2 ← (word) divr16u::rem#6 - (const word) XSIN_SIZE#0 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( main:3::sin16s_gen2:21::div32u16u:99::divr16u:190 [ divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] main:3::sin16s_gen2:21::div32u16u:99::divr16u:194 [ div32u16u::quotient_hi#0 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] )
to:divr16u::@3
divr16u::@3: scope:[divr16u] from divr16u::@2 divr16u::@5
[210] (word) divr16u::return#0 ← phi( divr16u::@2/(word) divr16u::quotient#1 divr16u::@5/(word) divr16u::quotient#2 ) [ divr16u::return#0 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] ( main:3::sin16s_gen2:21::div32u16u:97::divr16u:188 [ divr16u::return#0 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:3::sin16s_gen2:21::div32u16u:97::divr16u:192 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] )
[210] (word) divr16u::rem#11 ← phi( divr16u::@2/(word) divr16u::rem#6 divr16u::@5/(word) divr16u::rem#2 ) [ divr16u::return#0 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] ( main:3::sin16s_gen2:21::div32u16u:97::divr16u:188 [ divr16u::return#0 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:3::sin16s_gen2:21::div32u16u:97::divr16u:192 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] )
[211] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:3::sin16s_gen2:21::div32u16u:97::divr16u:188 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:3::sin16s_gen2:21::div32u16u:97::divr16u:192 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] )
[212] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:3::sin16s_gen2:21::div32u16u:97::divr16u:188 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:3::sin16s_gen2:21::div32u16u:97::divr16u:192 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] )
[212] (word) divr16u::return#0 ← phi( divr16u::@2/(word) divr16u::quotient#1 divr16u::@5/(word) divr16u::quotient#2 ) [ divr16u::return#0 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] ( main:3::sin16s_gen2:21::div32u16u:99::divr16u:190 [ divr16u::return#0 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:3::sin16s_gen2:21::div32u16u:99::divr16u:194 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] )
[212] (word) divr16u::rem#11 ← phi( divr16u::@2/(word) divr16u::rem#6 divr16u::@5/(word) divr16u::rem#2 ) [ divr16u::return#0 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] ( main:3::sin16s_gen2:21::div32u16u:99::divr16u:190 [ divr16u::return#0 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] main:3::sin16s_gen2:21::div32u16u:99::divr16u:194 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::i#2 divr16u::rem#11 divr16u::dividend#0 ] )
[213] (byte) divr16u::i#1 ← ++ (byte) divr16u::i#2 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:3::sin16s_gen2:21::div32u16u:99::divr16u:190 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:3::sin16s_gen2:21::div32u16u:99::divr16u:194 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] )
[214] if((byte) divr16u::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto divr16u::@1 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] ( main:3::sin16s_gen2:21::div32u16u:99::divr16u:190 [ divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] main:3::sin16s_gen2:21::div32u16u:99::divr16u:194 [ div32u16u::quotient_hi#0 divr16u::return#0 divr16u::rem#11 divr16u::dividend#0 divr16u::i#1 ] )
to:divr16u::@6
divr16u::@6: scope:[divr16u] from divr16u::@3
[213] (word) rem16u#1 ← (word) divr16u::rem#11 [ divr16u::return#0 rem16u#1 ] ( main:3::sin16s_gen2:21::div32u16u:97::divr16u:188 [ divr16u::return#0 rem16u#1 ] main:3::sin16s_gen2:21::div32u16u:97::divr16u:192 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] )
[215] (word) rem16u#1 ← (word) divr16u::rem#11 [ divr16u::return#0 rem16u#1 ] ( main:3::sin16s_gen2:21::div32u16u:99::divr16u:190 [ divr16u::return#0 rem16u#1 ] main:3::sin16s_gen2:21::div32u16u:99::divr16u:194 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] )
to:divr16u::@return
divr16u::@return: scope:[divr16u] from divr16u::@6
[214] return [ divr16u::return#0 rem16u#1 ] ( main:3::sin16s_gen2:21::div32u16u:97::divr16u:188 [ divr16u::return#0 rem16u#1 ] main:3::sin16s_gen2:21::div32u16u:97::divr16u:192 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] )
[216] return [ divr16u::return#0 rem16u#1 ] ( main:3::sin16s_gen2:21::div32u16u:99::divr16u:190 [ divr16u::return#0 rem16u#1 ] main:3::sin16s_gen2:21::div32u16u:99::divr16u:194 [ div32u16u::quotient_hi#0 divr16u::return#0 rem16u#1 ] )
to:@return
fill: scope:[fill] from main::@3 main::@4
[215] (byte) fill::val#3 ← phi( main::@3/(const byte) BLACK#0 main::@4/(const byte) WHITE#0|(byte/signed byte/word/signed word/dword/signed dword) 8 ) [ fill::addr#0 fill::val#3 ] ( main:3::fill:13 [ fill::addr#0 fill::val#3 ] main:3::fill:15 [ fill::addr#0 fill::val#3 ] )
[215] (byte*) fill::addr#0 ← phi( main::@3/(const byte*) SCREEN#0 main::@4/(const byte*) COLS#0 ) [ fill::addr#0 fill::val#3 ] ( main:3::fill:13 [ fill::addr#0 fill::val#3 ] main:3::fill:15 [ fill::addr#0 fill::val#3 ] )
[216] (byte*) fill::end#0 ← (byte*) fill::addr#0 + (word/signed word/dword/signed dword) 1000 [ fill::addr#0 fill::val#3 fill::end#0 ] ( main:3::fill:13 [ fill::addr#0 fill::val#3 fill::end#0 ] main:3::fill:15 [ fill::addr#0 fill::val#3 fill::end#0 ] )
[217] (byte) fill::val#3 ← phi( main::@3/(const byte) BLACK#0 main::@4/(const byte) WHITE#0|(byte/signed byte/word/signed word/dword/signed dword) 8 ) [ fill::addr#0 fill::val#3 ] ( main:3::fill:13 [ fill::addr#0 fill::val#3 ] main:3::fill:15 [ fill::addr#0 fill::val#3 ] )
[217] (byte*) fill::addr#0 ← phi( main::@3/(const byte*) SCREEN#0 main::@4/(const byte*) COLS#0 ) [ fill::addr#0 fill::val#3 ] ( main:3::fill:13 [ fill::addr#0 fill::val#3 ] main:3::fill:15 [ fill::addr#0 fill::val#3 ] )
[218] (byte*) fill::end#0 ← (byte*) fill::addr#0 + (word/signed word/dword/signed dword) 1000 [ fill::addr#0 fill::val#3 fill::end#0 ] ( main:3::fill:13 [ fill::addr#0 fill::val#3 fill::end#0 ] main:3::fill:15 [ fill::addr#0 fill::val#3 fill::end#0 ] )
to:fill::@1
fill::@1: scope:[fill] from fill fill::@1
[217] (byte*) fill::addr#2 ← phi( fill/(byte*) fill::addr#0 fill::@1/(byte*) fill::addr#1 ) [ fill::val#3 fill::end#0 fill::addr#2 ] ( main:3::fill:13 [ fill::val#3 fill::end#0 fill::addr#2 ] main:3::fill:15 [ fill::val#3 fill::end#0 fill::addr#2 ] )
[218] *((byte*) fill::addr#2) ← (byte) fill::val#3 [ fill::val#3 fill::end#0 fill::addr#2 ] ( main:3::fill:13 [ fill::val#3 fill::end#0 fill::addr#2 ] main:3::fill:15 [ fill::val#3 fill::end#0 fill::addr#2 ] )
[219] (byte*) fill::addr#1 ← ++ (byte*) fill::addr#2 [ fill::val#3 fill::end#0 fill::addr#1 ] ( main:3::fill:13 [ fill::val#3 fill::end#0 fill::addr#1 ] main:3::fill:15 [ fill::val#3 fill::end#0 fill::addr#1 ] )
[220] if((byte*) fill::addr#1!=(byte*) fill::end#0) goto fill::@1 [ fill::val#3 fill::end#0 fill::addr#1 ] ( main:3::fill:13 [ fill::val#3 fill::end#0 fill::addr#1 ] main:3::fill:15 [ fill::val#3 fill::end#0 fill::addr#1 ] )
[219] (byte*) fill::addr#2 ← phi( fill/(byte*) fill::addr#0 fill::@1/(byte*) fill::addr#1 ) [ fill::val#3 fill::end#0 fill::addr#2 ] ( main:3::fill:13 [ fill::val#3 fill::end#0 fill::addr#2 ] main:3::fill:15 [ fill::val#3 fill::end#0 fill::addr#2 ] )
[220] *((byte*) fill::addr#2) ← (byte) fill::val#3 [ fill::val#3 fill::end#0 fill::addr#2 ] ( main:3::fill:13 [ fill::val#3 fill::end#0 fill::addr#2 ] main:3::fill:15 [ fill::val#3 fill::end#0 fill::addr#2 ] )
[221] (byte*) fill::addr#1 ← ++ (byte*) fill::addr#2 [ fill::val#3 fill::end#0 fill::addr#1 ] ( main:3::fill:13 [ fill::val#3 fill::end#0 fill::addr#1 ] main:3::fill:15 [ fill::val#3 fill::end#0 fill::addr#1 ] )
[222] if((byte*) fill::addr#1!=(byte*) fill::end#0) goto fill::@1 [ fill::val#3 fill::end#0 fill::addr#1 ] ( main:3::fill:13 [ fill::val#3 fill::end#0 fill::addr#1 ] main:3::fill:15 [ fill::val#3 fill::end#0 fill::addr#1 ] )
to:fill::@return
fill::@return: scope:[fill] from fill::@1
[221] return [ ] ( main:3::fill:13 [ ] main:3::fill:15 [ ] )
[223] return [ ] ( main:3::fill:13 [ ] main:3::fill:15 [ ] )
to:@return

File diff suppressed because it is too large Load Diff

View File

@ -211,45 +211,75 @@
(void()) render_logo((signed word) render_logo::xpos)
(byte~) render_logo::$0 reg byte a 4.0
(byte~) render_logo::$1 reg byte a 4.0
(byte/signed word/word/dword/signed dword~) render_logo::$15 reg byte a 202.0
(signed byte~) render_logo::$17 reg byte a 2.0
(byte~) render_logo::$2 reg byte a 4.0
(byte/signed word/word/dword/signed dword~) render_logo::$22 reg byte a 202.0
(byte/signed word/word/dword/signed dword~) render_logo::$26 reg byte a 202.0
(byte/signed word/word/dword/signed dword~) render_logo::$23 reg byte a 202.0
(signed word~) render_logo::$3 $3 zp ZP_WORD:14 4.0
(byte/signed word/word/dword/signed dword~) render_logo::$30 reg byte a 202.0
(byte/word/signed word/dword/signed dword~) render_logo::$34 reg byte a 202.0
(byte/word/signed word/dword/signed dword~) render_logo::$38 reg byte a 202.0
(signed byte~) render_logo::$39 reg byte a 2.0
(byte/signed word/word/dword/signed dword~) render_logo::$45 reg byte a 202.0
(byte/signed word/word/dword/signed dword~) render_logo::$49 reg byte a 202.0
(byte/signed word/word/dword/signed dword~) render_logo::$53 reg byte a 202.0
(byte/word/signed word/dword/signed dword~) render_logo::$57 reg byte a 202.0
(byte/word/signed word/dword/signed dword~) render_logo::$61 reg byte a 202.0
(byte/signed word/word/dword/signed dword~) render_logo::$34 reg byte a 202.0
(byte/signed word/word/dword/signed dword~) render_logo::$38 reg byte a 202.0
(byte/signed word/word/dword/signed dword~) render_logo::$42 reg byte a 202.0
(byte/signed word/word/dword/signed dword~) render_logo::$46 reg byte a 202.0
(byte/signed word/word/dword/signed dword~) render_logo::$50 reg byte a 202.0
(byte/signed word/word/dword/signed dword~) render_logo::$80 reg byte a 202.0
(byte/signed word/word/dword/signed dword~) render_logo::$84 reg byte a 202.0
(byte/signed word/word/dword/signed dword~) render_logo::$88 reg byte a 202.0
(byte/signed word/word/dword/signed dword~) render_logo::$92 reg byte a 202.0
(byte/signed word/word/dword/signed dword~) render_logo::$96 reg byte a 202.0
(label) render_logo::@1
(label) render_logo::@10
(label) render_logo::@12
(label) render_logo::@13
(label) render_logo::@11
(label) render_logo::@14
(label) render_logo::@14_1
(label) render_logo::@14_2
(label) render_logo::@14_3
(label) render_logo::@14_4
(label) render_logo::@14_5
(label) render_logo::@15
(label) render_logo::@18
(label) render_logo::@18_1
(label) render_logo::@18_2
(label) render_logo::@18_3
(label) render_logo::@18_4
(label) render_logo::@18_5
(label) render_logo::@2
(label) render_logo::@3
(label) render_logo::@22
(label) render_logo::@26
(label) render_logo::@31
(label) render_logo::@35
(label) render_logo::@5
(label) render_logo::@5_1
(label) render_logo::@5_2
(label) render_logo::@5_3
(label) render_logo::@5_4
(label) render_logo::@5_5
(label) render_logo::@6
(label) render_logo::@9
(label) render_logo::@9_1
(label) render_logo::@9_2
(label) render_logo::@9_3
(label) render_logo::@9_4
(label) render_logo::@9_5
(label) render_logo::@return
(byte) render_logo::line1
(byte) render_logo::line2
(byte) render_logo::line3
(byte) render_logo::line4
(byte) render_logo::logo_idx
(byte) render_logo::logo_idx#2 reg byte x 202.0
(byte) render_logo::logo_idx#3 reg byte x 202.0
(byte) render_logo::logo_idx#4 reg byte x 57.714285714285715
(byte) render_logo::logo_idx#5 reg byte x 65.07142857142857
(byte~) render_logo::logo_idx#9 reg byte x 4.0
(byte) render_logo::logo_idx#10 reg byte y 60.73333333333334
(byte) render_logo::logo_idx#11 reg byte y 53.86666666666667
(byte~) render_logo::logo_idx#13 reg byte y 4.0
(byte) render_logo::logo_idx#2 reg byte y 202.0
(byte) render_logo::logo_idx#3 reg byte y 202.0
(byte) render_logo::logo_start
(byte) render_logo::screen_idx
(byte) render_logo::screen_idx#10 reg byte y 69.92307692307692
(byte) render_logo::screen_idx#11 reg byte y 126.25
(byte) render_logo::screen_idx#13 reg byte y 126.25
(byte) render_logo::screen_idx#2 reg byte y 202.0
(byte) render_logo::screen_idx#3 reg byte y 101.0
(byte) render_logo::screen_idx#4 reg byte y 101.0
(byte) render_logo::screen_idx#5 reg byte y 202.0
(byte) render_logo::screen_idx#8 reg byte y 77.6923076923077
(byte) render_logo::screen_idx#14 reg byte x 126.25
(byte) render_logo::screen_idx#17 reg byte x 126.25
(byte) render_logo::screen_idx#19 reg byte x 72.14285714285714
(byte) render_logo::screen_idx#2 reg byte x 202.0
(byte) render_logo::screen_idx#20 reg byte x 64.92857142857143
(byte) render_logo::screen_idx#3 reg byte x 101.0
(byte) render_logo::screen_idx#4 reg byte x 101.0
(byte) render_logo::screen_idx#5 reg byte x 202.0
(signed byte) render_logo::x_char
(signed byte) render_logo::x_char#0 x_char zp ZP_BYTE:22 0.36363636363636365
(signed word) render_logo::xpos
@ -338,10 +368,10 @@
reg byte x [ main::ch#2 main::ch#1 ]
zp ZP_WORD:2 [ xsin_idx#11 xsin_idx#19 xsin_idx#3 sin16s_gen2::sintab#2 sin16s_gen2::sintab#0 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 fill::addr#2 fill::addr#0 fill::addr#1 ]
reg byte y [ render_logo::screen_idx#8 render_logo::screen_idx#13 render_logo::screen_idx#2 render_logo::screen_idx#3 ]
reg byte x [ render_logo::logo_idx#4 render_logo::logo_idx#2 ]
reg byte x [ render_logo::logo_idx#5 render_logo::logo_idx#9 render_logo::logo_idx#3 ]
reg byte y [ render_logo::screen_idx#11 render_logo::screen_idx#5 render_logo::screen_idx#10 render_logo::screen_idx#4 ]
reg byte x [ render_logo::screen_idx#19 render_logo::screen_idx#3 render_logo::screen_idx#17 render_logo::screen_idx#2 ]
reg byte y [ render_logo::logo_idx#11 render_logo::logo_idx#2 ]
reg byte y [ render_logo::logo_idx#10 render_logo::logo_idx#13 render_logo::logo_idx#3 ]
reg byte x [ render_logo::screen_idx#14 render_logo::screen_idx#20 render_logo::screen_idx#4 render_logo::screen_idx#5 ]
zp ZP_DWORD:4 [ sin16s_gen2::x#2 sin16s_gen2::x#1 ]
zp ZP_WORD:8 [ sin16s_gen2::i#2 sin16s_gen2::i#1 divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#0 loop::$1 loop::xpos#0 render_logo::xpos#0 fill::end#0 ]
zp ZP_DWORD:10 [ mul16s::m#4 mul16s::m#1 mul16s::m#0 mul16u::return#2 mul16s::return#0 mul16u::res#2 mul16u::res#6 mul16u::res#1 mul16u::return#3 mul16s::return#2 sin16s_gen2::$5 mulu16_sel::$0 mulu16_sel::$1 sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 sin16s::$6 ]
@ -357,17 +387,19 @@ reg byte x [ fill::val#3 ]
reg byte a [ render_logo::$0 ]
reg byte a [ render_logo::$1 ]
reg byte a [ render_logo::$2 ]
reg byte a [ render_logo::$22 ]
reg byte a [ render_logo::$26 ]
reg byte a [ render_logo::$30 ]
reg byte a [ render_logo::$15 ]
reg byte a [ render_logo::$34 ]
reg byte a [ render_logo::$38 ]
reg byte a [ render_logo::$39 ]
reg byte a [ render_logo::$45 ]
reg byte a [ render_logo::$49 ]
reg byte a [ render_logo::$53 ]
reg byte a [ render_logo::$57 ]
reg byte a [ render_logo::$61 ]
reg byte a [ render_logo::$42 ]
reg byte a [ render_logo::$46 ]
reg byte a [ render_logo::$50 ]
reg byte a [ render_logo::$17 ]
reg byte a [ render_logo::$23 ]
reg byte a [ render_logo::$80 ]
reg byte a [ render_logo::$84 ]
reg byte a [ render_logo::$88 ]
reg byte a [ render_logo::$92 ]
reg byte a [ render_logo::$96 ]
zp ZP_DWORD:27 [ div32u16u::return#2 sin16s_gen2::step#0 div32u16u::return#0 ]
reg byte a [ mul16u::$1 ]
zp ZP_WORD:31 [ sin16s::x1#0 ]