1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-12-28 01:29:44 +00:00

Improved readability.

This commit is contained in:
jespergravgaard 2018-10-21 20:00:53 +02:00
parent 467f5bcbb8
commit 4d031a82f1
6 changed files with 2541 additions and 2550 deletions

View File

@ -0,0 +1,4 @@
cmp #$80
ror
cmp #$80
ror

View File

@ -47,30 +47,6 @@ kickasm(pc COSQ) {{
}
}}
// mulf_sqr tables will contain f(x)=int(x*x/2) and g(x) = f(1-x).
// f(x) = >(( x * x )/2)
byte[512] align($100) mulf_sqr1;
// g(x) = >((( 1 - x ) * ( 1 - x ))/2)
byte[512] align($100) mulf_sqr2;
// Initialize the mulf_sqr multiplication tables with f(x)=int(x*x/2) and g(x) = f(1-x)
void mulf_init() {
signed word sqr1 = 0;
signed word add = 1;
for( byte i:0..128) {
mulf_sqr1[i] = >sqr1;
(mulf_sqr1+$100)[i] = >sqr1;
mulf_sqr1[-i] = >sqr1;
(mulf_sqr1+$100)[-i] = >sqr1;
mulf_sqr2[i+1] = >sqr1;
(mulf_sqr2+$100)[i+1] = >sqr1;
mulf_sqr2[1-i] = >sqr1;
(mulf_sqr2+$100)[1-i] = >sqr1;
sqr1 += add;
add +=2;
}
}
// Initialize sprites
void sprites_init() {
*SPRITES_ENABLE = %11111111;
@ -101,11 +77,12 @@ void main() {
while(true) {
while(*RASTER!=$ff) {}
(*BORDERCOL)++;
prepare_matrix(sx,sy--,sz++);
calculate_matrix(sx,sy--,sz++);
store_matrix();
if((sy&1)==0) sx++;
for(byte i: 0..7) {
(*BORDERCOL)++;
rotate(xs[i], ys[i], zs[i]);
rotate_matrix(xs[i], ys[i], zs[i]);
byte i2 = i<<1;
SPRITES_XPOS[i2] = $80+(byte)(*xr>>1);
SPRITES_YPOS[i2] = $80+(byte)(*yr>>1);
@ -117,10 +94,10 @@ void main() {
// The rotation matrix
signed byte[9] rotation_matrix;
// Prepare the rotation matrix [ [A,B,C],[D,E,F],[G,H,I]]
// Prepare the 3x3 rotation matrix into rotation_matrix[]
// Angles sx, sy, sz are based on 2*PI=$100
// Method described in C= Hacking Magazine Issue 8. http://www.ffd2.com/fridge/chacking/c=hacking8.txt
void prepare_matrix(signed byte sx, signed byte sy, signed byte sz) {
void calculate_matrix(signed byte sx, signed byte sy, signed byte sz) {
signed byte t1 = sy-sz;
signed byte t2 = sy+sz;
signed byte t3 = sx+sz;
@ -140,52 +117,57 @@ void prepare_matrix(signed byte sx, signed byte sy, signed byte sz) {
rotation_matrix[6] = COSH[t4]-COSH[t3] + SINQ[t6]-SINQ[t5]-SINQ[t8]-SINQ[t7];
rotation_matrix[7] = SINH[t3]+SINH[t4] + COSQ[t6]-COSQ[t5]+COSQ[t7]-COSQ[t8];
rotation_matrix[8] = COSH[t9]+COSH[t10];
asm {
lda rotation_matrix+0
sta rotate.A1+1
eor #$ff
sta rotate.A2+1
lda rotation_matrix+1
sta rotate.B1+1
eor #$ff
sta rotate.B2+1
lda rotation_matrix+2
sta rotate.C1+1
eor #$ff
sta rotate.C2+1
lda rotation_matrix+3
sta rotate.D1+1
eor #$ff
sta rotate.D2+1
lda rotation_matrix+4
sta rotate.E1+1
eor #$ff
sta rotate.E2+1
lda rotation_matrix+5
sta rotate.F1+1
eor #$ff
sta rotate.F2+1
lda rotation_matrix+6
sta rotate.G1+1
eor #$ff
sta rotate.G2+1
lda rotation_matrix+7
sta rotate.H1+1
eor #$ff
sta rotate.H2+1
lda rotation_matrix+8
sta rotate.I1+1
eor #$ff
sta rotate.I2+1
}
}
// Store the rotation matrix into the rotation routine rotate()
// After this each call to rotate() will rotate a point with the matrix
// Implemented in assembler to utilize seriously fast multiplication
void store_matrix() {
asm {
lda rotation_matrix+0
sta rotate_matrix.A1+1
eor #$ff
sta rotate_matrix.A2+1
lda rotation_matrix+1
sta rotate_matrix.B1+1
eor #$ff
sta rotate_matrix.B2+1
lda rotation_matrix+2
sta rotate_matrix.C1+1
eor #$ff
sta rotate_matrix.C2+1
lda rotation_matrix+3
sta rotate_matrix.D1+1
eor #$ff
sta rotate_matrix.D2+1
lda rotation_matrix+4
sta rotate_matrix.E1+1
eor #$ff
sta rotate_matrix.E2+1
lda rotation_matrix+5
sta rotate_matrix.F1+1
eor #$ff
sta rotate_matrix.F2+1
lda rotation_matrix+6
sta rotate_matrix.G1+1
eor #$ff
sta rotate_matrix.G2+1
lda rotation_matrix+7
sta rotate_matrix.H1+1
eor #$ff
sta rotate_matrix.H2+1
lda rotation_matrix+8
sta rotate_matrix.I1+1
eor #$ff
sta rotate_matrix.I2+1
}
}
// Rotate a 3D point (x,y,z) using the rotation matrix
// The rotation matrix is prepared by calling prepare_matrix()
// The passed points must be in the interval [-$3f;$3f].
// Implemented in assembler to utilize seriously fast multiplication
void rotate(signed byte x, signed byte y, signed byte z) {
void rotate_matrix(signed byte x, signed byte y, signed byte z) {
*xr = x;
*yr = y;
*zr = z;
@ -193,18 +175,15 @@ void rotate(signed byte x, signed byte y, signed byte z) {
clc
ldx zr //z
// C*z
lda #$0
C1: adc mulf_sqr1,x
C1: lda mulf_sqr1,x
C2: sbc mulf_sqr2,x
sta C3+1
// F*z
lda #0
F1: adc mulf_sqr1,x
F1: lda mulf_sqr1,x
F2: sbc mulf_sqr2,x
sta F3+1
// I*z
lda #0
I1: adc mulf_sqr1,x
I1: lda mulf_sqr1,x
I2: sbc mulf_sqr2,x
sta I3+1
ldx xr //x
@ -230,3 +209,38 @@ void rotate(signed byte x, signed byte y, signed byte z) {
}
}
// Multiplication tables for seriously fast multiplication.
// This version is optimized for speed over accuracy
// - It can multiply signed numbers with no extra code - but only for numbers in [-$3f;$3f]
// - It throws away the low part of the 32-bit result
// - It return >a*b*4 to maximize precision (when passed maximal input values $3f*$3f the result is $3e)
// See the following for information about the method
// - http://codebase64.org/doku.php?id=base:seriously_fast_multiplication
// - http://codebase64.org/doku.php?id=magazines:chacking16
// mulf_sqr tables will contain f(x)=int(x*x) and g(x) = f(1-x).
// f(x) = >(( x * x ))
byte[512] align($100) mulf_sqr1;
// g(x) = >((( 1 - x ) * ( 1 - x )))
byte[512] align($100) mulf_sqr2;
// Initialize the mulf_sqr multiplication tables with f(x)=int(x*x) and g(x) = f(1-x)
void mulf_init() {
signed word sqr = 0;
signed word add = 1;
for( byte i:0..128) {
byte val = >sqr;
mulf_sqr1[i] = val;
(mulf_sqr1+$100)[i] = val;
mulf_sqr1[-i] = val;
(mulf_sqr1+$100)[-i] = val;
mulf_sqr2[i+1] = val;
(mulf_sqr2+$100)[i+1] = val;
mulf_sqr2[1-i] = val;
(mulf_sqr2+$100)[1-i] = val;
sqr += add;
add +=2;
}
}

View File

@ -38,9 +38,10 @@ main: {
inc BORDERCOL
ldy sx
ldx sz
jsr prepare_matrix
jsr calculate_matrix
dec sy
inc sz
jsr store_matrix
lda sy
and #1
cmp #0
@ -53,12 +54,12 @@ main: {
inc BORDERCOL
ldy i
lda xs,y
sta rotate.x
sta rotate_matrix.x
ldx i
ldy ys,x
lda zs,x
tax
jsr rotate
jsr rotate_matrix
lda i
asl
tax
@ -82,7 +83,7 @@ main: {
sta BORDERCOL
jmp b4
}
rotate: {
rotate_matrix: {
.label x = $a
lda x
sta xr
@ -92,21 +93,18 @@ rotate: {
sta zr
clc
tax
lda #0
C1:
adc mulf_sqr1,x
lda mulf_sqr1,x
C2:
sbc mulf_sqr2,x
sta C3+1
lda #0
F1:
adc mulf_sqr1,x
lda mulf_sqr1,x
F2:
sbc mulf_sqr2,x
sta F3+1
lda #0
I1:
adc mulf_sqr1,x
lda mulf_sqr1,x
I2:
sbc mulf_sqr2,x
sta I3+1
@ -147,7 +145,46 @@ rotate: {
sta zr
rts
}
prepare_matrix: {
store_matrix: {
lda rotation_matrix+0
sta rotate_matrix.A1+1
eor #$ff
sta rotate_matrix.A2+1
lda rotation_matrix+1
sta rotate_matrix.B1+1
eor #$ff
sta rotate_matrix.B2+1
lda rotation_matrix+2
sta rotate_matrix.C1+1
eor #$ff
sta rotate_matrix.C2+1
lda rotation_matrix+3
sta rotate_matrix.D1+1
eor #$ff
sta rotate_matrix.D2+1
lda rotation_matrix+4
sta rotate_matrix.E1+1
eor #$ff
sta rotate_matrix.E2+1
lda rotation_matrix+5
sta rotate_matrix.F1+1
eor #$ff
sta rotate_matrix.F2+1
lda rotation_matrix+6
sta rotate_matrix.G1+1
eor #$ff
sta rotate_matrix.G2+1
lda rotation_matrix+7
sta rotate_matrix.H1+1
eor #$ff
sta rotate_matrix.H2+1
lda rotation_matrix+8
sta rotate_matrix.I1+1
eor #$ff
sta rotate_matrix.I2+1
rts
}
calculate_matrix: {
.label sy = 3
.label t1 = 5
.label t2 = $a
@ -302,56 +339,22 @@ prepare_matrix: {
lda COSH,x
adc COSH,y
sta rotation_matrix+8
lda rotation_matrix+0
sta rotate.A1+1
eor #$ff
sta rotate.A2+1
lda rotation_matrix+1
sta rotate.B1+1
eor #$ff
sta rotate.B2+1
lda rotation_matrix+2
sta rotate.C1+1
eor #$ff
sta rotate.C2+1
lda rotation_matrix+3
sta rotate.D1+1
eor #$ff
sta rotate.D2+1
lda rotation_matrix+4
sta rotate.E1+1
eor #$ff
sta rotate.E2+1
lda rotation_matrix+5
sta rotate.F1+1
eor #$ff
sta rotate.F2+1
lda rotation_matrix+6
sta rotate.G1+1
eor #$ff
sta rotate.G2+1
lda rotation_matrix+7
sta rotate.H1+1
eor #$ff
sta rotate.H2+1
lda rotation_matrix+8
sta rotate.I1+1
eor #$ff
sta rotate.I2+1
rts
}
mulf_init: {
.label sqr1 = 6
.label val = 2
.label sqr = 6
.label add = 8
lda #<1
sta add
lda #>1
sta add+1
tax
sta sqr1
sta sqr1+1
sta sqr
sta sqr+1
b1:
lda sqr1+1
lda sqr+1
sta val
sta mulf_sqr1,x
sta mulf_sqr1+$100,x
txa
@ -359,14 +362,14 @@ mulf_init: {
clc
adc #1
tay
lda sqr1+1
lda val
sta mulf_sqr1,y
txa
eor #$ff
clc
adc #1
tay
lda sqr1+1
lda val
sta mulf_sqr1+$100,y
sta mulf_sqr2+1,x
sta mulf_sqr2+$100+1,x
@ -375,22 +378,22 @@ mulf_init: {
clc
adc #1+1
tay
lda sqr1+1
lda val
sta mulf_sqr2,y
txa
eor #$ff
clc
adc #1+1
tay
lda sqr1+1
lda val
sta mulf_sqr2+$100,y
lda sqr1
lda sqr
clc
adc add
sta sqr1
lda sqr1+1
sta sqr
lda sqr+1
adc add+1
sta sqr1+1
sta sqr+1
lda add
clc
adc #2
@ -418,11 +421,11 @@ sprites_init: {
bne b1
rts
}
rotation_matrix: .fill 9, 0
.align $100
mulf_sqr1: .fill $200, 0
.align $100
mulf_sqr2: .fill $200, 0
rotation_matrix: .fill 9, 0
xs: .byte -$3f, -$3f, -$3f, -$3f, $3f, $3f, $3f, $3f
ys: .byte -$3f, -$3f, $3f, $3f, -$3f, -$3f, $3f, $3f
zs: .byte -$3f, $3f, -$3f, $3f, -$3f, $3f, -$3f, $3f

View File

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

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
(label) @3
(label) @8
(label) @9
(label) @begin
(label) @end
(byte*) BORDERCOL
@ -30,18 +30,72 @@
(const byte*) SPRITES_XPOS#0 SPRITES_XPOS = ((byte*))(word/dword/signed dword) 53248
(byte*) SPRITES_YPOS
(const byte*) SPRITES_YPOS#0 SPRITES_YPOS = ((byte*))(word/dword/signed dword) 53249
(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::$11 reg byte a 4.0
(signed byte~) calculate_matrix::$12 reg byte a 4.0
(signed byte~) calculate_matrix::$13 reg byte a 4.0
(signed byte~) calculate_matrix::$14 reg byte a 4.0
(signed byte~) calculate_matrix::$15 reg byte a 4.0
(signed byte~) calculate_matrix::$16 reg byte a 4.0
(signed byte~) calculate_matrix::$17 reg byte a 4.0
(signed byte~) calculate_matrix::$18 reg byte a 4.0
(signed byte~) calculate_matrix::$19 reg byte a 4.0
(signed byte~) calculate_matrix::$20 reg byte a 4.0
(signed byte~) calculate_matrix::$21 reg byte a 4.0
(signed byte~) calculate_matrix::$22 reg byte a 4.0
(signed byte~) calculate_matrix::$23 reg byte a 4.0
(signed byte~) calculate_matrix::$24 reg byte a 4.0
(signed byte~) calculate_matrix::$25 reg byte a 4.0
(signed byte~) calculate_matrix::$26 reg byte a 4.0
(signed byte~) calculate_matrix::$27 reg byte a 4.0
(signed byte~) calculate_matrix::$28 reg byte a 4.0
(signed byte~) calculate_matrix::$29 reg byte a 4.0
(signed byte~) calculate_matrix::$30 reg byte a 4.0
(signed byte~) calculate_matrix::$31 reg byte a 4.0
(signed byte~) calculate_matrix::$32 reg byte a 4.0
(signed byte~) calculate_matrix::$33 reg byte a 4.0
(signed byte~) calculate_matrix::$34 reg byte a 4.0
(label) calculate_matrix::@return
(signed byte) calculate_matrix::sx
(signed byte) calculate_matrix::sx#0 reg byte y 2.25
(signed byte) calculate_matrix::sy
(signed byte) calculate_matrix::sy#0 sy zp ZP_BYTE:3 1.4375
(signed byte) calculate_matrix::sz
(signed byte) calculate_matrix::sz#0 reg byte x 4.75
(signed byte) calculate_matrix::t1
(signed byte) calculate_matrix::t1#0 t1 zp ZP_BYTE:5 0.8333333333333333
(signed byte) calculate_matrix::t10
(signed byte) calculate_matrix::t10#0 t10 zp ZP_BYTE:18 0.18181818181818182
(signed byte) calculate_matrix::t2
(signed byte) calculate_matrix::t2#0 t2 zp ZP_BYTE:10 0.9090909090909092
(signed byte) calculate_matrix::t3
(signed byte) calculate_matrix::t3#0 t3 zp ZP_BYTE:11 0.29411764705882354
(signed byte) calculate_matrix::t4
(signed byte) calculate_matrix::t4#0 t4 zp ZP_BYTE:12 0.30303030303030304
(signed byte) calculate_matrix::t5
(signed byte) calculate_matrix::t5#0 t5 zp ZP_BYTE:13 0.29411764705882354
(signed byte) calculate_matrix::t6
(signed byte) calculate_matrix::t6#0 t6 zp ZP_BYTE:14 0.3125
(signed byte) calculate_matrix::t7
(signed byte) calculate_matrix::t7#0 t7 zp ZP_BYTE:15 0.30303030303030304
(signed byte) calculate_matrix::t8
(signed byte) calculate_matrix::t8#0 t8 zp ZP_BYTE:16 0.30303030303030304
(signed byte) calculate_matrix::t9
(signed byte) calculate_matrix::t9#0 t9 zp ZP_BYTE:17 0.1764705882352941
(void()) main()
(byte/word/signed word/dword/signed dword~) main::$11 reg byte a 202.0
(signed byte~) main::$12 reg byte a 101.0
(byte/word/signed word/dword/signed dword~) main::$14 reg byte a 202.0
(byte~) main::$4 reg byte a 22.0
(signed byte~) main::$9 reg byte a 101.0
(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::@14
(label) main::@15
(label) main::@17
(label) main::@19
(label) main::@20
(label) main::@21
(label) main::@4
(label) main::@6
(label) main::@7
@ -53,103 +107,44 @@
(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#12 sx zp ZP_BYTE:2 1.9411764705882355
(signed byte) main::sx#6 sx zp ZP_BYTE:2 4.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.5
(signed byte) main::sy#5 sy zp ZP_BYTE:3 4.714285714285714
(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.0476190476190477
(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()
(byte~) mulf_init::$0 reg byte a 22.0
(byte~) mulf_init::$12 reg byte a 22.0
(byte/signed word/word/dword/signed dword~) mulf_init::$13 reg byte y 11.0
(byte~) mulf_init::$14 reg byte a 22.0
(byte/signed word/word/dword/signed dword~) mulf_init::$16 reg byte y 11.0
(byte~) mulf_init::$17 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::$3 reg byte y 11.0
(byte~) mulf_init::$4 reg byte a 22.0
(byte~) mulf_init::$6 reg byte y 11.0
(byte~) mulf_init::$7 reg byte a 22.0
(byte~) mulf_init::$9 reg byte a 22.0
(byte/signed word/word/dword/signed dword~) mulf_init::$8 reg byte a 22.0
(label) mulf_init::@1
(label) mulf_init::@return
(signed word) mulf_init::add
(signed word) mulf_init::add#1 add zp ZP_WORD:8 7.333333333333333
(signed word) mulf_init::add#2 add zp ZP_WORD:8 1.5
(signed word) mulf_init::add#2 add zp ZP_WORD:8 2.1999999999999997
(byte) mulf_init::i
(byte) mulf_init::i#1 reg byte x 16.5
(byte) mulf_init::i#2 reg byte x 4.782608695652174
(signed word) mulf_init::sqr1
(signed word) mulf_init::sqr1#1 sqr1 zp ZP_WORD:6 5.5
(signed word) mulf_init::sqr1#2 sqr1 zp ZP_WORD:6 5.238095238095238
(byte) mulf_init::i#2 reg byte x 6.875
(signed word) mulf_init::sqr
(signed word) mulf_init::sqr#1 sqr zp ZP_WORD:6 5.5
(signed word) mulf_init::sqr#2 sqr zp ZP_WORD:6 2.357142857142857
(byte) mulf_init::val
(byte) mulf_init::val#0 val zp ZP_BYTE:2 8.25
(byte[512]) mulf_sqr1
(const byte[512]) mulf_sqr1#0 mulf_sqr1 = { fill( 512, 0) }
(byte[512]) mulf_sqr2
(const byte[512]) mulf_sqr2#0 mulf_sqr2 = { fill( 512, 0) }
(void()) prepare_matrix((signed byte) prepare_matrix::sx , (signed byte) prepare_matrix::sy , (signed byte) prepare_matrix::sz)
(signed byte~) prepare_matrix::$10 reg byte a 4.0
(signed byte~) prepare_matrix::$11 reg byte a 4.0
(signed byte~) prepare_matrix::$12 reg byte a 4.0
(signed byte~) prepare_matrix::$13 reg byte a 4.0
(signed byte~) prepare_matrix::$14 reg byte a 4.0
(signed byte~) prepare_matrix::$15 reg byte a 4.0
(signed byte~) prepare_matrix::$16 reg byte a 4.0
(signed byte~) prepare_matrix::$17 reg byte a 4.0
(signed byte~) prepare_matrix::$18 reg byte a 4.0
(signed byte~) prepare_matrix::$19 reg byte a 4.0
(signed byte~) prepare_matrix::$20 reg byte a 4.0
(signed byte~) prepare_matrix::$21 reg byte a 4.0
(signed byte~) prepare_matrix::$22 reg byte a 4.0
(signed byte~) prepare_matrix::$23 reg byte a 4.0
(signed byte~) prepare_matrix::$24 reg byte a 4.0
(signed byte~) prepare_matrix::$25 reg byte a 4.0
(signed byte~) prepare_matrix::$26 reg byte a 4.0
(signed byte~) prepare_matrix::$27 reg byte a 4.0
(signed byte~) prepare_matrix::$28 reg byte a 4.0
(signed byte~) prepare_matrix::$29 reg byte a 4.0
(signed byte~) prepare_matrix::$30 reg byte a 4.0
(signed byte~) prepare_matrix::$31 reg byte a 4.0
(signed byte~) prepare_matrix::$32 reg byte a 4.0
(signed byte~) prepare_matrix::$33 reg byte a 4.0
(signed byte~) prepare_matrix::$34 reg byte a 4.0
(label) prepare_matrix::@return
(signed byte) prepare_matrix::sx
(signed byte) prepare_matrix::sx#0 reg byte y 2.25
(signed byte) prepare_matrix::sy
(signed byte) prepare_matrix::sy#0 sy zp ZP_BYTE:3 1.4375
(signed byte) prepare_matrix::sz
(signed byte) prepare_matrix::sz#0 reg byte x 4.75
(signed byte) prepare_matrix::t1
(signed byte) prepare_matrix::t1#0 t1 zp ZP_BYTE:5 0.8333333333333333
(signed byte) prepare_matrix::t10
(signed byte) prepare_matrix::t10#0 t10 zp ZP_BYTE:18 0.18181818181818182
(signed byte) prepare_matrix::t2
(signed byte) prepare_matrix::t2#0 t2 zp ZP_BYTE:10 0.9090909090909092
(signed byte) prepare_matrix::t3
(signed byte) prepare_matrix::t3#0 t3 zp ZP_BYTE:11 0.29411764705882354
(signed byte) prepare_matrix::t4
(signed byte) prepare_matrix::t4#0 t4 zp ZP_BYTE:12 0.30303030303030304
(signed byte) prepare_matrix::t5
(signed byte) prepare_matrix::t5#0 t5 zp ZP_BYTE:13 0.29411764705882354
(signed byte) prepare_matrix::t6
(signed byte) prepare_matrix::t6#0 t6 zp ZP_BYTE:14 0.3125
(signed byte) prepare_matrix::t7
(signed byte) prepare_matrix::t7#0 t7 zp ZP_BYTE:15 0.30303030303030304
(signed byte) prepare_matrix::t8
(signed byte) prepare_matrix::t8#0 t8 zp ZP_BYTE:16 0.30303030303030304
(signed byte) prepare_matrix::t9
(signed byte) prepare_matrix::t9#0 t9 zp ZP_BYTE:17 0.1764705882352941
(void()) rotate((signed byte) rotate::x , (signed byte) rotate::y , (signed byte) rotate::z)
(label) rotate::@return
(signed byte) rotate::x
(signed byte) rotate::x#0 x zp ZP_BYTE:10 34.33333333333333
(signed byte) rotate::y
(signed byte) rotate::y#0 reg byte y 34.33333333333333
(signed byte) rotate::z
(signed byte) rotate::z#0 reg byte x 34.33333333333333
(void()) rotate_matrix((signed byte) rotate_matrix::x , (signed byte) rotate_matrix::y , (signed byte) rotate_matrix::z)
(label) rotate_matrix::@return
(signed byte) rotate_matrix::x
(signed byte) rotate_matrix::x#0 x zp ZP_BYTE:10 34.33333333333333
(signed byte) rotate_matrix::y
(signed byte) rotate_matrix::y#0 reg byte y 34.33333333333333
(signed byte) rotate_matrix::z
(signed byte) rotate_matrix::z#0 reg byte x 34.33333333333333
(signed byte[9]) rotation_matrix
(const signed byte[9]) rotation_matrix#0 rotation_matrix = { fill( 9, 0) }
(void()) sprites_init()
@ -160,6 +155,8 @@
(byte) sprites_init::i#2 reg byte x 14.666666666666666
(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
(void()) store_matrix()
(label) store_matrix::@return
(signed byte*) xr
(const signed byte*) xr#0 xr = ((signed byte*))(byte/word/signed word/dword/signed dword) 240
(signed byte[8]) xs
@ -173,67 +170,59 @@
(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 }
zp ZP_BYTE:2 [ main::sx#6 main::sx#12 main::sx#1 ]
zp ZP_BYTE:3 [ main::sy#5 main::sy#1 prepare_matrix::sy#0 ]
zp ZP_BYTE:2 [ main::sx#6 main::sx#13 main::sx#1 mulf_init::val#0 ]
zp ZP_BYTE:3 [ main::sy#6 main::sy#1 calculate_matrix::sy#0 ]
zp ZP_BYTE:4 [ main::sz#5 main::sz#1 ]
zp ZP_BYTE:5 [ main::i#2 main::i#1 prepare_matrix::t1#0 ]
zp ZP_WORD:6 [ mulf_init::sqr1#2 mulf_init::sqr1#1 ]
zp ZP_BYTE:5 [ main::i#2 main::i#1 calculate_matrix::t1#0 ]
zp ZP_WORD:6 [ mulf_init::sqr#2 mulf_init::sqr#1 ]
reg byte x [ mulf_init::i#2 mulf_init::i#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 y [ prepare_matrix::sx#0 ]
reg byte x [ prepare_matrix::sz#0 ]
reg byte a [ main::$4 ]
zp ZP_BYTE:10 [ rotate::x#0 prepare_matrix::t2#0 ]
reg byte y [ rotate::y#0 ]
reg byte x [ rotate::z#0 ]
reg byte y [ calculate_matrix::sx#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 ]
reg byte y [ rotate_matrix::y#0 ]
reg byte x [ rotate_matrix::z#0 ]
reg byte x [ main::i2#0 ]
reg byte a [ main::$9 ]
reg byte a [ main::$11 ]
reg byte a [ main::$10 ]
reg byte a [ main::$12 ]
reg byte a [ main::$14 ]
zp ZP_BYTE:11 [ prepare_matrix::t3#0 ]
zp ZP_BYTE:12 [ prepare_matrix::t4#0 ]
zp ZP_BYTE:13 [ prepare_matrix::t5#0 ]
zp ZP_BYTE:14 [ prepare_matrix::t6#0 ]
zp ZP_BYTE:15 [ prepare_matrix::t7#0 ]
zp ZP_BYTE:16 [ prepare_matrix::t8#0 ]
zp ZP_BYTE:17 [ prepare_matrix::t9#0 ]
zp ZP_BYTE:18 [ prepare_matrix::t10#0 ]
reg byte a [ prepare_matrix::$10 ]
reg byte a [ prepare_matrix::$11 ]
reg byte a [ prepare_matrix::$12 ]
reg byte a [ prepare_matrix::$13 ]
reg byte a [ prepare_matrix::$14 ]
reg byte a [ prepare_matrix::$15 ]
reg byte a [ prepare_matrix::$16 ]
reg byte a [ prepare_matrix::$17 ]
reg byte a [ prepare_matrix::$18 ]
reg byte a [ prepare_matrix::$19 ]
reg byte a [ prepare_matrix::$20 ]
reg byte a [ prepare_matrix::$21 ]
reg byte a [ prepare_matrix::$22 ]
reg byte a [ prepare_matrix::$23 ]
reg byte a [ prepare_matrix::$24 ]
reg byte a [ prepare_matrix::$25 ]
reg byte a [ prepare_matrix::$26 ]
reg byte a [ prepare_matrix::$27 ]
reg byte a [ prepare_matrix::$28 ]
reg byte a [ prepare_matrix::$29 ]
reg byte a [ prepare_matrix::$30 ]
reg byte a [ prepare_matrix::$31 ]
reg byte a [ prepare_matrix::$32 ]
reg byte a [ prepare_matrix::$33 ]
reg byte a [ prepare_matrix::$34 ]
reg byte a [ mulf_init::$0 ]
reg byte a [ main::$13 ]
reg byte a [ main::$15 ]
zp ZP_BYTE:11 [ calculate_matrix::t3#0 ]
zp ZP_BYTE:12 [ calculate_matrix::t4#0 ]
zp ZP_BYTE:13 [ calculate_matrix::t5#0 ]
zp ZP_BYTE:14 [ calculate_matrix::t6#0 ]
zp ZP_BYTE:15 [ calculate_matrix::t7#0 ]
zp ZP_BYTE:16 [ calculate_matrix::t8#0 ]
zp ZP_BYTE:17 [ calculate_matrix::t9#0 ]
zp ZP_BYTE:18 [ calculate_matrix::t10#0 ]
reg byte a [ calculate_matrix::$10 ]
reg byte a [ calculate_matrix::$11 ]
reg byte a [ calculate_matrix::$12 ]
reg byte a [ calculate_matrix::$13 ]
reg byte a [ calculate_matrix::$14 ]
reg byte a [ calculate_matrix::$15 ]
reg byte a [ calculate_matrix::$16 ]
reg byte a [ calculate_matrix::$17 ]
reg byte a [ calculate_matrix::$18 ]
reg byte a [ calculate_matrix::$19 ]
reg byte a [ calculate_matrix::$20 ]
reg byte a [ calculate_matrix::$21 ]
reg byte a [ calculate_matrix::$22 ]
reg byte a [ calculate_matrix::$23 ]
reg byte a [ calculate_matrix::$24 ]
reg byte a [ calculate_matrix::$25 ]
reg byte a [ calculate_matrix::$26 ]
reg byte a [ calculate_matrix::$27 ]
reg byte a [ calculate_matrix::$28 ]
reg byte a [ calculate_matrix::$29 ]
reg byte a [ calculate_matrix::$30 ]
reg byte a [ calculate_matrix::$31 ]
reg byte a [ calculate_matrix::$32 ]
reg byte a [ calculate_matrix::$33 ]
reg byte a [ calculate_matrix::$34 ]
reg byte a [ mulf_init::$2 ]
reg byte y [ mulf_init::$3 ]
reg byte a [ mulf_init::$4 ]
reg byte y [ mulf_init::$6 ]
reg byte a [ mulf_init::$7 ]
reg byte a [ mulf_init::$9 ]
reg byte a [ mulf_init::$12 ]
reg byte y [ mulf_init::$13 ]
reg byte a [ mulf_init::$14 ]
reg byte y [ mulf_init::$16 ]
reg byte a [ mulf_init::$17 ]
reg byte a [ mulf_init::$8 ]
reg byte a [ mulf_init::$10 ]