1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-11-27 19:50:10 +00:00

Improved readability.

This commit is contained in:
jespergravgaard 2018-10-21 20:20:24 +02:00
parent 4d031a82f1
commit 9b101f29bd
5 changed files with 2103 additions and 2031 deletions

View File

@ -2,59 +2,13 @@
// Based on: // Based on:
// - C= Hacking Magazine Issue 8. http://www.ffd2.com/fridge/chacking/c=hacking8.txt // - C= Hacking Magazine Issue 8. http://www.ffd2.com/fridge/chacking/c=hacking8.txt
// - Codebase64 Article http://codebase64.org/doku.php?id=base:3d_rotation // - Codebase64 Article http://codebase64.org/doku.php?id=base:3d_rotation
import "c64" import "c64"
byte* SCREEN = $400; void main() {
asm { sei }
// A single sprite sprites_init();
byte* SPRITE = $3000; mulf_init();
kickasm(pc SPRITE, resource "balloon.png") {{ anim();
.var pic = LoadPicture("balloon.png", List().add($000000, $ffffff))
.for (var y=0; y<21; y++)
.for (var x=0;x<3; x++)
.byte pic.getSinglecolorByte(x,y)
}}
// Sine and Cosine Tables
// Angles: $00=0, $80=PI,$100=2*PI
// Half Sine/Cosine: signed fixed [-$1f,$1f]
signed byte* COSH = $2000;
signed byte* SINH = COSH+$40; // sin(x) = cos(x+PI/2)
// Quarter Sine/Cosine: signed fixed [-$0f,$0f]
signed byte* COSQ = $2200;
signed byte* SINQ = COSQ+$40; // sin(x) = cos(x+PI/2)
kickasm(pc COSH) {{
{
.var min = -$1fff
.var max = $1fff
.var ampl = max-min;
.for(var i=0;i<$140;i++) {
.var rad = i*2*PI/256;
.byte >round(min+(ampl/2)+(ampl/2)*cos(rad))
}
}
}}
kickasm(pc COSQ) {{
{
.var min = -$0fff
.var max = $0fff
.var ampl = max-min;
.for(var i=0;i<$140;i++) {
.var rad = i*2*PI/256;
.byte >round(min+(ampl/2)+(ampl/2)*cos(rad))
}
}
}}
// Initialize sprites
void sprites_init() {
*SPRITES_ENABLE = %11111111;
byte* sprites_ptr = SCREEN+$3f8;
for(byte i: 0..7) {
sprites_ptr[i] = (byte)(SPRITE/$40);
SPRITES_COLS[i] = GREEN;
}
} }
// Positions to rotate (a cube) // Positions to rotate (a cube)
@ -62,24 +16,15 @@ signed byte[8] xs = { -63, -63, -63, -63, 63, 63, 63, 63};
signed byte[8] ys = { -63, -63, 63, 63, -63, -63, 63, 63}; signed byte[8] ys = { -63, -63, 63, 63, -63, -63, 63, 63};
signed byte[8] zs = { -63, 63, -63, 63, -63, 63, -63, 63}; signed byte[8] zs = { -63, 63, -63, 63, -63, 63, -63, 63};
// The rotated point - updated by calling rotate() void anim() {
signed byte* xr = $f0;
signed byte* yr = $f1;
signed byte* zr = $f2;
void main() {
asm { sei }
sprites_init();
mulf_init();
signed byte sx = 0; signed byte sx = 0;
signed byte sy = 0; signed byte sy = 0;
signed byte sz = 0; signed byte sz = 0;
while(true) { while(true) {
while(*RASTER!=$ff) {} while(*RASTER!=$ff) {}
(*BORDERCOL)++; (*BORDERCOL)++;
calculate_matrix(sx,sy--,sz++); calculate_matrix(sx,sy,sz);
store_matrix(); store_matrix();
if((sy&1)==0) sx++;
for(byte i: 0..7) { for(byte i: 0..7) {
(*BORDERCOL)++; (*BORDERCOL)++;
rotate_matrix(xs[i], ys[i], zs[i]); rotate_matrix(xs[i], ys[i], zs[i]);
@ -87,10 +32,25 @@ void main() {
SPRITES_XPOS[i2] = $80+(byte)(*xr>>1); SPRITES_XPOS[i2] = $80+(byte)(*xr>>1);
SPRITES_YPOS[i2] = $80+(byte)(*yr>>1); SPRITES_YPOS[i2] = $80+(byte)(*yr>>1);
} }
// Increment angles
sz++;
sy--;
if((sy&1)==0) sx++;
*BORDERCOL = LIGHT_BLUE; *BORDERCOL = LIGHT_BLUE;
} }
} }
// Initialize sprites
void sprites_init() {
byte* SCREEN = $400;
*SPRITES_ENABLE = %11111111;
byte* sprites_ptr = SCREEN+$3f8;
for(byte i: 0..7) {
sprites_ptr[i] = (byte)(SPRITE/$40);
SPRITES_COLS[i] = GREEN;
}
}
// The rotation matrix // The rotation matrix
signed byte[9] rotation_matrix; signed byte[9] rotation_matrix;
@ -163,6 +123,11 @@ void store_matrix() {
} }
} }
// The rotated point - updated by calling rotate()
signed byte* xr = $f0;
signed byte* yr = $f1;
signed byte* zr = $f2;
// Rotate a 3D point (x,y,z) using the rotation matrix // Rotate a 3D point (x,y,z) using the rotation matrix
// The rotation matrix is prepared by calling prepare_matrix() // The rotation matrix is prepared by calling prepare_matrix()
// The passed points must be in the interval [-$3f;$3f]. // The passed points must be in the interval [-$3f;$3f].
@ -244,3 +209,44 @@ void mulf_init() {
} }
// A single sprite
byte* SPRITE = $3000;
kickasm(pc SPRITE, resource "balloon.png") {{
.var pic = LoadPicture("balloon.png", List().add($000000, $ffffff))
.for (var y=0; y<21; y++)
.for (var x=0;x<3; x++)
.byte pic.getSinglecolorByte(x,y)
}}
// Sine and Cosine Tables
// Angles: $00=0, $80=PI,$100=2*PI
// Half Sine/Cosine: signed fixed [-$1f,$1f]
signed byte* COSH = $2000;
signed byte* SINH = COSH+$40; // sin(x) = cos(x+PI/2)
// Quarter Sine/Cosine: signed fixed [-$0f,$0f]
signed byte* COSQ = $2200;
signed byte* SINQ = COSQ+$40; // sin(x) = cos(x+PI/2)
kickasm(pc COSH) {{
{
.var min = -$1fff
.var max = $1fff
.var ampl = max-min;
.for(var i=0;i<$140;i++) {
.var rad = i*2*PI/256;
.byte >round(min+(ampl/2)+(ampl/2)*cos(rad))
}
}
}}
kickasm(pc COSQ) {{
{
.var min = -$0fff
.var max = $0fff
.var ampl = max-min;
.for(var i=0;i<$140;i++) {
.var rad = i*2*PI/256;
.byte >round(min+(ampl/2)+(ampl/2)*cos(rad))
}
}
}}

View File

