diff --git a/src/main/fragment/unused/pbuc1_derefidx_vbuz1=vbsaa.asm b/src/main/fragment/unused/pbuc1_derefidx_vbuz1=vbsaa.asm deleted file mode 100644 index d42626726..000000000 --- a/src/main/fragment/unused/pbuc1_derefidx_vbuz1=vbsaa.asm +++ /dev/null @@ -1,2 +0,0 @@ -ldx {z1} -sta {c1},x diff --git a/src/main/fragment/vbsaa=pbsc1_derefidx_vbsxx_minus_pbsc1_derefidx_vbsxx.asm b/src/main/fragment/vbsaa=pbsc1_derefidx_vbsxx_minus_pbsc1_derefidx_vbsxx.asm deleted file mode 100644 index 91688acad..000000000 --- a/src/main/fragment/vbsaa=pbsc1_derefidx_vbsxx_minus_pbsc1_derefidx_vbsxx.asm +++ /dev/null @@ -1,3 +0,0 @@ -sec -lda {c1},x -sbc {c1},x diff --git a/src/main/fragment/vbsaa=pbsc1_derefidx_vbsxx_minus_pbsc1_derefidx_vbsyy.asm b/src/main/fragment/vbsaa=pbsc1_derefidx_vbsxx_minus_pbsc1_derefidx_vbsyy.asm deleted file mode 100644 index 9bbd8e84a..000000000 --- a/src/main/fragment/vbsaa=pbsc1_derefidx_vbsxx_minus_pbsc1_derefidx_vbsyy.asm +++ /dev/null @@ -1,3 +0,0 @@ -sec -lda {c1},x -sbc {c1},y diff --git a/src/main/fragment/vbsaa=pbsc1_derefidx_vbsxx_minus_pbsc2_derefidx_vbsxx.asm b/src/main/fragment/vbsaa=pbsc1_derefidx_vbsxx_minus_pbsc2_derefidx_vbsxx.asm deleted file mode 100644 index 184d62f10..000000000 --- a/src/main/fragment/vbsaa=pbsc1_derefidx_vbsxx_minus_pbsc2_derefidx_vbsxx.asm +++ /dev/null @@ -1,3 +0,0 @@ -sec -lda {c1},x -sbc {c2},x diff --git a/src/main/fragment/vbsaa=pbsc1_derefidx_vbsxx_minus_pbsc2_derefidx_vbsyy.asm b/src/main/fragment/vbsaa=pbsc1_derefidx_vbsxx_minus_pbsc2_derefidx_vbsyy.asm deleted file mode 100644 index 0a01b4508..000000000 --- a/src/main/fragment/vbsaa=pbsc1_derefidx_vbsxx_minus_pbsc2_derefidx_vbsyy.asm +++ /dev/null @@ -1,3 +0,0 @@ -sec -lda {c1},x -sbc {c2},y diff --git a/src/main/fragment/vbsaa=pbsc1_derefidx_vbsxx_plus_pbsc1_derefidx_vbsxx.asm b/src/main/fragment/vbsaa=pbsc1_derefidx_vbsxx_plus_pbsc1_derefidx_vbsxx.asm deleted file mode 100644 index 19097772d..000000000 --- a/src/main/fragment/vbsaa=pbsc1_derefidx_vbsxx_plus_pbsc1_derefidx_vbsxx.asm +++ /dev/null @@ -1,3 +0,0 @@ -clc -lda {c1},x -adc {c1},x diff --git a/src/main/fragment/vbsaa=pbsc1_derefidx_vbsxx_plus_pbsc1_derefidx_vbsyy.asm b/src/main/fragment/vbsaa=pbsc1_derefidx_vbsxx_plus_pbsc1_derefidx_vbsyy.asm deleted file mode 100644 index 5a7649b43..000000000 --- a/src/main/fragment/vbsaa=pbsc1_derefidx_vbsxx_plus_pbsc1_derefidx_vbsyy.asm +++ /dev/null @@ -1,3 +0,0 @@ -clc -lda {c1},x -adc {c1},y diff --git a/src/main/fragment/vbsaa=pbsc1_derefidx_vbsxx_plus_pbsc2_derefidx_vbsxx.asm b/src/main/fragment/vbsaa=pbsc1_derefidx_vbsxx_plus_pbsc2_derefidx_vbsxx.asm deleted file mode 100644 index ffe39a805..000000000 --- a/src/main/fragment/vbsaa=pbsc1_derefidx_vbsxx_plus_pbsc2_derefidx_vbsxx.asm +++ /dev/null @@ -1,3 +0,0 @@ -clc -lda {c1},x -adc {c2},x diff --git a/src/main/fragment/vbsaa=pbsc1_derefidx_vbsxx_plus_pbsc2_derefidx_vbsyy.asm b/src/main/fragment/vbsaa=pbsc1_derefidx_vbsxx_plus_pbsc2_derefidx_vbsyy.asm deleted file mode 100644 index a33dee25d..000000000 --- a/src/main/fragment/vbsaa=pbsc1_derefidx_vbsxx_plus_pbsc2_derefidx_vbsyy.asm +++ /dev/null @@ -1,3 +0,0 @@ -clc -lda {c1},x -adc {c2},y diff --git a/src/main/fragment/vbsaa=pbsc1_derefidx_vbsyy_minus_pbsc1_derefidx_vbsxx.asm b/src/main/fragment/vbsaa=pbsc1_derefidx_vbsyy_minus_pbsc1_derefidx_vbsxx.asm deleted file mode 100644 index c0c6a9456..000000000 --- a/src/main/fragment/vbsaa=pbsc1_derefidx_vbsyy_minus_pbsc1_derefidx_vbsxx.asm +++ /dev/null @@ -1,3 +0,0 @@ -sec -lda {c1},y -sbc {c1},x diff --git a/src/main/fragment/vbsaa=pbsc1_derefidx_vbsyy_minus_pbsc1_derefidx_vbsyy.asm b/src/main/fragment/vbsaa=pbsc1_derefidx_vbsyy_minus_pbsc1_derefidx_vbsyy.asm deleted file mode 100644 index bd1e9178d..000000000 --- a/src/main/fragment/vbsaa=pbsc1_derefidx_vbsyy_minus_pbsc1_derefidx_vbsyy.asm +++ /dev/null @@ -1,3 +0,0 @@ -sec -lda {c1},y -sbc {c1},y diff --git a/src/main/fragment/vbsaa=pbsc1_derefidx_vbsyy_minus_pbsc2_derefidx_vbsxx.asm b/src/main/fragment/vbsaa=pbsc1_derefidx_vbsyy_minus_pbsc2_derefidx_vbsxx.asm deleted file mode 100644 index beb52f153..000000000 --- a/src/main/fragment/vbsaa=pbsc1_derefidx_vbsyy_minus_pbsc2_derefidx_vbsxx.asm +++ /dev/null @@ -1,3 +0,0 @@ -sec -lda {c1},y -sbc {c2},x diff --git a/src/main/fragment/vbsaa=pbsc1_derefidx_vbsyy_minus_pbsc2_derefidx_vbsyy.asm b/src/main/fragment/vbsaa=pbsc1_derefidx_vbsyy_minus_pbsc2_derefidx_vbsyy.asm deleted file mode 100644 index 012bf3c5e..000000000 --- a/src/main/fragment/vbsaa=pbsc1_derefidx_vbsyy_minus_pbsc2_derefidx_vbsyy.asm +++ /dev/null @@ -1,3 +0,0 @@ -sec -lda {c1},y -sbc {c2},y diff --git a/src/main/fragment/vbsaa=pbsc1_derefidx_vbsyy_plus_pbsc1_derefidx_vbsyy.asm b/src/main/fragment/vbsaa=pbsc1_derefidx_vbsyy_plus_pbsc1_derefidx_vbsyy.asm deleted file mode 100644 index 2a1247376..000000000 --- a/src/main/fragment/vbsaa=pbsc1_derefidx_vbsyy_plus_pbsc1_derefidx_vbsyy.asm +++ /dev/null @@ -1,3 +0,0 @@ -clc -lda {c1},y -adc {c1},y diff --git a/src/main/fragment/vbsaa=pbsc1_derefidx_vbsyy_plus_pbsc2_derefidx_vbsxx.asm b/src/main/fragment/vbsaa=pbsc1_derefidx_vbsyy_plus_pbsc2_derefidx_vbsxx.asm deleted file mode 100644 index e6312b1a9..000000000 --- a/src/main/fragment/vbsaa=pbsc1_derefidx_vbsyy_plus_pbsc2_derefidx_vbsxx.asm +++ /dev/null @@ -1,3 +0,0 @@ -clc -lda {c1},y -adc {c2},x diff --git a/src/main/fragment/vbsaa=pbsc1_derefidx_vbsyy_plus_pbsc2_derefidx_vbsyy.asm b/src/main/fragment/vbsaa=pbsc1_derefidx_vbsyy_plus_pbsc2_derefidx_vbsyy.asm deleted file mode 100644 index 8ee830956..000000000 --- a/src/main/fragment/vbsaa=pbsc1_derefidx_vbsyy_plus_pbsc2_derefidx_vbsyy.asm +++ /dev/null @@ -1,3 +0,0 @@ -clc -lda {c1},y -adc {c2},y diff --git a/src/main/fragment/vbsaa=vbsaa_minus_pbsc1_derefidx_vbsxx.asm b/src/main/fragment/vbsaa=vbsaa_minus_pbsc1_derefidx_vbsxx.asm deleted file mode 100644 index 9451f4f85..000000000 --- a/src/main/fragment/vbsaa=vbsaa_minus_pbsc1_derefidx_vbsxx.asm +++ /dev/null @@ -1,2 +0,0 @@ -sec -sbc {c1},x diff --git a/src/main/fragment/vbsaa=vbsaa_minus_pbsc1_derefidx_vbsyy.asm b/src/main/fragment/vbsaa=vbsaa_minus_pbsc1_derefidx_vbsyy.asm deleted file mode 100644 index 02a2b8f3d..000000000 --- a/src/main/fragment/vbsaa=vbsaa_minus_pbsc1_derefidx_vbsyy.asm +++ /dev/null @@ -1,2 +0,0 @@ -sec -sbc {c1},y diff --git a/src/main/fragment/vbsaa=vbsaa_minus_pbsc1_derefidx_vbuxx.asm b/src/main/fragment/vbsaa=vbsaa_minus_pbsc1_derefidx_vbuxx.asm new file mode 100644 index 000000000..ae1086a28 --- /dev/null +++ b/src/main/fragment/vbsaa=vbsaa_minus_pbsc1_derefidx_vbuxx.asm @@ -0,0 +1,2 @@ +sec +sbc {c1},x \ No newline at end of file diff --git a/src/main/fragment/vbsaa=vbsaa_minus_pbsc1_derefidx_vbuyy.asm b/src/main/fragment/vbsaa=vbsaa_minus_pbsc1_derefidx_vbuyy.asm new file mode 100644 index 000000000..2b89f2603 --- /dev/null +++ b/src/main/fragment/vbsaa=vbsaa_minus_pbsc1_derefidx_vbuyy.asm @@ -0,0 +1,2 @@ +sec +sbc {c1},y \ No newline at end of file diff --git a/src/main/fragment/vbsaa=vbsaa_plus_pbsc1_derefidx_vbsxx.asm b/src/main/fragment/vbsaa=vbsaa_plus_pbsc1_derefidx_vbsxx.asm deleted file mode 100644 index 1b112105c..000000000 --- a/src/main/fragment/vbsaa=vbsaa_plus_pbsc1_derefidx_vbsxx.asm +++ /dev/null @@ -1,2 +0,0 @@ -clc -adc {c1},x diff --git a/src/main/fragment/vbsaa=vbsaa_plus_pbsc1_derefidx_vbsyy.asm b/src/main/fragment/vbsaa=vbsaa_plus_pbsc1_derefidx_vbsyy.asm deleted file mode 100644 index 103dc1d13..000000000 --- a/src/main/fragment/vbsaa=vbsaa_plus_pbsc1_derefidx_vbsyy.asm +++ /dev/null @@ -1,2 +0,0 @@ -clc -adc {c1},y diff --git a/src/main/fragment/vbsaa=vbsaa_plus_pbsc1_derefidx_vbuxx.asm b/src/main/fragment/vbsaa=vbsaa_plus_pbsc1_derefidx_vbuxx.asm new file mode 100644 index 000000000..78e896d46 --- /dev/null +++ b/src/main/fragment/vbsaa=vbsaa_plus_pbsc1_derefidx_vbuxx.asm @@ -0,0 +1,2 @@ +clc +adc {c1},x \ No newline at end of file diff --git a/src/main/fragment/vbsaa=vbsaa_plus_pbsc1_derefidx_vbuyy.asm b/src/main/fragment/vbsaa=vbsaa_plus_pbsc1_derefidx_vbuyy.asm new file mode 100644 index 000000000..88c2f4a28 --- /dev/null +++ b/src/main/fragment/vbsaa=vbsaa_plus_pbsc1_derefidx_vbuyy.asm @@ -0,0 +1,2 @@ +clc +adc {c1},y \ No newline at end of file diff --git a/src/main/fragment/vwuz1=pbuc1_derefidx_vbsxx_word_pbuc2_derefidx_vbsxx.asm b/src/main/fragment/vwuz1=pbuc1_derefidx_vbuxx_word_pbuc2_derefidx_vbuxx.asm similarity index 100% rename from src/main/fragment/vwuz1=pbuc1_derefidx_vbsxx_word_pbuc2_derefidx_vbsxx.asm rename to src/main/fragment/vwuz1=pbuc1_derefidx_vbuxx_word_pbuc2_derefidx_vbuxx.asm diff --git a/src/main/fragment/vwuz1=pbuc1_derefidx_vbsyy_word_pbuc2_derefidx_vbsyy.asm b/src/main/fragment/vwuz1=pbuc1_derefidx_vbuyy_word_pbuc2_derefidx_vbuyy.asm similarity index 100% rename from src/main/fragment/vwuz1=pbuc1_derefidx_vbsyy_word_pbuc2_derefidx_vbsyy.asm rename to src/main/fragment/vwuz1=pbuc1_derefidx_vbuyy_word_pbuc2_derefidx_vbuyy.asm diff --git a/src/main/java/dk/camelot64/kickc/fragment/AsmFragmentTemplateSynthesisRule.java b/src/main/java/dk/camelot64/kickc/fragment/AsmFragmentTemplateSynthesisRule.java index ffe8075a8..5279ed19a 100644 --- a/src/main/java/dk/camelot64/kickc/fragment/AsmFragmentTemplateSynthesisRule.java +++ b/src/main/java/dk/camelot64/kickc/fragment/AsmFragmentTemplateSynthesisRule.java @@ -476,7 +476,7 @@ class AsmFragmentTemplateSynthesisRule { // Rewrite (Z1),y to AA synths.add(new AsmFragmentTemplateSynthesisRule("(.*)pb(.)z1_derefidx_vbuyy(.*)_then_(.*)", twoZ1+"|"+rvalAa, "lda ({z1}),y\n" , "$1vb$2aa$3_then_$4", null, mapZ)); - // Rewrite left-size (Z1),y to use AA and a STA (Z1),y + // Rewrite left-size C1,y to use AA and a STA C1,y synths.add(new AsmFragmentTemplateSynthesisRule("pb(.)c1_derefidx_vbuyy=(.*)", twoC1, null, "vb$1aa=$2", "sta {c1},y", mapC, "yy")); synths.add(new AsmFragmentTemplateSynthesisRule("pb(.)c1_derefidx_vbuyy=(.*c1.*)", null, null, "vb$1aa=$2", "sta {c1},y", null, "yy")); // Rewrite C1,y to save and reload YY from $FF @@ -484,7 +484,7 @@ class AsmFragmentTemplateSynthesisRule { // Rewrite (Z1),y to save and reload YY from $FF synths.add(new AsmFragmentTemplateSynthesisRule("pb(.)z1_derefidx_vbuyy=(.*)", twoZ1, "sty $ff\n" , "vb$1aa=$2", "ldy $ff\nsta ({z1}),y", mapZ)); - // Rewrite left-size (Z1),x to use AA and a STA (Z1),x + // Rewrite left-size C1,x to use AA and a STA C1,x synths.add(new AsmFragmentTemplateSynthesisRule("pb(.)c1_derefidx_vbuxx=(.*)", twoC1, null, "vb$1aa=$2", "sta {c1},x", mapC, "xx")); synths.add(new AsmFragmentTemplateSynthesisRule("pb(.)c1_derefidx_vbuxx=(.*c1.*)", null, null, "vb$1aa=$2", "sta {c1},x", null, "xx")); // Rewrite C1,x to save and reload XX from $FF @@ -497,13 +497,6 @@ class AsmFragmentTemplateSynthesisRule { // Rewrite (Z1),a to save A to $FF and reload it into YY synths.add(new AsmFragmentTemplateSynthesisRule("pb(.)z1_derefidx_vbuaa=(.*)", twoZ1, "sta $ff" , "vb$1aa=$2", "ldy $ff\nsta ({z1}),y", mapZ)); - /* Removed awaiting optimization - // Rewrite any zeropage pointer as an unsigned word zeropage values - synths.add(new AsmFragmentTemplateSynthesisRule("(.*)p..z(.)(.*)", ".*p..z._deref.*", null , "$1vwuz$2$3", null, null)); - // Rewrite any constant pointer as an constant unsigned word - synths.add(new AsmFragmentTemplateSynthesisRule("(.*)p..c(.)(.*)", ".*p..z._deref.*", null , "$1vwuc$2$3", null, null)); - */ - // Synthesize some constant pointers as constant words (remove when the above section can be included) synths.add(new AsmFragmentTemplateSynthesisRule("(.*)_(lt|gt|le|ge|eq|neq)_p..([cz].)_then_(.*)", null, null, "$1_$2_vwu$3_then_$4", null, null)); synths.add(new AsmFragmentTemplateSynthesisRule("p..([cz].)_(lt|gt|le|ge|eq|neq)_(.*)", null, null, "vwu$1_$2_$3", null, null)); @@ -514,7 +507,6 @@ class AsmFragmentTemplateSynthesisRule { synths.add(new AsmFragmentTemplateSynthesisRule("(.*)=p..([cz].)_(sethi|setlo|plus|minus)_(.*)", null, null, "$1=vwu$2_$3_$4", null, null)); synths.add(new AsmFragmentTemplateSynthesisRule("p..([cz].)=_(inc|dec)_p..([cz].)", null, null, "vwu$1=_$2_vwu$3", null, null)); - // Synthesize constants using AA/XX/YY synths.add(new AsmFragmentTemplateSynthesisRule("(.*)=(.*)vbuc1(.*)", rvalAa+"|"+twoC1+"|"+ derefC1, "lda #{c1}", "$1=$2vbuaa$3", null, mapC)); synths.add(new AsmFragmentTemplateSynthesisRule("(.*)=(.*)vbsc1(.*)", rvalAa+"|"+twoC1+"|"+ derefC1, "lda #{c1}", "$1=$2vbsaa$3", null, mapC)); @@ -523,6 +515,9 @@ class AsmFragmentTemplateSynthesisRule { synths.add(new AsmFragmentTemplateSynthesisRule("(.*)=(.*)vbuc1(.*)", rvalXx+"|"+twoC1+"|"+ derefC1, "ldx #{c1}", "$1=$2vbuxx$3", null, mapC)); synths.add(new AsmFragmentTemplateSynthesisRule("(.*)=(.*)vbsc1(.*)", rvalXx+"|"+twoC1+"|"+ derefC1, "ldx #{c1}", "$1=$2vbsxx$3", null, mapC)); + // Rewrite any signed dereference (.*_derefidx_vbs.*) to unsigned (.*_derefidx_vbu.*) + synths.add(new AsmFragmentTemplateSynthesisRule("(.*)_derefidx_vbs(.*)", null, null, "$1_derefidx_vbu$2", null, null)); + // OLD STYLE REWRITES - written when only one rule could be taken synths.add(new AsmFragmentTemplateSynthesisRule("pb(.)c1_derefidx_vbuz1=(.*)", twoZ1+"|"+twoC1, null, "vb$1aa=$2", "ldx {z1}\n" + "sta {c1},x", mapZC)); diff --git a/src/test/java/dk/camelot64/kickc/test/TestFragments.java b/src/test/java/dk/camelot64/kickc/test/TestFragments.java index c232994b4..42f866c68 100644 --- a/src/test/java/dk/camelot64/kickc/test/TestFragments.java +++ b/src/test/java/dk/camelot64/kickc/test/TestFragments.java @@ -144,6 +144,31 @@ public class TestFragments { testFragmentExists("pwsc1_derefidx_vbuxx=pwsc1_derefidx_vbuxx_minus_vbuz1"); testFragmentExists("pwsc1_derefidx_vbuyy=pwsc1_derefidx_vbuyy_minus_vbuz1"); testFragmentExists("pbuc1_derefidx_vbuxx=pbuc1_derefidx_vbuxx_plus_vbuaa"); + testFragmentExists("vbsaa=pbsc1_derefidx_vbsxx_minus_pbsc1_derefidx_vbsyy"); + testFragmentExists("vbsaa=pbsc1_derefidx_vbsxx_minus_pbsc2_derefidx_vbsxx"); + testFragmentExists("vbsaa=pbsc1_derefidx_vbsxx_minus_pbsc2_derefidx_vbsyy"); + testFragmentExists("vbsaa=pbsc1_derefidx_vbsxx_plus_pbsc1_derefidx_vbsxx"); + testFragmentExists("vbsaa=pbsc1_derefidx_vbsxx_plus_pbsc1_derefidx_vbsyy"); + testFragmentExists("vbsaa=pbsc1_derefidx_vbsxx_plus_pbsc2_derefidx_vbsyy"); + + testFragmentExists("vbsaa=pbsc1_derefidx_vbsxx_plus_pbsc2_derefidx_vbsyy"); + testFragmentExists("vbsaa=pbsc1_derefidx_vbsyy_minus_pbsc1_derefidx_vbsyy"); + testFragmentExists("vbsaa=pbsc1_derefidx_vbsyy_minus_pbsc2_derefidx_vbsxx"); + testFragmentExists("vbsaa=pbsc1_derefidx_vbsyy_minus_pbsc2_derefidx_vbsyy"); + testFragmentExists("vbsaa=pbsc1_derefidx_vbsyy_plus_pbsc2_derefidx_vbsxx"); + testFragmentExists("vbsaa=pbsc1_derefidx_vbsyy_plus_pbsc2_derefidx_vbsyy"); + testFragmentExists("vbsaa=pbsc1_derefidx_vbsxx_minus_pbsc1_derefidx_vbsxx"); + testFragmentExists("vbsaa=vbsaa_minus_pbsc1_derefidx_vbsyy"); + testFragmentExists("vbsaa=vbsaa_plus_pbsc1_derefidx_vbsxx"); + + testFragmentExists("vwuz1=pbuc1_derefidx_vbsxx_word_pbuc2_derefidx_vbsxx"); + testFragmentExists("vwuz1=pbuc1_derefidx_vbsyy_word_pbuc2_derefidx_vbsyy"); + + testFragmentExists("vwuz1=pbuc1_derefidx_vbsyy_word_pbuc2_derefidx_vbsyy"); + + testFragmentExists("vbsaa=pbsc1_derefidx_vbsz1_minus_pbsc1_derefidx_vbsz2"); + testFragmentExists("vbsaa=pbsc1_derefidx_vbsxx_minus_pbsc1_derefidx_vbsyy"); + } /** @@ -155,7 +180,7 @@ public class TestFragments { AsmFragmentTemplateSynthesizer.initialize("src/main/fragment/"); CompileLog log = new CompileLog(); log.setSysOut(true); - log.setVerboseFragmentLog(true); + //log.setVerboseFragmentLog(true); List templates = new ArrayList<>(AsmFragmentTemplateSynthesizer.getFragmentTemplates(signature, log)); if(templates.size() > 0) { diff --git a/src/test/ref/examples/3d/3d.asm b/src/test/ref/examples/3d/3d.asm index 892420e83..8d97054dc 100644 --- a/src/test/ref/examples/3d/3d.asm +++ b/src/test/ref/examples/3d/3d.asm @@ -591,13 +591,13 @@ calculate_matrix: { clc adc sy sta t10 + lda COSH,x ldy t1 clc - lda COSH,x adc COSH,y sta rotation_matrix - sec lda SINH,y + sec sbc SINH,x sta rotation_matrix+1 ldy sy @@ -605,10 +605,10 @@ calculate_matrix: { lda SINH,y adc SINH,y sta rotation_matrix+2 - ldx t3 + ldy t3 + lda SINH,y ldy t4 sec - lda SINH,x sbc SINH,y ldy t6 clc @@ -623,9 +623,10 @@ calculate_matrix: { sec sbc COSQ,y sta rotation_matrix+3 + ldy t3 + lda COSH,y ldy t4 clc - lda COSH,x adc COSH,y ldy t5 clc @@ -640,16 +641,16 @@ calculate_matrix: { sec sbc SINQ,y sta rotation_matrix+4 - ldx t9 + ldy t9 + lda SINH,y ldy t10 sec - lda SINH,x sbc SINH,y sta rotation_matrix+5 - ldx t4 + ldy t4 + lda COSH,y ldy t3 sec - lda COSH,x sbc COSH,y ldy t6 clc @@ -664,10 +665,10 @@ calculate_matrix: { sec sbc SINQ,y sta rotation_matrix+6 - ldx t3 + ldy t3 + lda SINH,y ldy t4 clc - lda SINH,x adc SINH,y ldy t6 clc @@ -682,10 +683,10 @@ calculate_matrix: { sec sbc COSQ,y sta rotation_matrix+7 - ldx t9 + ldy t9 + lda COSH,y ldy t10 clc - lda COSH,x adc COSH,y sta rotation_matrix+8 rts diff --git a/src/test/ref/examples/3d/3d.log b/src/test/ref/examples/3d/3d.log index 5400ce350..661444856 100644 --- a/src/test/ref/examples/3d/3d.log +++ b/src/test/ref/examples/3d/3d.log @@ -6076,20 +6076,20 @@ calculate_matrix: { adc sx sta t10 //SEG300 [154] (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) -- vbsz1=pbsc1_derefidx_vbsz2_plus_pbsc1_derefidx_vbsz3 - ldx t1 + ldy t1 + lda COSH,y ldy t2 clc - lda COSH,x adc COSH,y sta _10 //SEG301 [155] *((const signed byte[9]) rotation_matrix#0) ← (signed byte~) calculate_matrix::$10 -- _deref_pbsc1=vbsz1 lda _10 sta rotation_matrix //SEG302 [156] (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) -- vbsz1=pbsc1_derefidx_vbsz2_minus_pbsc1_derefidx_vbsz3 - ldx t1 + ldy t1 + lda SINH,y ldy t2 sec - lda SINH,x sbc SINH,y sta _11 //SEG303 [157] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 1) ← (signed byte~) calculate_matrix::$11 -- _deref_pbsc1=vbsz1 @@ -6105,10 +6105,10 @@ calculate_matrix: { lda _12 sta rotation_matrix+2 //SEG306 [160] (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) -- vbsz1=pbsc1_derefidx_vbsz2_minus_pbsc1_derefidx_vbsz3 - ldx t3 + ldy t3 + lda SINH,y ldy t4 sec - lda SINH,x sbc SINH,y sta _13 //SEG307 [161] (signed byte~) calculate_matrix::$14 ← (signed byte~) calculate_matrix::$13 + *((const signed byte*) COSQ#0 + (signed byte) calculate_matrix::t6#0) -- vbsz1=vbsz2_plus_pbsc1_derefidx_vbsz3 @@ -6139,10 +6139,10 @@ calculate_matrix: { lda _17 sta rotation_matrix+3 //SEG312 [166] (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) -- vbsz1=pbsc1_derefidx_vbsz2_plus_pbsc1_derefidx_vbsz3 - ldx t3 + ldy t3 + lda COSH,y ldy t4 clc - lda COSH,x adc COSH,y sta _18 //SEG313 [167] (signed byte~) calculate_matrix::$19 ← (signed byte~) calculate_matrix::$18 + *((const signed byte*) SINQ#0 + (signed byte) calculate_matrix::t5#0) -- vbsz1=vbsz2_plus_pbsc1_derefidx_vbsz3 @@ -6173,20 +6173,20 @@ calculate_matrix: { lda _22 sta rotation_matrix+4 //SEG318 [172] (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) -- vbsz1=pbsc1_derefidx_vbsz2_minus_pbsc1_derefidx_vbsz3 - ldx t9 + ldy t9 + lda SINH,y ldy t10 sec - lda SINH,x sbc SINH,y sta _23 //SEG319 [173] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 5) ← (signed byte~) calculate_matrix::$23 -- _deref_pbsc1=vbsz1 lda _23 sta rotation_matrix+5 //SEG320 [174] (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) -- vbsz1=pbsc1_derefidx_vbsz2_minus_pbsc1_derefidx_vbsz3 - ldx t4 + ldy t4 + lda COSH,y ldy t3 sec - lda COSH,x sbc COSH,y sta _24 //SEG321 [175] (signed byte~) calculate_matrix::$25 ← (signed byte~) calculate_matrix::$24 + *((const signed byte*) SINQ#0 + (signed byte) calculate_matrix::t6#0) -- vbsz1=vbsz2_plus_pbsc1_derefidx_vbsz3 @@ -6217,10 +6217,10 @@ calculate_matrix: { lda _28 sta rotation_matrix+6 //SEG326 [180] (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) -- vbsz1=pbsc1_derefidx_vbsz2_plus_pbsc1_derefidx_vbsz3 - ldx t3 + ldy t3 + lda SINH,y ldy t4 clc - lda SINH,x adc SINH,y sta _29 //SEG327 [181] (signed byte~) calculate_matrix::$30 ← (signed byte~) calculate_matrix::$29 + *((const signed byte*) COSQ#0 + (signed byte) calculate_matrix::t6#0) -- vbsz1=vbsz2_plus_pbsc1_derefidx_vbsz3 @@ -6251,10 +6251,10 @@ calculate_matrix: { lda _33 sta rotation_matrix+7 //SEG332 [186] (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) -- vbsz1=pbsc1_derefidx_vbsz2_plus_pbsc1_derefidx_vbsz3 - ldx t9 + ldy t9 + lda COSH,y ldy t10 clc - lda COSH,x adc COSH,y sta _34 //SEG333 [187] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 8) ← (signed byte~) calculate_matrix::$34 -- _deref_pbsc1=vbsz1 @@ -7156,74 +7156,24 @@ Statement [156] (signed byte~) calculate_matrix::$11 ← *((const signed byte*) Statement [158] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 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 ] ) always clobbers reg byte a Statement [160] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 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 ] ) always clobbers reg byte a Statement [161] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 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 ] ) always clobbers reg byte a -Potential register analysis [162] calculate_matrix::$15 ← calculate_matrix::$14 - *(COSQ#0 + calculate_matrix::t5#0) missing fragment vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx allocation: reg byte x [ calculate_matrix::$14 ] reg byte a [ calculate_matrix::$15 ] reg byte x [ calculate_matrix::t5#0 ] -Potential register analysis [162] calculate_matrix::$15 ← calculate_matrix::$14 - *(COSQ#0 + calculate_matrix::t5#0) missing fragment vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy allocation: reg byte y [ calculate_matrix::$14 ] reg byte a [ calculate_matrix::$15 ] reg byte y [ calculate_matrix::t5#0 ] -MISSING FRAGMENTS - vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx - vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy Statement [162] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 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 ] ) always clobbers reg byte a Statement [163] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 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 ] ) always clobbers reg byte a -Potential register analysis [164] calculate_matrix::$17 ← calculate_matrix::$16 - *(COSQ#0 + calculate_matrix::t7#0) missing fragment vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx allocation: reg byte x [ calculate_matrix::$16 ] reg byte x [ calculate_matrix::t7#0 ] reg byte a [ calculate_matrix::$17 ] -Potential register analysis [164] calculate_matrix::$17 ← calculate_matrix::$16 - *(COSQ#0 + calculate_matrix::t7#0) missing fragment vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy allocation: reg byte y [ calculate_matrix::$16 ] reg byte y [ calculate_matrix::t7#0 ] reg byte a [ calculate_matrix::$17 ] -MISSING FRAGMENTS - vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx - vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy Statement [164] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 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 ] ) always clobbers reg byte a Statement [166] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 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 ] ) always clobbers reg byte a Statement [167] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 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 ] ) always clobbers reg byte a -Potential register analysis [168] calculate_matrix::$20 ← calculate_matrix::$19 - *(SINQ#0 + calculate_matrix::t6#0) missing fragment vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx allocation: reg byte a [ calculate_matrix::$20 ] reg byte x [ calculate_matrix::t6#0 ] reg byte x [ calculate_matrix::$19 ] -Potential register analysis [168] calculate_matrix::$20 ← calculate_matrix::$19 - *(SINQ#0 + calculate_matrix::t6#0) missing fragment vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy allocation: reg byte a [ calculate_matrix::$20 ] reg byte y [ calculate_matrix::t6#0 ] reg byte y [ calculate_matrix::$19 ] -MISSING FRAGMENTS - vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx - vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy Statement [168] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 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 ] ) always clobbers reg byte a -Potential register analysis [169] calculate_matrix::$21 ← calculate_matrix::$20 - *(SINQ#0 + calculate_matrix::t7#0) missing fragment vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx allocation: reg byte a [ calculate_matrix::$21 ] reg byte x [ calculate_matrix::$20 ] reg byte x [ calculate_matrix::t7#0 ] -Potential register analysis [169] calculate_matrix::$21 ← calculate_matrix::$20 - *(SINQ#0 + calculate_matrix::t7#0) missing fragment vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy allocation: reg byte a [ calculate_matrix::$21 ] reg byte y [ calculate_matrix::$20 ] reg byte y [ calculate_matrix::t7#0 ] -MISSING FRAGMENTS - vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx - vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy Statement [169] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 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 ] ) always clobbers reg byte a -Potential register analysis [170] calculate_matrix::$22 ← calculate_matrix::$21 - *(SINQ#0 + calculate_matrix::t8#0) missing fragment vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx allocation: reg byte x [ calculate_matrix::$21 ] reg byte a [ calculate_matrix::$22 ] reg byte x [ calculate_matrix::t8#0 ] -Potential register analysis [170] calculate_matrix::$22 ← calculate_matrix::$21 - *(SINQ#0 + calculate_matrix::t8#0) missing fragment vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy allocation: reg byte y [ calculate_matrix::$21 ] reg byte a [ calculate_matrix::$22 ] reg byte y [ calculate_matrix::t8#0 ] -MISSING FRAGMENTS - vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx - vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy Statement [170] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 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 ] ) always clobbers reg byte a Statement [172] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 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 ] ) always clobbers reg byte a Statement [174] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 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 ] ) always clobbers reg byte a Statement [175] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 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 ] ) always clobbers reg byte a -Potential register analysis [176] calculate_matrix::$26 ← calculate_matrix::$25 - *(SINQ#0 + calculate_matrix::t5#0) missing fragment vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx allocation: reg byte x [ calculate_matrix::$25 ] reg byte a [ calculate_matrix::$26 ] reg byte x [ calculate_matrix::t5#0 ] -Potential register analysis [176] calculate_matrix::$26 ← calculate_matrix::$25 - *(SINQ#0 + calculate_matrix::t5#0) missing fragment vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy allocation: reg byte y [ calculate_matrix::$25 ] reg byte a [ calculate_matrix::$26 ] reg byte y [ calculate_matrix::t5#0 ] -MISSING FRAGMENTS - vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx - vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy Statement [176] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 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 ] ) always clobbers reg byte a -Potential register analysis [177] calculate_matrix::$27 ← calculate_matrix::$26 - *(SINQ#0 + calculate_matrix::t8#0) missing fragment vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx allocation: reg byte a [ calculate_matrix::$27 ] reg byte x [ calculate_matrix::$26 ] reg byte x [ calculate_matrix::t8#0 ] -Potential register analysis [177] calculate_matrix::$27 ← calculate_matrix::$26 - *(SINQ#0 + calculate_matrix::t8#0) missing fragment vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy allocation: reg byte a [ calculate_matrix::$27 ] reg byte y [ calculate_matrix::$26 ] reg byte y [ calculate_matrix::t8#0 ] -MISSING FRAGMENTS - vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx - vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy Statement [177] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 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 ] ) always clobbers reg byte a -Potential register analysis [178] calculate_matrix::$28 ← calculate_matrix::$27 - *(SINQ#0 + calculate_matrix::t7#0) missing fragment vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx allocation: reg byte x [ calculate_matrix::$27 ] reg byte x [ calculate_matrix::t7#0 ] reg byte a [ calculate_matrix::$28 ] -Potential register analysis [178] calculate_matrix::$28 ← calculate_matrix::$27 - *(SINQ#0 + calculate_matrix::t7#0) missing fragment vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy allocation: reg byte y [ calculate_matrix::$27 ] reg byte y [ calculate_matrix::t7#0 ] reg byte a [ calculate_matrix::$28 ] -MISSING FRAGMENTS - vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx - vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy Statement [178] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 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 ] ) always clobbers reg byte a Statement [180] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 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 ] ) always clobbers reg byte a Statement [181] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 calculate_matrix::t5#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$30 ] ) always clobbers reg byte a -Potential register analysis [182] calculate_matrix::$31 ← calculate_matrix::$30 - *(COSQ#0 + calculate_matrix::t5#0) missing fragment vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx allocation: reg byte a [ calculate_matrix::$31 ] reg byte x [ calculate_matrix::t5#0 ] reg byte x [ calculate_matrix::$30 ] -Potential register analysis [182] calculate_matrix::$31 ← calculate_matrix::$30 - *(COSQ#0 + calculate_matrix::t5#0) missing fragment vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy allocation: reg byte a [ calculate_matrix::$31 ] reg byte y [ calculate_matrix::t5#0 ] reg byte y [ calculate_matrix::$30 ] -MISSING FRAGMENTS - vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx - vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy Statement [182] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$31 ] ) always clobbers reg byte a Statement [183] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$32 ] ) always clobbers reg byte a -Potential register analysis [184] calculate_matrix::$33 ← calculate_matrix::$32 - *(COSQ#0 + calculate_matrix::t8#0) missing fragment vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx allocation: reg byte x [ calculate_matrix::$32 ] reg byte a [ calculate_matrix::$33 ] reg byte x [ calculate_matrix::t8#0 ] -Potential register analysis [184] calculate_matrix::$33 ← calculate_matrix::$32 - *(COSQ#0 + calculate_matrix::t8#0) missing fragment vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy allocation: reg byte y [ calculate_matrix::$32 ] reg byte a [ calculate_matrix::$33 ] reg byte y [ calculate_matrix::t8#0 ] -MISSING FRAGMENTS - vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx - vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy Statement [184] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$33 ] ) always clobbers reg byte a Statement [186] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 calculate_matrix::$34 ] ) always clobbers reg byte a Statement [216] (byte*) print_sbyte_at::at#0 ← (const byte*) debug_print_init::at_line#0 + (byte) debug_print_init::c#2 [ print_sbyte_at::at#0 debug_print_init::c#2 debug_print_init::i#2 ] ( main:11::debug_print_init:17 [ print_sbyte_at::at#0 debug_print_init::c#2 debug_print_init::i#2 ] ) always clobbers reg byte a @@ -7330,74 +7280,24 @@ Statement [156] (signed byte~) calculate_matrix::$11 ← *((const signed byte*) Statement [158] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 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 ] ) always clobbers reg byte a Statement [160] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 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 ] ) always clobbers reg byte a Statement [161] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 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 ] ) always clobbers reg byte a -Potential register analysis [162] calculate_matrix::$15 ← calculate_matrix::$14 - *(COSQ#0 + calculate_matrix::t5#0) missing fragment vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx allocation: reg byte x [ calculate_matrix::$14 ] reg byte a [ calculate_matrix::$15 ] reg byte x [ calculate_matrix::t5#0 ] -Potential register analysis [162] calculate_matrix::$15 ← calculate_matrix::$14 - *(COSQ#0 + calculate_matrix::t5#0) missing fragment vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy allocation: reg byte y [ calculate_matrix::$14 ] reg byte a [ calculate_matrix::$15 ] reg byte y [ calculate_matrix::t5#0 ] -MISSING FRAGMENTS - vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx - vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy Statement [162] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 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 ] ) always clobbers reg byte a Statement [163] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 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 ] ) always clobbers reg byte a -Potential register analysis [164] calculate_matrix::$17 ← calculate_matrix::$16 - *(COSQ#0 + calculate_matrix::t7#0) missing fragment vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx allocation: reg byte x [ calculate_matrix::$16 ] reg byte x [ calculate_matrix::t7#0 ] reg byte a [ calculate_matrix::$17 ] -Potential register analysis [164] calculate_matrix::$17 ← calculate_matrix::$16 - *(COSQ#0 + calculate_matrix::t7#0) missing fragment vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy allocation: reg byte y [ calculate_matrix::$16 ] reg byte y [ calculate_matrix::t7#0 ] reg byte a [ calculate_matrix::$17 ] -MISSING FRAGMENTS - vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx - vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy Statement [164] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 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 ] ) always clobbers reg byte a Statement [166] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 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 ] ) always clobbers reg byte a Statement [167] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 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 ] ) always clobbers reg byte a -Potential register analysis [168] calculate_matrix::$20 ← calculate_matrix::$19 - *(SINQ#0 + calculate_matrix::t6#0) missing fragment vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx allocation: reg byte a [ calculate_matrix::$20 ] reg byte x [ calculate_matrix::t6#0 ] reg byte x [ calculate_matrix::$19 ] -Potential register analysis [168] calculate_matrix::$20 ← calculate_matrix::$19 - *(SINQ#0 + calculate_matrix::t6#0) missing fragment vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy allocation: reg byte a [ calculate_matrix::$20 ] reg byte y [ calculate_matrix::t6#0 ] reg byte y [ calculate_matrix::$19 ] -MISSING FRAGMENTS - vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx - vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy Statement [168] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 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 ] ) always clobbers reg byte a -Potential register analysis [169] calculate_matrix::$21 ← calculate_matrix::$20 - *(SINQ#0 + calculate_matrix::t7#0) missing fragment vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx allocation: reg byte a [ calculate_matrix::$21 ] reg byte x [ calculate_matrix::$20 ] reg byte x [ calculate_matrix::t7#0 ] -Potential register analysis [169] calculate_matrix::$21 ← calculate_matrix::$20 - *(SINQ#0 + calculate_matrix::t7#0) missing fragment vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy allocation: reg byte a [ calculate_matrix::$21 ] reg byte y [ calculate_matrix::$20 ] reg byte y [ calculate_matrix::t7#0 ] -MISSING FRAGMENTS - vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx - vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy Statement [169] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 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 ] ) always clobbers reg byte a -Potential register analysis [170] calculate_matrix::$22 ← calculate_matrix::$21 - *(SINQ#0 + calculate_matrix::t8#0) missing fragment vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx allocation: reg byte x [ calculate_matrix::$21 ] reg byte a [ calculate_matrix::$22 ] reg byte x [ calculate_matrix::t8#0 ] -Potential register analysis [170] calculate_matrix::$22 ← calculate_matrix::$21 - *(SINQ#0 + calculate_matrix::t8#0) missing fragment vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy allocation: reg byte y [ calculate_matrix::$21 ] reg byte a [ calculate_matrix::$22 ] reg byte y [ calculate_matrix::t8#0 ] -MISSING FRAGMENTS - vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx - vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy Statement [170] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 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 ] ) always clobbers reg byte a Statement [172] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 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 ] ) always clobbers reg byte a Statement [174] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 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 ] ) always clobbers reg byte a Statement [175] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 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 ] ) always clobbers reg byte a -Potential register analysis [176] calculate_matrix::$26 ← calculate_matrix::$25 - *(SINQ#0 + calculate_matrix::t5#0) missing fragment vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx allocation: reg byte x [ calculate_matrix::$25 ] reg byte a [ calculate_matrix::$26 ] reg byte x [ calculate_matrix::t5#0 ] -Potential register analysis [176] calculate_matrix::$26 ← calculate_matrix::$25 - *(SINQ#0 + calculate_matrix::t5#0) missing fragment vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy allocation: reg byte y [ calculate_matrix::$25 ] reg byte a [ calculate_matrix::$26 ] reg byte y [ calculate_matrix::t5#0 ] -MISSING FRAGMENTS - vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx - vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy Statement [176] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 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 ] ) always clobbers reg byte a -Potential register analysis [177] calculate_matrix::$27 ← calculate_matrix::$26 - *(SINQ#0 + calculate_matrix::t8#0) missing fragment vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx allocation: reg byte a [ calculate_matrix::$27 ] reg byte x [ calculate_matrix::$26 ] reg byte x [ calculate_matrix::t8#0 ] -Potential register analysis [177] calculate_matrix::$27 ← calculate_matrix::$26 - *(SINQ#0 + calculate_matrix::t8#0) missing fragment vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy allocation: reg byte a [ calculate_matrix::$27 ] reg byte y [ calculate_matrix::$26 ] reg byte y [ calculate_matrix::t8#0 ] -MISSING FRAGMENTS - vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx - vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy Statement [177] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 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 ] ) always clobbers reg byte a -Potential register analysis [178] calculate_matrix::$28 ← calculate_matrix::$27 - *(SINQ#0 + calculate_matrix::t7#0) missing fragment vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx allocation: reg byte x [ calculate_matrix::$27 ] reg byte x [ calculate_matrix::t7#0 ] reg byte a [ calculate_matrix::$28 ] -Potential register analysis [178] calculate_matrix::$28 ← calculate_matrix::$27 - *(SINQ#0 + calculate_matrix::t7#0) missing fragment vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy allocation: reg byte y [ calculate_matrix::$27 ] reg byte y [ calculate_matrix::t7#0 ] reg byte a [ calculate_matrix::$28 ] -MISSING FRAGMENTS - vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx - vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy Statement [178] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 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 ] ) always clobbers reg byte a Statement [180] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 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 ] ) always clobbers reg byte a Statement [181] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 calculate_matrix::t5#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$30 ] ) always clobbers reg byte a -Potential register analysis [182] calculate_matrix::$31 ← calculate_matrix::$30 - *(COSQ#0 + calculate_matrix::t5#0) missing fragment vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx allocation: reg byte a [ calculate_matrix::$31 ] reg byte x [ calculate_matrix::t5#0 ] reg byte x [ calculate_matrix::$30 ] -Potential register analysis [182] calculate_matrix::$31 ← calculate_matrix::$30 - *(COSQ#0 + calculate_matrix::t5#0) missing fragment vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy allocation: reg byte a [ calculate_matrix::$31 ] reg byte y [ calculate_matrix::t5#0 ] reg byte y [ calculate_matrix::$30 ] -MISSING FRAGMENTS - vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx - vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy Statement [182] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$31 ] ) always clobbers reg byte a Statement [183] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$32 ] ) always clobbers reg byte a -Potential register analysis [184] calculate_matrix::$33 ← calculate_matrix::$32 - *(COSQ#0 + calculate_matrix::t8#0) missing fragment vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx allocation: reg byte x [ calculate_matrix::$32 ] reg byte a [ calculate_matrix::$33 ] reg byte x [ calculate_matrix::t8#0 ] -Potential register analysis [184] calculate_matrix::$33 ← calculate_matrix::$32 - *(COSQ#0 + calculate_matrix::t8#0) missing fragment vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy allocation: reg byte y [ calculate_matrix::$32 ] reg byte a [ calculate_matrix::$33 ] reg byte y [ calculate_matrix::t8#0 ] -MISSING FRAGMENTS - vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx - vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy Statement [184] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$33 ] ) always clobbers reg byte a Statement [186] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 calculate_matrix::$34 ] ) always clobbers reg byte a Statement [216] (byte*) print_sbyte_at::at#0 ← (const byte*) debug_print_init::at_line#0 + (byte) debug_print_init::c#2 [ print_sbyte_at::at#0 debug_print_init::c#2 debug_print_init::i#2 ] ( main:11::debug_print_init:17 [ print_sbyte_at::at#0 debug_print_init::c#2 debug_print_init::i#2 ] ) always clobbers reg byte a @@ -7507,74 +7407,24 @@ Statement [156] (signed byte~) calculate_matrix::$11 ← *((const signed byte*) Statement [158] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 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 ] ) always clobbers reg byte a Statement [160] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 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 ] ) always clobbers reg byte a Statement [161] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 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 ] ) always clobbers reg byte a -Potential register analysis [162] calculate_matrix::$15 ← calculate_matrix::$14 - *(COSQ#0 + calculate_matrix::t5#0) missing fragment vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx allocation: reg byte x [ calculate_matrix::$14 ] reg byte a [ calculate_matrix::$15 ] reg byte x [ calculate_matrix::t5#0 ] -Potential register analysis [162] calculate_matrix::$15 ← calculate_matrix::$14 - *(COSQ#0 + calculate_matrix::t5#0) missing fragment vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy allocation: reg byte y [ calculate_matrix::$14 ] reg byte a [ calculate_matrix::$15 ] reg byte y [ calculate_matrix::t5#0 ] -MISSING FRAGMENTS - vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx - vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy Statement [162] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 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 ] ) always clobbers reg byte a Statement [163] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 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 ] ) always clobbers reg byte a -Potential register analysis [164] calculate_matrix::$17 ← calculate_matrix::$16 - *(COSQ#0 + calculate_matrix::t7#0) missing fragment vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx allocation: reg byte x [ calculate_matrix::$16 ] reg byte x [ calculate_matrix::t7#0 ] reg byte a [ calculate_matrix::$17 ] -Potential register analysis [164] calculate_matrix::$17 ← calculate_matrix::$16 - *(COSQ#0 + calculate_matrix::t7#0) missing fragment vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy allocation: reg byte y [ calculate_matrix::$16 ] reg byte y [ calculate_matrix::t7#0 ] reg byte a [ calculate_matrix::$17 ] -MISSING FRAGMENTS - vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx - vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy Statement [164] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 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 ] ) always clobbers reg byte a Statement [166] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 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 ] ) always clobbers reg byte a Statement [167] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 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 ] ) always clobbers reg byte a -Potential register analysis [168] calculate_matrix::$20 ← calculate_matrix::$19 - *(SINQ#0 + calculate_matrix::t6#0) missing fragment vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx allocation: reg byte a [ calculate_matrix::$20 ] reg byte x [ calculate_matrix::t6#0 ] reg byte x [ calculate_matrix::$19 ] -Potential register analysis [168] calculate_matrix::$20 ← calculate_matrix::$19 - *(SINQ#0 + calculate_matrix::t6#0) missing fragment vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy allocation: reg byte a [ calculate_matrix::$20 ] reg byte y [ calculate_matrix::t6#0 ] reg byte y [ calculate_matrix::$19 ] -MISSING FRAGMENTS - vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx - vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy Statement [168] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 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 ] ) always clobbers reg byte a -Potential register analysis [169] calculate_matrix::$21 ← calculate_matrix::$20 - *(SINQ#0 + calculate_matrix::t7#0) missing fragment vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx allocation: reg byte a [ calculate_matrix::$21 ] reg byte x [ calculate_matrix::$20 ] reg byte x [ calculate_matrix::t7#0 ] -Potential register analysis [169] calculate_matrix::$21 ← calculate_matrix::$20 - *(SINQ#0 + calculate_matrix::t7#0) missing fragment vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy allocation: reg byte a [ calculate_matrix::$21 ] reg byte y [ calculate_matrix::$20 ] reg byte y [ calculate_matrix::t7#0 ] -MISSING FRAGMENTS - vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx - vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy Statement [169] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 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 ] ) always clobbers reg byte a -Potential register analysis [170] calculate_matrix::$22 ← calculate_matrix::$21 - *(SINQ#0 + calculate_matrix::t8#0) missing fragment vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx allocation: reg byte x [ calculate_matrix::$21 ] reg byte a [ calculate_matrix::$22 ] reg byte x [ calculate_matrix::t8#0 ] -Potential register analysis [170] calculate_matrix::$22 ← calculate_matrix::$21 - *(SINQ#0 + calculate_matrix::t8#0) missing fragment vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy allocation: reg byte y [ calculate_matrix::$21 ] reg byte a [ calculate_matrix::$22 ] reg byte y [ calculate_matrix::t8#0 ] -MISSING FRAGMENTS - vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx - vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy Statement [170] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 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 ] ) always clobbers reg byte a Statement [172] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 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 ] ) always clobbers reg byte a Statement [174] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 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 ] ) always clobbers reg byte a Statement [175] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 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 ] ) always clobbers reg byte a -Potential register analysis [176] calculate_matrix::$26 ← calculate_matrix::$25 - *(SINQ#0 + calculate_matrix::t5#0) missing fragment vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx allocation: reg byte x [ calculate_matrix::$25 ] reg byte a [ calculate_matrix::$26 ] reg byte x [ calculate_matrix::t5#0 ] -Potential register analysis [176] calculate_matrix::$26 ← calculate_matrix::$25 - *(SINQ#0 + calculate_matrix::t5#0) missing fragment vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy allocation: reg byte y [ calculate_matrix::$25 ] reg byte a [ calculate_matrix::$26 ] reg byte y [ calculate_matrix::t5#0 ] -MISSING FRAGMENTS - vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx - vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy Statement [176] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 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 ] ) always clobbers reg byte a -Potential register analysis [177] calculate_matrix::$27 ← calculate_matrix::$26 - *(SINQ#0 + calculate_matrix::t8#0) missing fragment vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx allocation: reg byte a [ calculate_matrix::$27 ] reg byte x [ calculate_matrix::$26 ] reg byte x [ calculate_matrix::t8#0 ] -Potential register analysis [177] calculate_matrix::$27 ← calculate_matrix::$26 - *(SINQ#0 + calculate_matrix::t8#0) missing fragment vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy allocation: reg byte a [ calculate_matrix::$27 ] reg byte y [ calculate_matrix::$26 ] reg byte y [ calculate_matrix::t8#0 ] -MISSING FRAGMENTS - vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx - vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy Statement [177] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 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 ] ) always clobbers reg byte a -Potential register analysis [178] calculate_matrix::$28 ← calculate_matrix::$27 - *(SINQ#0 + calculate_matrix::t7#0) missing fragment vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx allocation: reg byte x [ calculate_matrix::$27 ] reg byte x [ calculate_matrix::t7#0 ] reg byte a [ calculate_matrix::$28 ] -Potential register analysis [178] calculate_matrix::$28 ← calculate_matrix::$27 - *(SINQ#0 + calculate_matrix::t7#0) missing fragment vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy allocation: reg byte y [ calculate_matrix::$27 ] reg byte y [ calculate_matrix::t7#0 ] reg byte a [ calculate_matrix::$28 ] -MISSING FRAGMENTS - vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx - vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy Statement [178] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 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 ] ) always clobbers reg byte a Statement [180] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 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 ] ) always clobbers reg byte a Statement [181] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 calculate_matrix::t5#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$30 ] ) always clobbers reg byte a -Potential register analysis [182] calculate_matrix::$31 ← calculate_matrix::$30 - *(COSQ#0 + calculate_matrix::t5#0) missing fragment vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx allocation: reg byte a [ calculate_matrix::$31 ] reg byte x [ calculate_matrix::t5#0 ] reg byte x [ calculate_matrix::$30 ] -Potential register analysis [182] calculate_matrix::$31 ← calculate_matrix::$30 - *(COSQ#0 + calculate_matrix::t5#0) missing fragment vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy allocation: reg byte a [ calculate_matrix::$31 ] reg byte y [ calculate_matrix::t5#0 ] reg byte y [ calculate_matrix::$30 ] -MISSING FRAGMENTS - vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx - vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy Statement [182] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$31 ] ) always clobbers reg byte a Statement [183] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$32 ] ) always clobbers reg byte a -Potential register analysis [184] calculate_matrix::$33 ← calculate_matrix::$32 - *(COSQ#0 + calculate_matrix::t8#0) missing fragment vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx allocation: reg byte x [ calculate_matrix::$32 ] reg byte a [ calculate_matrix::$33 ] reg byte x [ calculate_matrix::t8#0 ] -Potential register analysis [184] calculate_matrix::$33 ← calculate_matrix::$32 - *(COSQ#0 + calculate_matrix::t8#0) missing fragment vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy allocation: reg byte y [ calculate_matrix::$32 ] reg byte a [ calculate_matrix::$33 ] reg byte y [ calculate_matrix::t8#0 ] -MISSING FRAGMENTS - vbsaa=vbsxx_minus_pbsc1_derefidx_vbsxx - vbsaa=vbsyy_minus_pbsc1_derefidx_vbsyy Statement [184] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$33 ] ) always clobbers reg byte a Statement [186] (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:11::anim:19::calculate_matrix:29 [ sx#10 sy#10 calculate_matrix::$34 ] ) always clobbers reg byte a Statement [216] (byte*) print_sbyte_at::at#0 ← (const byte*) debug_print_init::at_line#0 + (byte) debug_print_init::c#2 [ print_sbyte_at::at#0 debug_print_init::c#2 debug_print_init::i#2 ] ( main:11::debug_print_init:17 [ print_sbyte_at::at#0 debug_print_init::c#2 debug_print_init::i#2 ] ) always clobbers reg byte a @@ -8942,16 +8792,16 @@ calculate_matrix: { adc sy sta t10 //SEG300 [154] (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) -- vbsaa=pbsc1_derefidx_vbsz1_plus_pbsc1_derefidx_vbsxx + lda COSH,x ldy t1 clc - lda COSH,x adc COSH,y //SEG301 [155] *((const signed byte[9]) rotation_matrix#0) ← (signed byte~) calculate_matrix::$10 -- _deref_pbsc1=vbsaa sta rotation_matrix //SEG302 [156] (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) -- vbsaa=pbsc1_derefidx_vbsz1_minus_pbsc1_derefidx_vbsxx ldy t1 - sec lda SINH,y + sec sbc SINH,x //SEG303 [157] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 1) ← (signed byte~) calculate_matrix::$11 -- _deref_pbsc1=vbsaa sta rotation_matrix+1 @@ -8963,10 +8813,10 @@ calculate_matrix: { //SEG305 [159] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 2) ← (signed byte~) calculate_matrix::$12 -- _deref_pbsc1=vbsaa sta rotation_matrix+2 //SEG306 [160] (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) -- vbsaa=pbsc1_derefidx_vbsz1_minus_pbsc1_derefidx_vbsz2 - ldx t3 + ldy t3 + lda SINH,y ldy t4 sec - lda SINH,x sbc SINH,y //SEG307 [161] (signed byte~) calculate_matrix::$14 ← (signed byte~) calculate_matrix::$13 + *((const signed byte*) COSQ#0 + (signed byte) calculate_matrix::t6#0) -- vbsaa=vbsaa_plus_pbsc1_derefidx_vbsz1 ldy t6 @@ -8987,10 +8837,10 @@ calculate_matrix: { //SEG311 [165] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 3) ← (signed byte~) calculate_matrix::$17 -- _deref_pbsc1=vbsaa sta rotation_matrix+3 //SEG312 [166] (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) -- vbsaa=pbsc1_derefidx_vbsz1_plus_pbsc1_derefidx_vbsz2 - ldx t3 + ldy t3 + lda COSH,y ldy t4 clc - lda COSH,x adc COSH,y //SEG313 [167] (signed byte~) calculate_matrix::$19 ← (signed byte~) calculate_matrix::$18 + *((const signed byte*) SINQ#0 + (signed byte) calculate_matrix::t5#0) -- vbsaa=vbsaa_plus_pbsc1_derefidx_vbsz1 ldy t5 @@ -9011,18 +8861,18 @@ calculate_matrix: { //SEG317 [171] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 4) ← (signed byte~) calculate_matrix::$22 -- _deref_pbsc1=vbsaa sta rotation_matrix+4 //SEG318 [172] (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) -- vbsaa=pbsc1_derefidx_vbsz1_minus_pbsc1_derefidx_vbsz2 - ldx t9 + ldy t9 + lda SINH,y ldy t10 sec - lda SINH,x sbc SINH,y //SEG319 [173] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 5) ← (signed byte~) calculate_matrix::$23 -- _deref_pbsc1=vbsaa sta rotation_matrix+5 //SEG320 [174] (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) -- vbsaa=pbsc1_derefidx_vbsz1_minus_pbsc1_derefidx_vbsz2 - ldx t4 + ldy t4 + lda COSH,y ldy t3 sec - lda COSH,x sbc COSH,y //SEG321 [175] (signed byte~) calculate_matrix::$25 ← (signed byte~) calculate_matrix::$24 + *((const signed byte*) SINQ#0 + (signed byte) calculate_matrix::t6#0) -- vbsaa=vbsaa_plus_pbsc1_derefidx_vbsz1 ldy t6 @@ -9043,10 +8893,10 @@ calculate_matrix: { //SEG325 [179] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 6) ← (signed byte~) calculate_matrix::$28 -- _deref_pbsc1=vbsaa sta rotation_matrix+6 //SEG326 [180] (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) -- vbsaa=pbsc1_derefidx_vbsz1_plus_pbsc1_derefidx_vbsz2 - ldx t3 + ldy t3 + lda SINH,y ldy t4 clc - lda SINH,x adc SINH,y //SEG327 [181] (signed byte~) calculate_matrix::$30 ← (signed byte~) calculate_matrix::$29 + *((const signed byte*) COSQ#0 + (signed byte) calculate_matrix::t6#0) -- vbsaa=vbsaa_plus_pbsc1_derefidx_vbsz1 ldy t6 @@ -9067,10 +8917,10 @@ calculate_matrix: { //SEG331 [185] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 7) ← (signed byte~) calculate_matrix::$33 -- _deref_pbsc1=vbsaa sta rotation_matrix+7 //SEG332 [186] (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) -- vbsaa=pbsc1_derefidx_vbsz1_plus_pbsc1_derefidx_vbsz2 - ldx t9 + ldy t9 + lda COSH,y ldy t10 clc - lda COSH,x adc COSH,y //SEG333 [187] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 8) ← (signed byte~) calculate_matrix::$34 -- _deref_pbsc1=vbsaa sta rotation_matrix+8 @@ -9971,7 +9821,6 @@ Removing instruction ldy i Replacing instruction lda i with TYA Replacing instruction ldx zr with TAX Removing instruction ldy t1 -Removing instruction ldx t3 Removing instruction ldy #0 Succesful ASM optimization Pass5UnnecesaryLoadElimination Replacing label b6_from_b9 with b6 @@ -10141,8 +9990,8 @@ Succesful ASM optimization Pass5NextJumpElimination Removing instruction bbegin: Succesful ASM optimization Pass5UnusedLabelElimination Fixing long branch [328] bne b1 to beq -Fixing long branch [1022] bne b2 to beq -Fixing long branch [1031] bne b1 to beq +Fixing long branch [1023] bne b2 to beq +Fixing long branch [1032] bne b1 to beq FINAL SYMBOL TABLE (label) @1 @@ -10765,7 +10614,7 @@ reg byte x [ debug_print_init::col#0 ] FINAL ASSEMBLER -Score: 85397 +Score: 85400 //SEG0 File Comments // 3D Rotation using a Rotation Matrix @@ -11661,15 +11510,15 @@ calculate_matrix: { adc sy sta t10 //SEG300 [154] (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) -- vbsaa=pbsc1_derefidx_vbsz1_plus_pbsc1_derefidx_vbsxx + lda COSH,x ldy t1 clc - lda COSH,x adc COSH,y //SEG301 [155] *((const signed byte[9]) rotation_matrix#0) ← (signed byte~) calculate_matrix::$10 -- _deref_pbsc1=vbsaa sta rotation_matrix //SEG302 [156] (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) -- vbsaa=pbsc1_derefidx_vbsz1_minus_pbsc1_derefidx_vbsxx - sec lda SINH,y + sec sbc SINH,x //SEG303 [157] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 1) ← (signed byte~) calculate_matrix::$11 -- _deref_pbsc1=vbsaa sta rotation_matrix+1 @@ -11681,10 +11530,10 @@ calculate_matrix: { //SEG305 [159] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 2) ← (signed byte~) calculate_matrix::$12 -- _deref_pbsc1=vbsaa sta rotation_matrix+2 //SEG306 [160] (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) -- vbsaa=pbsc1_derefidx_vbsz1_minus_pbsc1_derefidx_vbsz2 - ldx t3 + ldy t3 + lda SINH,y ldy t4 sec - lda SINH,x sbc SINH,y //SEG307 [161] (signed byte~) calculate_matrix::$14 ← (signed byte~) calculate_matrix::$13 + *((const signed byte*) COSQ#0 + (signed byte) calculate_matrix::t6#0) -- vbsaa=vbsaa_plus_pbsc1_derefidx_vbsz1 ldy t6 @@ -11705,9 +11554,10 @@ calculate_matrix: { //SEG311 [165] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 3) ← (signed byte~) calculate_matrix::$17 -- _deref_pbsc1=vbsaa sta rotation_matrix+3 //SEG312 [166] (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) -- vbsaa=pbsc1_derefidx_vbsz1_plus_pbsc1_derefidx_vbsz2 + ldy t3 + lda COSH,y ldy t4 clc - lda COSH,x adc COSH,y //SEG313 [167] (signed byte~) calculate_matrix::$19 ← (signed byte~) calculate_matrix::$18 + *((const signed byte*) SINQ#0 + (signed byte) calculate_matrix::t5#0) -- vbsaa=vbsaa_plus_pbsc1_derefidx_vbsz1 ldy t5 @@ -11728,18 +11578,18 @@ calculate_matrix: { //SEG317 [171] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 4) ← (signed byte~) calculate_matrix::$22 -- _deref_pbsc1=vbsaa sta rotation_matrix+4 //SEG318 [172] (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) -- vbsaa=pbsc1_derefidx_vbsz1_minus_pbsc1_derefidx_vbsz2 - ldx t9 + ldy t9 + lda SINH,y ldy t10 sec - lda SINH,x sbc SINH,y //SEG319 [173] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 5) ← (signed byte~) calculate_matrix::$23 -- _deref_pbsc1=vbsaa sta rotation_matrix+5 //SEG320 [174] (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) -- vbsaa=pbsc1_derefidx_vbsz1_minus_pbsc1_derefidx_vbsz2 - ldx t4 + ldy t4 + lda COSH,y ldy t3 sec - lda COSH,x sbc COSH,y //SEG321 [175] (signed byte~) calculate_matrix::$25 ← (signed byte~) calculate_matrix::$24 + *((const signed byte*) SINQ#0 + (signed byte) calculate_matrix::t6#0) -- vbsaa=vbsaa_plus_pbsc1_derefidx_vbsz1 ldy t6 @@ -11760,10 +11610,10 @@ calculate_matrix: { //SEG325 [179] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 6) ← (signed byte~) calculate_matrix::$28 -- _deref_pbsc1=vbsaa sta rotation_matrix+6 //SEG326 [180] (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) -- vbsaa=pbsc1_derefidx_vbsz1_plus_pbsc1_derefidx_vbsz2 - ldx t3 + ldy t3 + lda SINH,y ldy t4 clc - lda SINH,x adc SINH,y //SEG327 [181] (signed byte~) calculate_matrix::$30 ← (signed byte~) calculate_matrix::$29 + *((const signed byte*) COSQ#0 + (signed byte) calculate_matrix::t6#0) -- vbsaa=vbsaa_plus_pbsc1_derefidx_vbsz1 ldy t6 @@ -11784,10 +11634,10 @@ calculate_matrix: { //SEG331 [185] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 7) ← (signed byte~) calculate_matrix::$33 -- _deref_pbsc1=vbsaa sta rotation_matrix+7 //SEG332 [186] (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) -- vbsaa=pbsc1_derefidx_vbsz1_plus_pbsc1_derefidx_vbsz2 - ldx t9 + ldy t9 + lda COSH,y ldy t10 clc - lda COSH,x adc COSH,y //SEG333 [187] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 8) ← (signed byte~) calculate_matrix::$34 -- _deref_pbsc1=vbsaa sta rotation_matrix+8 diff --git a/src/test/ref/sinusgen8.asm b/src/test/ref/sinusgen8.asm index c282bc6f4..a2abbadde 100644 --- a/src/test/ref/sinusgen8.asm +++ b/src/test/ref/sinusgen8.asm @@ -21,8 +21,8 @@ main: { sta print_char_cursor+1 ldx #0 b1: - sec lda sintab2,x + sec sbc sintabref,x sta sb bmi b2 diff --git a/src/test/ref/sinusgen8.log b/src/test/ref/sinusgen8.log index 39fb82127..e5c3bad1a 100644 --- a/src/test/ref/sinusgen8.log +++ b/src/test/ref/sinusgen8.log @@ -2372,8 +2372,8 @@ main: { b1: //SEG24 [9] (signed byte) main::sb#0 ← *((const signed byte[$c0]) main::sintab2#0 + (byte) main::i#2) - (signed byte)*((const byte[]) main::sintabref#0 + (byte) main::i#2) -- vbsz1=pbsc1_derefidx_vbuz2_minus_pbsc2_derefidx_vbuz2 ldy i - sec lda sintab2,y + sec sbc sintabref,y sta sb //SEG25 [10] if((signed byte) main::sb#0<(byte/signed byte/word/signed word/dword/signed dword) 0) goto main::@2 -- vbsz1_lt_0_then_la1 @@ -3648,8 +3648,8 @@ main: { //SEG23 main::@1 b1: //SEG24 [9] (signed byte) main::sb#0 ← *((const signed byte[$c0]) main::sintab2#0 + (byte) main::i#2) - (signed byte)*((const byte[]) main::sintabref#0 + (byte) main::i#2) -- vbsz1=pbsc1_derefidx_vbuxx_minus_pbsc2_derefidx_vbuxx - sec lda sintab2,x + sec sbc sintabref,x sta sb //SEG25 [10] if((signed byte) main::sb#0<(byte/signed byte/word/signed word/dword/signed dword) 0) goto main::@2 -- vbsz1_lt_0_then_la1 @@ -5021,8 +5021,8 @@ main: { //SEG23 main::@1 b1: //SEG24 [9] (signed byte) main::sb#0 ← *((const signed byte[$c0]) main::sintab2#0 + (byte) main::i#2) - (signed byte)*((const byte[]) main::sintabref#0 + (byte) main::i#2) -- vbsz1=pbsc1_derefidx_vbuxx_minus_pbsc2_derefidx_vbuxx - sec lda sintab2,x + sec sbc sintabref,x sta sb //SEG25 [10] if((signed byte) main::sb#0<(byte/signed byte/word/signed word/dword/signed dword) 0) goto main::@2 -- vbsz1_lt_0_then_la1