diff --git a/src/main/fragment/pbuz1=_dec_pbuz1.asm b/src/main/fragment/pbuz1=_dec_pbuz1.asm
deleted file mode 100644
index 0e48b713c..000000000
--- a/src/main/fragment/pbuz1=_dec_pbuz1.asm
+++ /dev/null
@@ -1,5 +0,0 @@
-lda {z1}+1
-bne !+
-dec {z1}+1
-!:
-dec {z1}
diff --git a/src/main/fragment/vwsz1_ge_vbuc1_then_la1.asm b/src/main/fragment/vwsz1_ge_vbuc1_then_la1.asm
deleted file mode 100644
index ec921f69c..000000000
--- a/src/main/fragment/vwsz1_ge_vbuc1_then_la1.asm
+++ /dev/null
@@ -1,8 +0,0 @@
-lda {z1}
-cmp #{c1}
-lda {z1}+1
-sbc #0
-bvc !+
-eor #$80
-!:
-bpl {la1}
diff --git a/src/main/fragment/vwuz1=vbuaa_plus_vbuc1.asm b/src/main/fragment/vwuz1=vbuaa_plus_vbuc1.asm
deleted file mode 100644
index 7ac67d1a5..000000000
--- a/src/main/fragment/vwuz1=vbuaa_plus_vbuc1.asm
+++ /dev/null
@@ -1,6 +0,0 @@
-clc
-adc #{c1}
-sta {z1}
-lda #0
-adc #0
-sta {z1}+1
diff --git a/src/main/fragment/vwuz1_gt_vwuz2_then_la1.asm b/src/main/fragment/vwuz1_gt_vwuz2_then_la1.asm
deleted file mode 100644
index 35f78a901..000000000
--- a/src/main/fragment/vwuz1_gt_vwuz2_then_la1.asm
+++ /dev/null
@@ -1,8 +0,0 @@
-lda {z2}+1
-cmp {z1}+1
-bne !+
-lda {z2}
-cmp {z1}
-!:
-bcc {la1}
-beq {la1}
diff --git a/src/main/java/dk/camelot64/kickc/fragment/AsmFragmentTemplateSynthesisRule.java b/src/main/java/dk/camelot64/kickc/fragment/AsmFragmentTemplateSynthesisRule.java
index 81c81f544..b9a8fc001 100644
--- a/src/main/java/dk/camelot64/kickc/fragment/AsmFragmentTemplateSynthesisRule.java
+++ b/src/main/java/dk/camelot64/kickc/fragment/AsmFragmentTemplateSynthesisRule.java
@@ -470,6 +470,34 @@ class AsmFragmentTemplateSynthesisRule {
       // Rewrite (Z1),a to use TAY prefix
       synths.add(new AsmFragmentTemplateSynthesisRule("pb(.)z1_derefidx_vbuaa=(.*)", twoZ1+"|"+rvalYy, "tay" , "vb$1aa=$2", "sta ({z1}),y", mapZ, "yy"));
 
+      // Rewrite constant byte values to constant word values
+      synths.add(new AsmFragmentTemplateSynthesisRule("(.*)vb(.)c1(.*)", null, null , "$1vw$2c1$3", null, null));
+      synths.add(new AsmFragmentTemplateSynthesisRule("(.*)vb(.)c2(.*)", null, null , "$1vw$2c2$3", null, null));
+      // Rewrite constant word values to constant dword values
+      synths.add(new AsmFragmentTemplateSynthesisRule("(.*)vw(.)c1(.*)", null, null , "$1vd$2c1$3", null, null));
+      synths.add(new AsmFragmentTemplateSynthesisRule("(.*)vw(.)c2(.*)", null, null , "$1vd$2c2$3", null, null));
+      // Rewrite constant unsigned byte values to constant signed word values
+      synths.add(new AsmFragmentTemplateSynthesisRule("(.*)vbuc1(.*)", null, null , "$1vwsc1$2", null, null));
+      synths.add(new AsmFragmentTemplateSynthesisRule("(.*)vbuc2(.*)", null, null , "$1vwsc2$2", null, null));
+      // Rewrite constant unsigned word values to constant signed dword values
+      synths.add(new AsmFragmentTemplateSynthesisRule("(.*)vwuc1(.*)", null, null , "$1vdsc1$2", null, null));
+      synths.add(new AsmFragmentTemplateSynthesisRule("(.*)vwuc2(.*)", null, null , "$1vdsc2$2", null, null));
+
+      /*
+      // Rewrite any zeropage pointer as an unsigned word zeropage values
+      synths.add(new AsmFragmentTemplateSynthesisRule("(.*)p..z(.)(.*)", null, null , "$1vwuz$2$3", null, null));
+      // Rewrite any constant pointer as an constant unsigned word
+      synths.add(new AsmFragmentTemplateSynthesisRule("(.*)p..c(.)(.*)", null, null , "$1vwuc$2$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));
+      synths.add(new AsmFragmentTemplateSynthesisRule("(.*)=(.*)vbuc1(.*)", rvalYy+"|"+twoC1+"|"+ derefC1, "ldy #{c1}", "$1=$2vbuyy$3", null, mapC));
+      synths.add(new AsmFragmentTemplateSynthesisRule("(.*)=(.*)vbsc1(.*)", rvalYy+"|"+twoC1+"|"+ derefC1, "ldy #{c1}", "$1=$2vbsyy$3", null, mapC));
+      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));
+
       // 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));
@@ -531,30 +559,6 @@ class AsmFragmentTemplateSynthesisRule {
       synths.add(new AsmFragmentTemplateSynthesisRule("(vws..)=(vws..)_(plus|minus)_(vws..)", null, null, "$1=$2_$3_$4", null, mapSToU));
       synths.add(new AsmFragmentTemplateSynthesisRule("(vds..)=(vds..)_(plus|minus)_(vds..)", null, null, "$1=$2_$3_$4", null, mapSToU));
 
-      // Use constant word ASM to synthesize unsigned constant byte ASM ( ...vb.c... -> vw.c... )
-      synths.add(new AsmFragmentTemplateSynthesisRule("(vwuz.)=(vwuz.)_(plus|minus|band|bxor|bor)_vb.c(.)", null, null, "$1=$2_$3_vwuc$4", null, null));
-      synths.add(new AsmFragmentTemplateSynthesisRule("(vwuz.)=vb.c(.)_(plus|minus|band|bxor|bor)_(vwuz.)", null, null, "$1=vwuc$2_$3_$4", null, null));
-      synths.add(new AsmFragmentTemplateSynthesisRule("(vwsz.)=(vwsz.)_(plus|minus|band|bxor|bor)_vb.c(.)", null, null, "$1=$2_$3_vwsc$4", null, null));
-      synths.add(new AsmFragmentTemplateSynthesisRule("(vwsz.)=vb.c(.)_(plus|minus|band|bxor|bor)_(vwsz.)", null, null, "$1=vwsc$2_$3_$4", null, null));
-      synths.add(new AsmFragmentTemplateSynthesisRule("(vwuz.)=vb.c(.)", null, null, "$1=vwuc$2", null, null));
-      synths.add(new AsmFragmentTemplateSynthesisRule("(vwsz.)=vb.c(.)", null, null, "$1=vwsc$2", null, null));
-
-      // Use constant dword ASM to synthesize unsigned constant word ASM ( ...vw.c... -> vd.c... )
-      synths.add(new AsmFragmentTemplateSynthesisRule("(vduz.)=(vduz.)_(plus|minus|band|bxor|bor)_vw.c(.)", null, null, "$1=$2_$3_vduc$4", null, null));
-      synths.add(new AsmFragmentTemplateSynthesisRule("(vduz.)=vw.c(.)_(plus|minus|band|bxor|bor)_(vduz.)", null, null, "$1=vduc$2_$3_$4", null, null));
-      synths.add(new AsmFragmentTemplateSynthesisRule("(vdsz.)=(vdsz.)_(plus|minus|band|bxor|bor)_vw.c(.)", null, null, "$1=$2_$3_vdsc$4", null, null));
-      synths.add(new AsmFragmentTemplateSynthesisRule("(vdsz.)=vw.c(.)_(plus|minus|band|bxor|bor)_(vdsz.)", null, null, "$1=vdsc$2_$3_$4", null, null));
-      synths.add(new AsmFragmentTemplateSynthesisRule("(vduz.)=vw.c(.)", null, null, "$1=vduc$2", null, null));
-      synths.add(new AsmFragmentTemplateSynthesisRule("(vdsz.)=vw.c(.)", null, null, "$1=vdsc$2", null, null));
-
-      // Use constant dword ASM to synthesize unsigned constant byte ASM ( ...vb.c... -> vd.c... )
-      synths.add(new AsmFragmentTemplateSynthesisRule("(vduz.)=(vduz.)_(plus|minus|band|bxor|bor)_vb.c(.)", null, null, "$1=$2_$3_vduc$4", null, null));
-      synths.add(new AsmFragmentTemplateSynthesisRule("(vduz.)=vb.c(.)_(plus|minus|band|bxor|bor)_(vduz.)", null, null, "$1=vduc$2_$3_$4", null, null));
-      synths.add(new AsmFragmentTemplateSynthesisRule("(vdsz.)=(vdsz.)_(plus|minus|band|bxor|bor)_vb.c(.)", null, null, "$1=$2_$3_vdsc$4", null, null));
-      synths.add(new AsmFragmentTemplateSynthesisRule("(vdsz.)=vb.c(.)_(plus|minus|band|bxor|bor)_(vdsz.)", null, null, "$1=vdsc$2_$3_$4", null, null));
-      synths.add(new AsmFragmentTemplateSynthesisRule("(vduz.)=vb.c(.)", null, null, "$1=vduc$2", null, null));
-      synths.add(new AsmFragmentTemplateSynthesisRule("(vdsz.)=vb.c(.)", null, null, "$1=vdsc$2", null, null));
-
       // Use Z1/Z2 ASM to synthesize Z1-only code ( ...z1...z1... -> ...z1...z2... )
       synths.add(new AsmFragmentTemplateSynthesisRule("(v..)z1=(v..)z1_(plus|minus|band|bxor|bor)_(.*)", oneZ2, null, "$1z1=$2z2_$3_$4", null, mapZ, false));
       synths.add(new AsmFragmentTemplateSynthesisRule("(v..)z1=(.*)_(plus|minus|band|bxor|bor)_(v..)z1", oneZ2, null, "$1z1=$2_$3_$4z2", null, mapZ, false));
@@ -567,14 +571,6 @@ class AsmFragmentTemplateSynthesisRule {
       synths.add(new AsmFragmentTemplateSynthesisRule("vb(.)aa=_dec_(.*)", null, null, "vb$1aa=$2_minus_1", null, null));
       synths.add(new AsmFragmentTemplateSynthesisRule("vw(.)z1=_inc_vw(.z.)", null, null, "vw$1z1=vw$2_plus_1", 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));
-      synths.add(new AsmFragmentTemplateSynthesisRule("(.*)=(.*)vbuc1(.*)", rvalYy+"|"+twoC1+"|"+ derefC1, "ldy #{c1}", "$1=$2vbuyy$3", null, mapC));
-      synths.add(new AsmFragmentTemplateSynthesisRule("(.*)=(.*)vbsc1(.*)", rvalYy+"|"+twoC1+"|"+ derefC1, "ldy #{c1}", "$1=$2vbsyy$3", null, mapC));
-      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));
-
       // Synthesize some constant pointers as constant words
       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));
diff --git a/src/main/java/dk/camelot64/kickc/fragment/AsmFragmentTemplateUsages.java b/src/main/java/dk/camelot64/kickc/fragment/AsmFragmentTemplateUsages.java
index 4d3e1a4b3..4857ca3a8 100644
--- a/src/main/java/dk/camelot64/kickc/fragment/AsmFragmentTemplateUsages.java
+++ b/src/main/java/dk/camelot64/kickc/fragment/AsmFragmentTemplateUsages.java
@@ -42,6 +42,7 @@ public class AsmFragmentTemplateUsages {
       File[] files = AsmFragmentTemplateSynthesizer.SYNTHESIZER.allFragmentFiles();
 
       if(logRedundantFiles) {
+         log.append("\nREDUNDANT ASM FRAGMENT FILES ANALYSIS (if found consider removing them from disk)");
          Set<String> redundantSignatures = new LinkedHashSet<>();
          for(File file : files) {
             String fileName = file.getName();
diff --git a/src/test/java/dk/camelot64/kickc/test/TestFragments.java b/src/test/java/dk/camelot64/kickc/test/TestFragments.java
index c3f489d71..270df548e 100644
--- a/src/test/java/dk/camelot64/kickc/test/TestFragments.java
+++ b/src/test/java/dk/camelot64/kickc/test/TestFragments.java
@@ -31,21 +31,21 @@ public class TestFragments {
    }
 
    @Test
-   public void testAssignmentsBu() throws IOException, URISyntaxException {
+   public void testAssignmentsBu() throws IOException {
       testFragments("fragments-assignment-copy", assignmentsBu());
    }
 
    @Test
-   public void testAssignmentsUnaryBu() throws IOException, URISyntaxException {
+   public void testAssignmentsUnaryBu() throws IOException {
       testFragments("fragments-assignment-unary", assignmentsUnaryBu());
    }
 
    @Test
-   public void testAssignmentsBinaryBu() throws IOException, URISyntaxException {
+   public void testAssignmentsBinaryBu() throws IOException {
       testFragments("fragments-assignment-binary", assignmentsBinaryBu());
    }
 
-   private void testFragments(String fileName, Collection<String> signatures) throws IOException, URISyntaxException {
+   private void testFragments(String fileName, Collection<String> signatures) throws IOException {
       CompileLog log = new CompileLog();
       int cnt = 0;
       for(String signature : signatures) {
diff --git a/src/test/java/dk/camelot64/kickc/test/TestPrograms.java b/src/test/java/dk/camelot64/kickc/test/TestPrograms.java
index 5ff1c92e9..16972bae4 100644
--- a/src/test/java/dk/camelot64/kickc/test/TestPrograms.java
+++ b/src/test/java/dk/camelot64/kickc/test/TestPrograms.java
@@ -44,6 +44,11 @@ public class TestPrograms {
       AsmFragmentTemplateUsages.logUsages(log, false, false, false, false, false, false);
    }
 
+   @Test
+   public void testTypeMix() throws IOException, URISyntaxException {
+      compileAndCompare("type-mix");
+   }
+
    @Test
    public void testClobberProblem() throws IOException, URISyntaxException {
       compileAndCompare("scrollbig-clobber");
diff --git a/src/test/kc/type-mix.kc b/src/test/kc/type-mix.kc
new file mode 100644
index 000000000..e3245f2ab
--- /dev/null
+++ b/src/test/kc/type-mix.kc
@@ -0,0 +1,13 @@
+// Tests that mixing types can synthesize a fragment correctly
+
+void main() {
+
+    signed word w = 0;
+    byte* SCREEN = $400;
+
+    for (byte i: 0..10) {
+        w = w - 12;
+        SCREEN[i] = <w;
+    }
+
+}
\ No newline at end of file
diff --git a/src/test/ref/examples/sinplotter/sine-plotter.asm b/src/test/ref/examples/sinplotter/sine-plotter.asm
index 3edabd5a1..bcc081b13 100644
--- a/src/test/ref/examples/sinplotter/sine-plotter.asm
+++ b/src/test/ref/examples/sinplotter/sine-plotter.asm
@@ -200,9 +200,9 @@ wrap_y: {
     .label y = 6
   b1:
     lda y
-    cmp #$c8
+    cmp #<$c8
     lda y+1
-    sbc #0
+    sbc #>$c8
     bvc !+
     eor #$80
   !:
diff --git a/src/test/ref/examples/sinplotter/sine-plotter.log b/src/test/ref/examples/sinplotter/sine-plotter.log
index dd93f9d65..2f6b18c28 100644
--- a/src/test/ref/examples/sinplotter/sine-plotter.log
+++ b/src/test/ref/examples/sinplotter/sine-plotter.log
@@ -4135,9 +4135,9 @@ wrap_y: {
   b1:
   //SEG114 [63] if((signed word) wrap_y::y#4>=(byte/word/signed word/dword/signed dword) $c8) goto wrap_y::@2 -- vwsz1_ge_vbuc1_then_la1 
     lda y
-    cmp #$c8
+    cmp #<$c8
     lda y+1
-    sbc #0
+    sbc #>$c8
     bvc !+
     eor #$80
   !:
@@ -6300,9 +6300,9 @@ wrap_y: {
   b1:
   //SEG114 [63] if((signed word) wrap_y::y#4>=(byte/word/signed word/dword/signed dword) $c8) goto wrap_y::@2 -- vwsz1_ge_vbuc1_then_la1 
     lda y
-    cmp #$c8
+    cmp #<$c8
     lda y+1
-    sbc #0
+    sbc #>$c8
     bvc !+
     eor #$80
   !:
@@ -8509,9 +8509,9 @@ wrap_y: {
   b1:
   //SEG114 [63] if((signed word) wrap_y::y#4>=(byte/word/signed word/dword/signed dword) $c8) goto wrap_y::@2 -- vwsz1_ge_vbuc1_then_la1 
     lda y
-    cmp #$c8
+    cmp #<$c8
     lda y+1
-    sbc #0
+    sbc #>$c8
     bvc !+
     eor #$80
   !:
diff --git a/src/test/ref/examples/sinsprites/sinus-sprites.asm b/src/test/ref/examples/sinsprites/sinus-sprites.asm
index bd0dbc699..b471832a4 100644
--- a/src/test/ref/examples/sinsprites/sinus-sprites.asm
+++ b/src/test/ref/examples/sinsprites/sinus-sprites.asm
@@ -60,9 +60,9 @@ anim: {
     ldy xidx
     lda sintab_x,y
     clc
-    adc #$1e
+    adc #<$1e
     sta x
-    lda #0
+    lda #>$1e
     adc #0
     sta x+1
     asl _2
diff --git a/src/test/ref/examples/sinsprites/sinus-sprites.log b/src/test/ref/examples/sinsprites/sinus-sprites.log
index 243a5feae..37e6c2734 100644
--- a/src/test/ref/examples/sinsprites/sinus-sprites.log
+++ b/src/test/ref/examples/sinsprites/sinus-sprites.log
@@ -3630,9 +3630,9 @@ anim: {
     ldy xidx
     lda sintab_x,y
     clc
-    adc #$1e
+    adc #<$1e
     sta x
-    lda #0
+    lda #>$1e
     adc #0
     sta x+1
   //SEG43 [15] (byte~) anim::$2 ← (byte) anim::x_msb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz2_rol_1 
@@ -5417,9 +5417,9 @@ anim: {
     ldy xidx
     lda sintab_x,y
     clc
-    adc #$1e
+    adc #<$1e
     sta x
-    lda #0
+    lda #>$1e
     adc #0
     sta x+1
   //SEG43 [15] (byte~) anim::$2 ← (byte) anim::x_msb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz1_rol_1 
@@ -7485,9 +7485,9 @@ anim: {
     ldy xidx
     lda sintab_x,y
     clc
-    adc #$1e
+    adc #<$1e
     sta x
-    lda #0
+    lda #>$1e
     adc #0
     sta x+1
   //SEG43 [15] (byte~) anim::$2 ← (byte) anim::x_msb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz1_rol_1 
diff --git a/src/test/ref/fragments-assignment-binary.log b/src/test/ref/fragments-assignment-binary.log
index c408648e7..989c2430a 100644
--- a/src/test/ref/fragments-assignment-binary.log
+++ b/src/test/ref/fragments-assignment-binary.log
@@ -154085,12 +154085,12 @@ pbuz1_derefidx_vbuz2=vbuaa_bor_pbuz3_derefidx_vbuz4 < pbuz1_derefidx_vbuyy=vbuaa
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuaa_bxor_pbuz3_derefidx_vbuz4
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuaa_minus_pbuz3_derefidx_vbuz4
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuaa_plus_pbuz3_derefidx_vbuz4
-pbuz1_derefidx_vbuz2=vbuaa_band_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuaa < vbuaa=pbuz1_derefidx_vbuc1_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:16.5
+pbuz1_derefidx_vbuz2=vbuaa_band_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuaa < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:16.5
   ldy #{c1}
   and ({z3}),y
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=vbuaa_bor_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuc1_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:16.5
+pbuz1_derefidx_vbuz2=vbuaa_bor_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuaa < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:16.5
   ldy #{c1}
   ora ({z3}),y
   ldy {z2}
@@ -154839,13 +154839,13 @@ pbuz1_derefidx_vbuz2=vbuxx_bor_pbuz3_derefidx_vbuz4 < pbuz1_derefidx_vbuaa=vbuxx
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuxx_bxor_pbuz3_derefidx_vbuz4
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuxx_minus_pbuz3_derefidx_vbuz4
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuxx_plus_pbuz3_derefidx_vbuz4
-pbuz1_derefidx_vbuz2=vbuxx_band_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuxx < vbuaa=pbuz1_derefidx_vbuc1_band_vbuxx < vbuaa=pbuz1_derefidx_vbuyy_band_vbuxx < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:18.5
+pbuz1_derefidx_vbuz2=vbuxx_band_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuxx < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuxx < vbuaa=pbuz1_derefidx_vbuyy_band_vbuxx < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:18.5
   ldy #{c1}
   txa
   and ({z3}),y
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=vbuxx_bor_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuxx < vbuaa=pbuz1_derefidx_vbuc1_bor_vbuxx < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuxx < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:18.5
+pbuz1_derefidx_vbuz2=vbuxx_bor_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuxx < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuxx < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuxx < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:18.5
   ldy #{c1}
   txa
   ora ({z3}),y
@@ -156453,13 +156453,13 @@ pbuz1_derefidx_vbuz2=vbuz1_bor_pbuz3_derefidx_vbuz4 < pbuz1_derefidx_vbuz2=vbuaa
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuz1_bxor_pbuz3_derefidx_vbuz4
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuz1_minus_pbuz3_derefidx_vbuz4
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuz1_plus_pbuz3_derefidx_vbuz4
-pbuz1_derefidx_vbuz2=vbuz1_band_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=vbuaa_band_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuaa < vbuaa=pbuz1_derefidx_vbuc1_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:19.5
+pbuz1_derefidx_vbuz2=vbuz1_band_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=vbuaa_band_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuaa < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:19.5
   lda {z1}
   ldy #{c1}
   and ({z3}),y
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=vbuz1_bor_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=vbuaa_bor_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuc1_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:19.5
+pbuz1_derefidx_vbuz2=vbuz1_bor_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=vbuaa_bor_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuaa < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:19.5
   lda {z1}
   ldy #{c1}
   ora ({z3}),y
@@ -157368,13 +157368,13 @@ pbuz1_derefidx_vbuz2=vbuz2_bor_pbuz3_derefidx_vbuz4 < pbuz1_derefidx_vbuaa=vbuaa
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuz2_bxor_pbuz3_derefidx_vbuz4
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuz2_minus_pbuz3_derefidx_vbuz4
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuz2_plus_pbuz3_derefidx_vbuz4
-pbuz1_derefidx_vbuz2=vbuz2_band_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=vbuaa_band_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuaa < vbuaa=pbuz1_derefidx_vbuc1_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:19.5
+pbuz1_derefidx_vbuz2=vbuz2_band_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=vbuaa_band_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuaa < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:19.5
   lda {z2}
   ldy #{c1}
   and ({z3}),y
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=vbuz2_bor_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=vbuaa_bor_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuc1_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:19.5
+pbuz1_derefidx_vbuz2=vbuz2_bor_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=vbuaa_bor_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuaa < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:19.5
   lda {z2}
   ldy #{c1}
   ora ({z3}),y
@@ -158765,12 +158765,12 @@ CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuz3_bor_pbuc1_derefidx_vbuc2
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuz3_bxor_pbuc1_derefidx_vbuc2
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuz3_minus_pbuc1_derefidx_vbuc2
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuz3_plus_pbuc1_derefidx_vbuc2
-pbuz1_derefidx_vbuz2=vbuz3_band_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1_band_vbuz3 < vbuaa=vbuc1_band_vbuz1 < vbuaa=vbuaa_band_vbuz1 - clobber:A Y  cycles:14.0
+pbuz1_derefidx_vbuz2=vbuz3_band_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1_band_vbuz3 < pbuz1_derefidx_vbuz2=vbuaa_band_vbuz3 < pbuz1_derefidx_vbuz2=vbuz3_band_vbuaa < vbuaa=vbuz1_band_vbuaa < vbuaa=vbuaa_band_vbuz1 - clobber:A Y  cycles:14.0
   lda #{c1}
   and {z3}
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=vbuz3_bor_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1_bor_vbuz3 < vbuaa=vbuc1_bor_vbuz1 < vbuaa=vbuaa_bor_vbuz1 - clobber:A Y  cycles:14.0
+pbuz1_derefidx_vbuz2=vbuz3_bor_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1_bor_vbuz3 < pbuz1_derefidx_vbuz2=vbuaa_bor_vbuz3 < pbuz1_derefidx_vbuz2=vbuz3_bor_vbuaa < vbuaa=vbuz1_bor_vbuaa < vbuaa=vbuaa_bor_vbuz1 - clobber:A Y  cycles:14.0
   lda #{c1}
   ora {z3}
   ldy {z2}
@@ -158786,7 +158786,7 @@ pbuz1_derefidx_vbuz2=vbuz3_minus_vbuc1 < pbuz1_derefidx_vbuz2=vbuaa_minus_vbuc1
   sbc #{c1}
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=vbuz3_plus_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1_plus_vbuz3 < vbuaa=vbuc1_plus_vbuz1 < vbuaa=vbuaa_plus_vbuz1 - clobber:A Y  cycles:16.0
+pbuz1_derefidx_vbuz2=vbuz3_plus_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1_plus_vbuz3 < pbuz1_derefidx_vbuz2=vbuaa_plus_vbuz3 < pbuz1_derefidx_vbuz2=vbuz3_plus_vbuaa < vbuaa=vbuz1_plus_vbuaa < vbuaa=vbuaa_plus_vbuz1 - clobber:A Y  cycles:16.0
   lda #{c1}
   clc
   adc {z3}
@@ -159391,14 +159391,14 @@ pbuz1_derefidx_vbuz2=_deref_pbuz1_bor_pbuz3_derefidx_vbuz4 < pbuz1_derefidx_vbuz
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=_deref_pbuz1_bxor_pbuz3_derefidx_vbuz4
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=_deref_pbuz1_minus_pbuz3_derefidx_vbuz4
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=_deref_pbuz1_plus_pbuz3_derefidx_vbuz4
-pbuz1_derefidx_vbuz2=_deref_pbuz1_band_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band__deref_pbuz1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuaa < vbuaa=pbuz1_derefidx_vbuc1_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:24.0
+pbuz1_derefidx_vbuz2=_deref_pbuz1_band_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band__deref_pbuz1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuaa < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:24.0
   ldy #0
   lda ({z1}),y
   ldy #{c1}
   and ({z3}),y
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=_deref_pbuz1_bor_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor__deref_pbuz1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuc1_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:24.0
+pbuz1_derefidx_vbuz2=_deref_pbuz1_bor_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor__deref_pbuz1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuaa < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:24.0
   ldy #0
   lda ({z1}),y
   ldy #{c1}
@@ -161716,19 +161716,19 @@ CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=_deref_pbuz3_bor_pbuc1_derefidx_vbuc2
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=_deref_pbuz3_bxor_pbuc1_derefidx_vbuc2
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=_deref_pbuz3_minus_pbuc1_derefidx_vbuc2
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=_deref_pbuz3_plus_pbuc1_derefidx_vbuc2
-pbuz1_derefidx_vbuz2=_deref_pbuz3_band_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1_band__deref_pbuz3 < vbuaa=vbuc1_band__deref_pbuz1 < vbuaa=vbuaa_band__deref_pbuz1 - clobber:A Y  cycles:18.5
+pbuz1_derefidx_vbuz2=_deref_pbuz3_band_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1_band__deref_pbuz3 < pbuz1_derefidx_vbuz2=vbuaa_band__deref_pbuz3 < pbuz1_derefidx_vbuz2=_deref_pbuz3_band_vbuaa < vbuaa=_deref_pbuz1_band_vbuaa < vbuaa=vbuaa_band__deref_pbuz1 - clobber:A Y  cycles:18.5
   lda #{c1}
   ldy #0
   and ({z3}),y
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=_deref_pbuz3_bor_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1_bor__deref_pbuz3 < vbuaa=vbuc1_bor__deref_pbuz1 < vbuaa=vbuaa_bor__deref_pbuz1 - clobber:A Y  cycles:18.5
+pbuz1_derefidx_vbuz2=_deref_pbuz3_bor_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1_bor__deref_pbuz3 < pbuz1_derefidx_vbuz2=vbuaa_bor__deref_pbuz3 < pbuz1_derefidx_vbuz2=_deref_pbuz3_bor_vbuaa < vbuaa=_deref_pbuz1_bor_vbuaa < vbuaa=vbuaa_bor__deref_pbuz1 - clobber:A Y  cycles:18.5
   lda #{c1}
   ldy #0
   ora ({z3}),y
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=_deref_pbuz3_bxor_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1_bxor__deref_pbuz3 < vbuaa=vbuc1_bxor__deref_pbuz1 < vbuaa=vbuaa_bxor__deref_pbuz1 - clobber:A Y  cycles:18.5
+pbuz1_derefidx_vbuz2=_deref_pbuz3_bxor_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1_bxor__deref_pbuz3 < pbuz1_derefidx_vbuz2=vbuaa_bxor__deref_pbuz3 < pbuz1_derefidx_vbuz2=_deref_pbuz3_bxor_vbuaa < vbuaa=_deref_pbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor__deref_pbuz1 - clobber:A Y  cycles:18.5
   lda #{c1}
   ldy #0
   eor ({z3}),y
@@ -161741,7 +161741,7 @@ pbuz1_derefidx_vbuz2=_deref_pbuz3_minus_vbuc1 < vbuaa=_deref_pbuz1_minus_vbuc1 <
   sbc #{c1}
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=_deref_pbuz3_plus_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1_plus__deref_pbuz3 < vbuaa=vbuc1_plus__deref_pbuz1 < vbuaa=vbuaa_plus__deref_pbuz1 - clobber:A Y  cycles:20.5
+pbuz1_derefidx_vbuz2=_deref_pbuz3_plus_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1_plus__deref_pbuz3 < pbuz1_derefidx_vbuz2=vbuaa_plus__deref_pbuz3 < pbuz1_derefidx_vbuz2=_deref_pbuz3_plus_vbuaa < vbuaa=_deref_pbuz1_plus_vbuaa < vbuaa=vbuaa_plus__deref_pbuz1 - clobber:A Y  cycles:20.5
   lda #{c1}
   clc
   ldy #0
@@ -162394,13 +162394,13 @@ pbuz1_derefidx_vbuz2=_deref_pbuc1_bor_pbuz3_derefidx_vbuz4 < pbuz1_derefidx_vbuz
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=_deref_pbuc1_bxor_pbuz3_derefidx_vbuz4
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=_deref_pbuc1_minus_pbuz3_derefidx_vbuz4
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=_deref_pbuc1_plus_pbuz3_derefidx_vbuz4
-pbuz1_derefidx_vbuz2=_deref_pbuc1_band_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band__deref_pbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuaa < vbuaa=pbuz1_derefidx_vbuc1_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:20.5
+pbuz1_derefidx_vbuz2=_deref_pbuc1_band_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band__deref_pbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuaa < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:20.5
   lda {c1}
   ldy #{c1}
   and ({z3}),y
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=_deref_pbuc1_bor_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor__deref_pbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuc1_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:20.5
+pbuz1_derefidx_vbuz2=_deref_pbuc1_bor_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor__deref_pbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuaa < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:20.5
   lda {c1}
   ldy #{c1}
   ora ({z3}),y
@@ -162409,13 +162409,13 @@ pbuz1_derefidx_vbuz2=_deref_pbuc1_bor_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=_deref_pbuc1_bxor_pbuz3_derefidx_vbuc1
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=_deref_pbuc1_minus_pbuz3_derefidx_vbuc1
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=_deref_pbuc1_plus_pbuz3_derefidx_vbuc1
-pbuz1_derefidx_vbuz2=_deref_pbuc1_band_pbuz3_derefidx_vbuc2 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc2_band__deref_pbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuaa < vbuaa=pbuz1_derefidx_vbuc1_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:20.5
+pbuz1_derefidx_vbuz2=_deref_pbuc1_band_pbuz3_derefidx_vbuc2 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc2_band__deref_pbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuaa < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:20.5
   lda {c1}
   ldy #{c2}
   and ({z3}),y
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=_deref_pbuc1_bor_pbuz3_derefidx_vbuc2 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc2_bor__deref_pbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuc1_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:20.5
+pbuz1_derefidx_vbuz2=_deref_pbuc1_bor_pbuz3_derefidx_vbuc2 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc2_bor__deref_pbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuaa < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:20.5
   lda {c1}
   ldy #{c2}
   ora ({z3}),y
@@ -162798,32 +162798,32 @@ pbuz1_derefidx_vbuz2=_deref_pbuc1_plus_pbuc2_derefidx_vbuz3 < pbuz1_derefidx_vbu
   adc {c2},y
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=_deref_pbuc1_band_pbuc2_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuc1_band__deref_pbuc1 < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuc1_band_vbuaa < pbuz1_derefidx_vbuz2=vbuaa_band_pbuc2_derefidx_vbuc1 < vbuaa=vbuaa_band_pbuc2_derefidx_vbuc1 < vbuaa=vbuaa_band_pbuc1_derefidx_vbuyy - clobber:A Y  cycles:19.5
+pbuz1_derefidx_vbuz2=_deref_pbuc1_band_pbuc2_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuc1_band__deref_pbuc1 < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuc1_band_vbuaa < pbuz1_derefidx_vbuz2=vbuaa_band_pbuc2_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=vbuaa_band_pbuc1_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuyy_band_vbuaa < vbuaa=pbuc1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuc1_derefidx_vbuyy - clobber:A Y  cycles:19.5
   lda {c1}
   ldy #{c1}
   and {c2},y
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=_deref_pbuc1_bor_pbuc2_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuc1_bor__deref_pbuc1 < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuc1_bor_vbuaa < pbuz1_derefidx_vbuz2=vbuaa_bor_pbuc2_derefidx_vbuc1 < vbuaa=vbuaa_bor_pbuc2_derefidx_vbuc1 < vbuaa=vbuaa_bor_pbuc1_derefidx_vbuyy - clobber:A Y  cycles:19.5
+pbuz1_derefidx_vbuz2=_deref_pbuc1_bor_pbuc2_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuc1_bor__deref_pbuc1 < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuc1_bor_vbuaa < pbuz1_derefidx_vbuz2=vbuaa_bor_pbuc2_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=vbuaa_bor_pbuc1_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuyy_bor_vbuaa < vbuaa=pbuc1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuc1_derefidx_vbuyy - clobber:A Y  cycles:19.5
   lda {c1}
   ldy #{c1}
   ora {c2},y
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=_deref_pbuc1_bxor_pbuc2_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuc1_bxor__deref_pbuc1 < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuc1_bxor_vbuaa < pbuz1_derefidx_vbuz2=vbuaa_bxor_pbuc2_derefidx_vbuc1 < vbuaa=vbuaa_bxor_pbuc2_derefidx_vbuc1 < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuyy - clobber:A Y  cycles:19.5
+pbuz1_derefidx_vbuz2=_deref_pbuc1_bxor_pbuc2_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuc1_bxor__deref_pbuc1 < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuc1_bxor_vbuaa < pbuz1_derefidx_vbuz2=vbuaa_bxor_pbuc2_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=vbuaa_bxor_pbuc1_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuyy_bxor_vbuaa < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuyy - clobber:A Y  cycles:19.5
   lda {c1}
   ldy #{c1}
   eor {c2},y
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=_deref_pbuc1_minus_pbuc2_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=vbuaa_minus_pbuc2_derefidx_vbuc1 < vbuaa=vbuaa_minus_pbuc2_derefidx_vbuc1 < vbuaa=vbuaa_minus_pbuc1_derefidx_vbuyy - clobber:A Y  cycles:21.5
+pbuz1_derefidx_vbuz2=_deref_pbuc1_minus_pbuc2_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=vbuaa_minus_pbuc2_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=vbuaa_minus_pbuc1_derefidx_vbuyy < vbuaa=vbuaa_minus_pbuc1_derefidx_vbuyy - clobber:A Y  cycles:21.5
   lda {c1}
   ldy #{c1}
   sec
   sbc {c2},y
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=_deref_pbuc1_plus_pbuc2_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuc1_plus__deref_pbuc1 < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuc1_plus_vbuaa < pbuz1_derefidx_vbuz2=vbuaa_plus_pbuc2_derefidx_vbuc1 < vbuaa=vbuaa_plus_pbuc2_derefidx_vbuc1 < vbuaa=vbuaa_plus_pbuc1_derefidx_vbuyy - clobber:A Y  cycles:21.5
+pbuz1_derefidx_vbuz2=_deref_pbuc1_plus_pbuc2_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuc1_plus__deref_pbuc1 < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuc1_plus_vbuaa < pbuz1_derefidx_vbuz2=vbuaa_plus_pbuc2_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=vbuaa_plus_pbuc1_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuyy_plus_vbuaa < vbuaa=pbuc1_derefidx_vbuyy_plus_vbuaa < vbuaa=vbuaa_plus_pbuc1_derefidx_vbuyy - clobber:A Y  cycles:21.5
   lda {c1}
   ldy #{c1}
   clc
@@ -168136,13 +168136,13 @@ CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuaa_bor_pbuc1_derefidx_v
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuaa_bxor_pbuc1_derefidx_vbuc2
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuaa_minus_pbuc1_derefidx_vbuc2
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuaa_plus_pbuc1_derefidx_vbuc2
-pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuaa_band_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_band_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:18.5
+pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuaa_band_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:18.5
   tay
   lda #{c1}
   and ({z3}),y
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuaa_bor_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:18.5
+pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuaa_bor_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:18.5
   tay
   lda #{c1}
   ora ({z3}),y
@@ -168567,14 +168567,14 @@ CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuxx_bor_pbuc1_derefidx_v
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuxx_bxor_pbuc1_derefidx_vbuc2
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuxx_minus_pbuc1_derefidx_vbuc2
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuxx_plus_pbuc1_derefidx_vbuc2
-pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuxx_band_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1_band_pbuz3_derefidx_vbuxx < pbuz1_derefidx_vbuz2=vbuc1_band_pbuz3_derefidx_vbuaa < pbuz1_derefidx_vbuz2=vbuc1_band_pbuz3_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_band_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:20.5
+pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuxx_band_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1_band_pbuz3_derefidx_vbuxx < pbuz1_derefidx_vbuz2=vbuc1_band_pbuz3_derefidx_vbuaa < pbuz1_derefidx_vbuz2=vbuc1_band_pbuz3_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:20.5
   txa
   tay
   lda #{c1}
   and ({z3}),y
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuxx_bor_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuxx < pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuaa < pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:20.5
+pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuxx_bor_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuxx < pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuaa < pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:20.5
   txa
   tay
   lda #{c1}
@@ -168990,12 +168990,12 @@ CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_pbuc1_derefidx_v
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bxor_pbuc1_derefidx_vbuc2
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_minus_pbuc1_derefidx_vbuc2
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_plus_pbuc1_derefidx_vbuc2
-pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_band_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:16.5
+pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:16.5
   lda #{c1}
   and ({z3}),y
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:16.5
+pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:16.5
   lda #{c1}
   ora ({z3}),y
   ldy {z2}
@@ -170455,13 +170455,13 @@ CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuz3_bor_pbuc1_derefidx_v
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuz3_bxor_pbuc1_derefidx_vbuc2
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuz3_minus_pbuc1_derefidx_vbuc2
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuz3_plus_pbuc1_derefidx_vbuc2
-pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuz3_band_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1_band_pbuz3_derefidx_vbuz3 < vbuaa=vbuc1_band_pbuz1_derefidx_vbuz1 < vbuaa=vbuaa_band_pbuz1_derefidx_vbuz1 < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:19.5
+pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuz3_band_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1_band_pbuz3_derefidx_vbuz3 < pbuz1_derefidx_vbuz2=vbuaa_band_pbuz3_derefidx_vbuz3 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuz3_band_vbuaa < vbuaa=pbuz1_derefidx_vbuz1_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:19.5
   lda #{c1}
   ldy {z3}
   and ({z3}),y
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuz3_bor_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuz3 < vbuaa=vbuc1_bor_pbuz1_derefidx_vbuz1 < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuz1 < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:19.5
+pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuz3_bor_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuz3 < pbuz1_derefidx_vbuz2=vbuaa_bor_pbuz3_derefidx_vbuz3 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuz3_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuz1_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:19.5
   lda #{c1}
   ldy {z3}
   ora ({z3}),y
@@ -171117,12 +171117,12 @@ pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuz4_bor_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuz4_bxor_vbuc1
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuz4_minus_vbuc1
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuz4_plus_vbuc1
-pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuaa < vbuaa=pbuz1_derefidx_vbuc1_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:16.5
+pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuaa < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:16.5
   ldy #{c1}
   and ({z3}),y
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuc1_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:16.5
+pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuaa < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:16.5
   ldy #{c1}
   ora ({z3}),y
   ldy {z2}
@@ -171130,13 +171130,13 @@ pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuc1
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bxor_vbuaa
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_minus_vbuaa
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_plus_vbuaa
-pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuxx < vbuaa=pbuz1_derefidx_vbuc1_band_vbuxx < vbuaa=pbuz1_derefidx_vbuyy_band_vbuxx < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:18.5
+pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuxx < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuxx < vbuaa=pbuz1_derefidx_vbuyy_band_vbuxx < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:18.5
   ldy #{c1}
   txa
   and ({z3}),y
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuxx < vbuaa=pbuz1_derefidx_vbuc1_bor_vbuxx < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuxx < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:18.5
+pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuxx < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuxx < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuxx < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:18.5
   ldy #{c1}
   txa
   ora ({z3}),y
@@ -171160,13 +171160,13 @@ pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuyy < pbuz1_derefidx_vbuz2=vbuyy
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bxor_vbuyy
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_minus_vbuyy
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_plus_vbuyy
-pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuz1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuaa < vbuaa=pbuz1_derefidx_vbuc1_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:19.5
+pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuz1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuaa < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:19.5
   lda {z1}
   ldy #{c1}
   and ({z3}),y
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuz1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuc1_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:19.5
+pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuz1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuaa < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:19.5
   lda {z1}
   ldy #{c1}
   ora ({z3}),y
@@ -171175,13 +171175,13 @@ pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuz1 < pbuz1_derefidx_vbuz2=pbuz3
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bxor_vbuz1
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_minus_vbuz1
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_plus_vbuz1
-pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuz2 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuaa < vbuaa=pbuz1_derefidx_vbuc1_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:19.5
+pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuz2 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuaa < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:19.5
   lda {z2}
   ldy #{c1}
   and ({z3}),y
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuz2 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuc1_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:19.5
+pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuz2 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuaa < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:19.5
   lda {z2}
   ldy #{c1}
   ora ({z3}),y
@@ -171224,14 +171224,14 @@ pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuz4 < pbuz1_derefidx_vbuaa=pbuz2
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bxor_vbuz4
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_minus_vbuz4
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_plus_vbuz4
-pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band__deref_pbuz1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuaa < vbuaa=pbuz1_derefidx_vbuc1_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:24.0
+pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band__deref_pbuz1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuaa < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:24.0
   ldy #0
   lda ({z1}),y
   ldy #{c1}
   and ({z3}),y
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor__deref_pbuz1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuc1_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:24.0
+pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor__deref_pbuz1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuaa < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:24.0
   ldy #0
   lda ({z1}),y
   ldy #{c1}
@@ -171300,13 +171300,13 @@ pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor__deref_pbuz4 < pbuz1_derefidx_vbua
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bxor__deref_pbuz4
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_minus__deref_pbuz4
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_plus__deref_pbuz4
-pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band__deref_pbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuaa < vbuaa=pbuz1_derefidx_vbuc1_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:20.5
+pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band__deref_pbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuaa < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:20.5
   lda {c1}
   ldy #{c1}
   and ({z3}),y
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor__deref_pbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuc1_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:20.5
+pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor__deref_pbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuaa < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:20.5
   lda {c1}
   ldy #{c1}
   ora ({z3}),y
@@ -171315,13 +171315,13 @@ pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor__deref_pbuc1 < pbuz1_derefidx_vbuz
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bxor__deref_pbuc1
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_minus__deref_pbuc1
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_plus__deref_pbuc1
-pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band__deref_pbuc2 < pbuz1_derefidx_vbuz2=_deref_pbuc2_band_pbuz3_derefidx_vbuc1 < vbuaa=_deref_pbuc2_band_pbuz1_derefidx_vbuc1 < vbuaa=_deref_pbuc1_band_pbuz1_derefidx_vbuyy < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:20.5
+pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band__deref_pbuc2 < pbuz1_derefidx_vbuz2=_deref_pbuc2_band_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=_deref_pbuc1_band_pbuz3_derefidx_vbuyy < pbuz1_derefidx_vbuz2=vbuaa_band_pbuz3_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:20.5
   ldy #{c1}
   lda {c2}
   and ({z3}),y
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor__deref_pbuc2 < pbuz1_derefidx_vbuz2=_deref_pbuc2_bor_pbuz3_derefidx_vbuc1 < vbuaa=_deref_pbuc2_bor_pbuz1_derefidx_vbuc1 < vbuaa=_deref_pbuc1_bor_pbuz1_derefidx_vbuyy < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:20.5
+pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor__deref_pbuc2 < pbuz1_derefidx_vbuz2=_deref_pbuc2_bor_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=_deref_pbuc1_bor_pbuz3_derefidx_vbuyy < pbuz1_derefidx_vbuz2=vbuaa_bor_pbuz3_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:20.5
   ldy #{c1}
   lda {c2}
   ora ({z3}),y
@@ -171783,13 +171783,13 @@ CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuc1
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bxor_vbuc1
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_minus_vbuc1
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_plus_vbuc1
-pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuc2 < pbuz1_derefidx_vbuz2=vbuc2_band_pbuz3_derefidx_vbuc1 < vbuaa=vbuc2_band_pbuz1_derefidx_vbuc1 < vbuaa=vbuc1_band_pbuz1_derefidx_vbuyy < vbuaa=pbuz1_derefidx_vbuyy_band_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:18.5
+pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuc2 < pbuz1_derefidx_vbuz2=vbuc2_band_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1_band_pbuz3_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:18.5
   ldy #{c1}
   lda #{c2}
   and ({z3}),y
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuc2 < pbuz1_derefidx_vbuz2=vbuc2_bor_pbuz3_derefidx_vbuc1 < vbuaa=vbuc2_bor_pbuz1_derefidx_vbuc1 < vbuaa=vbuc1_bor_pbuz1_derefidx_vbuyy < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:18.5
+pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuc2 < pbuz1_derefidx_vbuz2=vbuc2_bor_pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:18.5
   ldy #{c1}
   lda #{c2}
   ora ({z3}),y
@@ -180488,12 +180488,12 @@ pbuz1_derefidx_vbuz2=vbuc1_plus_vbuz2 < pbuz1_derefidx_vbuaa=vbuc1_plus_vbuaa <
   clc
   adc #{c1}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=vbuc1_band_vbuz3 < vbuaa=vbuc1_band_vbuz1 < vbuaa=vbuaa_band_vbuz1 - clobber:A Y  cycles:14.0
+pbuz1_derefidx_vbuz2=vbuc1_band_vbuz3 < pbuz1_derefidx_vbuz2=vbuaa_band_vbuz3 < pbuz1_derefidx_vbuz2=vbuz3_band_vbuaa < vbuaa=vbuz1_band_vbuaa < vbuaa=vbuaa_band_vbuz1 - clobber:A Y  cycles:14.0
   lda #{c1}
   and {z3}
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=vbuc1_bor_vbuz3 < vbuaa=vbuc1_bor_vbuz1 < vbuaa=vbuaa_bor_vbuz1 - clobber:A Y  cycles:14.0
+pbuz1_derefidx_vbuz2=vbuc1_bor_vbuz3 < pbuz1_derefidx_vbuz2=vbuaa_bor_vbuz3 < pbuz1_derefidx_vbuz2=vbuz3_bor_vbuaa < vbuaa=vbuz1_bor_vbuaa < vbuaa=vbuaa_bor_vbuz1 - clobber:A Y  cycles:14.0
   lda #{c1}
   ora {z3}
   ldy {z2}
@@ -180503,13 +180503,13 @@ pbuz1_derefidx_vbuz2=vbuc1_bxor_vbuz3 < pbuz1_derefidx_vbuz2=vbuc1_bxor_vbuaa <
   eor #{c1}
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=vbuc1_minus_vbuz3 < vbuaa=vbuc1_minus_vbuz1 < vbuaa=vbuaa_minus_vbuz1 - clobber:A Y  cycles:16.0
+pbuz1_derefidx_vbuz2=vbuc1_minus_vbuz3 < pbuz1_derefidx_vbuz2=vbuaa_minus_vbuz3 < vbuaa=vbuaa_minus_vbuz1 - clobber:A Y  cycles:16.0
   lda #{c1}
   sec
   sbc {z3}
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=vbuc1_plus_vbuz3 < vbuaa=vbuc1_plus_vbuz1 < vbuaa=vbuaa_plus_vbuz1 - clobber:A Y  cycles:16.0
+pbuz1_derefidx_vbuz2=vbuc1_plus_vbuz3 < pbuz1_derefidx_vbuz2=vbuaa_plus_vbuz3 < pbuz1_derefidx_vbuz2=vbuz3_plus_vbuaa < vbuaa=vbuz1_plus_vbuaa < vbuaa=vbuaa_plus_vbuz1 - clobber:A Y  cycles:16.0
   lda #{c1}
   clc
   adc {z3}
@@ -180595,32 +180595,32 @@ pbuz1_derefidx_vbuz2=vbuc1_plus__deref_pbuz2 < pbuz1_derefidx_vbuz2=vbuaa_plus__
   adc ({z2}),y
   ldy $ff
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=vbuc1_band__deref_pbuz3 < vbuaa=vbuc1_band__deref_pbuz1 < vbuaa=vbuaa_band__deref_pbuz1 - clobber:A Y  cycles:18.5
+pbuz1_derefidx_vbuz2=vbuc1_band__deref_pbuz3 < pbuz1_derefidx_vbuz2=vbuaa_band__deref_pbuz3 < pbuz1_derefidx_vbuz2=_deref_pbuz3_band_vbuaa < vbuaa=_deref_pbuz1_band_vbuaa < vbuaa=vbuaa_band__deref_pbuz1 - clobber:A Y  cycles:18.5
   lda #{c1}
   ldy #0
   and ({z3}),y
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=vbuc1_bor__deref_pbuz3 < vbuaa=vbuc1_bor__deref_pbuz1 < vbuaa=vbuaa_bor__deref_pbuz1 - clobber:A Y  cycles:18.5
+pbuz1_derefidx_vbuz2=vbuc1_bor__deref_pbuz3 < pbuz1_derefidx_vbuz2=vbuaa_bor__deref_pbuz3 < pbuz1_derefidx_vbuz2=_deref_pbuz3_bor_vbuaa < vbuaa=_deref_pbuz1_bor_vbuaa < vbuaa=vbuaa_bor__deref_pbuz1 - clobber:A Y  cycles:18.5
   lda #{c1}
   ldy #0
   ora ({z3}),y
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=vbuc1_bxor__deref_pbuz3 < vbuaa=vbuc1_bxor__deref_pbuz1 < vbuaa=vbuaa_bxor__deref_pbuz1 - clobber:A Y  cycles:18.5
+pbuz1_derefidx_vbuz2=vbuc1_bxor__deref_pbuz3 < pbuz1_derefidx_vbuz2=vbuaa_bxor__deref_pbuz3 < pbuz1_derefidx_vbuz2=_deref_pbuz3_bxor_vbuaa < vbuaa=_deref_pbuz1_bxor_vbuaa < vbuaa=vbuaa_bxor__deref_pbuz1 - clobber:A Y  cycles:18.5
   lda #{c1}
   ldy #0
   eor ({z3}),y
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=vbuc1_minus__deref_pbuz3 < vbuaa=vbuc1_minus__deref_pbuz1 < vbuaa=vbuaa_minus__deref_pbuz1 - clobber:A Y  cycles:20.5
+pbuz1_derefidx_vbuz2=vbuc1_minus__deref_pbuz3 < pbuz1_derefidx_vbuz2=vbuaa_minus__deref_pbuz3 < vbuaa=vbuaa_minus__deref_pbuz1 - clobber:A Y  cycles:20.5
   lda #{c1}
   sec
   ldy #0
   sbc ({z3}),y
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=vbuc1_plus__deref_pbuz3 < vbuaa=vbuc1_plus__deref_pbuz1 < vbuaa=vbuaa_plus__deref_pbuz1 - clobber:A Y  cycles:20.5
+pbuz1_derefidx_vbuz2=vbuc1_plus__deref_pbuz3 < pbuz1_derefidx_vbuz2=vbuaa_plus__deref_pbuz3 < pbuz1_derefidx_vbuz2=_deref_pbuz3_plus_vbuaa < vbuaa=_deref_pbuz1_plus_vbuaa < vbuaa=vbuaa_plus__deref_pbuz1 - clobber:A Y  cycles:20.5
   lda #{c1}
   clc
   ldy #0
@@ -180655,28 +180655,28 @@ pbuz1_derefidx_vbuz2=vbuc1_plus__deref_pbuc1 < pbuz1_derefidx_vbuz2=vbuc1_plus_v
   adc #{c1}
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=vbuc1_band__deref_pbuc2 < pbuz1_derefidx_vbuz2=_deref_pbuc2_band_vbuc1 < vbuaa=_deref_pbuc2_band_vbuc1 < vbuaa=_deref_pbuc1_band_vbuaa < vbuaa=vbuaa_band__deref_pbuc1 - clobber:A Y  cycles:15.0
+pbuz1_derefidx_vbuz2=vbuc1_band__deref_pbuc2 < pbuz1_derefidx_vbuz2=_deref_pbuc2_band_vbuc1 < pbuz1_derefidx_vbuz2=_deref_pbuc1_band_vbuaa < vbuaa=_deref_pbuc1_band_vbuaa < vbuaa=vbuaa_band__deref_pbuc1 - clobber:A Y  cycles:15.0
   lda #{c1}
   and {c2}
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=vbuc1_bor__deref_pbuc2 < pbuz1_derefidx_vbuz2=_deref_pbuc2_bor_vbuc1 < vbuaa=_deref_pbuc2_bor_vbuc1 < vbuaa=_deref_pbuc1_bor_vbuaa < vbuaa=vbuaa_bor__deref_pbuc1 - clobber:A Y  cycles:15.0
+pbuz1_derefidx_vbuz2=vbuc1_bor__deref_pbuc2 < pbuz1_derefidx_vbuz2=_deref_pbuc2_bor_vbuc1 < pbuz1_derefidx_vbuz2=_deref_pbuc1_bor_vbuaa < vbuaa=_deref_pbuc1_bor_vbuaa < vbuaa=vbuaa_bor__deref_pbuc1 - clobber:A Y  cycles:15.0
   lda #{c1}
   ora {c2}
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=vbuc1_bxor__deref_pbuc2 < pbuz1_derefidx_vbuz2=_deref_pbuc2_bxor_vbuc1 < vbuaa=_deref_pbuc2_bxor_vbuc1 < vbuaa=_deref_pbuc1_bxor_vbuaa < vbuaa=vbuaa_bxor__deref_pbuc1 - clobber:A Y  cycles:15.0
+pbuz1_derefidx_vbuz2=vbuc1_bxor__deref_pbuc2 < pbuz1_derefidx_vbuz2=_deref_pbuc2_bxor_vbuc1 < pbuz1_derefidx_vbuz2=_deref_pbuc1_bxor_vbuaa < vbuaa=_deref_pbuc1_bxor_vbuaa < vbuaa=vbuaa_bxor__deref_pbuc1 - clobber:A Y  cycles:15.0
   lda #{c1}
   eor {c2}
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=vbuc1_minus__deref_pbuc2 < vbuaa=vbuc1_minus__deref_pbuc2 < vbuaa=vbuaa_minus__deref_pbuc1 - clobber:A Y  cycles:17.0
+pbuz1_derefidx_vbuz2=vbuc1_minus__deref_pbuc2 < pbuz1_derefidx_vbuz2=vbuaa_minus__deref_pbuc1 < vbuaa=vbuaa_minus__deref_pbuc1 - clobber:A Y  cycles:17.0
   lda #{c1}
   sec
   sbc {c2}
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=vbuc1_plus__deref_pbuc2 < pbuz1_derefidx_vbuz2=_deref_pbuc2_plus_vbuc1 < vbuaa=_deref_pbuc2_plus_vbuc1 < vbuaa=_deref_pbuc1_plus_vbuaa < vbuaa=vbuaa_plus__deref_pbuc1 - clobber:A Y  cycles:17.0
+pbuz1_derefidx_vbuz2=vbuc1_plus__deref_pbuc2 < pbuz1_derefidx_vbuz2=_deref_pbuc2_plus_vbuc1 < pbuz1_derefidx_vbuz2=_deref_pbuc1_plus_vbuaa < vbuaa=_deref_pbuc1_plus_vbuaa < vbuaa=vbuaa_plus__deref_pbuc1 - clobber:A Y  cycles:17.0
   lda #{c1}
   clc
   adc {c2}
@@ -180868,13 +180868,13 @@ pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz2_derefidx_vbuc2 < pbuz1_derefidx_vbuz2=pbuz2
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuc1_bxor_pbuz2_derefidx_vbuc2
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuc1_minus_pbuz2_derefidx_vbuc2
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuc1_plus_pbuz2_derefidx_vbuc2
-pbuz1_derefidx_vbuz2=vbuc1_band_pbuz3_derefidx_vbuaa < pbuz1_derefidx_vbuz2=vbuc1_band_pbuz3_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_band_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:18.5
+pbuz1_derefidx_vbuz2=vbuc1_band_pbuz3_derefidx_vbuaa < pbuz1_derefidx_vbuz2=vbuc1_band_pbuz3_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:18.5
   tay
   lda #{c1}
   and ({z3}),y
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuaa < pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:18.5
+pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuaa < pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:18.5
   tay
   lda #{c1}
   ora ({z3}),y
@@ -180883,14 +180883,14 @@ pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuaa < pbuz1_derefidx_vbuz2=vbuc1
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuc1_bxor_pbuz3_derefidx_vbuaa
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuc1_minus_pbuz3_derefidx_vbuaa
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuc1_plus_pbuz3_derefidx_vbuaa
-pbuz1_derefidx_vbuz2=vbuc1_band_pbuz3_derefidx_vbuxx < pbuz1_derefidx_vbuz2=vbuc1_band_pbuz3_derefidx_vbuaa < pbuz1_derefidx_vbuz2=vbuc1_band_pbuz3_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_band_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:20.5
+pbuz1_derefidx_vbuz2=vbuc1_band_pbuz3_derefidx_vbuxx < pbuz1_derefidx_vbuz2=vbuc1_band_pbuz3_derefidx_vbuaa < pbuz1_derefidx_vbuz2=vbuc1_band_pbuz3_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:20.5
   txa
   tay
   lda #{c1}
   and ({z3}),y
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuxx < pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuaa < pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:20.5
+pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuxx < pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuaa < pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:20.5
   txa
   tay
   lda #{c1}
@@ -180900,12 +180900,12 @@ pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuxx < pbuz1_derefidx_vbuz2=vbuc1
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuc1_bxor_pbuz3_derefidx_vbuxx
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuc1_minus_pbuz3_derefidx_vbuxx
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuc1_plus_pbuz3_derefidx_vbuxx
-pbuz1_derefidx_vbuz2=vbuc1_band_pbuz3_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_band_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:16.5
+pbuz1_derefidx_vbuz2=vbuc1_band_pbuz3_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:16.5
   lda #{c1}
   and ({z3}),y
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:16.5
+pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:16.5
   lda #{c1}
   ora ({z3}),y
   ldy {z2}
@@ -180943,13 +180943,13 @@ pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuz2 < pbuz1_derefidx_vbuz2=vbuaa
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuc1_bxor_pbuz3_derefidx_vbuz2
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuc1_minus_pbuz3_derefidx_vbuz2
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuc1_plus_pbuz3_derefidx_vbuz2
-pbuz1_derefidx_vbuz2=vbuc1_band_pbuz3_derefidx_vbuz3 < vbuaa=vbuc1_band_pbuz1_derefidx_vbuz1 < vbuaa=vbuaa_band_pbuz1_derefidx_vbuz1 < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:19.5
+pbuz1_derefidx_vbuz2=vbuc1_band_pbuz3_derefidx_vbuz3 < pbuz1_derefidx_vbuz2=vbuaa_band_pbuz3_derefidx_vbuz3 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuz3_band_vbuaa < vbuaa=pbuz1_derefidx_vbuz1_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:19.5
   lda #{c1}
   ldy {z3}
   and ({z3}),y
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuz3 < vbuaa=vbuc1_bor_pbuz1_derefidx_vbuz1 < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuz1 < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:19.5
+pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuz3 < pbuz1_derefidx_vbuz2=vbuaa_bor_pbuz3_derefidx_vbuz3 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuz3_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuz1_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:19.5
   lda #{c1}
   ldy {z3}
   ora ({z3}),y
@@ -180984,13 +180984,13 @@ CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuc1
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuc1_bxor_pbuz3_derefidx_vbuc1
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuc1_minus_pbuz3_derefidx_vbuc1
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuc1_plus_pbuz3_derefidx_vbuc1
-pbuz1_derefidx_vbuz2=vbuc1_band_pbuz3_derefidx_vbuc2 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc2_band_vbuc1 < vbuaa=pbuz1_derefidx_vbuc2_band_vbuc1 < vbuaa=pbuz1_derefidx_vbuc1_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:18.5
+pbuz1_derefidx_vbuz2=vbuc1_band_pbuz3_derefidx_vbuc2 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc2_band_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_band_vbuaa < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_band_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:18.5
   lda #{c1}
   ldy #{c2}
   and ({z3}),y
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuc2 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc2_bor_vbuc1 < vbuaa=pbuz1_derefidx_vbuc2_bor_vbuc1 < vbuaa=pbuz1_derefidx_vbuc1_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:18.5
+pbuz1_derefidx_vbuz2=vbuc1_bor_pbuz3_derefidx_vbuc2 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc2_bor_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1_bor_vbuaa < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy_bor_vbuaa < vbuaa=pbuz1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuz1_derefidx_vbuyy - clobber:A Y  cycles:18.5
   lda #{c1}
   ldy #{c2}
   ora ({z3}),y
@@ -181197,87 +181197,87 @@ CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuc1_bor_pbuc1_derefidx_vbuc2
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuc1_bxor_pbuc1_derefidx_vbuc2
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuc1_minus_pbuc1_derefidx_vbuc2
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuc1_plus_pbuc1_derefidx_vbuc2
-pbuz1_derefidx_vbuz2=vbuc1_band_pbuc2_derefidx_vbuaa < pbuz1_derefidx_vbuz2=vbuc1_band_pbuc2_derefidx_vbuyy < vbuaa=vbuc1_band_pbuc2_derefidx_vbuyy < vbuaa=vbuaa_band_pbuc1_derefidx_vbuyy - clobber:A Y  cycles:17.5
+pbuz1_derefidx_vbuz2=vbuc1_band_pbuc2_derefidx_vbuaa < pbuz1_derefidx_vbuz2=vbuc1_band_pbuc2_derefidx_vbuyy < pbuz1_derefidx_vbuz2=vbuaa_band_pbuc1_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuyy_band_vbuaa < vbuaa=pbuc1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuc1_derefidx_vbuyy - clobber:A Y  cycles:17.5
   tay
   lda #{c1}
   and {c2},y
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=vbuc1_bor_pbuc2_derefidx_vbuaa < pbuz1_derefidx_vbuz2=vbuc1_bor_pbuc2_derefidx_vbuyy < vbuaa=vbuc1_bor_pbuc2_derefidx_vbuyy < vbuaa=vbuaa_bor_pbuc1_derefidx_vbuyy - clobber:A Y  cycles:17.5
+pbuz1_derefidx_vbuz2=vbuc1_bor_pbuc2_derefidx_vbuaa < pbuz1_derefidx_vbuz2=vbuc1_bor_pbuc2_derefidx_vbuyy < pbuz1_derefidx_vbuz2=vbuaa_bor_pbuc1_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuyy_bor_vbuaa < vbuaa=pbuc1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuc1_derefidx_vbuyy - clobber:A Y  cycles:17.5
   tay
   lda #{c1}
   ora {c2},y
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=vbuc1_bxor_pbuc2_derefidx_vbuaa < pbuz1_derefidx_vbuz2=vbuc1_bxor_pbuc2_derefidx_vbuyy < vbuaa=vbuc1_bxor_pbuc2_derefidx_vbuyy < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuyy - clobber:A Y  cycles:17.5
+pbuz1_derefidx_vbuz2=vbuc1_bxor_pbuc2_derefidx_vbuaa < pbuz1_derefidx_vbuz2=vbuc1_bxor_pbuc2_derefidx_vbuyy < pbuz1_derefidx_vbuz2=vbuaa_bxor_pbuc1_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuyy_bxor_vbuaa < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuyy - clobber:A Y  cycles:17.5
   tay
   lda #{c1}
   eor {c2},y
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=vbuc1_minus_pbuc2_derefidx_vbuaa < pbuz1_derefidx_vbuz2=vbuc1_minus_pbuc2_derefidx_vbuyy < vbuaa=vbuc1_minus_pbuc2_derefidx_vbuyy < vbuaa=vbuaa_minus_pbuc1_derefidx_vbuyy - clobber:A Y  cycles:19.5
+pbuz1_derefidx_vbuz2=vbuc1_minus_pbuc2_derefidx_vbuaa < pbuz1_derefidx_vbuz2=vbuc1_minus_pbuc2_derefidx_vbuyy < pbuz1_derefidx_vbuz2=vbuaa_minus_pbuc1_derefidx_vbuyy < vbuaa=vbuaa_minus_pbuc1_derefidx_vbuyy - clobber:A Y  cycles:19.5
   tay
   lda #{c1}
   sec
   sbc {c2},y
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=vbuc1_plus_pbuc2_derefidx_vbuaa < pbuz1_derefidx_vbuz2=vbuc1_plus_pbuc2_derefidx_vbuyy < vbuaa=vbuc1_plus_pbuc2_derefidx_vbuyy < vbuaa=vbuaa_plus_pbuc1_derefidx_vbuyy - clobber:A Y  cycles:19.5
+pbuz1_derefidx_vbuz2=vbuc1_plus_pbuc2_derefidx_vbuaa < pbuz1_derefidx_vbuz2=vbuc1_plus_pbuc2_derefidx_vbuyy < pbuz1_derefidx_vbuz2=vbuaa_plus_pbuc1_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuyy_plus_vbuaa < vbuaa=pbuc1_derefidx_vbuyy_plus_vbuaa < vbuaa=vbuaa_plus_pbuc1_derefidx_vbuyy - clobber:A Y  cycles:19.5
   tay
   lda #{c1}
   clc
   adc {c2},y
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=vbuc1_band_pbuc2_derefidx_vbuxx < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuxx_band_vbuc1 < vbuaa=pbuc2_derefidx_vbuxx_band_vbuc1 < vbuaa=vbuc1_band_pbuc2_derefidx_vbuxx < vbuaa=vbuaa_band_pbuc1_derefidx_vbuxx - clobber:A Y  cycles:15.5
+pbuz1_derefidx_vbuz2=vbuc1_band_pbuc2_derefidx_vbuxx < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuxx_band_vbuc1 < pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuxx_band_vbuaa < vbuaa=pbuc1_derefidx_vbuxx_band_vbuaa < vbuaa=vbuaa_band_pbuc1_derefidx_vbuxx - clobber:A Y  cycles:15.5
   lda #{c1}
   and {c2},x
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=vbuc1_bor_pbuc2_derefidx_vbuxx < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuxx_bor_vbuc1 < vbuaa=pbuc2_derefidx_vbuxx_bor_vbuc1 < vbuaa=vbuc1_bor_pbuc2_derefidx_vbuxx < vbuaa=vbuaa_bor_pbuc1_derefidx_vbuxx - clobber:A Y  cycles:15.5
+pbuz1_derefidx_vbuz2=vbuc1_bor_pbuc2_derefidx_vbuxx < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuxx_bor_vbuc1 < pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuxx_bor_vbuaa < vbuaa=pbuc1_derefidx_vbuxx_bor_vbuaa < vbuaa=vbuaa_bor_pbuc1_derefidx_vbuxx - clobber:A Y  cycles:15.5
   lda #{c1}
   ora {c2},x
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=vbuc1_bxor_pbuc2_derefidx_vbuxx < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuxx_bxor_vbuc1 < vbuaa=pbuc2_derefidx_vbuxx_bxor_vbuc1 < vbuaa=vbuc1_bxor_pbuc2_derefidx_vbuxx < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuxx - clobber:A Y  cycles:15.5
+pbuz1_derefidx_vbuz2=vbuc1_bxor_pbuc2_derefidx_vbuxx < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuxx_bxor_vbuc1 < pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuxx_bxor_vbuaa < vbuaa=pbuc1_derefidx_vbuxx_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuxx - clobber:A Y  cycles:15.5
   lda #{c1}
   eor {c2},x
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=vbuc1_minus_pbuc2_derefidx_vbuxx < vbuaa=vbuc1_minus_pbuc2_derefidx_vbuxx < vbuaa=vbuaa_minus_pbuc1_derefidx_vbuxx - clobber:A Y  cycles:17.5
+pbuz1_derefidx_vbuz2=vbuc1_minus_pbuc2_derefidx_vbuxx < pbuz1_derefidx_vbuz2=vbuaa_minus_pbuc1_derefidx_vbuxx < vbuaa=vbuaa_minus_pbuc1_derefidx_vbuxx - clobber:A Y  cycles:17.5
   lda #{c1}
   sec
   sbc {c2},x
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=vbuc1_plus_pbuc2_derefidx_vbuxx < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuxx_plus_vbuc1 < vbuaa=pbuc2_derefidx_vbuxx_plus_vbuc1 < vbuaa=vbuc1_plus_pbuc2_derefidx_vbuxx < vbuaa=vbuaa_plus_pbuc1_derefidx_vbuxx - clobber:A Y  cycles:17.5
+pbuz1_derefidx_vbuz2=vbuc1_plus_pbuc2_derefidx_vbuxx < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuxx_plus_vbuc1 < pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuxx_plus_vbuaa < vbuaa=pbuc1_derefidx_vbuxx_plus_vbuaa < vbuaa=vbuaa_plus_pbuc1_derefidx_vbuxx - clobber:A Y  cycles:17.5
   lda #{c1}
   clc
   adc {c2},x
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=vbuc1_band_pbuc2_derefidx_vbuyy < vbuaa=vbuc1_band_pbuc2_derefidx_vbuyy < vbuaa=vbuaa_band_pbuc1_derefidx_vbuyy - clobber:A Y  cycles:15.5
+pbuz1_derefidx_vbuz2=vbuc1_band_pbuc2_derefidx_vbuyy < pbuz1_derefidx_vbuz2=vbuaa_band_pbuc1_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuyy_band_vbuaa < vbuaa=pbuc1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuc1_derefidx_vbuyy - clobber:A Y  cycles:15.5
   lda #{c1}
   and {c2},y
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=vbuc1_bor_pbuc2_derefidx_vbuyy < vbuaa=vbuc1_bor_pbuc2_derefidx_vbuyy < vbuaa=vbuaa_bor_pbuc1_derefidx_vbuyy - clobber:A Y  cycles:15.5
+pbuz1_derefidx_vbuz2=vbuc1_bor_pbuc2_derefidx_vbuyy < pbuz1_derefidx_vbuz2=vbuaa_bor_pbuc1_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuyy_bor_vbuaa < vbuaa=pbuc1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuc1_derefidx_vbuyy - clobber:A Y  cycles:15.5
   lda #{c1}
   ora {c2},y
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=vbuc1_bxor_pbuc2_derefidx_vbuyy < vbuaa=vbuc1_bxor_pbuc2_derefidx_vbuyy < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuyy - clobber:A Y  cycles:15.5
+pbuz1_derefidx_vbuz2=vbuc1_bxor_pbuc2_derefidx_vbuyy < pbuz1_derefidx_vbuz2=vbuaa_bxor_pbuc1_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuyy_bxor_vbuaa < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuyy - clobber:A Y  cycles:15.5
   lda #{c1}
   eor {c2},y
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=vbuc1_minus_pbuc2_derefidx_vbuyy < vbuaa=vbuc1_minus_pbuc2_derefidx_vbuyy < vbuaa=vbuaa_minus_pbuc1_derefidx_vbuyy - clobber:A Y  cycles:17.5
+pbuz1_derefidx_vbuz2=vbuc1_minus_pbuc2_derefidx_vbuyy < pbuz1_derefidx_vbuz2=vbuaa_minus_pbuc1_derefidx_vbuyy < vbuaa=vbuaa_minus_pbuc1_derefidx_vbuyy - clobber:A Y  cycles:17.5
   lda #{c1}
   sec
   sbc {c2},y
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=vbuc1_plus_pbuc2_derefidx_vbuyy < vbuaa=vbuc1_plus_pbuc2_derefidx_vbuyy < vbuaa=vbuaa_plus_pbuc1_derefidx_vbuyy - clobber:A Y  cycles:17.5
+pbuz1_derefidx_vbuz2=vbuc1_plus_pbuc2_derefidx_vbuyy < pbuz1_derefidx_vbuz2=vbuaa_plus_pbuc1_derefidx_vbuyy < pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuyy_plus_vbuaa < vbuaa=pbuc1_derefidx_vbuyy_plus_vbuaa < vbuaa=vbuaa_plus_pbuc1_derefidx_vbuyy - clobber:A Y  cycles:17.5
   lda #{c1}
   clc
   adc {c2},y
@@ -181347,32 +181347,32 @@ pbuz1_derefidx_vbuz2=vbuc1_plus_pbuc2_derefidx_vbuz2 < pbuz1_derefidx_vbuz2=pbuc
   adc {c2},y
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=vbuc1_band_pbuc2_derefidx_vbuz3 < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuz3_band_vbuc1 < vbuaa=pbuc2_derefidx_vbuz1_band_vbuc1 < vbuaa=pbuc1_derefidx_vbuz1_band_vbuaa < vbuaa=pbuc1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuc1_derefidx_vbuyy - clobber:A Y  cycles:18.5
+pbuz1_derefidx_vbuz2=vbuc1_band_pbuc2_derefidx_vbuz3 < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuz3_band_vbuc1 < pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuz3_band_vbuaa < pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuyy_band_vbuaa < vbuaa=pbuc1_derefidx_vbuyy_band_vbuaa < vbuaa=vbuaa_band_pbuc1_derefidx_vbuyy - clobber:A Y  cycles:18.5
   lda #{c1}
   ldy {z3}
   and {c2},y
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=vbuc1_bor_pbuc2_derefidx_vbuz3 < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuz3_bor_vbuc1 < vbuaa=pbuc2_derefidx_vbuz1_bor_vbuc1 < vbuaa=pbuc1_derefidx_vbuz1_bor_vbuaa < vbuaa=pbuc1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuc1_derefidx_vbuyy - clobber:A Y  cycles:18.5
+pbuz1_derefidx_vbuz2=vbuc1_bor_pbuc2_derefidx_vbuz3 < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuz3_bor_vbuc1 < pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuz3_bor_vbuaa < pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuyy_bor_vbuaa < vbuaa=pbuc1_derefidx_vbuyy_bor_vbuaa < vbuaa=vbuaa_bor_pbuc1_derefidx_vbuyy - clobber:A Y  cycles:18.5
   lda #{c1}
   ldy {z3}
   ora {c2},y
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=vbuc1_bxor_pbuc2_derefidx_vbuz3 < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuz3_bxor_vbuc1 < vbuaa=pbuc2_derefidx_vbuz1_bxor_vbuc1 < vbuaa=pbuc1_derefidx_vbuz1_bxor_vbuaa < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuyy - clobber:A Y  cycles:18.5
+pbuz1_derefidx_vbuz2=vbuc1_bxor_pbuc2_derefidx_vbuz3 < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuz3_bxor_vbuc1 < pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuz3_bxor_vbuaa < pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuyy_bxor_vbuaa < vbuaa=pbuc1_derefidx_vbuyy_bxor_vbuaa < vbuaa=vbuaa_bxor_pbuc1_derefidx_vbuyy - clobber:A Y  cycles:18.5
   lda #{c1}
   ldy {z3}
   eor {c2},y
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=vbuc1_minus_pbuc2_derefidx_vbuz3 < vbuaa=vbuc1_minus_pbuc2_derefidx_vbuz1 < vbuaa=vbuaa_minus_pbuc1_derefidx_vbuz1 < vbuaa=vbuaa_minus_pbuc1_derefidx_vbuyy - clobber:A Y  cycles:20.5
+pbuz1_derefidx_vbuz2=vbuc1_minus_pbuc2_derefidx_vbuz3 < pbuz1_derefidx_vbuz2=vbuaa_minus_pbuc1_derefidx_vbuz3 < pbuz1_derefidx_vbuz2=vbuaa_minus_pbuc1_derefidx_vbuyy < vbuaa=vbuaa_minus_pbuc1_derefidx_vbuyy - clobber:A Y  cycles:20.5
   lda #{c1}
   ldy {z3}
   sec
   sbc {c2},y
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=vbuc1_plus_pbuc2_derefidx_vbuz3 < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuz3_plus_vbuc1 < vbuaa=pbuc2_derefidx_vbuz1_plus_vbuc1 < vbuaa=pbuc1_derefidx_vbuz1_plus_vbuaa < vbuaa=pbuc1_derefidx_vbuyy_plus_vbuaa < vbuaa=vbuaa_plus_pbuc1_derefidx_vbuyy - clobber:A Y  cycles:20.5
+pbuz1_derefidx_vbuz2=vbuc1_plus_pbuc2_derefidx_vbuz3 < pbuz1_derefidx_vbuz2=pbuc2_derefidx_vbuz3_plus_vbuc1 < pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuz3_plus_vbuaa < pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuyy_plus_vbuaa < vbuaa=pbuc1_derefidx_vbuyy_plus_vbuaa < vbuaa=vbuaa_plus_pbuc1_derefidx_vbuyy - clobber:A Y  cycles:20.5
   lda #{c1}
   ldy {z3}
   clc
@@ -181399,28 +181399,28 @@ CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuc1_bor_vbuc1
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuc1_bxor_vbuc1
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuc1_minus_vbuc1
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=vbuc1_plus_vbuc1
-pbuz1_derefidx_vbuz2=vbuc1_band_vbuc2 < pbuz1_derefidx_vbuz2=vbuc2_band_vbuc1 < vbuaa=vbuc2_band_vbuc1 < vbuaa=vbuc1_band_vbuaa < vbuaa=vbuaa_band_vbuc1 - clobber:A Y  cycles:13.0
+pbuz1_derefidx_vbuz2=vbuc1_band_vbuc2 < pbuz1_derefidx_vbuz2=vbuc2_band_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1_band_vbuaa < vbuaa=vbuc1_band_vbuaa < vbuaa=vbuaa_band_vbuc1 - clobber:A Y  cycles:13.0
   lda #{c1}
   and #{c2}
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=vbuc1_bor_vbuc2 < pbuz1_derefidx_vbuz2=vbuc2_bor_vbuc1 < vbuaa=vbuc2_bor_vbuc1 < vbuaa=vbuc1_bor_vbuaa < vbuaa=vbuaa_bor_vbuc1 - clobber:A Y  cycles:13.0
+pbuz1_derefidx_vbuz2=vbuc1_bor_vbuc2 < pbuz1_derefidx_vbuz2=vbuc2_bor_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1_bor_vbuaa < vbuaa=vbuc1_bor_vbuaa < vbuaa=vbuaa_bor_vbuc1 - clobber:A Y  cycles:13.0
   lda #{c1}
   ora #{c2}
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=vbuc1_bxor_vbuc2 < pbuz1_derefidx_vbuz2=vbuc2_bxor_vbuc1 < vbuaa=vbuc2_bxor_vbuc1 < vbuaa=vbuc1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuc1 - clobber:A Y  cycles:13.0
+pbuz1_derefidx_vbuz2=vbuc1_bxor_vbuc2 < pbuz1_derefidx_vbuz2=vbuc2_bxor_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1_bxor_vbuaa < vbuaa=vbuc1_bxor_vbuaa < vbuaa=vbuaa_bxor_vbuc1 - clobber:A Y  cycles:13.0
   lda #{c1}
   eor #{c2}
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=vbuc1_minus_vbuc2 < vbuaa=vbuc1_minus_vbuc2 < vbuaa=vbuaa_minus_vbuc1 - clobber:A Y  cycles:15.0
+pbuz1_derefidx_vbuz2=vbuc1_minus_vbuc2 < pbuz1_derefidx_vbuz2=vbuaa_minus_vbuc1 < vbuaa=vbuaa_minus_vbuc1 - clobber:A Y  cycles:15.0
   lda #{c1}
   sec
   sbc #{c2}
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=vbuc1_plus_vbuc2 < pbuz1_derefidx_vbuz2=vbuc2_plus_vbuc1 < vbuaa=vbuc2_plus_vbuc1 < vbuaa=vbuc1_plus_vbuaa < vbuaa=vbuaa_plus_vbuc1 - clobber:A Y  cycles:15.0
+pbuz1_derefidx_vbuz2=vbuc1_plus_vbuc2 < pbuz1_derefidx_vbuz2=vbuc2_plus_vbuc1 < pbuz1_derefidx_vbuz2=vbuc1_plus_vbuaa < vbuaa=vbuc1_plus_vbuaa < vbuaa=vbuaa_plus_vbuc1 - clobber:A Y  cycles:15.0
   lda #{c1}
   clc
   adc #{c2}
diff --git a/src/test/ref/fragments-assignment-copy.log b/src/test/ref/fragments-assignment-copy.log
index b97ea008d..a451830b0 100644
--- a/src/test/ref/fragments-assignment-copy.log
+++ b/src/test/ref/fragments-assignment-copy.log
@@ -1207,7 +1207,7 @@ pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuz4 < pbuz1_derefidx_vbuaa=pbuz2_derefidx_
   lda ({z3}),y
   ldy $ff
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1 < vbuaa=pbuz1_derefidx_vbuc1 < vbuaa=pbuz1_derefidx_vbuyy - clobber:A Y  cycles:16.5
+pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuc1 < pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuyy < vbuaa=pbuz1_derefidx_vbuyy - clobber:A Y  cycles:16.5
   ldy #{c1}
   lda ({z3}),y
   ldy {z2}
@@ -1241,7 +1241,7 @@ pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuz3 < pbuz1_derefidx_vbuz2=pbuc1_derefidx_
   sta ({z1}),y
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuc1
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuc2
-pbuz1_derefidx_vbuz2=vbuc1 < vbuaa=vbuc1 - clobber:A Y  cycles:11.0
+pbuz1_derefidx_vbuz2=vbuc1 < pbuz1_derefidx_vbuz2=vbuaa - clobber:A Y  cycles:11.0
   lda #{c1}
   ldy {z2}
   sta ({z1}),y
diff --git a/src/test/ref/fragments-assignment-unary.log b/src/test/ref/fragments-assignment-unary.log
index 12083e95b..ee5b3c164 100644
--- a/src/test/ref/fragments-assignment-unary.log
+++ b/src/test/ref/fragments-assignment-unary.log
@@ -259,11 +259,11 @@ CANNOT SYNTHESIZE vbuaa=_pos_pbuc1_derefidx_vbuc2
 vbuaa=_bnot_vbuc1 < vbuaa=_bnot_vbuaa - clobber:A   cycles:4.0
   lda #{c1}
   eor #$ff
-vbuaa=_dec_vbuc1 < vbuaa=vbuc1_minus_1 < vbuaa=vbuaa_minus_1 - clobber:A   cycles:6.0
+vbuaa=_dec_vbuc1 < vbuaa=_dec_vbuaa < vbuaa=vbuaa_minus_1 - clobber:A   cycles:6.0
   lda #{c1}
   sec
   sbc #1
-vbuaa=_inc_vbuc1 < vbuaa=vbuc1_plus_1 < vbuaa=1_plus_vbuc1 < vbuaa=1_plus_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A   cycles:6.0
+vbuaa=_inc_vbuc1 < vbuaa=_inc_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A   cycles:6.0
   lda #{c1}
   clc
   adc #1
@@ -1257,7 +1257,7 @@ vbuz1=_bnot_vbuc1 < vbuaa=_bnot_vbuc1 < vbuaa=_bnot_vbuaa - clobber:A   cycles:7
   lda #{c1}
   eor #$ff
   sta {z1}
-vbuz1=_dec_vbuc1 < vbuaa=_dec_vbuc1 < vbuaa=vbuc1_minus_1 < vbuaa=vbuaa_minus_1 - clobber:A   cycles:9.0
+vbuz1=_dec_vbuc1 < vbuaa=_dec_vbuc1 < vbuaa=_dec_vbuaa < vbuaa=vbuaa_minus_1 - clobber:A   cycles:9.0
   lda #{c1}
   sec
   sbc #1
@@ -1270,7 +1270,7 @@ vbuz1=_dec_vbuc1 < vbuyy=_dec_vbuc1 < vbuyy=_dec_vbuyy - clobber:Y  cycles:7.0
   ldy #{c1}
   dey
   sty {z1}
-vbuz1=_inc_vbuc1 < vbuaa=_inc_vbuc1 < vbuaa=vbuc1_plus_1 < vbuaa=1_plus_vbuc1 < vbuaa=1_plus_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A   cycles:9.0
+vbuz1=_inc_vbuc1 < vbuaa=_inc_vbuc1 < vbuaa=_inc_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A   cycles:9.0
   lda #{c1}
   clc
   adc #1
@@ -1711,13 +1711,13 @@ _deref_pbuz1=_bnot_vbuc1 < vbuaa=_bnot_vbuc1 < vbuaa=_bnot_vbuaa - clobber:A Y
   eor #$ff
   ldy #0
   sta ({z1}),y
-_deref_pbuz1=_dec_vbuc1 < vbuaa=_dec_vbuc1 < vbuaa=vbuc1_minus_1 < vbuaa=vbuaa_minus_1 - clobber:A Y  cycles:14.0
+_deref_pbuz1=_dec_vbuc1 < vbuaa=_dec_vbuc1 < vbuaa=_dec_vbuaa < vbuaa=vbuaa_minus_1 - clobber:A Y  cycles:14.0
   lda #{c1}
   sec
   sbc #1
   ldy #0
   sta ({z1}),y
-_deref_pbuz1=_inc_vbuc1 < vbuaa=_inc_vbuc1 < vbuaa=vbuc1_plus_1 < vbuaa=1_plus_vbuc1 < vbuaa=1_plus_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A Y  cycles:14.0
+_deref_pbuz1=_inc_vbuc1 < vbuaa=_inc_vbuc1 < vbuaa=_inc_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A Y  cycles:14.0
   lda #{c1}
   clc
   adc #1
@@ -2207,25 +2207,25 @@ _deref_pbuc1=_bnot_pbuc2_derefidx_vbuc1 < vbuaa=_bnot_pbuc2_derefidx_vbuc1 < vbu
   lda {c2},y
   eor #$ff
   sta {c1}
-_deref_pbuc1=_dec_pbuc2_derefidx_vbuc1 < vbuaa=_dec_pbuc2_derefidx_vbuc1 < vbuaa=pbuc2_derefidx_vbuc1_minus_1 < vbuaa=pbuc1_derefidx_vbuxx_minus_1 < vbuaa=vbuaa_minus_1 - clobber:A X   cycles:14.5
+_deref_pbuc1=_dec_pbuc2_derefidx_vbuc1 < vbuaa=_dec_pbuc2_derefidx_vbuc1 < vbuaa=_dec_pbuc1_derefidx_vbuxx < vbuaa=_dec_vbuaa < vbuaa=vbuaa_minus_1 - clobber:A X   cycles:14.5
   ldx #{c1}
   lda {c2},x
   sec
   sbc #1
   sta {c1}
-_deref_pbuc1=_dec_pbuc2_derefidx_vbuc1 < vbuaa=_dec_pbuc2_derefidx_vbuc1 < vbuaa=pbuc2_derefidx_vbuc1_minus_1 < vbuaa=pbuc1_derefidx_vbuyy_minus_1 < vbuaa=vbuaa_minus_1 - clobber:A Y  cycles:14.5
+_deref_pbuc1=_dec_pbuc2_derefidx_vbuc1 < vbuaa=_dec_pbuc2_derefidx_vbuc1 < vbuaa=_dec_pbuc1_derefidx_vbuyy < vbuaa=_dec_vbuaa < vbuaa=vbuaa_minus_1 - clobber:A Y  cycles:14.5
   ldy #{c1}
   lda {c2},y
   sec
   sbc #1
   sta {c1}
-_deref_pbuc1=_inc_pbuc2_derefidx_vbuc1 < vbuaa=_inc_pbuc2_derefidx_vbuc1 < vbuaa=pbuc2_derefidx_vbuc1_plus_1 < vbuaa=1_plus_pbuc2_derefidx_vbuc1 < vbuaa=1_plus_pbuc1_derefidx_vbuxx < vbuaa=1_plus_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A X   cycles:14.5
+_deref_pbuc1=_inc_pbuc2_derefidx_vbuc1 < vbuaa=_inc_pbuc2_derefidx_vbuc1 < vbuaa=_inc_pbuc1_derefidx_vbuxx < vbuaa=_inc_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A X   cycles:14.5
   ldx #{c1}
   lda {c2},x
   clc
   adc #1
   sta {c1}
-_deref_pbuc1=_inc_pbuc2_derefidx_vbuc1 < vbuaa=_inc_pbuc2_derefidx_vbuc1 < vbuaa=pbuc2_derefidx_vbuc1_plus_1 < vbuaa=1_plus_pbuc2_derefidx_vbuc1 < vbuaa=1_plus_pbuc1_derefidx_vbuyy < vbuaa=pbuc1_derefidx_vbuyy_plus_1 < vbuaa=vbuaa_plus_1 - clobber:A Y  cycles:14.5
+_deref_pbuc1=_inc_pbuc2_derefidx_vbuc1 < vbuaa=_inc_pbuc2_derefidx_vbuc1 < vbuaa=_inc_pbuc1_derefidx_vbuyy < vbuaa=_inc_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A Y  cycles:14.5
   ldy #{c1}
   lda {c2},y
   clc
@@ -2260,12 +2260,12 @@ _deref_pbuc1=_bnot_vbuc1 < vbuaa=_bnot_vbuc1 < vbuaa=_bnot_vbuaa - clobber:A   c
   lda #{c1}
   eor #$ff
   sta {c1}
-_deref_pbuc1=_dec_vbuc1 < vbuaa=_dec_vbuc1 < vbuaa=vbuc1_minus_1 < vbuaa=vbuaa_minus_1 - clobber:A   cycles:10.0
+_deref_pbuc1=_dec_vbuc1 < vbuaa=_dec_vbuc1 < vbuaa=_dec_vbuaa < vbuaa=vbuaa_minus_1 - clobber:A   cycles:10.0
   lda #{c1}
   sec
   sbc #1
   sta {c1}
-_deref_pbuc1=_inc_vbuc1 < vbuaa=_inc_vbuc1 < vbuaa=vbuc1_plus_1 < vbuaa=1_plus_vbuc1 < vbuaa=1_plus_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A   cycles:10.0
+_deref_pbuc1=_inc_vbuc1 < vbuaa=_inc_vbuc1 < vbuaa=_inc_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A   cycles:10.0
   lda #{c1}
   clc
   adc #1
@@ -2281,12 +2281,12 @@ _deref_pbuc1=_bnot_vbuc2 < vbuaa=_bnot_vbuc1 < vbuaa=_bnot_vbuaa - clobber:A   c
   lda #{c2}
   eor #$ff
   sta {c1}
-_deref_pbuc1=_dec_vbuc2 < vbuaa=_dec_vbuc1 < vbuaa=vbuc1_minus_1 < vbuaa=vbuaa_minus_1 - clobber:A   cycles:10.0
+_deref_pbuc1=_dec_vbuc2 < vbuaa=_dec_vbuc1 < vbuaa=_dec_vbuaa < vbuaa=vbuaa_minus_1 - clobber:A   cycles:10.0
   lda #{c2}
   sec
   sbc #1
   sta {c1}
-_deref_pbuc1=_inc_vbuc2 < vbuaa=_inc_vbuc1 < vbuaa=vbuc1_plus_1 < vbuaa=1_plus_vbuc1 < vbuaa=1_plus_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A   cycles:10.0
+_deref_pbuc1=_inc_vbuc2 < vbuaa=_inc_vbuc1 < vbuaa=_inc_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A   cycles:10.0
   lda #{c2}
   clc
   adc #1
@@ -2871,13 +2871,13 @@ pbuz1_derefidx_vbuaa=_bnot_vbuc1 < vbuaa=_bnot_vbuc1 < vbuaa=_bnot_vbuaa - clobb
   lda #{c1}
   eor #$ff
   sta ({z1}),y
-pbuz1_derefidx_vbuaa=_dec_vbuc1 < vbuaa=_dec_vbuc1 < vbuaa=vbuc1_minus_1 < vbuaa=vbuaa_minus_1 - clobber:A Y  cycles:14.0
+pbuz1_derefidx_vbuaa=_dec_vbuc1 < vbuaa=_dec_vbuc1 < vbuaa=_dec_vbuaa < vbuaa=vbuaa_minus_1 - clobber:A Y  cycles:14.0
   tay
   lda #{c1}
   sec
   sbc #1
   sta ({z1}),y
-pbuz1_derefidx_vbuaa=_inc_vbuc1 < vbuaa=_inc_vbuc1 < vbuaa=vbuc1_plus_1 < vbuaa=1_plus_vbuc1 < vbuaa=1_plus_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A Y  cycles:14.0
+pbuz1_derefidx_vbuaa=_inc_vbuc1 < vbuaa=_inc_vbuc1 < vbuaa=_inc_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A Y  cycles:14.0
   tay
   lda #{c1}
   clc
@@ -3425,14 +3425,14 @@ pbuz1_derefidx_vbuxx=_bnot_vbuc1 < pbuz1_derefidx_vbuaa=_bnot_vbuc1 < vbuaa=_bno
   lda #{c1}
   eor #$ff
   sta ({z1}),y
-pbuz1_derefidx_vbuxx=_dec_vbuc1 < pbuz1_derefidx_vbuaa=_dec_vbuc1 < vbuaa=_dec_vbuc1 < vbuaa=vbuc1_minus_1 < vbuaa=vbuaa_minus_1 - clobber:A Y  cycles:16.0
+pbuz1_derefidx_vbuxx=_dec_vbuc1 < pbuz1_derefidx_vbuaa=_dec_vbuc1 < vbuaa=_dec_vbuc1 < vbuaa=_dec_vbuaa < vbuaa=vbuaa_minus_1 - clobber:A Y  cycles:16.0
   txa
   tay
   lda #{c1}
   sec
   sbc #1
   sta ({z1}),y
-pbuz1_derefidx_vbuxx=_inc_vbuc1 < pbuz1_derefidx_vbuaa=_inc_vbuc1 < vbuaa=_inc_vbuc1 < vbuaa=vbuc1_plus_1 < vbuaa=1_plus_vbuc1 < vbuaa=1_plus_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A Y  cycles:16.0
+pbuz1_derefidx_vbuxx=_inc_vbuc1 < pbuz1_derefidx_vbuaa=_inc_vbuc1 < vbuaa=_inc_vbuc1 < vbuaa=_inc_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A Y  cycles:16.0
   txa
   tay
   lda #{c1}
@@ -4054,14 +4054,14 @@ pbuz1_derefidx_vbuyy=_bnot_vbuc1 < pbuz1_derefidx_vbuaa=_bnot_vbuc1 < vbuaa=_bno
   lda #{c1}
   eor #$ff
   sta ({z1}),y
-pbuz1_derefidx_vbuyy=_dec_vbuc1 < pbuz1_derefidx_vbuaa=_dec_vbuc1 < vbuaa=_dec_vbuc1 < vbuaa=vbuc1_minus_1 < vbuaa=vbuaa_minus_1 - clobber:A Y  cycles:16.0
+pbuz1_derefidx_vbuyy=_dec_vbuc1 < pbuz1_derefidx_vbuaa=_dec_vbuc1 < vbuaa=_dec_vbuc1 < vbuaa=_dec_vbuaa < vbuaa=vbuaa_minus_1 - clobber:A Y  cycles:16.0
   tya
   tay
   lda #{c1}
   sec
   sbc #1
   sta ({z1}),y
-pbuz1_derefidx_vbuyy=_inc_vbuc1 < pbuz1_derefidx_vbuaa=_inc_vbuc1 < vbuaa=_inc_vbuc1 < vbuaa=vbuc1_plus_1 < vbuaa=1_plus_vbuc1 < vbuaa=1_plus_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A Y  cycles:16.0
+pbuz1_derefidx_vbuyy=_inc_vbuc1 < pbuz1_derefidx_vbuaa=_inc_vbuc1 < vbuaa=_inc_vbuc1 < vbuaa=_inc_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A Y  cycles:16.0
   tya
   tay
   lda #{c1}
@@ -4735,14 +4735,14 @@ pbuz1_derefidx_vbuz1=_bnot_vbuc1 < pbuz1_derefidx_vbuaa=_bnot_vbuc1 < vbuaa=_bno
   lda #{c1}
   eor #$ff
   sta ({z1}),y
-pbuz1_derefidx_vbuz1=_dec_vbuc1 < pbuz1_derefidx_vbuaa=_dec_vbuc1 < vbuaa=_dec_vbuc1 < vbuaa=vbuc1_minus_1 < vbuaa=vbuaa_minus_1 - clobber:A Y  cycles:17.0
+pbuz1_derefidx_vbuz1=_dec_vbuc1 < pbuz1_derefidx_vbuaa=_dec_vbuc1 < vbuaa=_dec_vbuc1 < vbuaa=_dec_vbuaa < vbuaa=vbuaa_minus_1 - clobber:A Y  cycles:17.0
   lda {z1}
   tay
   lda #{c1}
   sec
   sbc #1
   sta ({z1}),y
-pbuz1_derefidx_vbuz1=_inc_vbuc1 < pbuz1_derefidx_vbuaa=_inc_vbuc1 < vbuaa=_inc_vbuc1 < vbuaa=vbuc1_plus_1 < vbuaa=1_plus_vbuc1 < vbuaa=1_plus_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A Y  cycles:17.0
+pbuz1_derefidx_vbuz1=_inc_vbuc1 < pbuz1_derefidx_vbuaa=_inc_vbuc1 < vbuaa=_inc_vbuc1 < vbuaa=_inc_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A Y  cycles:17.0
   lda {z1}
   tay
   lda #{c1}
@@ -5310,24 +5310,24 @@ CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=_dec_pbuc1_derefidx_vbuc2
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=_inc_pbuc1_derefidx_vbuc2
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=_neg_pbuc1_derefidx_vbuc2
 CANNOT SYNTHESIZE pbuz1_derefidx_vbuz2=_pos_pbuc1_derefidx_vbuc2
-pbuz1_derefidx_vbuz2=_bnot_vbuc1 < vbuaa=_bnot_vbuc1 < vbuaa=_bnot_vbuaa - clobber:A Y  cycles:13.0
+pbuz1_derefidx_vbuz2=_bnot_vbuc1 < pbuz1_derefidx_vbuz2=_bnot_vbuaa < vbuaa=_bnot_vbuaa - clobber:A Y  cycles:13.0
   lda #{c1}
   eor #$ff
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=_dec_vbuc1 < vbuaa=_dec_vbuc1 < vbuaa=vbuc1_minus_1 < vbuaa=vbuaa_minus_1 - clobber:A Y  cycles:15.0
+pbuz1_derefidx_vbuz2=_dec_vbuc1 < pbuz1_derefidx_vbuz2=_dec_vbuaa < vbuaa=_dec_vbuaa < vbuaa=vbuaa_minus_1 - clobber:A Y  cycles:15.0
   lda #{c1}
   sec
   sbc #1
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=_inc_vbuc1 < vbuaa=_inc_vbuc1 < vbuaa=vbuc1_plus_1 < vbuaa=1_plus_vbuc1 < vbuaa=1_plus_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A Y  cycles:15.0
+pbuz1_derefidx_vbuz2=_inc_vbuc1 < pbuz1_derefidx_vbuz2=_inc_vbuaa < vbuaa=_inc_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A Y  cycles:15.0
   lda #{c1}
   clc
   adc #1
   ldy {z2}
   sta ({z1}),y
-pbuz1_derefidx_vbuz2=_neg_vbuc1 < vbuaa=_neg_vbuc1 < vbuaa=_neg_vbuaa - clobber:A Y  cycles:17.0
+pbuz1_derefidx_vbuz2=_neg_vbuc1 < pbuz1_derefidx_vbuz2=_neg_vbuaa < vbuaa=_neg_vbuaa - clobber:A Y  cycles:17.0
   lda #{c1}
   eor #$ff
   clc
@@ -6168,25 +6168,25 @@ pbuc1_derefidx_vbuaa=_bnot_vbuc2 < pbuc1_derefidx_vbuyy=_bnot_vbuc2 < vbuaa=_bno
   lda #{c2}
   eor #$ff
   sta {c1},y
-pbuc1_derefidx_vbuaa=_dec_vbuc2 < pbuc1_derefidx_vbuxx=_dec_vbuc2 < vbuaa=_dec_vbuc1 < vbuaa=vbuc1_minus_1 < vbuaa=vbuaa_minus_1 - clobber:A X   cycles:13.0
+pbuc1_derefidx_vbuaa=_dec_vbuc2 < pbuc1_derefidx_vbuxx=_dec_vbuc2 < vbuaa=_dec_vbuc1 < vbuaa=_dec_vbuaa < vbuaa=vbuaa_minus_1 - clobber:A X   cycles:13.0
   tax
   lda #{c2}
   sec
   sbc #1
   sta {c1},x
-pbuc1_derefidx_vbuaa=_dec_vbuc2 < pbuc1_derefidx_vbuyy=_dec_vbuc2 < vbuaa=_dec_vbuc1 < vbuaa=vbuc1_minus_1 < vbuaa=vbuaa_minus_1 - clobber:A Y  cycles:13.0
+pbuc1_derefidx_vbuaa=_dec_vbuc2 < pbuc1_derefidx_vbuyy=_dec_vbuc2 < vbuaa=_dec_vbuc1 < vbuaa=_dec_vbuaa < vbuaa=vbuaa_minus_1 - clobber:A Y  cycles:13.0
   tay
   lda #{c2}
   sec
   sbc #1
   sta {c1},y
-pbuc1_derefidx_vbuaa=_inc_vbuc2 < pbuc1_derefidx_vbuxx=_inc_vbuc2 < vbuaa=_inc_vbuc1 < vbuaa=vbuc1_plus_1 < vbuaa=1_plus_vbuc1 < vbuaa=1_plus_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A X   cycles:13.0
+pbuc1_derefidx_vbuaa=_inc_vbuc2 < pbuc1_derefidx_vbuxx=_inc_vbuc2 < vbuaa=_inc_vbuc1 < vbuaa=_inc_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A X   cycles:13.0
   tax
   lda #{c2}
   clc
   adc #1
   sta {c1},x
-pbuc1_derefidx_vbuaa=_inc_vbuc2 < pbuc1_derefidx_vbuyy=_inc_vbuc2 < vbuaa=_inc_vbuc1 < vbuaa=vbuc1_plus_1 < vbuaa=1_plus_vbuc1 < vbuaa=1_plus_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A Y  cycles:13.0
+pbuc1_derefidx_vbuaa=_inc_vbuc2 < pbuc1_derefidx_vbuyy=_inc_vbuc2 < vbuaa=_inc_vbuc1 < vbuaa=_inc_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A Y  cycles:13.0
   tay
   lda #{c2}
   clc
@@ -6609,12 +6609,12 @@ pbuc1_derefidx_vbuxx=_bnot_vbuc2 < vbuaa=_bnot_vbuc1 < vbuaa=_bnot_vbuaa - clobb
   lda #{c2}
   eor #$ff
   sta {c1},x
-pbuc1_derefidx_vbuxx=_dec_vbuc2 < vbuaa=_dec_vbuc1 < vbuaa=vbuc1_minus_1 < vbuaa=vbuaa_minus_1 - clobber:A   cycles:11.0
+pbuc1_derefidx_vbuxx=_dec_vbuc2 < vbuaa=_dec_vbuc1 < vbuaa=_dec_vbuaa < vbuaa=vbuaa_minus_1 - clobber:A   cycles:11.0
   lda #{c2}
   sec
   sbc #1
   sta {c1},x
-pbuc1_derefidx_vbuxx=_inc_vbuc2 < vbuaa=_inc_vbuc1 < vbuaa=vbuc1_plus_1 < vbuaa=1_plus_vbuc1 < vbuaa=1_plus_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A   cycles:11.0
+pbuc1_derefidx_vbuxx=_inc_vbuc2 < vbuaa=_inc_vbuc1 < vbuaa=_inc_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A   cycles:11.0
   lda #{c2}
   clc
   adc #1
@@ -7081,12 +7081,12 @@ pbuc1_derefidx_vbuyy=_bnot_vbuc2 < vbuaa=_bnot_vbuc1 < vbuaa=_bnot_vbuaa - clobb
   lda #{c2}
   eor #$ff
   sta {c1},y
-pbuc1_derefidx_vbuyy=_dec_vbuc2 < vbuaa=_dec_vbuc1 < vbuaa=vbuc1_minus_1 < vbuaa=vbuaa_minus_1 - clobber:A   cycles:11.0
+pbuc1_derefidx_vbuyy=_dec_vbuc2 < vbuaa=_dec_vbuc1 < vbuaa=_dec_vbuaa < vbuaa=vbuaa_minus_1 - clobber:A   cycles:11.0
   lda #{c2}
   sec
   sbc #1
   sta {c1},y
-pbuc1_derefidx_vbuyy=_inc_vbuc2 < vbuaa=_inc_vbuc1 < vbuaa=vbuc1_plus_1 < vbuaa=1_plus_vbuc1 < vbuaa=1_plus_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A   cycles:11.0
+pbuc1_derefidx_vbuyy=_inc_vbuc2 < vbuaa=_inc_vbuc1 < vbuaa=_inc_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A   cycles:11.0
   lda #{c2}
   clc
   adc #1
@@ -8018,14 +8018,14 @@ pbuc1_derefidx_vbuz1=_bnot_pbuc2_derefidx_vbuc1 < vbuaa=_bnot_pbuc2_derefidx_vbu
   eor #$ff
   ldx {z1}
   sta {c1},x
-pbuc1_derefidx_vbuz1=_dec_pbuc2_derefidx_vbuc1 < vbuaa=_dec_pbuc2_derefidx_vbuc1 < vbuaa=pbuc2_derefidx_vbuc1_minus_1 < vbuaa=pbuc1_derefidx_vbuxx_minus_1 < vbuaa=vbuaa_minus_1 - clobber:A X   cycles:18.5
+pbuc1_derefidx_vbuz1=_dec_pbuc2_derefidx_vbuc1 < vbuaa=_dec_pbuc2_derefidx_vbuc1 < vbuaa=_dec_pbuc1_derefidx_vbuxx < vbuaa=_dec_vbuaa < vbuaa=vbuaa_minus_1 - clobber:A X   cycles:18.5
   ldx #{c1}
   lda {c2},x
   sec
   sbc #1
   ldx {z1}
   sta {c1},x
-pbuc1_derefidx_vbuz1=_inc_pbuc2_derefidx_vbuc1 < vbuaa=_inc_pbuc2_derefidx_vbuc1 < vbuaa=pbuc2_derefidx_vbuc1_plus_1 < vbuaa=1_plus_pbuc2_derefidx_vbuc1 < vbuaa=1_plus_pbuc1_derefidx_vbuxx < vbuaa=1_plus_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A X   cycles:18.5
+pbuc1_derefidx_vbuz1=_inc_pbuc2_derefidx_vbuc1 < vbuaa=_inc_pbuc2_derefidx_vbuc1 < vbuaa=_inc_pbuc1_derefidx_vbuxx < vbuaa=_inc_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A X   cycles:18.5
   ldx #{c1}
   lda {c2},x
   clc
@@ -8056,13 +8056,13 @@ pbuc1_derefidx_vbuz1=_bnot_vbuc1 < vbuaa=_bnot_vbuc1 < vbuaa=_bnot_vbuaa - clobb
   eor #$ff
   ldx {z1}
   sta {c1},x
-pbuc1_derefidx_vbuz1=_dec_vbuc1 < vbuaa=_dec_vbuc1 < vbuaa=vbuc1_minus_1 < vbuaa=vbuaa_minus_1 - clobber:A X   cycles:14.0
+pbuc1_derefidx_vbuz1=_dec_vbuc1 < vbuaa=_dec_vbuc1 < vbuaa=_dec_vbuaa < vbuaa=vbuaa_minus_1 - clobber:A X   cycles:14.0
   lda #{c1}
   sec
   sbc #1
   ldx {z1}
   sta {c1},x
-pbuc1_derefidx_vbuz1=_inc_vbuc1 < vbuaa=_inc_vbuc1 < vbuaa=vbuc1_plus_1 < vbuaa=1_plus_vbuc1 < vbuaa=1_plus_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A X   cycles:14.0
+pbuc1_derefidx_vbuz1=_inc_vbuc1 < vbuaa=_inc_vbuc1 < vbuaa=_inc_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A X   cycles:14.0
   lda #{c1}
   clc
   adc #1
@@ -8086,25 +8086,25 @@ pbuc1_derefidx_vbuz1=_bnot_vbuc2 < pbuc1_derefidx_vbuyy=_bnot_vbuc2 < vbuaa=_bno
   lda #{c2}
   eor #$ff
   sta {c1},y
-pbuc1_derefidx_vbuz1=_dec_vbuc2 < vbuaa=_dec_vbuc1 < vbuaa=vbuc1_minus_1 < vbuaa=vbuaa_minus_1 - clobber:A X   cycles:14.0
+pbuc1_derefidx_vbuz1=_dec_vbuc2 < vbuaa=_dec_vbuc1 < vbuaa=_dec_vbuaa < vbuaa=vbuaa_minus_1 - clobber:A X   cycles:14.0
   lda #{c2}
   sec
   sbc #1
   ldx {z1}
   sta {c1},x
-pbuc1_derefidx_vbuz1=_dec_vbuc2 < pbuc1_derefidx_vbuyy=_dec_vbuc2 < vbuaa=_dec_vbuc1 < vbuaa=vbuc1_minus_1 < vbuaa=vbuaa_minus_1 - clobber:A Y  cycles:14.0
+pbuc1_derefidx_vbuz1=_dec_vbuc2 < pbuc1_derefidx_vbuyy=_dec_vbuc2 < vbuaa=_dec_vbuc1 < vbuaa=_dec_vbuaa < vbuaa=vbuaa_minus_1 - clobber:A Y  cycles:14.0
   ldy {z1}
   lda #{c2}
   sec
   sbc #1
   sta {c1},y
-pbuc1_derefidx_vbuz1=_inc_vbuc2 < vbuaa=_inc_vbuc1 < vbuaa=vbuc1_plus_1 < vbuaa=1_plus_vbuc1 < vbuaa=1_plus_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A X   cycles:14.0
+pbuc1_derefidx_vbuz1=_inc_vbuc2 < vbuaa=_inc_vbuc1 < vbuaa=_inc_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A X   cycles:14.0
   lda #{c2}
   clc
   adc #1
   ldx {z1}
   sta {c1},x
-pbuc1_derefidx_vbuz1=_inc_vbuc2 < pbuc1_derefidx_vbuyy=_inc_vbuc2 < vbuaa=_inc_vbuc1 < vbuaa=vbuc1_plus_1 < vbuaa=1_plus_vbuc1 < vbuaa=1_plus_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A Y  cycles:14.0
+pbuc1_derefidx_vbuz1=_inc_vbuc2 < pbuc1_derefidx_vbuyy=_inc_vbuc2 < vbuaa=_inc_vbuc1 < vbuaa=_inc_vbuaa < vbuaa=vbuaa_plus_1 - clobber:A Y  cycles:14.0
   ldy {z1}
   lda #{c2}
   clc
diff --git a/src/test/ref/type-mix.asm b/src/test/ref/type-mix.asm
new file mode 100644
index 000000000..919cdc7e2
--- /dev/null
+++ b/src/test/ref/type-mix.asm
@@ -0,0 +1,26 @@
+// Tests that mixing types can synthesize a fragment correctly
+.pc = $801 "Basic"
+:BasicUpstart(main)
+.pc = $80d "Program"
+main: {
+    .label SCREEN = $400
+    .label w = 2
+    ldx #0
+    txa
+    sta w
+    sta w+1
+  b1:
+    lda w
+    sec
+    sbc #<$c
+    sta w
+    lda w+1
+    sbc #>$c
+    sta w+1
+    lda w
+    sta SCREEN,x
+    inx
+    cpx #$b
+    bne b1
+    rts
+}
diff --git a/src/test/ref/type-mix.cfg b/src/test/ref/type-mix.cfg
new file mode 100644
index 000000000..3380b66ac
--- /dev/null
+++ b/src/test/ref/type-mix.cfg
@@ -0,0 +1,24 @@
+@begin: scope:[]  from
+  [0] phi()
+  to:@1
+@1: scope:[]  from @begin
+  [1] phi()
+  [2] call main 
+  to:@end
+@end: scope:[]  from @1
+  [3] phi()
+main: scope:[main]  from @1
+  [4] phi()
+  to:main::@1
+main::@1: scope:[main]  from main main::@1
+  [5] (byte) main::i#2 ← phi( main/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@1/(byte) main::i#1 )
+  [5] (signed word) main::w#2 ← phi( main/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@1/(signed word) main::w#1 )
+  [6] (signed word) main::w#1 ← (signed word) main::w#2 - (byte/signed byte/word/signed word/dword/signed dword) $c
+  [7] (byte~) main::$1 ← < (signed word) main::w#1
+  [8] *((const byte*) main::SCREEN#0 + (byte) main::i#2) ← (byte~) main::$1
+  [9] (byte) main::i#1 ← ++ (byte) main::i#2
+  [10] if((byte) main::i#1!=(byte/signed byte/word/signed word/dword/signed dword) $b) goto main::@1
+  to:main::@return
+main::@return: scope:[main]  from main::@1
+  [11] return 
+  to:@return
diff --git a/src/test/ref/type-mix.log b/src/test/ref/type-mix.log
new file mode 100644
index 000000000..7ce1d2318
--- /dev/null
+++ b/src/test/ref/type-mix.log
@@ -0,0 +1,410 @@
+
+CONTROL FLOW GRAPH SSA
+@begin: scope:[]  from
+  to:@1
+main: scope:[main]  from @1
+  (signed word) main::w#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0
+  (byte*) main::SCREEN#0 ← ((byte*)) (word/signed word/dword/signed dword) $400
+  (byte) main::i#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0
+  to:main::@1
+main::@1: scope:[main]  from main main::@1
+  (byte) main::i#2 ← phi( main/(byte) main::i#0 main::@1/(byte) main::i#1 )
+  (byte*) main::SCREEN#1 ← phi( main/(byte*) main::SCREEN#0 main::@1/(byte*) main::SCREEN#1 )
+  (signed word) main::w#2 ← phi( main/(signed word) main::w#0 main::@1/(signed word) main::w#1 )
+  (signed word/signed dword~) main::$0 ← (signed word) main::w#2 - (byte/signed byte/word/signed word/dword/signed dword) $c
+  (signed word) main::w#1 ← (signed word/signed dword~) main::$0
+  (byte~) main::$1 ← < (signed word) main::w#1
+  *((byte*) main::SCREEN#1 + (byte) main::i#2) ← (byte~) main::$1
+  (byte) main::i#1 ← (byte) main::i#2 + rangenext(0,$a)
+  (bool~) main::$2 ← (byte) main::i#1 != rangelast(0,$a)
+  if((bool~) main::$2) goto main::@1
+  to:main::@return
+main::@return: scope:[main]  from main::@1
+  return 
+  to:@return
+@1: scope:[]  from @begin
+  call main 
+  to:@2
+@2: scope:[]  from @1
+  to:@end
+@end: scope:[]  from @2
+
+SYMBOL TABLE SSA
+(label) @1
+(label) @2
+(label) @begin
+(label) @end
+(void()) main()
+(signed word/signed dword~) main::$0
+(byte~) main::$1
+(bool~) main::$2
+(label) main::@1
+(label) main::@return
+(byte*) main::SCREEN
+(byte*) main::SCREEN#0
+(byte*) main::SCREEN#1
+(byte) main::i
+(byte) main::i#0
+(byte) main::i#1
+(byte) main::i#2
+(signed word) main::w
+(signed word) main::w#0
+(signed word) main::w#1
+(signed word) main::w#2
+
+Culled Empty Block (label) @2
+Successful SSA optimization Pass2CullEmptyBlocks
+Alias (signed word) main::w#1 = (signed word/signed dword~) main::$0 
+Successful SSA optimization Pass2AliasElimination
+Self Phi Eliminated (byte*) main::SCREEN#1
+Successful SSA optimization Pass2SelfPhiElimination
+Redundant Phi (byte*) main::SCREEN#1 (byte*) main::SCREEN#0
+Successful SSA optimization Pass2RedundantPhiElimination
+Simple Condition (bool~) main::$2 [10] if((byte) main::i#1!=rangelast(0,$a)) goto main::@1
+Successful SSA optimization Pass2ConditionalJumpSimplification
+Constant (const signed word) main::w#0 = 0
+Constant (const byte*) main::SCREEN#0 = ((byte*))$400
+Constant (const byte) main::i#0 = 0
+Successful SSA optimization Pass2ConstantIdentification
+Resolved ranged next value main::i#1 ← ++ main::i#2 to ++
+Resolved ranged comparison value if(main::i#1!=rangelast(0,$a)) goto main::@1 to (byte/signed byte/word/signed word/dword/signed dword) $b
+Inlining constant with var siblings (const signed word) main::w#0
+Inlining constant with var siblings (const byte) main::i#0
+Constant inlined main::i#0 = (byte/signed byte/word/signed word/dword/signed dword) 0
+Constant inlined main::w#0 = (byte/signed byte/word/signed word/dword/signed dword) 0
+Successful SSA optimization Pass2ConstantInlining
+Added new block during phi lifting main::@3(between main::@1 and main::@1)
+Adding NOP phi() at start of @begin
+Adding NOP phi() at start of @1
+Adding NOP phi() at start of @end
+Adding NOP phi() at start of main
+CALL GRAPH
+Calls in [] to main:2 
+
+Created 2 initial phi equivalence classes
+Coalesced [12] main::w#3 ← main::w#1
+Coalesced [13] main::i#3 ← main::i#1
+Coalesced down to 2 phi equivalence classes
+Culled Empty Block (label) main::@3
+Adding NOP phi() at start of @begin
+Adding NOP phi() at start of @1
+Adding NOP phi() at start of @end
+Adding NOP phi() at start of main
+
+FINAL CONTROL FLOW GRAPH
+@begin: scope:[]  from
+  [0] phi()
+  to:@1
+@1: scope:[]  from @begin
+  [1] phi()
+  [2] call main 
+  to:@end
+@end: scope:[]  from @1
+  [3] phi()
+main: scope:[main]  from @1
+  [4] phi()
+  to:main::@1
+main::@1: scope:[main]  from main main::@1
+  [5] (byte) main::i#2 ← phi( main/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@1/(byte) main::i#1 )
+  [5] (signed word) main::w#2 ← phi( main/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@1/(signed word) main::w#1 )
+  [6] (signed word) main::w#1 ← (signed word) main::w#2 - (byte/signed byte/word/signed word/dword/signed dword) $c
+  [7] (byte~) main::$1 ← < (signed word) main::w#1
+  [8] *((const byte*) main::SCREEN#0 + (byte) main::i#2) ← (byte~) main::$1
+  [9] (byte) main::i#1 ← ++ (byte) main::i#2
+  [10] if((byte) main::i#1!=(byte/signed byte/word/signed word/dword/signed dword) $b) goto main::@1
+  to:main::@return
+main::@return: scope:[main]  from main::@1
+  [11] return 
+  to:@return
+
+
+VARIABLE REGISTER WEIGHTS
+(void()) main()
+(byte~) main::$1 22.0
+(byte*) main::SCREEN
+(byte) main::i
+(byte) main::i#1 16.5
+(byte) main::i#2 8.25
+(signed word) main::w
+(signed word) main::w#1 6.6000000000000005
+(signed word) main::w#2 22.0
+
+Initial phi equivalence classes
+[ main::w#2 main::w#1 ]
+[ main::i#2 main::i#1 ]
+Added variable main::$1 to zero page equivalence class [ main::$1 ]
+Complete equivalence classes
+[ main::w#2 main::w#1 ]
+[ main::i#2 main::i#1 ]
+[ main::$1 ]
+Allocated zp ZP_WORD:2 [ main::w#2 main::w#1 ]
+Allocated zp ZP_BYTE:4 [ main::i#2 main::i#1 ]
+Allocated zp ZP_BYTE:5 [ main::$1 ]
+
+INITIAL ASM
+//SEG0 File Comments
+// Tests that mixing types can synthesize a fragment correctly
+//SEG1 Basic Upstart
+.pc = $801 "Basic"
+:BasicUpstart(bbegin)
+.pc = $80d "Program"
+//SEG2 Global Constants & labels
+//SEG3 @begin
+bbegin:
+//SEG4 [1] phi from @begin to @1 [phi:@begin->@1]
+b1_from_bbegin:
+  jmp b1
+//SEG5 @1
+b1:
+//SEG6 [2] call main 
+//SEG7 [4] phi from @1 to main [phi:@1->main]
+main_from_b1:
+  jsr main
+//SEG8 [3] phi from @1 to @end [phi:@1->@end]
+bend_from_b1:
+  jmp bend
+//SEG9 @end
+bend:
+//SEG10 main
+main: {
+    .label SCREEN = $400
+    .label _1 = 5
+    .label w = 2
+    .label i = 4
+  //SEG11 [5] phi from main to main::@1 [phi:main->main::@1]
+  b1_from_main:
+  //SEG12 [5] phi (byte) main::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->main::@1#0] -- vbuz1=vbuc1 
+    lda #0
+    sta i
+  //SEG13 [5] phi (signed word) main::w#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->main::@1#1] -- vwsz1=vbuc1 
+    lda #<0
+    sta w
+    lda #>0
+    sta w+1
+    jmp b1
+  //SEG14 [5] phi from main::@1 to main::@1 [phi:main::@1->main::@1]
+  b1_from_b1:
+  //SEG15 [5] phi (byte) main::i#2 = (byte) main::i#1 [phi:main::@1->main::@1#0] -- register_copy 
+  //SEG16 [5] phi (signed word) main::w#2 = (signed word) main::w#1 [phi:main::@1->main::@1#1] -- register_copy 
+    jmp b1
+  //SEG17 main::@1
+  b1:
+  //SEG18 [6] (signed word) main::w#1 ← (signed word) main::w#2 - (byte/signed byte/word/signed word/dword/signed dword) $c -- vwsz1=vwsz1_minus_vbuc1 
+    lda w
+    sec
+    sbc #<$c
+    sta w
+    lda w+1
+    sbc #>$c
+    sta w+1
+  //SEG19 [7] (byte~) main::$1 ← < (signed word) main::w#1 -- vbuz1=_lo_vwsz2 
+    lda w
+    sta _1
+  //SEG20 [8] *((const byte*) main::SCREEN#0 + (byte) main::i#2) ← (byte~) main::$1 -- pbuc1_derefidx_vbuz1=vbuz2 
+    lda _1
+    ldy i
+    sta SCREEN,y
+  //SEG21 [9] (byte) main::i#1 ← ++ (byte) main::i#2 -- vbuz1=_inc_vbuz1 
+    inc i
+  //SEG22 [10] if((byte) main::i#1!=(byte/signed byte/word/signed word/dword/signed dword) $b) goto main::@1 -- vbuz1_neq_vbuc1_then_la1 
+    lda i
+    cmp #$b
+    bne b1_from_b1
+    jmp breturn
+  //SEG23 main::@return
+  breturn:
+  //SEG24 [11] return 
+    rts
+}
+
+REGISTER UPLIFT POTENTIAL REGISTERS
+Statement [6] (signed word) main::w#1 ← (signed word) main::w#2 - (byte/signed byte/word/signed word/dword/signed dword) $c [ main::i#2 main::w#1 ] ( main:2 [ main::i#2 main::w#1 ] ) always clobbers reg byte a 
+Removing always clobbered register reg byte a as potential for zp ZP_BYTE:4 [ main::i#2 main::i#1 ]
+Statement [7] (byte~) main::$1 ← < (signed word) main::w#1 [ main::i#2 main::w#1 main::$1 ] ( main:2 [ main::i#2 main::w#1 main::$1 ] ) always clobbers reg byte a 
+Statement [6] (signed word) main::w#1 ← (signed word) main::w#2 - (byte/signed byte/word/signed word/dword/signed dword) $c [ main::i#2 main::w#1 ] ( main:2 [ main::i#2 main::w#1 ] ) always clobbers reg byte a 
+Statement [7] (byte~) main::$1 ← < (signed word) main::w#1 [ main::i#2 main::w#1 main::$1 ] ( main:2 [ main::i#2 main::w#1 main::$1 ] ) always clobbers reg byte a 
+Potential registers zp ZP_WORD:2 [ main::w#2 main::w#1 ] : zp ZP_WORD:2 , 
+Potential registers zp ZP_BYTE:4 [ main::i#2 main::i#1 ] : zp ZP_BYTE:4 , reg byte x , reg byte y , 
+Potential registers zp ZP_BYTE:5 [ main::$1 ] : zp ZP_BYTE:5 , reg byte a , reg byte x , reg byte y , 
+
+REGISTER UPLIFT SCOPES
+Uplift Scope [main] 28.6: zp ZP_WORD:2 [ main::w#2 main::w#1 ] 24.75: zp ZP_BYTE:4 [ main::i#2 main::i#1 ] 22: zp ZP_BYTE:5 [ main::$1 ] 
+Uplift Scope [] 
+
+Uplifting [main] best 553 combination zp ZP_WORD:2 [ main::w#2 main::w#1 ] reg byte x [ main::i#2 main::i#1 ] reg byte a [ main::$1 ] 
+Uplifting [] best 553 combination 
+
+ASSEMBLER BEFORE OPTIMIZATION
+//SEG0 File Comments
+// Tests that mixing types can synthesize a fragment correctly
+//SEG1 Basic Upstart
+.pc = $801 "Basic"
+:BasicUpstart(bbegin)
+.pc = $80d "Program"
+//SEG2 Global Constants & labels
+//SEG3 @begin
+bbegin:
+//SEG4 [1] phi from @begin to @1 [phi:@begin->@1]
+b1_from_bbegin:
+  jmp b1
+//SEG5 @1
+b1:
+//SEG6 [2] call main 
+//SEG7 [4] phi from @1 to main [phi:@1->main]
+main_from_b1:
+  jsr main
+//SEG8 [3] phi from @1 to @end [phi:@1->@end]
+bend_from_b1:
+  jmp bend
+//SEG9 @end
+bend:
+//SEG10 main
+main: {
+    .label SCREEN = $400
+    .label w = 2
+  //SEG11 [5] phi from main to main::@1 [phi:main->main::@1]
+  b1_from_main:
+  //SEG12 [5] phi (byte) main::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->main::@1#0] -- vbuxx=vbuc1 
+    ldx #0
+  //SEG13 [5] phi (signed word) main::w#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->main::@1#1] -- vwsz1=vbuc1 
+    lda #<0
+    sta w
+    lda #>0
+    sta w+1
+    jmp b1
+  //SEG14 [5] phi from main::@1 to main::@1 [phi:main::@1->main::@1]
+  b1_from_b1:
+  //SEG15 [5] phi (byte) main::i#2 = (byte) main::i#1 [phi:main::@1->main::@1#0] -- register_copy 
+  //SEG16 [5] phi (signed word) main::w#2 = (signed word) main::w#1 [phi:main::@1->main::@1#1] -- register_copy 
+    jmp b1
+  //SEG17 main::@1
+  b1:
+  //SEG18 [6] (signed word) main::w#1 ← (signed word) main::w#2 - (byte/signed byte/word/signed word/dword/signed dword) $c -- vwsz1=vwsz1_minus_vbuc1 
+    lda w
+    sec
+    sbc #<$c
+    sta w
+    lda w+1
+    sbc #>$c
+    sta w+1
+  //SEG19 [7] (byte~) main::$1 ← < (signed word) main::w#1 -- vbuaa=_lo_vwsz1 
+    lda w
+  //SEG20 [8] *((const byte*) main::SCREEN#0 + (byte) main::i#2) ← (byte~) main::$1 -- pbuc1_derefidx_vbuxx=vbuaa 
+    sta SCREEN,x
+  //SEG21 [9] (byte) main::i#1 ← ++ (byte) main::i#2 -- vbuxx=_inc_vbuxx 
+    inx
+  //SEG22 [10] if((byte) main::i#1!=(byte/signed byte/word/signed word/dword/signed dword) $b) goto main::@1 -- vbuxx_neq_vbuc1_then_la1 
+    cpx #$b
+    bne b1_from_b1
+    jmp breturn
+  //SEG23 main::@return
+  breturn:
+  //SEG24 [11] return 
+    rts
+}
+
+ASSEMBLER OPTIMIZATIONS
+Removing instruction jmp b1
+Removing instruction jmp bend
+Removing instruction jmp b1
+Removing instruction jmp breturn
+Succesful ASM optimization Pass5NextJumpElimination
+Replacing instruction lda #<0 with TXA
+Removing instruction lda #>0
+Succesful ASM optimization Pass5UnnecesaryLoadElimination
+Replacing label b1_from_b1 with b1
+Removing instruction b1_from_bbegin:
+Removing instruction b1:
+Removing instruction main_from_b1:
+Removing instruction bend_from_b1:
+Removing instruction b1_from_b1:
+Succesful ASM optimization Pass5RedundantLabelElimination
+Removing instruction bend:
+Removing instruction b1_from_main:
+Removing instruction breturn:
+Succesful ASM optimization Pass5UnusedLabelElimination
+Updating BasicUpstart to call main directly
+Removing instruction jsr main
+Succesful ASM optimization Pass5SkipBegin
+Removing instruction jmp b1
+Succesful ASM optimization Pass5NextJumpElimination
+Removing instruction bbegin:
+Succesful ASM optimization Pass5UnusedLabelElimination
+
+FINAL SYMBOL TABLE
+(label) @1
+(label) @begin
+(label) @end
+(void()) main()
+(byte~) main::$1 reg byte a 22.0
+(label) main::@1
+(label) main::@return
+(byte*) main::SCREEN
+(const byte*) main::SCREEN#0 SCREEN = ((byte*))(word/signed word/dword/signed dword) $400
+(byte) main::i
+(byte) main::i#1 reg byte x 16.5
+(byte) main::i#2 reg byte x 8.25
+(signed word) main::w
+(signed word) main::w#1 w zp ZP_WORD:2 6.6000000000000005
+(signed word) main::w#2 w zp ZP_WORD:2 22.0
+
+zp ZP_WORD:2 [ main::w#2 main::w#1 ]
+reg byte x [ main::i#2 main::i#1 ]
+reg byte a [ main::$1 ]
+
+
+FINAL ASSEMBLER
+Score: 431
+
+//SEG0 File Comments
+// Tests that mixing types can synthesize a fragment correctly
+//SEG1 Basic Upstart
+.pc = $801 "Basic"
+:BasicUpstart(main)
+.pc = $80d "Program"
+//SEG2 Global Constants & labels
+//SEG3 @begin
+//SEG4 [1] phi from @begin to @1 [phi:@begin->@1]
+//SEG5 @1
+//SEG6 [2] call main 
+//SEG7 [4] phi from @1 to main [phi:@1->main]
+//SEG8 [3] phi from @1 to @end [phi:@1->@end]
+//SEG9 @end
+//SEG10 main
+main: {
+    .label SCREEN = $400
+    .label w = 2
+  //SEG11 [5] phi from main to main::@1 [phi:main->main::@1]
+  //SEG12 [5] phi (byte) main::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->main::@1#0] -- vbuxx=vbuc1 
+    ldx #0
+  //SEG13 [5] phi (signed word) main::w#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->main::@1#1] -- vwsz1=vbuc1 
+    txa
+    sta w
+    sta w+1
+  //SEG14 [5] phi from main::@1 to main::@1 [phi:main::@1->main::@1]
+  //SEG15 [5] phi (byte) main::i#2 = (byte) main::i#1 [phi:main::@1->main::@1#0] -- register_copy 
+  //SEG16 [5] phi (signed word) main::w#2 = (signed word) main::w#1 [phi:main::@1->main::@1#1] -- register_copy 
+  //SEG17 main::@1
+  b1:
+  //SEG18 [6] (signed word) main::w#1 ← (signed word) main::w#2 - (byte/signed byte/word/signed word/dword/signed dword) $c -- vwsz1=vwsz1_minus_vbuc1 
+    lda w
+    sec
+    sbc #<$c
+    sta w
+    lda w+1
+    sbc #>$c
+    sta w+1
+  //SEG19 [7] (byte~) main::$1 ← < (signed word) main::w#1 -- vbuaa=_lo_vwsz1 
+    lda w
+  //SEG20 [8] *((const byte*) main::SCREEN#0 + (byte) main::i#2) ← (byte~) main::$1 -- pbuc1_derefidx_vbuxx=vbuaa 
+    sta SCREEN,x
+  //SEG21 [9] (byte) main::i#1 ← ++ (byte) main::i#2 -- vbuxx=_inc_vbuxx 
+    inx
+  //SEG22 [10] if((byte) main::i#1!=(byte/signed byte/word/signed word/dword/signed dword) $b) goto main::@1 -- vbuxx_neq_vbuc1_then_la1 
+    cpx #$b
+    bne b1
+  //SEG23 main::@return
+  //SEG24 [11] return 
+    rts
+}
+
diff --git a/src/test/ref/type-mix.sym b/src/test/ref/type-mix.sym
new file mode 100644
index 000000000..b980bdd24
--- /dev/null
+++ b/src/test/ref/type-mix.sym
@@ -0,0 +1,19 @@
+(label) @1
+(label) @begin
+(label) @end
+(void()) main()
+(byte~) main::$1 reg byte a 22.0
+(label) main::@1
+(label) main::@return
+(byte*) main::SCREEN
+(const byte*) main::SCREEN#0 SCREEN = ((byte*))(word/signed word/dword/signed dword) $400
+(byte) main::i
+(byte) main::i#1 reg byte x 16.5
+(byte) main::i#2 reg byte x 8.25
+(signed word) main::w
+(signed word) main::w#1 w zp ZP_WORD:2 6.6000000000000005
+(signed word) main::w#2 w zp ZP_WORD:2 22.0
+
+zp ZP_WORD:2 [ main::w#2 main::w#1 ]
+reg byte x [ main::i#2 main::i#1 ]
+reg byte a [ main::$1 ]