@ -9,24 +9,27 @@
.label SPRITES_COLS = $d027 .label SPRITES_COLS = $d027
.const GREEN = 5 .const GREEN = 5
.const LIGHT_BLUE = $e .const LIGHT_BLUE = $e
.label SCREEN = $400
.label SPRITE = $3000
.label COSH = $2000
.label COSQ = $2200
.label xr = $f0 .label xr = $f0
.label yr = $f1 .label yr = $f1
.label zr = $f2 .label zr = $f2
.label SPRITE = $3000
.label COSH = $2000
.label COSQ = $2200
.label SINH = COSH+$40 .label SINH = COSH+$40
.label SINQ = COSQ+$40 .label SINQ = COSQ+$40
jsr main jsr main
main: { main: {
.label sy = 3
.label sz = 4
.label sx = 2
.label i = 5
sei sei
jsr sprites_init jsr sprites_init
jsr mulf_init jsr mulf_init
jsr anim
rts
}
anim: {
.label i = 5
.label sz = 4
.label sy = 3
.label sx = 2
lda #0 lda #0
sta sz sta sz
sta sy sta sy
@ -39,18 +42,10 @@ main: {
ldy sx ldy sx
ldx sz ldx sz
jsr calculate_matrix jsr calculate_matrix
dec sy
inc sz
jsr store_matrix jsr store_matrix
lda sy
and #1
cmp #0
bne b7
inc sx
b7:
lda #0 lda #0
sta i sta i
b8: b7:
inc BORDERCOL inc BORDERCOL
ldy i ldy i
lda xs,y lda xs,y
@ -78,7 +73,15 @@ main: {
inc i inc i
lda i lda i
cmp #8 cmp #8
bne b7
inc sz
dec sy
lda sy
and #1
cmp #0
bne b8 bne b8
inc sx
b8:
lda #LIGHT_BLUE lda #LIGHT_BLUE
sta BORDERCOL sta BORDERCOL
jmp b4 jmp b4
@ -407,6 +410,7 @@ mulf_init: {
rts rts
} }
sprites_init: { sprites_init: {
.label SCREEN = $400
.label sprites_ptr = SCREEN+$3f8 .label sprites_ptr = SCREEN+$3f8
lda #$ff lda #$ff
sta SPRITES_ENABLE sta SPRITES_ENABLE

View File

@ -1,7 +1,7 @@
@begin: scope:[] from @begin: scope:[] from
[0] phi() [ ] ( ) [0] phi() [ ] ( )
to:@3 to:@10
@3: scope:[] from @begin @10: scope:[] from @begin
kickasm(location (const byte*) SPRITE#0) {{ .var pic = LoadPicture("balloon.png", List().add($000000, $ffffff)) kickasm(location (const byte*) SPRITE#0) {{ .var pic = LoadPicture("balloon.png", List().add($000000, $ffffff))
.for (var y=0; y<21; y++) .for (var y=0; y<21; y++)
.for (var x=0;x<3; x++) .for (var x=0;x<3; x++)
@ -27,175 +27,181 @@
} }
} }
}} }}
to:@9 [4] call main [ ] ( )
@9: scope:[] from @3
[4] phi() [ ] ( )
[5] call main [ ] ( )
to:@end to:@end
@end: scope:[] from @9 @end: scope:[] from @10
[6] phi() [ ] ( ) [5] phi() [ ] ( )
main: scope:[main] from @9 main: scope:[main] from @10
asm { sei } asm { sei }
[8] call sprites_init [ ] ( main:5 [ ] ) [7] call sprites_init [ ] ( main:4 [ ] )
to:main::@17
main::@17: scope:[main] from main
[9] phi() [ ] ( main:5 [ ] )
[10] call mulf_init [ ] ( main:5 [ ] )
to:main::@1 to:main::@1
main::@1: scope:[main] from main::@15 main::@17 main::@1: scope:[main] from main
[11] (signed byte) main::sz#5 ← phi( main::@15/(signed byte) main::sz#1 main::@17/(byte/signed byte/word/signed word/dword/signed dword) 0 ) [ main::sx#6 main::sy#6 main::sz#5 ] ( main:5 [ main::sx#6 main::sy#6 main::sz#5 ] ) [8] phi() [ ] ( main:4 [ ] )
[11] (signed byte) main::sy#6 ← phi( main::@15/(signed byte) main::sy#1 main::@17/(byte/signed byte/word/signed word/dword/signed dword) 0 ) [ main::sx#6 main::sy#6 main::sz#5 ] ( main:5 [ main::sx#6 main::sy#6 main::sz#5 ] ) [9] call mulf_init [ ] ( main:4 [ ] )
[11] (signed byte) main::sx#6 ← phi( main::@15/(signed byte) main::sx#13 main::@17/(byte/signed byte/word/signed word/dword/signed dword) 0 ) [ main::sx#6 main::sy#6 main::sz#5 ] ( main:5 [ main::sx#6 main::sy#6 main::sz#5 ] ) to:main::@2
to:main::@4 main::@2: scope:[main] from main::@1
main::@4: scope:[main] from main::@1 main::@4 [10] phi() [ ] ( main:4 [ ] )
[12] if(*((const byte*) RASTER#0)!=(byte/word/signed word/dword/signed dword) 255) goto main::@4 [ main::sx#6 main::sy#6 main::sz#5 ] ( main:5 [ main::sx#6 main::sy#6 main::sz#5 ] ) [11] call anim [ ] ( main:4 [ ] )
to:main::@6 to:main::@return
main::@6: scope:[main] from main::@4 main::@return: scope:[main] from main::@2
[13] *((const byte*) BORDERCOL#0) ← ++ *((const byte*) BORDERCOL#0) [ main::sx#6 main::sy#6 main::sz#5 ] ( main:5 [ main::sx#6 main::sy#6 main::sz#5 ] ) [12] return [ ] ( main:4 [ ] )
[14] (signed byte) calculate_matrix::sx#0 ← (signed byte) main::sx#6 [ main::sx#6 main::sy#6 main::sz#5 calculate_matrix::sx#0 ] ( main:5 [ main::sx#6 main::sy#6 main::sz#5 calculate_matrix::sx#0 ] ) to:@return
[15] (signed byte) calculate_matrix::sy#0 ← (signed byte) main::sy#6 [ main::sx#6 main::sy#6 main::sz#5 calculate_matrix::sx#0 calculate_matrix::sy#0 ] ( main:5 [ main::sx#6 main::sy#6 main::sz#5 calculate_matrix::sx#0 calculate_matrix::sy#0 ] ) anim: scope:[anim] from main::@2
[16] (signed byte) calculate_matrix::sz#0 ← (signed byte) main::sz#5 [ main::sx#6 main::sy#6 main::sz#5 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::sz#0 ] ( main:5 [ main::sx#6 main::sy#6 main::sz#5 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::sz#0 ] ) [13] phi() [ ] ( main:4::anim:11 [ ] )
[17] call calculate_matrix [ main::sx#6 main::sy#6 main::sz#5 ] ( main:5 [ main::sx#6 main::sy#6 main::sz#5 ] ) to:anim::@1
to:main::@19 anim::@1: scope:[anim] from anim anim::@8
main::@19: scope:[main] from main::@6 [14] (signed byte) anim::sz#6 ← phi( anim/(byte/signed byte/word/signed word/dword/signed dword) 0 anim::@8/(signed byte) anim::sz#1 ) [ anim::sx#6 anim::sy#6 anim::sz#6 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#6 anim::sz#6 ] )
[18] (signed byte) main::sy#1 ← -- (signed byte) main::sy#6 [ main::sx#6 main::sz#5 main::sy#1 ] ( main:5 [ main::sx#6 main::sz#5 main::sy#1 ] ) [14] (signed byte) anim::sy#6 ← phi( anim/(byte/signed byte/word/signed word/dword/signed dword) 0 anim::@8/(signed byte) anim::sy#1 ) [ anim::sx#6 anim::sy#6 anim::sz#6 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#6 anim::sz#6 ] )
[19] (signed byte) main::sz#1 ← ++ (signed byte) main::sz#5 [ main::sx#6 main::sy#1 main::sz#1 ] ( main:5 [ main::sx#6 main::sy#1 main::sz#1 ] ) [14] (signed byte) anim::sx#6 ← phi( anim/(byte/signed byte/word/signed word/dword/signed dword) 0 anim::@8/(signed byte) anim::sx#11 ) [ anim::sx#6 anim::sy#6 anim::sz#6 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#6 anim::sz#6 ] )
[20] call store_matrix [ main::sx#6 main::sy#1 main::sz#1 ] ( main:5 [ main::sx#6 main::sy#1 main::sz#1 ] ) to:anim::@4
to:main::@20 anim::@4: scope:[anim] from anim::@1 anim::@4
main::@20: scope:[main] from main::@19 [15] if(*((const byte*) RASTER#0)!=(byte/word/signed word/dword/signed dword) 255) goto anim::@4 [ anim::sx#6 anim::sy#6 anim::sz#6 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#6 anim::sz#6 ] )
[21] (byte~) main::$5 ← (signed byte) main::sy#1 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ main::sx#6 main::sy#1 main::sz#1 main::$5 ] ( main:5 [ main::sx#6 main::sy#1 main::sz#1 main::$5 ] ) to:anim::@6
[22] if((byte~) main::$5!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto main::@7 [ main::sx#6 main::sy#1 main::sz#1 ] ( main:5 [ main::sx#6 main::sy#1 main::sz#1 ] ) anim::@6: scope:[anim] from anim::@4
to:main::@14 [16] *((const byte*) BORDERCOL#0) ← ++ *((const byte*) BORDERCOL#0) [ anim::sx#6 anim::sy#6 anim::sz#6 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#6 anim::sz#6 ] )
main::@14: scope:[main] from main::@20 [17] (signed byte) calculate_matrix::sx#0 ← (signed byte) anim::sx#6 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sx#0 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sx#0 ] )
[23] (signed byte) main::sx#1 ← ++ (signed byte) main::sx#6 [ main::sy#1 main::sz#1 main::sx#1 ] ( main:5 [ main::sy#1 main::sz#1 main::sx#1 ] ) [18] (signed byte) calculate_matrix::sy#0 ← (signed byte) anim::sy#6 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sx#0 calculate_matrix::sy#0 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sx#0 calculate_matrix::sy#0 ] )
to:main::@7 [19] (signed byte) calculate_matrix::sz#0 ← (signed byte) anim::sz#6 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::sz#0 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::sz#0 ] )
main::@7: scope:[main] from main::@14 main::@20 [20] call calculate_matrix [ anim::sx#6 anim::sy#6 anim::sz#6 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#6 anim::sz#6 ] )
[24] (signed byte) main::sx#13 ← phi( main::@14/(signed byte) main::sx#1 main::@20/(signed byte) main::sx#6 ) [ main::sx#13 main::sy#1 main::sz#1 ] ( main:5 [ main::sx#13 main::sy#1 main::sz#1 ] ) to:anim::@17
to:main::@8 anim::@17: scope:[anim] from anim::@6
main::@8: scope:[main] from main::@21 main::@7 [21] phi() [ anim::sx#6 anim::sy#6 anim::sz#6 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#6 anim::sz#6 ] )
[25] (byte) main::i#2 ← phi( main::@21/(byte) main::i#1 main::@7/(byte/signed byte/word/signed word/dword/signed dword) 0 ) [ main::sx#13 main::sy#1 main::sz#1 main::i#2 ] ( main:5 [ main::sx#13 main::sy#1 main::sz#1 main::i#2 ] ) [22] call store_matrix [ anim::sx#6 anim::sy#6 anim::sz#6 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#6 anim::sz#6 ] )
[26] *((const byte*) BORDERCOL#0) ← ++ *((const byte*) BORDERCOL#0) [ main::sx#13 main::sy#1 main::sz#1 main::i#2 ] ( main:5 [ main::sx#13 main::sy#1 main::sz#1 main::i#2 ] ) to:anim::@7
[27] (signed byte) rotate_matrix::x#0 ← *((const signed byte[8]) xs#0 + (byte) main::i#2) [ main::sx#13 main::sy#1 main::sz#1 main::i#2 rotate_matrix::x#0 ] ( main:5 [ main::sx#13 main::sy#1 main::sz#1 main::i#2 rotate_matrix::x#0 ] ) anim::@7: scope:[anim] from anim::@17 anim::@19
[28] (signed byte) rotate_matrix::y#0 ← *((const signed byte[8]) ys#0 + (byte) main::i#2) [ main::sx#13 main::sy#1 main::sz#1 main::i#2 rotate_matrix::x#0 rotate_matrix::y#0 ] ( main:5 [ main::sx#13 main::sy#1 main::sz#1 main::i#2 rotate_matrix::x#0 rotate_matrix::y#0 ] ) [23] (byte) anim::i#2 ← phi( anim::@17/(byte/signed byte/word/signed word/dword/signed dword) 0 anim::@19/(byte) anim::i#1 ) [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 ] )
[29] (signed byte) rotate_matrix::z#0 ← *((const signed byte[8]) zs#0 + (byte) main::i#2) [ main::sx#13 main::sy#1 main::sz#1 main::i#2 rotate_matrix::x#0 rotate_matrix::y#0 rotate_matrix::z#0 ] ( main:5 [ main::sx#13 main::sy#1 main::sz#1 main::i#2 rotate_matrix::x#0 rotate_matrix::y#0 rotate_matrix::z#0 ] ) [24] *((const byte*) BORDERCOL#0) ← ++ *((const byte*) BORDERCOL#0) [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 ] )
[30] call rotate_matrix [ main::sx#13 main::sy#1 main::sz#1 main::i#2 ] ( main:5 [ main::sx#13 main::sy#1 main::sz#1 main::i#2 ] ) [25] (signed byte) rotate_matrix::x#0 ← *((const signed byte[8]) xs#0 + (byte) anim::i#2) [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 rotate_matrix::x#0 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 rotate_matrix::x#0 ] )
to:main::@21 [26] (signed byte) rotate_matrix::y#0 ← *((const signed byte[8]) ys#0 + (byte) anim::i#2) [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 rotate_matrix::x#0 rotate_matrix::y#0 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 rotate_matrix::x#0 rotate_matrix::y#0 ] )
main::@21: scope:[main] from main::@8 [27] (signed byte) rotate_matrix::z#0 ← *((const signed byte[8]) zs#0 + (byte) anim::i#2) [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 rotate_matrix::x#0 rotate_matrix::y#0 rotate_matrix::z#0 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 rotate_matrix::x#0 rotate_matrix::y#0 rotate_matrix::z#0 ] )
[31] (byte) main::i2#0 ← (byte) main::i#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ main::sx#13 main::sy#1 main::sz#1 main::i#2 main::i2#0 ] ( main:5 [ main::sx#13 main::sy#1 main::sz#1 main::i#2 main::i2#0 ] ) [28] call rotate_matrix [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 ] )
[32] (signed byte~) main::$10 ← *((const signed byte*) xr#0) >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ main::sx#13 main::sy#1 main::sz#1 main::i#2 main::i2#0 main::$10 ] ( main:5 [ main::sx#13 main::sy#1 main::sz#1 main::i#2 main::i2#0 main::$10 ] ) to:anim::@19
[33] (byte/word/signed word/dword/signed dword~) main::$12 ← (byte/word/signed word/dword/signed dword) 128 + (byte)(signed byte~) main::$10 [ main::sx#13 main::sy#1 main::sz#1 main::i#2 main::i2#0 main::$12 ] ( main:5 [ main::sx#13 main::sy#1 main::sz#1 main::i#2 main::i2#0 main::$12 ] ) anim::@19: scope:[anim] from anim::@7
[34] *((const byte*) SPRITES_XPOS#0 + (byte) main::i2#0) ← (byte/word/signed word/dword/signed dword~) main::$12 [ main::sx#13 main::sy#1 main::sz#1 main::i#2 main::i2#0 ] ( main:5 [ main::sx#13 main::sy#1 main::sz#1 main::i#2 main::i2#0 ] ) [29] (byte) anim::i2#0 ← (byte) anim::i#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 anim::i2#0 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 anim::i2#0 ] )
[35] (signed byte~) main::$13 ← *((const signed byte*) yr#0) >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ main::sx#13 main::sy#1 main::sz#1 main::i#2 main::i2#0 main::$13 ] ( main:5 [ main::sx#13 main::sy#1 main::sz#1 main::i#2 main::i2#0 main::$13 ] ) [30] (signed byte~) anim::$5 ← *((const signed byte*) xr#0) >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 anim::i2#0 anim::$5 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 anim::i2#0 anim::$5 ] )
[36] (byte/word/signed word/dword/signed dword~) main::$15 ← (byte/word/signed word/dword/signed dword) 128 + (byte)(signed byte~) main::$13 [ main::sx#13 main::sy#1 main::sz#1 main::i#2 main::i2#0 main::$15 ] ( main:5 [ main::sx#13 main::sy#1 main::sz#1 main::i#2 main::i2#0 main::$15 ] ) [31] (byte/word/signed word/dword/signed dword~) anim::$7 ← (byte/word/signed word/dword/signed dword) 128 + (byte)(signed byte~) anim::$5 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 anim::i2#0 anim::$7 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 anim::i2#0 anim::$7 ] )
[37] *((const byte*) SPRITES_YPOS#0 + (byte) main::i2#0) ← (byte/word/signed word/dword/signed dword~) main::$15 [ main::sx#13 main::sy#1 main::sz#1 main::i#2 ] ( main:5 [ main::sx#13 main::sy#1 main::sz#1 main::i#2 ] ) [32] *((const byte*) SPRITES_XPOS#0 + (byte) anim::i2#0) ← (byte/word/signed word/dword/signed dword~) anim::$7 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 anim::i2#0 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 anim::i2#0 ] )
[38] (byte) main::i#1 ← ++ (byte) main::i#2 [ main::sx#13 main::sy#1 main::sz#1 main::i#1 ] ( main:5 [ main::sx#13 main::sy#1 main::sz#1 main::i#1 ] ) [33] (signed byte~) anim::$8 ← *((const signed byte*) yr#0) >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 anim::i2#0 anim::$8 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 anim::i2#0 anim::$8 ] )
[39] if((byte) main::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto main::@8 [ main::sx#13 main::sy#1 main::sz#1 main::i#1 ] ( main:5 [ main::sx#13 main::sy#1 main::sz#1 main::i#1 ] ) [34] (byte/word/signed word/dword/signed dword~) anim::$10 ← (byte/word/signed word/dword/signed dword) 128 + (byte)(signed byte~) anim::$8 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 anim::i2#0 anim::$10 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 anim::i2#0 anim::$10 ] )
to:main::@15 [35] *((const byte*) SPRITES_YPOS#0 + (byte) anim::i2#0) ← (byte/word/signed word/dword/signed dword~) anim::$10 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 ] )
main::@15: scope:[main] from main::@21 [36] (byte) anim::i#1 ← ++ (byte) anim::i#2 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#1 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#1 ] )
[40] *((const byte*) BORDERCOL#0) ← (const byte) LIGHT_BLUE#0 [ main::sx#13 main::sy#1 main::sz#1 ] ( main:5 [ main::sx#13 main::sy#1 main::sz#1 ] ) [37] if((byte) anim::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto anim::@7 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#1 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#1 ] )
to:main::@1 to:anim::@14
rotate_matrix: scope:[rotate_matrix] from main::@8 anim::@14: scope:[anim] from anim::@19
[41] *((const signed byte*) xr#0) ← (signed byte) rotate_matrix::x#0 [ rotate_matrix::y#0 rotate_matrix::z#0 ] ( main:5::rotate_matrix:30 [ main::sx#13 main::sy#1 main::sz#1 main::i#2 rotate_matrix::y#0 rotate_matrix::z#0 ] ) [38] (signed byte) anim::sz#1 ← ++ (signed byte) anim::sz#6 [ anim::sx#6 anim::sy#6 anim::sz#1 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#6 anim::sz#1 ] )
[42] *((const signed byte*) yr#0) ← (signed byte) rotate_matrix::y#0 [ rotate_matrix::z#0 ] ( main:5::rotate_matrix:30 [ main::sx#13 main::sy#1 main::sz#1 main::i#2 rotate_matrix::z#0 ] ) [39] (signed byte) anim::sy#1 ← -- (signed byte) anim::sy#6 [ anim::sx#6 anim::sy#1 anim::sz#1 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#1 anim::sz#1 ] )
[43] *((const signed byte*) zr#0) ← (signed byte) rotate_matrix::z#0 [ ] ( main:5::rotate_matrix:30 [ main::sx#13 main::sy#1 main::sz#1 main::i#2 ] ) [40] (byte~) anim::$12 ← (signed byte) anim::sy#1 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ anim::sx#6 anim::sy#1 anim::sz#1 anim::$12 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#1 anim::sz#1 anim::$12 ] )
[41] if((byte~) anim::$12!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto anim::@8 [ anim::sx#6 anim::sy#1 anim::sz#1 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#1 anim::sz#1 ] )
to:anim::@15
anim::@15: scope:[anim] from anim::@14
[42] (signed byte) anim::sx#1 ← ++ (signed byte) anim::sx#6 [ anim::sy#1 anim::sz#1 anim::sx#1 ] ( main:4::anim:11 [ anim::sy#1 anim::sz#1 anim::sx#1 ] )
to:anim::@8
anim::@8: scope:[anim] from anim::@14 anim::@15
[43] (signed byte) anim::sx#11 ← phi( anim::@14/(signed byte) anim::sx#6 anim::@15/(signed byte) anim::sx#1 ) [ anim::sx#11 anim::sy#1 anim::sz#1 ] ( main:4::anim:11 [ anim::sx#11 anim::sy#1 anim::sz#1 ] )
[44] *((const byte*) BORDERCOL#0) ← (const byte) LIGHT_BLUE#0 [ anim::sx#11 anim::sy#1 anim::sz#1 ] ( main:4::anim:11 [ anim::sx#11 anim::sy#1 anim::sz#1 ] )
to:anim::@1
rotate_matrix: scope:[rotate_matrix] from anim::@7
[45] *((const signed byte*) xr#0) ← (signed byte) rotate_matrix::x#0 [ rotate_matrix::y#0 rotate_matrix::z#0 ] ( main:4::anim:11::rotate_matrix:28 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 rotate_matrix::y#0 rotate_matrix::z#0 ] )
[46] *((const signed byte*) yr#0) ← (signed byte) rotate_matrix::y#0 [ rotate_matrix::z#0 ] ( main:4::anim:11::rotate_matrix:28 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 rotate_matrix::z#0 ] )
[47] *((const signed byte*) zr#0) ← (signed byte) rotate_matrix::z#0 [ ] ( main:4::anim:11::rotate_matrix:28 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 ] )
asm { clc ldxzr C1: ldamulf_sqr1,x C2: sbcmulf_sqr2,x staC3+1 F1: ldamulf_sqr1,x F2: sbcmulf_sqr2,x staF3+1 I1: ldamulf_sqr1,x I2: sbcmulf_sqr2,x staI3+1 ldxxr ldyyr C3: lda#0 A1: adcmulf_sqr1,x A2: sbcmulf_sqr2,x B1: adcmulf_sqr1,y B2: sbcmulf_sqr2,y staxr F3: lda#0 D1: adcmulf_sqr1,x D2: sbcmulf_sqr2,x E1: adcmulf_sqr1,y E2: sbcmulf_sqr2,y stayr I3: lda#0 G1: adcmulf_sqr1,x G2: sbcmulf_sqr2,x H1: adcmulf_sqr1,y H2: sbcmulf_sqr2,y stazr } asm { clc ldxzr C1: ldamulf_sqr1,x C2: sbcmulf_sqr2,x staC3+1 F1: ldamulf_sqr1,x F2: sbcmulf_sqr2,x staF3+1 I1: ldamulf_sqr1,x I2: sbcmulf_sqr2,x staI3+1 ldxxr ldyyr C3: lda#0 A1: adcmulf_sqr1,x A2: sbcmulf_sqr2,x B1: adcmulf_sqr1,y B2: sbcmulf_sqr2,y staxr F3: lda#0 D1: adcmulf_sqr1,x D2: sbcmulf_sqr2,x E1: adcmulf_sqr1,y E2: sbcmulf_sqr2,y stayr I3: lda#0 G1: adcmulf_sqr1,x G2: sbcmulf_sqr2,x H1: adcmulf_sqr1,y H2: sbcmulf_sqr2,y stazr }
to:rotate_matrix::@return to:rotate_matrix::@return
rotate_matrix::@return: scope:[rotate_matrix] from rotate_matrix rotate_matrix::@return: scope:[rotate_matrix] from rotate_matrix
[45] return [ ] ( main:5::rotate_matrix:30 [ main::sx#13 main::sy#1 main::sz#1 main::i#2 ] ) [49] return [ ] ( main:4::anim:11::rotate_matrix:28 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 ] )
to:@return to:@return
store_matrix: scope:[store_matrix] from main::@19 store_matrix: scope:[store_matrix] from anim::@17
asm { ldarotation_matrix+0 starotate_matrix.A1+1 eor#$ff starotate_matrix.A2+1 ldarotation_matrix+1 starotate_matrix.B1+1 eor#$ff starotate_matrix.B2+1 ldarotation_matrix+2 starotate_matrix.C1+1 eor#$ff starotate_matrix.C2+1 ldarotation_matrix+3 starotate_matrix.D1+1 eor#$ff starotate_matrix.D2+1 ldarotation_matrix+4 starotate_matrix.E1+1 eor#$ff starotate_matrix.E2+1 ldarotation_matrix+5 starotate_matrix.F1+1 eor#$ff starotate_matrix.F2+1 ldarotation_matrix+6 starotate_matrix.G1+1 eor#$ff starotate_matrix.G2+1 ldarotation_matrix+7 starotate_matrix.H1+1 eor#$ff starotate_matrix.H2+1 ldarotation_matrix+8 starotate_matrix.I1+1 eor#$ff starotate_matrix.I2+1 } asm { ldarotation_matrix+0 starotate_matrix.A1+1 eor#$ff starotate_matrix.A2+1 ldarotation_matrix+1 starotate_matrix.B1+1 eor#$ff starotate_matrix.B2+1 ldarotation_matrix+2 starotate_matrix.C1+1 eor#$ff starotate_matrix.C2+1 ldarotation_matrix+3 starotate_matrix.D1+1 eor#$ff starotate_matrix.D2+1 ldarotation_matrix+4 starotate_matrix.E1+1 eor#$ff starotate_matrix.E2+1 ldarotation_matrix+5 starotate_matrix.F1+1 eor#$ff starotate_matrix.F2+1 ldarotation_matrix+6 starotate_matrix.G1+1 eor#$ff starotate_matrix.G2+1 ldarotation_matrix+7 starotate_matrix.H1+1 eor#$ff starotate_matrix.H2+1 ldarotation_matrix+8 starotate_matrix.I1+1 eor#$ff starotate_matrix.I2+1 }
to:store_matrix::@return to:store_matrix::@return
store_matrix::@return: scope:[store_matrix] from store_matrix store_matrix::@return: scope:[store_matrix] from store_matrix
[47] return [ ] ( main:5::store_matrix:20 [ main::sx#6 main::sy#1 main::sz#1 ] ) [51] return [ ] ( main:4::anim:11::store_matrix:22 [ anim::sx#6 anim::sy#6 anim::sz#6 ] )
to:@return to:@return
calculate_matrix: scope:[calculate_matrix] from main::@6 calculate_matrix: scope:[calculate_matrix] from anim::@6
[48] (signed byte) calculate_matrix::t1#0 ← (signed byte) calculate_matrix::sy#0 - (signed byte) calculate_matrix::sz#0 [ calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::sz#0 calculate_matrix::t1#0 ] ( main:5::calculate_matrix:17 [ main::sx#6 main::sy#6 main::sz#5 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::sz#0 calculate_matrix::t1#0 ] ) [52] (signed byte) calculate_matrix::t1#0 ← (signed byte) calculate_matrix::sy#0 - (signed byte) calculate_matrix::sz#0 [ calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::sz#0 calculate_matrix::t1#0 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::sz#0 calculate_matrix::t1#0 ] )
[49] (signed byte) calculate_matrix::t2#0 ← (signed byte) calculate_matrix::sy#0 + (signed byte) calculate_matrix::sz#0 [ calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::sz#0 calculate_matrix::t1#0 calculate_matrix::t2#0 ] ( main:5::calculate_matrix:17 [ main::sx#6 main::sy#6 main::sz#5 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::sz#0 calculate_matrix::t1#0 calculate_matrix::t2#0 ] ) [53] (signed byte) calculate_matrix::t2#0 ← (signed byte) calculate_matrix::sy#0 + (signed byte) calculate_matrix::sz#0 [ calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::sz#0 calculate_matrix::t1#0 calculate_matrix::t2#0 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::sz#0 calculate_matrix::t1#0 calculate_matrix::t2#0 ] )
[50] (signed byte) calculate_matrix::t3#0 ← (signed byte) calculate_matrix::sx#0 + (signed byte) calculate_matrix::sz#0 [ calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::sz#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 ] ( main:5::calculate_matrix:17 [ main::sx#6 main::sy#6 main::sz#5 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::sz#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 ] ) [54] (signed byte) calculate_matrix::t3#0 ← (signed byte) calculate_matrix::sx#0 + (signed byte) calculate_matrix::sz#0 [ calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::sz#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::sz#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 ] )
[51] (signed byte) calculate_matrix::t4#0 ← (signed byte) calculate_matrix::sx#0 - (signed byte) calculate_matrix::sz#0 [ calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 ] ( main:5::calculate_matrix:17 [ main::sx#6 main::sy#6 main::sz#5 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 ] ) [55] (signed byte) calculate_matrix::t4#0 ← (signed byte) calculate_matrix::sx#0 - (signed byte) calculate_matrix::sz#0 [ calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 ] )
[52] (signed byte) calculate_matrix::t5#0 ← (signed byte) calculate_matrix::sx#0 + (signed byte) calculate_matrix::t2#0 [ calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 ] ( main:5::calculate_matrix:17 [ main::sx#6 main::sy#6 main::sz#5 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 ] ) [56] (signed byte) calculate_matrix::t5#0 ← (signed byte) calculate_matrix::sx#0 + (signed byte) calculate_matrix::t2#0 [ calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 ] )
[53] (signed byte) calculate_matrix::t6#0 ← (signed byte) calculate_matrix::sx#0 - (signed byte) calculate_matrix::t1#0 [ calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 ] ( main:5::calculate_matrix:17 [ main::sx#6 main::sy#6 main::sz#5 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 ] ) [57] (signed byte) calculate_matrix::t6#0 ← (signed byte) calculate_matrix::sx#0 - (signed byte) calculate_matrix::t1#0 [ calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 ] )
[54] (signed byte) calculate_matrix::t7#0 ← (signed byte) calculate_matrix::sx#0 + (signed byte) calculate_matrix::t1#0 [ calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 ] ( main:5::calculate_matrix:17 [ main::sx#6 main::sy#6 main::sz#5 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 ] ) [58] (signed byte) calculate_matrix::t7#0 ← (signed byte) calculate_matrix::sx#0 + (signed byte) calculate_matrix::t1#0 [ calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 ] )
[55] (signed byte) calculate_matrix::t8#0 ← (signed byte) calculate_matrix::t2#0 - (signed byte) calculate_matrix::sx#0 [ calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 ] ( main:5::calculate_matrix:17 [ main::sx#6 main::sy#6 main::sz#5 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 ] ) [59] (signed byte) calculate_matrix::t8#0 ← (signed byte) calculate_matrix::t2#0 - (signed byte) calculate_matrix::sx#0 [ calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 ] )
[56] (signed byte) calculate_matrix::t9#0 ← (signed byte) calculate_matrix::sy#0 - (signed byte) calculate_matrix::sx#0 [ calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 ] ( main:5::calculate_matrix:17 [ main::sx#6 main::sy#6 main::sz#5 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 ] ) [60] (signed byte) calculate_matrix::t9#0 ← (signed byte) calculate_matrix::sy#0 - (signed byte) calculate_matrix::sx#0 [ calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 ] )
[57] (signed byte) calculate_matrix::t10#0 ← (signed byte) calculate_matrix::sy#0 + (signed byte) calculate_matrix::sx#0 [ calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] ( main:5::calculate_matrix:17 [ main::sx#6 main::sy#6 main::sz#5 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] ) [61] (signed byte) calculate_matrix::t10#0 ← (signed byte) calculate_matrix::sy#0 + (signed byte) calculate_matrix::sx#0 [ calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] )
[58] (signed byte~) calculate_matrix::$10 ← *((const signed byte*) COSH#0 + (signed byte) calculate_matrix::t1#0) + *((const signed byte*) COSH#0 + (signed byte) calculate_matrix::t2#0) [ calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$10 ] ( main:5::calculate_matrix:17 [ main::sx#6 main::sy#6 main::sz#5 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$10 ] ) [62] (signed byte~) calculate_matrix::$10 ← *((const signed byte*) COSH#0 + (signed byte) calculate_matrix::t1#0) + *((const signed byte*) COSH#0 + (signed byte) calculate_matrix::t2#0) [ calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$10 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$10 ] )
[59] *((const signed byte[9]) rotation_matrix#0) ← (signed byte~) calculate_matrix::$10 [ calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] ( main:5::calculate_matrix:17 [ main::sx#6 main::sy#6 main::sz#5 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] ) [63] *((const signed byte[9]) rotation_matrix#0) ← (signed byte~) calculate_matrix::$10 [ calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] )
[60] (signed byte~) calculate_matrix::$11 ← *((const signed byte*) SINH#0 + (signed byte) calculate_matrix::t1#0) - *((const signed byte*) SINH#0 + (signed byte) calculate_matrix::t2#0) [ calculate_matrix::sy#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$11 ] ( main:5::calculate_matrix:17 [ main::sx#6 main::sy#6 main::sz#5 calculate_matrix::sy#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$11 ] ) [64] (signed byte~) calculate_matrix::$11 ← *((const signed byte*) SINH#0 + (signed byte) calculate_matrix::t1#0) - *((const signed byte*) SINH#0 + (signed byte) calculate_matrix::t2#0) [ calculate_matrix::sy#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$11 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sy#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$11 ] )
[61] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 1) ← (signed byte~) calculate_matrix::$11 [ calculate_matrix::sy#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] ( main:5::calculate_matrix:17 [ main::sx#6 main::sy#6 main::sz#5 calculate_matrix::sy#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] ) [65] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 1) ← (signed byte~) calculate_matrix::$11 [ calculate_matrix::sy#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sy#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] )
[62] (signed byte~) calculate_matrix::$12 ← *((const signed byte*) SINH#0 + (signed byte) calculate_matrix::sy#0) + *((const signed byte*) SINH#0 + (signed byte) calculate_matrix::sy#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$12 ] ( main:5::calculate_matrix:17 [ main::sx#6 main::sy#6 main::sz#5 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$12 ] ) [66] (signed byte~) calculate_matrix::$12 ← *((const signed byte*) SINH#0 + (signed byte) calculate_matrix::sy#0) + *((const signed byte*) SINH#0 + (signed byte) calculate_matrix::sy#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$12 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$12 ] )
[63] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 2) ← (signed byte~) calculate_matrix::$12 [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] ( main:5::calculate_matrix:17 [ main::sx#6 main::sy#6 main::sz#5 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] ) [67] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 2) ← (signed byte~) calculate_matrix::$12 [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] )
[64] (signed byte~) calculate_matrix::$13 ← *((const signed byte*) SINH#0 + (signed byte) calculate_matrix::t3#0) - *((const signed byte*) SINH#0 + (signed byte) calculate_matrix::t4#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$13 ] ( main:5::calculate_matrix:17 [ main::sx#6 main::sy#6 main::sz#5 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$13 ] ) [68] (signed byte~) calculate_matrix::$13 ← *((const signed byte*) SINH#0 + (signed byte) calculate_matrix::t3#0) - *((const signed byte*) SINH#0 + (signed byte) calculate_matrix::t4#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$13 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$13 ] )
[65] (signed byte~) calculate_matrix::$14 ← (signed byte~) calculate_matrix::$13 + *((const signed byte*) COSQ#0 + (signed byte) calculate_matrix::t6#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$14 ] ( main:5::calculate_matrix:17 [ main::sx#6 main::sy#6 main::sz#5 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$14 ] ) [69] (signed byte~) calculate_matrix::$14 ← (signed byte~) calculate_matrix::$13 + *((const signed byte*) COSQ#0 + (signed byte) calculate_matrix::t6#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$14 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$14 ] )
[66] (signed byte~) calculate_matrix::$15 ← (signed byte~) calculate_matrix::$14 - *((const signed byte*) COSQ#0 + (signed byte) calculate_matrix::t5#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$15 ] ( main:5::calculate_matrix:17 [ main::sx#6 main::sy#6 main::sz#5 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$15 ] ) [70] (signed byte~) calculate_matrix::$15 ← (signed byte~) calculate_matrix::$14 - *((const signed byte*) COSQ#0 + (signed byte) calculate_matrix::t5#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$15 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$15 ] )
[67] (signed byte~) calculate_matrix::$16 ← (signed byte~) calculate_matrix::$15 + *((const signed byte*) COSQ#0 + (signed byte) calculate_matrix::t8#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$16 ] ( main:5::calculate_matrix:17 [ main::sx#6 main::sy#6 main::sz#5 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$16 ] ) [71] (signed byte~) calculate_matrix::$16 ← (signed byte~) calculate_matrix::$15 + *((const signed byte*) COSQ#0 + (signed byte) calculate_matrix::t8#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$16 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$16 ] )
[68] (signed byte~) calculate_matrix::$17 ← (signed byte~) calculate_matrix::$16 - *((const signed byte*) COSQ#0 + (signed byte) calculate_matrix::t7#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$17 ] ( main:5::calculate_matrix:17 [ main::sx#6 main::sy#6 main::sz#5 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$17 ] ) [72] (signed byte~) calculate_matrix::$17 ← (signed byte~) calculate_matrix::$16 - *((const signed byte*) COSQ#0 + (signed byte) calculate_matrix::t7#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$17 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$17 ] )
[69] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 3) ← (signed byte~) calculate_matrix::$17 [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] ( main:5::calculate_matrix:17 [ main::sx#6 main::sy#6 main::sz#5 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] ) [73] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 3) ← (signed byte~) calculate_matrix::$17 [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] )
[70] (signed byte~) calculate_matrix::$18 ← *((const signed byte*) COSH#0 + (signed byte) calculate_matrix::t3#0) + *((const signed byte*) COSH#0 + (signed byte) calculate_matrix::t4#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$18 ] ( main:5::calculate_matrix:17 [ main::sx#6 main::sy#6 main::sz#5 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$18 ] ) [74] (signed byte~) calculate_matrix::$18 ← *((const signed byte*) COSH#0 + (signed byte) calculate_matrix::t3#0) + *((const signed byte*) COSH#0 + (signed byte) calculate_matrix::t4#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$18 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$18 ] )
[71] (signed byte~) calculate_matrix::$19 ← (signed byte~) calculate_matrix::$18 + *((const signed byte*) SINQ#0 + (signed byte) calculate_matrix::t5#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$19 ] ( main:5::calculate_matrix:17 [ main::sx#6 main::sy#6 main::sz#5 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$19 ] ) [75] (signed byte~) calculate_matrix::$19 ← (signed byte~) calculate_matrix::$18 + *((const signed byte*) SINQ#0 + (signed byte) calculate_matrix::t5#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$19 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$19 ] )
[72] (signed byte~) calculate_matrix::$20 ← (signed byte~) calculate_matrix::$19 - *((const signed byte*) SINQ#0 + (signed byte) calculate_matrix::t6#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$20 ] ( main:5::calculate_matrix:17 [ main::sx#6 main::sy#6 main::sz#5 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$20 ] ) [76] (signed byte~) calculate_matrix::$20 ← (signed byte~) calculate_matrix::$19 - *((const signed byte*) SINQ#0 + (signed byte) calculate_matrix::t6#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$20 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$20 ] )
[73] (signed byte~) calculate_matrix::$21 ← (signed byte~) calculate_matrix::$20 - *((const signed byte*) SINQ#0 + (signed byte) calculate_matrix::t7#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$21 ] ( main:5::calculate_matrix:17 [ main::sx#6 main::sy#6 main::sz#5 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$21 ] ) [77] (signed byte~) calculate_matrix::$21 ← (signed byte~) calculate_matrix::$20 - *((const signed byte*) SINQ#0 + (signed byte) calculate_matrix::t7#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$21 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$21 ] )
[74] (signed byte~) calculate_matrix::$22 ← (signed byte~) calculate_matrix::$21 - *((const signed byte*) SINQ#0 + (signed byte) calculate_matrix::t8#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$22 ] ( main:5::calculate_matrix:17 [ main::sx#6 main::sy#6 main::sz#5 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$22 ] ) [78] (signed byte~) calculate_matrix::$22 ← (signed byte~) calculate_matrix::$21 - *((const signed byte*) SINQ#0 + (signed byte) calculate_matrix::t8#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$22 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$22 ] )
[75] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 4) ← (signed byte~) calculate_matrix::$22 [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] ( main:5::calculate_matrix:17 [ main::sx#6 main::sy#6 main::sz#5 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] ) [79] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 4) ← (signed byte~) calculate_matrix::$22 [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] )
[76] (signed byte~) calculate_matrix::$23 ← *((const signed byte*) SINH#0 + (signed byte) calculate_matrix::t9#0) - *((const signed byte*) SINH#0 + (signed byte) calculate_matrix::t10#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$23 ] ( main:5::calculate_matrix:17 [ main::sx#6 main::sy#6 main::sz#5 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$23 ] ) [80] (signed byte~) calculate_matrix::$23 ← *((const signed byte*) SINH#0 + (signed byte) calculate_matrix::t9#0) - *((const signed byte*) SINH#0 + (signed byte) calculate_matrix::t10#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$23 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$23 ] )
[77] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 5) ← (signed byte~) calculate_matrix::$23 [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] ( main:5::calculate_matrix:17 [ main::sx#6 main::sy#6 main::sz#5 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] ) [81] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 5) ← (signed byte~) calculate_matrix::$23 [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] )
[78] (signed byte~) calculate_matrix::$24 ← *((const signed byte*) COSH#0 + (signed byte) calculate_matrix::t4#0) - *((const signed byte*) COSH#0 + (signed byte) calculate_matrix::t3#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$24 ] ( main:5::calculate_matrix:17 [ main::sx#6 main::sy#6 main::sz#5 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$24 ] ) [82] (signed byte~) calculate_matrix::$24 ← *((const signed byte*) COSH#0 + (signed byte) calculate_matrix::t4#0) - *((const signed byte*) COSH#0 + (signed byte) calculate_matrix::t3#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$24 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$24 ] )
[79] (signed byte~) calculate_matrix::$25 ← (signed byte~) calculate_matrix::$24 + *((const signed byte*) SINQ#0 + (signed byte) calculate_matrix::t6#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$25 ] ( main:5::calculate_matrix:17 [ main::sx#6 main::sy#6 main::sz#5 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$25 ] ) [83] (signed byte~) calculate_matrix::$25 ← (signed byte~) calculate_matrix::$24 + *((const signed byte*) SINQ#0 + (signed byte) calculate_matrix::t6#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$25 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$25 ] )
[80] (signed byte~) calculate_matrix::$26 ← (signed byte~) calculate_matrix::$25 - *((const signed byte*) SINQ#0 + (signed byte) calculate_matrix::t5#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$26 ] ( main:5::calculate_matrix:17 [ main::sx#6 main::sy#6 main::sz#5 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$26 ] ) [84] (signed byte~) calculate_matrix::$26 ← (signed byte~) calculate_matrix::$25 - *((const signed byte*) SINQ#0 + (signed byte) calculate_matrix::t5#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$26 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$26 ] )
[81] (signed byte~) calculate_matrix::$27 ← (signed byte~) calculate_matrix::$26 - *((const signed byte*) SINQ#0 + (signed byte) calculate_matrix::t8#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$27 ] ( main:5::calculate_matrix:17 [ main::sx#6 main::sy#6 main::sz#5 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$27 ] ) [85] (signed byte~) calculate_matrix::$27 ← (signed byte~) calculate_matrix::$26 - *((const signed byte*) SINQ#0 + (signed byte) calculate_matrix::t8#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$27 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$27 ] )
[82] (signed byte~) calculate_matrix::$28 ← (signed byte~) calculate_matrix::$27 - *((const signed byte*) SINQ#0 + (signed byte) calculate_matrix::t7#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$28 ] ( main:5::calculate_matrix:17 [ main::sx#6 main::sy#6 main::sz#5 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$28 ] ) [86] (signed byte~) calculate_matrix::$28 ← (signed byte~) calculate_matrix::$27 - *((const signed byte*) SINQ#0 + (signed byte) calculate_matrix::t7#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$28 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$28 ] )
[83] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 6) ← (signed byte~) calculate_matrix::$28 [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] ( main:5::calculate_matrix:17 [ main::sx#6 main::sy#6 main::sz#5 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] ) [87] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 6) ← (signed byte~) calculate_matrix::$28 [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] )
[84] (signed byte~) calculate_matrix::$29 ← *((const signed byte*) SINH#0 + (signed byte) calculate_matrix::t3#0) + *((const signed byte*) SINH#0 + (signed byte) calculate_matrix::t4#0) [ calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$29 ] ( main:5::calculate_matrix:17 [ main::sx#6 main::sy#6 main::sz#5 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$29 ] ) [88] (signed byte~) calculate_matrix::$29 ← *((const signed byte*) SINH#0 + (signed byte) calculate_matrix::t3#0) + *((const signed byte*) SINH#0 + (signed byte) calculate_matrix::t4#0) [ calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$29 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$29 ] )
[85] (signed byte~) calculate_matrix::$30 ← (signed byte~) calculate_matrix::$29 + *((const signed byte*) COSQ#0 + (signed byte) calculate_matrix::t6#0) [ calculate_matrix::t5#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$30 ] ( main:5::calculate_matrix:17 [ main::sx#6 main::sy#6 main::sz#5 calculate_matrix::t5#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$30 ] ) [89] (signed byte~) calculate_matrix::$30 ← (signed byte~) calculate_matrix::$29 + *((const signed byte*) COSQ#0 + (signed byte) calculate_matrix::t6#0) [ calculate_matrix::t5#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$30 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t5#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$30 ] )
[86] (signed byte~) calculate_matrix::$31 ← (signed byte~) calculate_matrix::$30 - *((const signed byte*) COSQ#0 + (signed byte) calculate_matrix::t5#0) [ calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$31 ] ( main:5::calculate_matrix:17 [ main::sx#6 main::sy#6 main::sz#5 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$31 ] ) [90] (signed byte~) calculate_matrix::$31 ← (signed byte~) calculate_matrix::$30 - *((const signed byte*) COSQ#0 + (signed byte) calculate_matrix::t5#0) [ calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$31 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$31 ] )
[87] (signed byte~) calculate_matrix::$32 ← (signed byte~) calculate_matrix::$31 + *((const signed byte*) COSQ#0 + (signed byte) calculate_matrix::t7#0) [ calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$32 ] ( main:5::calculate_matrix:17 [ main::sx#6 main::sy#6 main::sz#5 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$32 ] ) [91] (signed byte~) calculate_matrix::$32 ← (signed byte~) calculate_matrix::$31 + *((const signed byte*) COSQ#0 + (signed byte) calculate_matrix::t7#0) [ calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$32 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$32 ] )
[88] (signed byte~) calculate_matrix::$33 ← (signed byte~) calculate_matrix::$32 - *((const signed byte*) COSQ#0 + (signed byte) calculate_matrix::t8#0) [ calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$33 ] ( main:5::calculate_matrix:17 [ main::sx#6 main::sy#6 main::sz#5 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$33 ] ) [92] (signed byte~) calculate_matrix::$33 ← (signed byte~) calculate_matrix::$32 - *((const signed byte*) COSQ#0 + (signed byte) calculate_matrix::t8#0) [ calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$33 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$33 ] )
[89] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 7) ← (signed byte~) calculate_matrix::$33 [ calculate_matrix::t9#0 calculate_matrix::t10#0 ] ( main:5::calculate_matrix:17 [ main::sx#6 main::sy#6 main::sz#5 calculate_matrix::t9#0 calculate_matrix::t10#0 ] ) [93] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 7) ← (signed byte~) calculate_matrix::$33 [ calculate_matrix::t9#0 calculate_matrix::t10#0 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t9#0 calculate_matrix::t10#0 ] )
[90] (signed byte~) calculate_matrix::$34 ← *((const signed byte*) COSH#0 + (signed byte) calculate_matrix::t9#0) + *((const signed byte*) COSH#0 + (signed byte) calculate_matrix::t10#0) [ calculate_matrix::$34 ] ( main:5::calculate_matrix:17 [ main::sx#6 main::sy#6 main::sz#5 calculate_matrix::$34 ] ) [94] (signed byte~) calculate_matrix::$34 ← *((const signed byte*) COSH#0 + (signed byte) calculate_matrix::t9#0) + *((const signed byte*) COSH#0 + (signed byte) calculate_matrix::t10#0) [ calculate_matrix::$34 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::$34 ] )
[91] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 8) ← (signed byte~) calculate_matrix::$34 [ ] ( main:5::calculate_matrix:17 [ main::sx#6 main::sy#6 main::sz#5 ] ) [95] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 8) ← (signed byte~) calculate_matrix::$34 [ ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 ] )
to:calculate_matrix::@return to:calculate_matrix::@return
calculate_matrix::@return: scope:[calculate_matrix] from calculate_matrix calculate_matrix::@return: scope:[calculate_matrix] from calculate_matrix
[92] return [ ] ( main:5::calculate_matrix:17 [ main::sx#6 main::sy#6 main::sz#5 ] ) [96] return [ ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 ] )
to:@return to:@return
mulf_init: scope:[mulf_init] from main::@17 mulf_init: scope:[mulf_init] from main::@1
[93] phi() [ ] ( main:5::mulf_init:10 [ ] ) [97] phi() [ ] ( main:4::mulf_init:9 [ ] )
to:mulf_init::@1 to:mulf_init::@1
mulf_init::@1: scope:[mulf_init] from mulf_init mulf_init::@1 mulf_init::@1: scope:[mulf_init] from mulf_init mulf_init::@1
[94] (signed word) mulf_init::add#2 ← phi( mulf_init/(byte/signed byte/word/signed word/dword/signed dword) 1 mulf_init::@1/(signed word) mulf_init::add#1 ) [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 ] ( main:5::mulf_init:10 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 ] ) [98] (signed word) mulf_init::add#2 ← phi( mulf_init/(byte/signed byte/word/signed word/dword/signed dword) 1 mulf_init::@1/(signed word) mulf_init::add#1 ) [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 ] ( main:4::mulf_init:9 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 ] )
[94] (byte) mulf_init::i#2 ← phi( mulf_init/(byte/signed byte/word/signed word/dword/signed dword) 0 mulf_init::@1/(byte) mulf_init::i#1 ) [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 ] ( main:5::mulf_init:10 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 ] ) [98] (byte) mulf_init::i#2 ← phi( mulf_init/(byte/signed byte/word/signed word/dword/signed dword) 0 mulf_init::@1/(byte) mulf_init::i#1 ) [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 ] ( main:4::mulf_init:9 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 ] )
[94] (signed word) mulf_init::sqr#2 ← phi( mulf_init/(byte/signed byte/word/signed word/dword/signed dword) 0 mulf_init::@1/(signed word) mulf_init::sqr#1 ) [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 ] ( main:5::mulf_init:10 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 ] ) [98] (signed word) mulf_init::sqr#2 ← phi( mulf_init/(byte/signed byte/word/signed word/dword/signed dword) 0 mulf_init::@1/(signed word) mulf_init::sqr#1 ) [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 ] ( main:4::mulf_init:9 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 ] )
[95] (byte) mulf_init::val#0 ← > (signed word) mulf_init::sqr#2 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] ( main:5::mulf_init:10 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] ) [99] (byte) mulf_init::val#0 ← > (signed word) mulf_init::sqr#2 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] ( main:4::mulf_init:9 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] )
[96] *((const byte[512]) mulf_sqr1#0 + (byte) mulf_init::i#2) ← (byte) mulf_init::val#0 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] ( main:5::mulf_init:10 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] ) [100] *((const byte[512]) mulf_sqr1#0 + (byte) mulf_init::i#2) ← (byte) mulf_init::val#0 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] ( main:4::mulf_init:9 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] )
[97] *((const byte[512]) mulf_sqr1#0+(word/signed word/dword/signed dword) 256 + (byte) mulf_init::i#2) ← (byte) mulf_init::val#0 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] ( main:5::mulf_init:10 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] ) [101] *((const byte[512]) mulf_sqr1#0+(word/signed word/dword/signed dword) 256 + (byte) mulf_init::i#2) ← (byte) mulf_init::val#0 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] ( main:4::mulf_init:9 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] )
[98] (byte~) mulf_init::$2 ← - (byte) mulf_init::i#2 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 mulf_init::$2 ] ( main:5::mulf_init:10 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 mulf_init::$2 ] ) [102] (byte~) mulf_init::$2 ← - (byte) mulf_init::i#2 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 mulf_init::$2 ] ( main:4::mulf_init:9 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 mulf_init::$2 ] )
[99] *((const byte[512]) mulf_sqr1#0 + (byte~) mulf_init::$2) ← (byte) mulf_init::val#0 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] ( main:5::mulf_init:10 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] ) [103] *((const byte[512]) mulf_sqr1#0 + (byte~) mulf_init::$2) ← (byte) mulf_init::val#0 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] ( main:4::mulf_init:9 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] )
[100] (byte~) mulf_init::$4 ← - (byte) mulf_init::i#2 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 mulf_init::$4 ] ( main:5::mulf_init:10 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 mulf_init::$4 ] ) [104] (byte~) mulf_init::$4 ← - (byte) mulf_init::i#2 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 mulf_init::$4 ] ( main:4::mulf_init:9 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 mulf_init::$4 ] )
[101] *((const byte[512]) mulf_sqr1#0+(word/signed word/dword/signed dword) 256 + (byte~) mulf_init::$4) ← (byte) mulf_init::val#0 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] ( main:5::mulf_init:10 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] ) [105] *((const byte[512]) mulf_sqr1#0+(word/signed word/dword/signed dword) 256 + (byte~) mulf_init::$4) ← (byte) mulf_init::val#0 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] ( main:4::mulf_init:9 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] )
[102] *((const byte[512]) mulf_sqr2#0+(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) mulf_init::i#2) ← (byte) mulf_init::val#0 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] ( main:5::mulf_init:10 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] ) [106] *((const byte[512]) mulf_sqr2#0+(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) mulf_init::i#2) ← (byte) mulf_init::val#0 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] ( main:4::mulf_init:9 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] )
[103] *((const byte[512]) mulf_sqr2#0+(word/signed word/dword/signed dword) 256+(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) mulf_init::i#2) ← (byte) mulf_init::val#0 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] ( main:5::mulf_init:10 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] ) [107] *((const byte[512]) mulf_sqr2#0+(word/signed word/dword/signed dword) 256+(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) mulf_init::i#2) ← (byte) mulf_init::val#0 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] ( main:4::mulf_init:9 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] )
[104] (byte/signed word/word/dword/signed dword~) mulf_init::$8 ← (byte/signed byte/word/signed word/dword/signed dword) 1 - (byte) mulf_init::i#2 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 mulf_init::$8 ] ( main:5::mulf_init:10 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 mulf_init::$8 ] ) [108] (byte/signed word/word/dword/signed dword~) mulf_init::$8 ← (byte/signed byte/word/signed word/dword/signed dword) 1 - (byte) mulf_init::i#2 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 mulf_init::$8 ] ( main:4::mulf_init:9 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 mulf_init::$8 ] )
[105] *((const byte[512]) mulf_sqr2#0 + (byte/signed word/word/dword/signed dword~) mulf_init::$8) ← (byte) mulf_init::val#0 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] ( main:5::mulf_init:10 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] ) [109] *((const byte[512]) mulf_sqr2#0 + (byte/signed word/word/dword/signed dword~) mulf_init::$8) ← (byte) mulf_init::val#0 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] ( main:4::mulf_init:9 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] )
[106] (byte/signed word/word/dword/signed dword~) mulf_init::$10 ← (byte/signed byte/word/signed word/dword/signed dword) 1 - (byte) mulf_init::i#2 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 mulf_init::$10 ] ( main:5::mulf_init:10 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 mulf_init::$10 ] ) [110] (byte/signed word/word/dword/signed dword~) mulf_init::$10 ← (byte/signed byte/word/signed word/dword/signed dword) 1 - (byte) mulf_init::i#2 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 mulf_init::$10 ] ( main:4::mulf_init:9 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 mulf_init::$10 ] )
[107] *((const byte[512]) mulf_sqr2#0+(word/signed word/dword/signed dword) 256 + (byte/signed word/word/dword/signed dword~) mulf_init::$10) ← (byte) mulf_init::val#0 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 ] ( main:5::mulf_init:10 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 ] ) [111] *((const byte[512]) mulf_sqr2#0+(word/signed word/dword/signed dword) 256 + (byte/signed word/word/dword/signed dword~) mulf_init::$10) ← (byte) mulf_init::val#0 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 ] ( main:4::mulf_init:9 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 ] )
[108] (signed word) mulf_init::sqr#1 ← (signed word) mulf_init::sqr#2 + (signed word) mulf_init::add#2 [ mulf_init::i#2 mulf_init::add#2 mulf_init::sqr#1 ] ( main:5::mulf_init:10 [ mulf_init::i#2 mulf_init::add#2 mulf_init::sqr#1 ] ) [112] (signed word) mulf_init::sqr#1 ← (signed word) mulf_init::sqr#2 + (signed word) mulf_init::add#2 [ mulf_init::i#2 mulf_init::add#2 mulf_init::sqr#1 ] ( main:4::mulf_init:9 [ mulf_init::i#2 mulf_init::add#2 mulf_init::sqr#1 ] )
[109] (signed word) mulf_init::add#1 ← (signed word) mulf_init::add#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ mulf_init::i#2 mulf_init::sqr#1 mulf_init::add#1 ] ( main:5::mulf_init:10 [ mulf_init::i#2 mulf_init::sqr#1 mulf_init::add#1 ] ) [113] (signed word) mulf_init::add#1 ← (signed word) mulf_init::add#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ mulf_init::i#2 mulf_init::sqr#1 mulf_init::add#1 ] ( main:4::mulf_init:9 [ mulf_init::i#2 mulf_init::sqr#1 mulf_init::add#1 ] )
[110] (byte) mulf_init::i#1 ← ++ (byte) mulf_init::i#2 [ mulf_init::sqr#1 mulf_init::i#1 mulf_init::add#1 ] ( main:5::mulf_init:10 [ mulf_init::sqr#1 mulf_init::i#1 mulf_init::add#1 ] ) [114] (byte) mulf_init::i#1 ← ++ (byte) mulf_init::i#2 [ mulf_init::sqr#1 mulf_init::i#1 mulf_init::add#1 ] ( main:4::mulf_init:9 [ mulf_init::sqr#1 mulf_init::i#1 mulf_init::add#1 ] )
[111] if((byte) mulf_init::i#1!=(byte/word/signed word/dword/signed dword) 129) goto mulf_init::@1 [ mulf_init::sqr#1 mulf_init::i#1 mulf_init::add#1 ] ( main:5::mulf_init:10 [ mulf_init::sqr#1 mulf_init::i#1 mulf_init::add#1 ] ) [115] if((byte) mulf_init::i#1!=(byte/word/signed word/dword/signed dword) 129) goto mulf_init::@1 [ mulf_init::sqr#1 mulf_init::i#1 mulf_init::add#1 ] ( main:4::mulf_init:9 [ mulf_init::sqr#1 mulf_init::i#1 mulf_init::add#1 ] )
to:mulf_init::@return to:mulf_init::@return
mulf_init::@return: scope:[mulf_init] from mulf_init::@1 mulf_init::@return: scope:[mulf_init] from mulf_init::@1
[112] return [ ] ( main:5::mulf_init:10 [ ] ) [116] return [ ] ( main:4::mulf_init:9 [ ] )
to:@return to:@return
sprites_init: scope:[sprites_init] from main sprites_init: scope:[sprites_init] from main
[113] *((const byte*) SPRITES_ENABLE#0) ← (byte/word/signed word/dword/signed dword) 255 [ ] ( main:5::sprites_init:8 [ ] ) [117] *((const byte*) SPRITES_ENABLE#0) ← (byte/word/signed word/dword/signed dword) 255 [ ] ( main:4::sprites_init:7 [ ] )
to:sprites_init::@1 to:sprites_init::@1
sprites_init::@1: scope:[sprites_init] from sprites_init sprites_init::@1 sprites_init::@1: scope:[sprites_init] from sprites_init sprites_init::@1
[114] (byte) sprites_init::i#2 ← phi( sprites_init/(byte/signed byte/word/signed word/dword/signed dword) 0 sprites_init::@1/(byte) sprites_init::i#1 ) [ sprites_init::i#2 ] ( main:5::sprites_init:8 [ sprites_init::i#2 ] ) [118] (byte) sprites_init::i#2 ← phi( sprites_init/(byte/signed byte/word/signed word/dword/signed dword) 0 sprites_init::@1/(byte) sprites_init::i#1 ) [ sprites_init::i#2 ] ( main:4::sprites_init:7 [ sprites_init::i#2 ] )
[115] *((const byte*) sprites_init::sprites_ptr#0 + (byte) sprites_init::i#2) ← ((byte))(const byte*) SPRITE#0/(byte/signed byte/word/signed word/dword/signed dword) 64 [ sprites_init::i#2 ] ( main:5::sprites_init:8 [ sprites_init::i#2 ] ) [119] *((const byte*) sprites_init::sprites_ptr#0 + (byte) sprites_init::i#2) ← ((byte))(const byte*) SPRITE#0/(byte/signed byte/word/signed word/dword/signed dword) 64 [ sprites_init::i#2 ] ( main:4::sprites_init:7 [ sprites_init::i#2 ] )
[116] *((const byte*) SPRITES_COLS#0 + (byte) sprites_init::i#2) ← (const byte) GREEN#0 [ sprites_init::i#2 ] ( main:5::sprites_init:8 [ sprites_init::i#2 ] ) [120] *((const byte*) SPRITES_COLS#0 + (byte) sprites_init::i#2) ← (const byte) GREEN#0 [ sprites_init::i#2 ] ( main:4::sprites_init:7 [ sprites_init::i#2 ] )
[117] (byte) sprites_init::i#1 ← ++ (byte) sprites_init::i#2 [ sprites_init::i#1 ] ( main:5::sprites_init:8 [ sprites_init::i#1 ] ) [121] (byte) sprites_init::i#1 ← ++ (byte) sprites_init::i#2 [ sprites_init::i#1 ] ( main:4::sprites_init:7 [ sprites_init::i#1 ] )
[118] if((byte) sprites_init::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto sprites_init::@1 [ sprites_init::i#1 ] ( main:5::sprites_init:8 [ sprites_init::i#1 ] ) [122] if((byte) sprites_init::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto sprites_init::@1 [ sprites_init::i#1 ] ( main:4::sprites_init:7 [ sprites_init::i#1 ] )
to:sprites_init::@return to:sprites_init::@return
sprites_init::@return: scope:[sprites_init] from sprites_init::@1 sprites_init::@return: scope:[sprites_init] from sprites_init::@1
[119] return [ ] ( main:5::sprites_init:8 [ ] ) [123] return [ ] ( main:4::sprites_init:7 [ ] )
to:@return to:@return

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,4 @@
(label) @3 (label) @10
(label) @9
(label) @begin (label) @begin
(label) @end (label) @end
(byte*) BORDERCOL (byte*) BORDERCOL
@ -14,8 +13,6 @@
(const byte) LIGHT_BLUE#0 LIGHT_BLUE = (byte/signed byte/word/signed word/dword/signed dword) 14 (const byte) LIGHT_BLUE#0 LIGHT_BLUE = (byte/signed byte/word/signed word/dword/signed dword) 14
(byte*) RASTER (byte*) RASTER
(const byte*) RASTER#0 RASTER = ((byte*))(word/dword/signed dword) 53266 (const byte*) RASTER#0 RASTER = ((byte*))(word/dword/signed dword) 53266
(byte*) SCREEN
(const byte*) SCREEN#0 SCREEN = ((byte*))(word/signed word/dword/signed dword) 1024
(signed byte*) SINH (signed byte*) SINH
(const signed byte*) SINH#0 SINH = (const signed byte*) COSH#0+(byte/signed byte/word/signed word/dword/signed dword) 64 (const signed byte*) SINH#0 SINH = (const signed byte*) COSH#0+(byte/signed byte/word/signed word/dword/signed dword) 64
(signed byte*) SINQ (signed byte*) SINQ
@ -30,6 +27,36 @@
(const byte*) SPRITES_XPOS#0 SPRITES_XPOS = ((byte*))(word/dword/signed dword) 53248 (const byte*) SPRITES_XPOS#0 SPRITES_XPOS = ((byte*))(word/dword/signed dword) 53248
(byte*) SPRITES_YPOS (byte*) SPRITES_YPOS
(const byte*) SPRITES_YPOS#0 SPRITES_YPOS = ((byte*))(word/dword/signed dword) 53249 (const byte*) SPRITES_YPOS#0 SPRITES_YPOS = ((byte*))(word/dword/signed dword) 53249
(void()) anim()
(byte/word/signed word/dword/signed dword~) anim::$10 reg byte a 202.0
(byte~) anim::$12 reg byte a 22.0
(signed byte~) anim::$5 reg byte a 101.0
(byte/word/signed word/dword/signed dword~) anim::$7 reg byte a 202.0
(signed byte~) anim::$8 reg byte a 101.0
(label) anim::@1
(label) anim::@14
(label) anim::@15
(label) anim::@17
(label) anim::@19
(label) anim::@4
(label) anim::@6
(label) anim::@7
(label) anim::@8
(byte) anim::i
(byte) anim::i#1 i zp ZP_BYTE:5 151.5
(byte) anim::i#2 i zp ZP_BYTE:5 46.61538461538461
(byte) anim::i2
(byte) anim::i2#0 reg byte x 50.5
(signed byte) anim::sx
(signed byte) anim::sx#1 sx zp ZP_BYTE:2 22.0
(signed byte) anim::sx#11 sx zp ZP_BYTE:2 16.5
(signed byte) anim::sx#6 sx zp ZP_BYTE:2 1.5714285714285714
(signed byte) anim::sy
(signed byte) anim::sy#1 sy zp ZP_BYTE:3 5.5
(signed byte) anim::sy#6 sy zp ZP_BYTE:3 1.32
(signed byte) anim::sz
(signed byte) anim::sz#1 sz zp ZP_BYTE:4 3.142857142857143
(signed byte) anim::sz#6 sz zp ZP_BYTE:4 1.375
(void()) calculate_matrix((signed byte) calculate_matrix::sx , (signed byte) calculate_matrix::sy , (signed byte) calculate_matrix::sz) (void()) calculate_matrix((signed byte) calculate_matrix::sx , (signed byte) calculate_matrix::sy , (signed byte) calculate_matrix::sz)
(signed byte~) calculate_matrix::$10 reg byte a 4.0 (signed byte~) calculate_matrix::$10 reg byte a 4.0
(signed byte~) calculate_matrix::$11 reg byte a 4.0 (signed byte~) calculate_matrix::$11 reg byte a 4.0
@ -84,37 +111,9 @@
(signed byte) calculate_matrix::t9 (signed byte) calculate_matrix::t9
(signed byte) calculate_matrix::t9#0 t9 zp ZP_BYTE:17 0.1764705882352941 (signed byte) calculate_matrix::t9#0 t9 zp ZP_BYTE:17 0.1764705882352941
(void()) main() (void()) main()
(signed byte~) main::$10 reg byte a 101.0
(byte/word/signed word/dword/signed dword~) main::$12 reg byte a 202.0
(signed byte~) main::$13 reg byte a 101.0
(byte/word/signed word/dword/signed dword~) main::$15 reg byte a 202.0
(byte~) main::$5 reg byte a 22.0
(label) main::@1 (label) main::@1
(label) main::@14 (label) main::@2
(label) main::@15 (label) main::@return
(label) main::@17
(label) main::@19
(label) main::@20
(label) main::@21
(label) main::@4
(label) main::@6
(label) main::@7
(label) main::@8
(byte) main::i
(byte) main::i#1 i zp ZP_BYTE:5 151.5
(byte) main::i#2 i zp ZP_BYTE:5 46.61538461538461
(byte) main::i2
(byte) main::i2#0 reg byte x 50.5
(signed byte) main::sx
(signed byte) main::sx#1 sx zp ZP_BYTE:2 22.0
(signed byte) main::sx#13 sx zp ZP_BYTE:2 1.9411764705882355
(signed byte) main::sx#6 sx zp ZP_BYTE:2 3.6666666666666665
(signed byte) main::sy
(signed byte) main::sy#1 sy zp ZP_BYTE:3 1.4347826086956523
(signed byte) main::sy#6 sy zp ZP_BYTE:3 4.714285714285714
(signed byte) main::sz
(signed byte) main::sz#1 sz zp ZP_BYTE:4 1.0
(signed byte) main::sz#5 sz zp ZP_BYTE:4 4.125
(void()) mulf_init() (void()) mulf_init()
(byte/signed word/word/dword/signed dword~) mulf_init::$10 reg byte a 22.0 (byte/signed word/word/dword/signed dword~) mulf_init::$10 reg byte a 22.0
(byte~) mulf_init::$2 reg byte a 22.0 (byte~) mulf_init::$2 reg byte a 22.0
@ -150,11 +149,13 @@
(void()) sprites_init() (void()) sprites_init()
(label) sprites_init::@1 (label) sprites_init::@1
(label) sprites_init::@return (label) sprites_init::@return
(byte*) sprites_init::SCREEN
(const byte*) sprites_init::SCREEN#0 SCREEN = ((byte*))(word/signed word/dword/signed dword) 1024
(byte) sprites_init::i (byte) sprites_init::i
(byte) sprites_init::i#1 reg byte x 16.5 (byte) sprites_init::i#1 reg byte x 16.5
(byte) sprites_init::i#2 reg byte x 14.666666666666666 (byte) sprites_init::i#2 reg byte x 14.666666666666666
(byte*) sprites_init::sprites_ptr (byte*) sprites_init::sprites_ptr
(const byte*) sprites_init::sprites_ptr#0 sprites_ptr = (const byte*) SCREEN#0+(word/signed word/dword/signed dword) 1016 (const byte*) sprites_init::sprites_ptr#0 sprites_ptr = (const byte*) sprites_init::SCREEN#0+(word/signed word/dword/signed dword) 1016
(void()) store_matrix() (void()) store_matrix()
(label) store_matrix::@return (label) store_matrix::@return
(signed byte*) xr (signed byte*) xr
@ -170,25 +171,25 @@
(signed byte[8]) zs (signed byte[8]) zs
(const signed byte[8]) zs#0 zs = { -(byte/signed byte/word/signed word/dword/signed dword) 63, (byte/signed byte/word/signed word/dword/signed dword) 63, -(byte/signed byte/word/signed word/dword/signed dword) 63, (byte/signed byte/word/signed word/dword/signed dword) 63, -(byte/signed byte/word/signed word/dword/signed dword) 63, (byte/signed byte/word/signed word/dword/signed dword) 63, -(byte/signed byte/word/signed word/dword/signed dword) 63, (byte/signed byte/word/signed word/dword/signed dword) 63 } (const signed byte[8]) zs#0 zs = { -(byte/signed byte/word/signed word/dword/signed dword) 63, (byte/signed byte/word/signed word/dword/signed dword) 63, -(byte/signed byte/word/signed word/dword/signed dword) 63, (byte/signed byte/word/signed word/dword/signed dword) 63, -(byte/signed byte/word/signed word/dword/signed dword) 63, (byte/signed byte/word/signed word/dword/signed dword) 63, -(byte/signed byte/word/signed word/dword/signed dword) 63, (byte/signed byte/word/signed word/dword/signed dword) 63 }
zp ZP_BYTE:2 [ main::sx#6 main::sx#13 main::sx#1 mulf_init::val#0 ] zp ZP_BYTE:2 [ anim::sx#6 anim::sx#11 anim::sx#1 mulf_init::val#0 ]
zp ZP_BYTE:3 [ main::sy#6 main::sy#1 calculate_matrix::sy#0 ] zp ZP_BYTE:3 [ anim::sy#6 anim::sy#1 calculate_matrix::sy#0 ]
zp ZP_BYTE:4 [ main::sz#5 main::sz#1 ] zp ZP_BYTE:4 [ anim::sz#6 anim::sz#1 ]
zp ZP_BYTE:5 [ main::i#2 main::i#1 calculate_matrix::t1#0 ] zp ZP_BYTE:5 [ anim::i#2 anim::i#1 calculate_matrix::t1#0 ]
zp ZP_WORD:6 [ mulf_init::sqr#2 mulf_init::sqr#1 ] zp ZP_WORD:6 [ mulf_init::sqr#2 mulf_init::sqr#1 ]
reg byte x [ mulf_init::i#2 mulf_init::i#1 ] reg byte x [ mulf_init::i#2 mulf_init::i#1 ]
zp ZP_WORD:8 [ mulf_init::add#2 mulf_init::add#1 ] zp ZP_WORD:8 [ mulf_init::add#2 mulf_init::add#1 ]
reg byte x [ sprites_init::i#2 sprites_init::i#1 ] reg byte x [ sprites_init::i#2 sprites_init::i#1 ]
reg byte y [ calculate_matrix::sx#0 ] reg byte y [ calculate_matrix::sx#0 ]
reg byte x [ calculate_matrix::sz#0 ] reg byte x [ calculate_matrix::sz#0 ]
reg byte a [ main::$5 ]
zp ZP_BYTE:10 [ rotate_matrix::x#0 calculate_matrix::t2#0 ] zp ZP_BYTE:10 [ rotate_matrix::x#0 calculate_matrix::t2#0 ]
reg byte y [ rotate_matrix::y#0 ] reg byte y [ rotate_matrix::y#0 ]
reg byte x [ rotate_matrix::z#0 ] reg byte x [ rotate_matrix::z#0 ]
reg byte x [ main::i2#0 ] reg byte x [ anim::i2#0 ]
reg byte a [ main::$10 ] reg byte a [ anim::$5 ]
reg byte a [ main::$12 ] reg byte a [ anim::$7 ]
reg byte a [ main::$13 ] reg byte a [ anim::$8 ]
reg byte a [ main::$15 ] reg byte a [ anim::$10 ]
reg byte a [ anim::$12 ]
zp ZP_BYTE:11 [ calculate_matrix::t3#0 ] zp ZP_BYTE:11 [ calculate_matrix::t3#0 ]
zp ZP_BYTE:12 [ calculate_matrix::t4#0 ] zp ZP_BYTE:12 [ calculate_matrix::t4#0 ]
zp ZP_BYTE:13 [ calculate_matrix::t5#0 ] zp ZP_BYTE:13 [ calculate_matrix::t5#0 ]