diff --git a/include/effects/SkRuntimeEffect.h b/include/effects/SkRuntimeEffect.h
index 81246d4..ef4fa11 100644
--- a/include/effects/SkRuntimeEffect.h
+++ b/include/effects/SkRuntimeEffect.h
@@ -36,6 +36,7 @@
 
 namespace SkSL {
 class DebugTrace;
+class DebugTracePriv;
 class ErrorReporter;
 class FunctionDefinition;
 struct Program;
@@ -309,7 +310,7 @@
     bool alwaysOpaque()       const { return (fFlags & kAlwaysOpaque_Flag);       }
 
     const SkFilterColorProgram* getFilterColorProgram() const;
-    const SkSL::RP::Program* getRPProgram() const;
+    const SkSL::RP::Program* getRPProgram(SkSL::DebugTracePriv* debugTrace) const;
 
 #if defined(SK_GANESH)
     friend class GrSkSLFP;             // fBaseProgram, fSampleUsages
diff --git a/src/core/SkRuntimeEffect.cpp b/src/core/SkRuntimeEffect.cpp
index c477fb1..5cce54d 100644
--- a/src/core/SkRuntimeEffect.cpp
+++ b/src/core/SkRuntimeEffect.cpp
@@ -198,17 +198,25 @@
     return data ? data : originalData;
 }
 
-const SkSL::RP::Program* SkRuntimeEffect::getRPProgram() const {
+const SkSL::RP::Program* SkRuntimeEffect::getRPProgram(SkSL::DebugTracePriv* debugTrace) const {
     // Lazily compile the program the first time `getRPProgram` is called.
     // By using an SkOnce, we avoid thread hazards and behave in a conceptually const way, but we
     // can avoid the cost of invoking the RP code generator until it's actually needed.
     fCompileRPProgramOnce([&] {
 #ifdef SK_ENABLE_SKSL_IN_RASTER_PIPELINE
-        SkSL::DebugTracePriv debugTrace;
-        const_cast<SkRuntimeEffect*>(this)->fRPProgram =
-                MakeRasterPipelineProgram(*fBaseProgram,
-                                          fMain,
-                                          kRPEnableLiveTrace ? &debugTrace : nullptr);
+        SkSL::DebugTracePriv tempDebugTrace;
+        if (debugTrace) {
+            const_cast<SkRuntimeEffect*>(this)->fRPProgram = MakeRasterPipelineProgram(
+                    *fBaseProgram, fMain, debugTrace, /*writeTraceOps=*/true);
+        } else if (kRPEnableLiveTrace) {
+            debugTrace = &tempDebugTrace;
+            const_cast<SkRuntimeEffect*>(this)->fRPProgram = MakeRasterPipelineProgram(
+                    *fBaseProgram, fMain, debugTrace, /*writeTraceOps=*/false);
+        } else {
+            const_cast<SkRuntimeEffect*>(this)->fRPProgram = MakeRasterPipelineProgram(
+                    *fBaseProgram, fMain, /*debugTrace=*/nullptr, /*writeTraceOps=*/false);
+        }
+
         if (kRPEnableLiveTrace) {
             if (fRPProgram) {
                 SkDebugf("-----\n\n");
@@ -345,8 +353,8 @@
     SkASSERT(flattenable_is_valid_as_child(fChild.get()));
 }
 
-static sk_sp<SkSL::DebugTracePriv> make_skvm_debug_trace(SkRuntimeEffect* effect,
-                                                         const SkIPoint& coord) {
+static sk_sp<SkSL::DebugTracePriv> make_debug_trace(SkRuntimeEffect* effect,
+                                                    const SkIPoint& coord) {
     auto debugTrace = sk_make_sp<SkSL::DebugTracePriv>();
     debugTrace->setSource(effect->source());
     debugTrace->setTraceCoord(coord);
@@ -1260,7 +1268,7 @@
             // usage in runtime effects to just #version 100.
             return false;
         }
-        if (const SkSL::RP::Program* program = fEffect->getRPProgram()) {
+        if (const SkSL::RP::Program* program = fEffect->getRPProgram(/*debugTrace=*/nullptr)) {
             SkSpan<const float> uniforms = uniforms_as_span(fEffect->uniforms(),
                                                             fUniforms,
                                                             rec.fDstCS,
@@ -1406,7 +1414,7 @@
 
     SkRuntimeEffect::TracedShader makeTracedClone(const SkIPoint& coord) {
         sk_sp<SkRuntimeEffect> unoptimized = fEffect->makeUnoptimizedClone();
-        sk_sp<SkSL::DebugTracePriv> debugTrace = make_skvm_debug_trace(unoptimized.get(), coord);
+        sk_sp<SkSL::DebugTracePriv> debugTrace = make_debug_trace(unoptimized.get(), coord);
         auto debugShader = sk_make_sp<SkRTShader>(
                 unoptimized, debugTrace, this->uniformData(nullptr), SkSpan(fChildren));
 
@@ -1477,11 +1485,7 @@
             // usage in runtime effects to just #version 100.
             return false;
         }
-        if (fDebugTrace) {
-            // SkRP doesn't support debug traces yet; fall back to SkVM until this is implemented.
-            return false;
-        }
-        if (const SkSL::RP::Program* program = fEffect->getRPProgram()) {
+        if (const SkSL::RP::Program* program = fEffect->getRPProgram(fDebugTrace.get())) {
             std::optional<MatrixRec> newMRec = mRec.apply(rec);
             if (!newMRec.has_value()) {
                 return false;
@@ -1636,7 +1640,7 @@
             // usage in runtime effects to just #version 100.
             return false;
         }
-        if (const SkSL::RP::Program* program = fEffect->getRPProgram()) {
+        if (const SkSL::RP::Program* program = fEffect->getRPProgram(/*debugTrace=*/nullptr)) {
             SkSpan<const float> uniforms = uniforms_as_span(fEffect->uniforms(),
                                                             fUniforms,
                                                             rec.fDstCS,
diff --git a/src/sksl/codegen/SkSLRasterPipelineCodeGenerator.cpp b/src/sksl/codegen/SkSLRasterPipelineCodeGenerator.cpp
index fc2d1e2..4d427c3 100644
--- a/src/sksl/codegen/SkSLRasterPipelineCodeGenerator.cpp
+++ b/src/sksl/codegen/SkSLRasterPipelineCodeGenerator.cpp
@@ -5,6 +5,7 @@
  * found in the LICENSE file.
  */
 
+#include "include/core/SkPoint.h"
 #include "include/core/SkSpan.h"
 #include "include/private/SkSLDefines.h"
 #include "include/private/SkSLIRNode.h"
@@ -79,6 +80,10 @@
     return false;
 }
 
+class AutoContinueMask;
+class Generator;
+class LValue;
+
 class SlotManager {
 public:
     SlotManager(std::vector<SlotDebugInfo>* i) : fSlotDebugInfo(i) {}
@@ -119,17 +124,48 @@
     std::vector<SlotDebugInfo>* fSlotDebugInfo;
 };
 
-class AutoContinueMask;
-class LValue;
+class AutoStack {
+public:
+    /**
+     * Creates a temporary stack. The caller is responsible for discarding every entry on this
+     * stack before ~AutoStack is reached.
+     */
+    explicit AutoStack(Generator* g);
+    ~AutoStack();
+
+    /** Activates the associated stack. */
+    void enter();
+
+    /** Undoes a call to `enter`, returning to the previously-active stack. */
+    void exit();
+
+    /** Returns the stack ID of this AutoStack. */
+    int stackID() { return fStackID; }
+
+    /** Clones values from the top of the active stack onto this one. */
+    void pushClone(int slots);
+
+    /** Clones values from a fixed range of the active stack onto this one. */
+    void pushClone(SlotRange range, int offsetFromStackTop);
+
+    /** Clones values from a dynamic range of the active stack onto this one. */
+    void pushCloneIndirect(SlotRange range, int dynamicStackID, int offsetFromStackTop);
+
+private:
+    Generator* fGenerator;
+    int fStackID = 0;
+    int fParentStackID = 0;
+};
 
 class Generator {
 public:
-    Generator(const SkSL::Program& program, DebugTracePriv* debugTrace)
+    Generator(const SkSL::Program& program, DebugTracePriv* debugTrace, bool writeTraceOps)
             : fProgram(program)
             , fContext(fProgram.fContext->fTypes,
                        fProgram.fContext->fCaps,
                        *fProgram.fContext->fErrors)
             , fDebugTrace(debugTrace)
+            , fWriteTraceOps(writeTraceOps)
             , fProgramSlots(debugTrace ? &debugTrace->fSlotInfo : nullptr)
             , fUniformSlots(debugTrace ? &debugTrace->fUniformInfo : nullptr) {
         fContext.fModifiersPool = &fModifiersPool;
@@ -137,6 +173,12 @@
         fContext.fModule = fProgram.fContext->fModule;
     }
 
+    ~Generator() {
+        // ~AutoStack calls into the Generator, so we need to make sure the trace mask is reset
+        // before the Generator is destroyed.
+        fTraceMask.reset();
+    }
+
     /** Converts the SkSL main() function into a set of Instructions. */
     bool writeProgram(const FunctionDefinition& function);
 
@@ -352,11 +394,13 @@
     SkSL::ModifiersPool fModifiersPool;
     Builder fBuilder;
     DebugTracePriv* fDebugTrace = nullptr;
+    bool fWriteTraceOps = false;
     SkTHashMap<const Variable*, int> fChildEffectMap;
 
     SlotManager fProgramSlots;
     SlotManager fUniformSlots;
 
+    std::optional<AutoStack> fTraceMask;
     const FunctionDefinition* fCurrentFunction = nullptr;
     SlotRange fCurrentFunctionResult;
     AutoContinueMask* fCurrentContinueMask = nullptr;
@@ -426,48 +470,36 @@
     friend class AutoContinueMask;
 };
 
-class AutoStack {
-public:
-    explicit AutoStack(Generator* g)
-            : fGenerator(g)
-            , fStackID(g->createStack()) {}
+AutoStack::AutoStack(Generator* g)
+        : fGenerator(g)
+        , fStackID(g->createStack()) {}
 
-    ~AutoStack() {
-        fGenerator->recycleStack(fStackID);
-    }
+AutoStack::~AutoStack() {
+    fGenerator->recycleStack(fStackID);
+}
 
-    void enter() {
-        fParentStackID = fGenerator->currentStack();
-        fGenerator->setCurrentStack(fStackID);
-    }
+void AutoStack::enter() {
+    fParentStackID = fGenerator->currentStack();
+    fGenerator->setCurrentStack(fStackID);
+}
 
-    void exit() {
-        SkASSERT(fGenerator->currentStack() == fStackID);
-        fGenerator->setCurrentStack(fParentStackID);
-    }
+void AutoStack::exit() {
+    SkASSERT(fGenerator->currentStack() == fStackID);
+    fGenerator->setCurrentStack(fParentStackID);
+}
 
-    void pushClone(int slots) {
-        this->pushClone(SlotRange{0, slots}, /*offsetFromStackTop=*/slots);
-    }
+void AutoStack::pushClone(int slots) {
+    this->pushClone(SlotRange{0, slots}, /*offsetFromStackTop=*/slots);
+}
 
-    void pushClone(SlotRange range, int offsetFromStackTop) {
-        fGenerator->builder()->push_clone_from_stack(range, fStackID, offsetFromStackTop);
-    }
+void AutoStack::pushClone(SlotRange range, int offsetFromStackTop) {
+    fGenerator->builder()->push_clone_from_stack(range, fStackID, offsetFromStackTop);
+}
 
-    void pushCloneIndirect(SlotRange range, int dynamicStackID, int offsetFromStackTop) {
-        fGenerator->builder()->push_clone_indirect_from_stack(
-                range, dynamicStackID, /*otherStackID=*/fStackID, offsetFromStackTop);
-    }
-
-    int stackID() const {
-        return fStackID;
-    }
-
-private:
-    Generator* fGenerator;
-    int fStackID = 0;
-    int fParentStackID = 0;
-};
+void AutoStack::pushCloneIndirect(SlotRange range, int dynamicStackID, int offsetFromStackTop) {
+    fGenerator->builder()->push_clone_indirect_from_stack(
+            range, dynamicStackID, /*otherStackID=*/fStackID, offsetFromStackTop);
+}
 
 class AutoContinueMask {
 public:
@@ -3360,7 +3392,24 @@
     if (fDebugTrace) {
         // Copy the program source into the debug info so that it will be written in the trace file.
         fDebugTrace->setSource(*fProgram.fSource);
+
+        // The Raster Pipeline blitter generates centered pixel coordinates. (0.5, 1.5, 2.5,
+        // etc.) Add 0.5 to the requested trace coordinate to match this, then compare against
+        // src.rg, which contains the shader's coordinates. We keep this result in a dedicated
+        // trace-mask stack.
+        if (fWriteTraceOps) {
+            fTraceMask.emplace(this);
+            fTraceMask->enter();
+            fBuilder.push_src_rgba();
+            fBuilder.discard_stack(2);
+            fBuilder.push_literal_f(fDebugTrace->fTraceCoord.fX + 0.5f);
+            fBuilder.push_literal_f(fDebugTrace->fTraceCoord.fY + 0.5f);
+            fBuilder.binary_op(BuilderOp::cmpeq_n_floats, 2);
+            fBuilder.binary_op(BuilderOp::bitwise_and_n_ints, 1);
+            fTraceMask->exit();
+        }
     }
+
     // Assign slots to the parameters of main; copy src and dst into those slots as appropriate.
     for (const SkSL::Variable* param : function.declaration().parameters()) {
         switch (param->modifiers().fLayout.fBuiltin) {
@@ -3421,6 +3470,14 @@
     } else {
         fBuilder.pop_src_rgba();
     }
+
+    // Discard the trace mask.
+    if (fTraceMask.has_value()) {
+        fTraceMask->enter();
+        fBuilder.discard_stack(1);
+        fTraceMask->exit();
+    }
+
     return true;
 }
 
@@ -3432,8 +3489,9 @@
 
 std::unique_ptr<RP::Program> MakeRasterPipelineProgram(const SkSL::Program& program,
                                                        const FunctionDefinition& function,
-                                                       DebugTracePriv* debugTrace) {
-    RP::Generator generator(program, debugTrace);
+                                                       DebugTracePriv* debugTrace,
+                                                       bool writeTraceOps) {
+    RP::Generator generator(program, debugTrace, writeTraceOps);
     if (!generator.writeProgram(function)) {
         return nullptr;
     }
diff --git a/src/sksl/codegen/SkSLRasterPipelineCodeGenerator.h b/src/sksl/codegen/SkSLRasterPipelineCodeGenerator.h
index af782fd..b50a670 100644
--- a/src/sksl/codegen/SkSLRasterPipelineCodeGenerator.h
+++ b/src/sksl/codegen/SkSLRasterPipelineCodeGenerator.h
@@ -25,7 +25,8 @@
 //   -- src/dst in src.rgba and dst.rgba for blenders
 std::unique_ptr<RP::Program> MakeRasterPipelineProgram(const Program& program,
                                                        const FunctionDefinition& function,
-                                                       DebugTracePriv* debugTrace = nullptr);
+                                                       DebugTracePriv* debugTrace = nullptr,
+                                                       bool writeTraceOps = false);
 
 }  // namespace SkSL
 
diff --git a/tests/sksl/runtime/ArrayIndexing.skrp b/tests/sksl/runtime/ArrayIndexing.skrp
index 15e08ca..c87719a 100644
--- a/tests/sksl/runtime/ArrayIndexing.skrp
+++ b/tests/sksl/runtime/ArrayIndexing.skrp
@@ -1,79 +1,84 @@
-    1. store_src_rg                   xy = src.rg
-    2. init_lane_masks                CondMask = LoopMask = RetMask = true
-    3. copy_constant                  $0 = u1[0]
-    4. label                          label 0x00000000
-    5. zero_slot_unmasked             sum = 0
-    6. copy_constant                  i = 0x00000003 (4.203895e-45)
-    7. label                          label 0x00000003
-    8. copy_slot_unmasked             $1 = sum
-    9. copy_slot_unmasked             $7 = i
-   10. copy_from_indirect_uniform_unm $2 = Indirect(u2[0] + $7)
-   11. add_float                      $1 += $2
-   12. copy_slot_unmasked             sum = $1
-   13. copy_slot_unmasked             $1 = i
-   14. copy_constant                  $2 = 0x00000001 (1.401298e-45)
-   15. sub_int                        $1 -= $2
-   16. copy_slot_unmasked             i = $1
-   17. zero_slot_unmasked             $1 = 0
-   18. copy_slot_unmasked             $2 = i
-   19. cmple_int                      $1 = lessThanEqual($1, $2)
-   20. stack_rewind
-   21. branch_if_no_active_lanes_eq   branch -14 (label 3 at #7) if no lanes of $1 == 0x00000000 (0.0)
-   22. label                          label 0x00000002
-   23. copy_slot_unmasked             $1 = sum
-   24. label                          label 0x00000001
-   25. copy_constant                  prod = 0x3F800000 (1.0)
-   26. zero_slot_unmasked             i₁ = 0
-   27. label                          label 0x00000006
-   28. copy_slot_unmasked             $2 = prod
-   29. copy_slot_unmasked             $7 = i₁
-   30. copy_constant                  $8 = 0x00000002 (2.802597e-45)
-   31. cmplt_int                      $7 = lessThan($7, $8)
-   32. copy_slot_unmasked             $8 = i₁
-   33. zero_slot_unmasked             $9 = 0
-   34. mix_int                        $7 = mix($8, $9, $7)
-   35. copy_from_indirect_uniform_unm $3 = Indirect(u3[0] + $7)
-   36. mul_float                      $2 *= $3
-   37. copy_slot_unmasked             prod = $2
-   38. copy_slot_unmasked             $2 = i₁
-   39. copy_constant                  $3 = 0x00000001 (1.401298e-45)
-   40. add_int                        $2 += $3
-   41. copy_slot_unmasked             i₁ = $2
-   42. copy_constant                  $3 = 0x00000004 (5.605194e-45)
-   43. cmplt_int                      $2 = lessThan($2, $3)
-   44. stack_rewind
-   45. branch_if_no_active_lanes_eq   branch -18 (label 6 at #27) if no lanes of $2 == 0x00000000 (0.0)
-   46. label                          label 0x00000005
-   47. copy_slot_unmasked             $2 = prod
-   48. label                          label 0x00000004
-   49. zero_slot_unmasked             sum₁ = 0
-   50. copy_constant                  f = 0xC0133333 (-2.3)
-   51. label                          label 0x0000000A
-   52. store_condition_mask           $3 = CondMask
-   53. zero_slot_unmasked             $4 = 0
-   54. copy_slot_unmasked             $5 = f
-   55. cmplt_float                    $4 = lessThan($4, $5)
-   56. copy_slot_unmasked             $5 = f
-   57. copy_constant                  $6 = 0x41800000 (16.0)
-   58. cmplt_float                    $5 = lessThan($5, $6)
-   59. bitwise_and_int                $4 &= $5
-   60. merge_condition_mask           CondMask = $3 & $4
-   61. copy_slot_unmasked             $5 = sum₁
-   62. copy_slot_unmasked             $7 = f
-   63. cast_to_int_from_float         $7 = FloatToInt($7)
-   64. copy_from_indirect_uniform_unm $6 = Indirect(u4[0] + $7)
-   65. sub_float                      $5 -= $6
-   66. copy_slot_masked               sum₁ = Mask($5)
-   67. load_condition_mask            CondMask = $3
-   68. copy_slot_unmasked             $3 = f
-   69. copy_constant                  $4 = 0x406CCCCD (3.7)
-   70. add_float                      $3 += $4
-   71. copy_slot_unmasked             f = $3
-   72. copy_constant                  $4 = 0x41880000 (17.0)
-   73. cmplt_float                    $3 = lessThan($3, $4)
-   74. stack_rewind
-   75. branch_if_no_active_lanes_eq   branch -24 (label 10 at #51) if no lanes of $3 == 0x00000000 (0.0)
-   76. label                          label 0x00000009
-   77. copy_slot_unmasked             $3 = sum₁
-   78. label                          label 0x00000008
-   79. load_src                       src.rgba = $0..3
+    1. store_src                      $10..13 = src.rgba
+    2. copy_constant                  $12 = 0x3F000000 (0.5)
+    3. copy_constant                  $13 = 0x3F000000 (0.5)
+    4. cmpeq_2_floats                 $10..11 = equal($10..11, $12..13)
+    5. bitwise_and_int                $10 &= $11
+    6. store_src_rg                   xy = src.rg
+    7. init_lane_masks                CondMask = LoopMask = RetMask = true
+    8. copy_constant                  $0 = u1[0]
+    9. label                          label 0x00000000
+   10. zero_slot_unmasked             sum = 0
+   11. copy_constant                  i = 0x00000003 (4.203895e-45)
+   12. label                          label 0x00000003
+   13. copy_slot_unmasked             $1 = sum
+   14. copy_slot_unmasked             $7 = i
+   15. copy_from_indirect_uniform_unm $2 = Indirect(u2[0] + $7)
+   16. add_float                      $1 += $2
+   17. copy_slot_unmasked             sum = $1
+   18. copy_slot_unmasked             $1 = i
+   19. copy_constant                  $2 = 0x00000001 (1.401298e-45)
+   20. sub_int                        $1 -= $2
+   21. copy_slot_unmasked             i = $1
+   22. zero_slot_unmasked             $1 = 0
+   23. copy_slot_unmasked             $2 = i
+   24. cmple_int                      $1 = lessThanEqual($1, $2)
+   25. stack_rewind
+   26. branch_if_no_active_lanes_eq   branch -14 (label 3 at #12) if no lanes of $1 == 0x00000000 (0.0)
+   27. label                          label 0x00000002
+   28. copy_slot_unmasked             $1 = sum
+   29. label                          label 0x00000001
+   30. copy_constant                  prod = 0x3F800000 (1.0)
+   31. zero_slot_unmasked             i₁ = 0
+   32. label                          label 0x00000006
+   33. copy_slot_unmasked             $2 = prod
+   34. copy_slot_unmasked             $7 = i₁
+   35. copy_constant                  $8 = 0x00000002 (2.802597e-45)
+   36. cmplt_int                      $7 = lessThan($7, $8)
+   37. copy_slot_unmasked             $8 = i₁
+   38. zero_slot_unmasked             $9 = 0
+   39. mix_int                        $7 = mix($8, $9, $7)
+   40. copy_from_indirect_uniform_unm $3 = Indirect(u3[0] + $7)
+   41. mul_float                      $2 *= $3
+   42. copy_slot_unmasked             prod = $2
+   43. copy_slot_unmasked             $2 = i₁
+   44. copy_constant                  $3 = 0x00000001 (1.401298e-45)
+   45. add_int                        $2 += $3
+   46. copy_slot_unmasked             i₁ = $2
+   47. copy_constant                  $3 = 0x00000004 (5.605194e-45)
+   48. cmplt_int                      $2 = lessThan($2, $3)
+   49. stack_rewind
+   50. branch_if_no_active_lanes_eq   branch -18 (label 6 at #32) if no lanes of $2 == 0x00000000 (0.0)
+   51. label                          label 0x00000005
+   52. copy_slot_unmasked             $2 = prod
+   53. label                          label 0x00000004
+   54. zero_slot_unmasked             sum₁ = 0
+   55. copy_constant                  f = 0xC0133333 (-2.3)
+   56. label                          label 0x0000000A
+   57. store_condition_mask           $3 = CondMask
+   58. zero_slot_unmasked             $4 = 0
+   59. copy_slot_unmasked             $5 = f
+   60. cmplt_float                    $4 = lessThan($4, $5)
+   61. copy_slot_unmasked             $5 = f
+   62. copy_constant                  $6 = 0x41800000 (16.0)
+   63. cmplt_float                    $5 = lessThan($5, $6)
+   64. bitwise_and_int                $4 &= $5
+   65. merge_condition_mask           CondMask = $3 & $4
+   66. copy_slot_unmasked             $5 = sum₁
+   67. copy_slot_unmasked             $7 = f
+   68. cast_to_int_from_float         $7 = FloatToInt($7)
+   69. copy_from_indirect_uniform_unm $6 = Indirect(u4[0] + $7)
+   70. sub_float                      $5 -= $6
+   71. copy_slot_masked               sum₁ = Mask($5)
+   72. load_condition_mask            CondMask = $3
+   73. copy_slot_unmasked             $3 = f
+   74. copy_constant                  $4 = 0x406CCCCD (3.7)
+   75. add_float                      $3 += $4
+   76. copy_slot_unmasked             f = $3
+   77. copy_constant                  $4 = 0x41880000 (17.0)
+   78. cmplt_float                    $3 = lessThan($3, $4)
+   79. stack_rewind
+   80. branch_if_no_active_lanes_eq   branch -24 (label 10 at #56) if no lanes of $3 == 0x00000000 (0.0)
+   81. label                          label 0x00000009
+   82. copy_slot_unmasked             $3 = sum₁
+   83. label                          label 0x00000008
+   84. load_src                       src.rgba = $0..3
diff --git a/tests/sksl/runtime/Commutative.skrp b/tests/sksl/runtime/Commutative.skrp
index 0dab6db..9ed5970 100644
--- a/tests/sksl/runtime/Commutative.skrp
+++ b/tests/sksl/runtime/Commutative.skrp
@@ -1,128 +1,133 @@
-    1. store_src_rg                   xy = src.rg
-    2. init_lane_masks                CondMask = LoopMask = RetMask = true
-    3. copy_constant                  ok = 0xFFFFFFFF
-    4. copy_constant                  $0 = testMatrix2x2(0)
-    5. cast_to_int_from_float         $0 = FloatToInt($0)
-    6. copy_slot_unmasked             a = $0
-    7. copy_2_constants               $0..1 = testMatrix2x2(0..1)
-    8. swizzle_1                      $0 = ($0..1).y
-    9. cast_to_int_from_float         $0 = FloatToInt($0)
-   10. copy_slot_unmasked             b = $0
-   11. copy_constant                  $0 = testMatrix2x2(2)
-   12. copy_slot_unmasked             c = $0
-   13. copy_2_constants               $0..1 = testMatrix2x2(2..3)
-   14. swizzle_1                      $0 = ($0..1).y
-   15. copy_slot_unmasked             d = $0
-   16. copy_2_slots_unmasked          $0..1 = a, b
-   17. bitwise_and_int                $0 &= $1
-   18. copy_slot_unmasked             a_and_b = $0
-   19. copy_slot_unmasked             $0 = b
-   20. copy_slot_unmasked             $1 = a
-   21. bitwise_and_int                $0 &= $1
-   22. copy_slot_unmasked             b_and_a = $0
-   23. copy_slot_unmasked             $0 = ok
-   24. copy_2_slots_unmasked          $1..2 = a_and_b, b_and_a
-   25. cmpeq_int                      $1 = equal($1, $2)
+    1. store_src                      $12..15 = src.rgba
+    2. copy_constant                  $14 = 0x3F000000 (0.5)
+    3. copy_constant                  $15 = 0x3F000000 (0.5)
+    4. cmpeq_2_floats                 $12..13 = equal($12..13, $14..15)
+    5. bitwise_and_int                $12 &= $13
+    6. store_src_rg                   xy = src.rg
+    7. init_lane_masks                CondMask = LoopMask = RetMask = true
+    8. copy_constant                  ok = 0xFFFFFFFF
+    9. copy_constant                  $0 = testMatrix2x2(0)
+   10. cast_to_int_from_float         $0 = FloatToInt($0)
+   11. copy_slot_unmasked             a = $0
+   12. copy_2_constants               $0..1 = testMatrix2x2(0..1)
+   13. swizzle_1                      $0 = ($0..1).y
+   14. cast_to_int_from_float         $0 = FloatToInt($0)
+   15. copy_slot_unmasked             b = $0
+   16. copy_constant                  $0 = testMatrix2x2(2)
+   17. copy_slot_unmasked             c = $0
+   18. copy_2_constants               $0..1 = testMatrix2x2(2..3)
+   19. swizzle_1                      $0 = ($0..1).y
+   20. copy_slot_unmasked             d = $0
+   21. copy_2_slots_unmasked          $0..1 = a, b
+   22. bitwise_and_int                $0 &= $1
+   23. copy_slot_unmasked             a_and_b = $0
+   24. copy_slot_unmasked             $0 = b
+   25. copy_slot_unmasked             $1 = a
    26. bitwise_and_int                $0 &= $1
-   27. copy_slot_unmasked             ok = $0
-   28. copy_2_slots_unmasked          $0..1 = a, b
-   29. bitwise_or_int                 $0 |= $1
-   30. copy_slot_unmasked             a_or_b = $0
-   31. copy_slot_unmasked             $0 = b
-   32. copy_slot_unmasked             $1 = a
-   33. bitwise_or_int                 $0 |= $1
-   34. copy_slot_unmasked             b_or_a = $0
-   35. copy_slot_unmasked             $0 = ok
-   36. copy_2_slots_unmasked          $1..2 = a_or_b, b_or_a
-   37. cmpeq_int                      $1 = equal($1, $2)
-   38. bitwise_and_int                $0 &= $1
-   39. copy_slot_unmasked             ok = $0
-   40. copy_2_slots_unmasked          $0..1 = a, b
-   41. bitwise_xor_int                $0 ^= $1
-   42. copy_slot_unmasked             a_xor_b = $0
-   43. copy_slot_unmasked             $0 = b
-   44. copy_slot_unmasked             $1 = a
-   45. bitwise_xor_int                $0 ^= $1
-   46. copy_slot_unmasked             b_xor_a = $0
-   47. copy_slot_unmasked             $0 = ok
-   48. copy_2_slots_unmasked          $1..2 = a_xor_b, b_xor_a
-   49. cmpeq_int                      $1 = equal($1, $2)
-   50. bitwise_and_int                $0 &= $1
-   51. copy_slot_unmasked             ok = $0
-   52. copy_2_slots_unmasked          $0..1 = a, b
-   53. cmpeq_int                      $0 = equal($0, $1)
-   54. copy_slot_unmasked             a_eq_b = $0
-   55. copy_slot_unmasked             $0 = b
-   56. copy_slot_unmasked             $1 = a
-   57. cmpeq_int                      $0 = equal($0, $1)
-   58. copy_slot_unmasked             b_eq_a = $0
-   59. copy_slot_unmasked             $0 = ok
-   60. copy_2_slots_unmasked          $1..2 = a_eq_b, b_eq_a
-   61. cmpeq_int                      $1 = equal($1, $2)
-   62. bitwise_and_int                $0 &= $1
-   63. copy_slot_unmasked             ok = $0
-   64. copy_2_slots_unmasked          $0..1 = a, b
-   65. cmpne_int                      $0 = notEqual($0, $1)
-   66. copy_slot_unmasked             a_neq_b = $0
-   67. copy_slot_unmasked             $0 = b
-   68. copy_slot_unmasked             $1 = a
-   69. cmpne_int                      $0 = notEqual($0, $1)
-   70. copy_slot_unmasked             b_neq_a = $0
-   71. copy_slot_unmasked             $0 = ok
-   72. copy_2_slots_unmasked          $1..2 = a_neq_b, b_neq_a
-   73. cmpeq_int                      $1 = equal($1, $2)
-   74. bitwise_and_int                $0 &= $1
-   75. copy_slot_unmasked             ok = $0
-   76. copy_2_slots_unmasked          $0..1 = a, b
-   77. add_int                        $0 += $1
-   78. copy_slot_unmasked             a_add_b = $0
-   79. copy_slot_unmasked             $0 = b
-   80. copy_slot_unmasked             $1 = a
-   81. add_int                        $0 += $1
-   82. copy_slot_unmasked             b_add_a = $0
-   83. copy_slot_unmasked             $0 = ok
-   84. copy_2_slots_unmasked          $1..2 = a_add_b, b_add_a
-   85. cmpeq_int                      $1 = equal($1, $2)
-   86. bitwise_and_int                $0 &= $1
-   87. copy_slot_unmasked             ok = $0
-   88. copy_2_slots_unmasked          $0..1 = c, d
-   89. add_float                      $0 += $1
-   90. copy_slot_unmasked             c_add_d = $0
-   91. copy_slot_unmasked             $0 = d
-   92. copy_slot_unmasked             $1 = c
-   93. add_float                      $0 += $1
-   94. copy_slot_unmasked             d_add_c = $0
-   95. copy_slot_unmasked             $0 = ok
-   96. copy_2_slots_unmasked          $1..2 = c_add_d, d_add_c
-   97. cmpeq_float                    $1 = equal($1, $2)
-   98. bitwise_and_int                $0 &= $1
-   99. copy_slot_unmasked             ok = $0
-  100. copy_2_slots_unmasked          $0..1 = a, b
-  101. mul_int                        $0 *= $1
-  102. copy_slot_unmasked             a_mul_b = $0
-  103. copy_slot_unmasked             $0 = b
-  104. copy_slot_unmasked             $1 = a
-  105. mul_int                        $0 *= $1
-  106. copy_slot_unmasked             b_mul_a = $0
-  107. copy_slot_unmasked             $0 = ok
-  108. copy_2_slots_unmasked          $1..2 = a_mul_b, b_mul_a
-  109. cmpeq_int                      $1 = equal($1, $2)
-  110. bitwise_and_int                $0 &= $1
-  111. copy_slot_unmasked             ok = $0
-  112. copy_2_slots_unmasked          $0..1 = c, d
-  113. mul_float                      $0 *= $1
-  114. copy_slot_unmasked             c_mul_d = $0
-  115. copy_slot_unmasked             $0 = d
-  116. copy_slot_unmasked             $1 = c
-  117. mul_float                      $0 *= $1
-  118. copy_slot_unmasked             d_mul_c = $0
-  119. copy_slot_unmasked             $0 = ok
-  120. copy_2_slots_unmasked          $1..2 = c_mul_d, d_mul_c
-  121. cmpeq_float                    $1 = equal($1, $2)
-  122. bitwise_and_int                $0 &= $1
-  123. copy_slot_unmasked             ok = $0
-  124. swizzle_4                      $0..3 = ($0..3).xxxx
-  125. copy_4_constants               $4..7 = colorRed
-  126. copy_4_constants               $8..11 = colorGreen
-  127. mix_4_ints                     $0..3 = mix($4..7, $8..11, $0..3)
-  128. load_src                       src.rgba = $0..3
+   27. copy_slot_unmasked             b_and_a = $0
+   28. copy_slot_unmasked             $0 = ok
+   29. copy_2_slots_unmasked          $1..2 = a_and_b, b_and_a
+   30. cmpeq_int                      $1 = equal($1, $2)
+   31. bitwise_and_int                $0 &= $1
+   32. copy_slot_unmasked             ok = $0
+   33. copy_2_slots_unmasked          $0..1 = a, b
+   34. bitwise_or_int                 $0 |= $1
+   35. copy_slot_unmasked             a_or_b = $0
+   36. copy_slot_unmasked             $0 = b
+   37. copy_slot_unmasked             $1 = a
+   38. bitwise_or_int                 $0 |= $1
+   39. copy_slot_unmasked             b_or_a = $0
+   40. copy_slot_unmasked             $0 = ok
+   41. copy_2_slots_unmasked          $1..2 = a_or_b, b_or_a
+   42. cmpeq_int                      $1 = equal($1, $2)
+   43. bitwise_and_int                $0 &= $1
+   44. copy_slot_unmasked             ok = $0
+   45. copy_2_slots_unmasked          $0..1 = a, b
+   46. bitwise_xor_int                $0 ^= $1
+   47. copy_slot_unmasked             a_xor_b = $0
+   48. copy_slot_unmasked             $0 = b
+   49. copy_slot_unmasked             $1 = a
+   50. bitwise_xor_int                $0 ^= $1
+   51. copy_slot_unmasked             b_xor_a = $0
+   52. copy_slot_unmasked             $0 = ok
+   53. copy_2_slots_unmasked          $1..2 = a_xor_b, b_xor_a
+   54. cmpeq_int                      $1 = equal($1, $2)
+   55. bitwise_and_int                $0 &= $1
+   56. copy_slot_unmasked             ok = $0
+   57. copy_2_slots_unmasked          $0..1 = a, b
+   58. cmpeq_int                      $0 = equal($0, $1)
+   59. copy_slot_unmasked             a_eq_b = $0
+   60. copy_slot_unmasked             $0 = b
+   61. copy_slot_unmasked             $1 = a
+   62. cmpeq_int                      $0 = equal($0, $1)
+   63. copy_slot_unmasked             b_eq_a = $0
+   64. copy_slot_unmasked             $0 = ok
+   65. copy_2_slots_unmasked          $1..2 = a_eq_b, b_eq_a
+   66. cmpeq_int                      $1 = equal($1, $2)
+   67. bitwise_and_int                $0 &= $1
+   68. copy_slot_unmasked             ok = $0
+   69. copy_2_slots_unmasked          $0..1 = a, b
+   70. cmpne_int                      $0 = notEqual($0, $1)
+   71. copy_slot_unmasked             a_neq_b = $0
+   72. copy_slot_unmasked             $0 = b
+   73. copy_slot_unmasked             $1 = a
+   74. cmpne_int                      $0 = notEqual($0, $1)
+   75. copy_slot_unmasked             b_neq_a = $0
+   76. copy_slot_unmasked             $0 = ok
+   77. copy_2_slots_unmasked          $1..2 = a_neq_b, b_neq_a
+   78. cmpeq_int                      $1 = equal($1, $2)
+   79. bitwise_and_int                $0 &= $1
+   80. copy_slot_unmasked             ok = $0
+   81. copy_2_slots_unmasked          $0..1 = a, b
+   82. add_int                        $0 += $1
+   83. copy_slot_unmasked             a_add_b = $0
+   84. copy_slot_unmasked             $0 = b
+   85. copy_slot_unmasked             $1 = a
+   86. add_int                        $0 += $1
+   87. copy_slot_unmasked             b_add_a = $0
+   88. copy_slot_unmasked             $0 = ok
+   89. copy_2_slots_unmasked          $1..2 = a_add_b, b_add_a
+   90. cmpeq_int                      $1 = equal($1, $2)
+   91. bitwise_and_int                $0 &= $1
+   92. copy_slot_unmasked             ok = $0
+   93. copy_2_slots_unmasked          $0..1 = c, d
+   94. add_float                      $0 += $1
+   95. copy_slot_unmasked             c_add_d = $0
+   96. copy_slot_unmasked             $0 = d
+   97. copy_slot_unmasked             $1 = c
+   98. add_float                      $0 += $1
+   99. copy_slot_unmasked             d_add_c = $0
+  100. copy_slot_unmasked             $0 = ok
+  101. copy_2_slots_unmasked          $1..2 = c_add_d, d_add_c
+  102. cmpeq_float                    $1 = equal($1, $2)
+  103. bitwise_and_int                $0 &= $1
+  104. copy_slot_unmasked             ok = $0
+  105. copy_2_slots_unmasked          $0..1 = a, b
+  106. mul_int                        $0 *= $1
+  107. copy_slot_unmasked             a_mul_b = $0
+  108. copy_slot_unmasked             $0 = b
+  109. copy_slot_unmasked             $1 = a
+  110. mul_int                        $0 *= $1
+  111. copy_slot_unmasked             b_mul_a = $0
+  112. copy_slot_unmasked             $0 = ok
+  113. copy_2_slots_unmasked          $1..2 = a_mul_b, b_mul_a
+  114. cmpeq_int                      $1 = equal($1, $2)
+  115. bitwise_and_int                $0 &= $1
+  116. copy_slot_unmasked             ok = $0
+  117. copy_2_slots_unmasked          $0..1 = c, d
+  118. mul_float                      $0 *= $1
+  119. copy_slot_unmasked             c_mul_d = $0
+  120. copy_slot_unmasked             $0 = d
+  121. copy_slot_unmasked             $1 = c
+  122. mul_float                      $0 *= $1
+  123. copy_slot_unmasked             d_mul_c = $0
+  124. copy_slot_unmasked             $0 = ok
+  125. copy_2_slots_unmasked          $1..2 = c_mul_d, d_mul_c
+  126. cmpeq_float                    $1 = equal($1, $2)
+  127. bitwise_and_int                $0 &= $1
+  128. copy_slot_unmasked             ok = $0
+  129. swizzle_4                      $0..3 = ($0..3).xxxx
+  130. copy_4_constants               $4..7 = colorRed
+  131. copy_4_constants               $8..11 = colorGreen
+  132. mix_4_ints                     $0..3 = mix($4..7, $8..11, $0..3)
+  133. load_src                       src.rgba = $0..3
diff --git a/tests/sksl/runtime/GlobalVariables.skrp b/tests/sksl/runtime/GlobalVariables.skrp
index d513305..427c2a5 100644
--- a/tests/sksl/runtime/GlobalVariables.skrp
+++ b/tests/sksl/runtime/GlobalVariables.skrp
@@ -1,13 +1,18 @@
-    1. store_src_rg                   xy = src.rg
-    2. init_lane_masks                CondMask = LoopMask = RetMask = true
-    3. copy_constant                  gInitialized = 0xBF800000 (-1.0)
-    4. copy_constant                  gInitializedFromOther = 0x3F800000 (1.0)
-    5. zero_slot_unmasked             gUninitialized = 0
-    6. copy_constant                  $0 = 0x3F800000 (1.0)
-    7. copy_slot_unmasked             gUninitialized = $0
-    8. label                          label 0x00000000
-    9. zero_slot_unmasked             $0 = 0
-   10. copy_slot_unmasked             $1 = gInitializedFromOther
-   11. zero_slot_unmasked             $2 = 0
-   12. copy_slot_unmasked             $3 = gUninitialized
-   13. load_src                       src.rgba = $0..3
+    1. store_src                      $4..7 = src.rgba
+    2. copy_constant                  $6 = 0x3F000000 (0.5)
+    3. copy_constant                  $7 = 0x3F000000 (0.5)
+    4. cmpeq_2_floats                 $4..5 = equal($4..5, $6..7)
+    5. bitwise_and_int                $4 &= $5
+    6. store_src_rg                   xy = src.rg
+    7. init_lane_masks                CondMask = LoopMask = RetMask = true
+    8. copy_constant                  gInitialized = 0xBF800000 (-1.0)
+    9. copy_constant                  gInitializedFromOther = 0x3F800000 (1.0)
+   10. zero_slot_unmasked             gUninitialized = 0
+   11. copy_constant                  $0 = 0x3F800000 (1.0)
+   12. copy_slot_unmasked             gUninitialized = $0
+   13. label                          label 0x00000000
+   14. zero_slot_unmasked             $0 = 0
+   15. copy_slot_unmasked             $1 = gInitializedFromOther
+   16. zero_slot_unmasked             $2 = 0
+   17. copy_slot_unmasked             $3 = gUninitialized
+   18. load_src                       src.rgba = $0..3
diff --git a/tests/sksl/runtime/LoopFloat.skrp b/tests/sksl/runtime/LoopFloat.skrp
index 7f42156..ced06f5 100644
--- a/tests/sksl/runtime/LoopFloat.skrp
+++ b/tests/sksl/runtime/LoopFloat.skrp
@@ -1,361 +1,366 @@
-    1. store_src_rg                   pos = src.rg
-    2. init_lane_masks                CondMask = LoopMask = RetMask = true
-    3. zero_slot_unmasked             kZero = 0
-    4. copy_constant                  kTen = 0x41200000 (10.0)
-    5. copy_slot_unmasked             $2 = pos(0)
-    6. copy_constant                  $3 = colorGreen(1)
-    7. max_float                      $2 = max($2, $3)
-    8. copy_constant                  $3 = colorGreen(3)
-    9. min_float                      $2 = min($2, $3)
-   10. copy_constant                  $3 = 0x40A00000 (5.0)
-   11. mul_float                      $2 *= $3
-   12. copy_slot_unmasked             five = $2
-   13. store_condition_mask           $26 = CondMask
-   14. store_condition_mask           $46 = CondMask
-   15. store_condition_mask           $56 = CondMask
-   16. store_condition_mask           $36 = CondMask
-   17. store_condition_mask           $76 = CondMask
-   18. store_condition_mask           $66 = CondMask
-   19. store_condition_mask           $20 = CondMask
-   20. store_condition_mask           $70 = CondMask
-   21. store_condition_mask           $14 = CondMask
-   22. branch_if_no_lanes_active      branch_if_no_lanes_active +33 (label 10 at #55)
-   23. store_return_mask              $15 = RetMask
-   24. copy_slot_unmasked             five₁ = five
-   25. copy_slot_unmasked             i = kZero
-   26. store_loop_mask                $16 = LoopMask
-   27. jump                           jump +15 (label 12 at #42)
-   28. label                          label 0x0000000D
-   29. store_condition_mask           $17 = CondMask
-   30. copy_slot_unmasked             $18 = i
-   31. copy_slot_unmasked             $19 = five₁
-   32. cmpeq_float                    $18 = equal($18, $19)
-   33. merge_condition_mask           CondMask = $17 & $18
-   34. copy_slot_unmasked             $19 = i
-   35. copy_slot_masked               [return_loop].result = Mask($19)
-   36. mask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
-   37. load_condition_mask            CondMask = $17
-   38. copy_slot_unmasked             $17 = i
-   39. copy_constant                  $18 = 0x3F800000 (1.0)
-   40. add_float                      $17 += $18
-   41. copy_slot_masked               i = Mask($17)
-   42. label                          label 0x0000000C
-   43. copy_slot_unmasked             $17 = i
-   44. copy_constant                  $18 = 0x41200000 (10.0)
-   45. cmplt_float                    $17 = lessThan($17, $18)
-   46. merge_loop_mask                LoopMask &= $17
-   47. stack_rewind
-   48. branch_if_any_lanes_active     branch_if_any_lanes_active -20 (label 13 at #28)
-   49. label                          label 0x0000000B
-   50. load_loop_mask                 LoopMask = $16
-   51. zero_slot_unmasked             $16 = 0
-   52. copy_slot_masked               [return_loop].result = Mask($16)
-   53. load_return_mask               RetMask = $15
-   54. copy_slot_unmasked             $15 = [return_loop].result
-   55. label                          label 0x0000000A
-   56. copy_constant                  $16 = 0x40A00000 (5.0)
-   57. cmpeq_float                    $15 = equal($15, $16)
-   58. zero_slot_unmasked             $71 = 0
-   59. merge_condition_mask           CondMask = $14 & $15
-   60. branch_if_no_lanes_active      branch_if_no_lanes_active +38 (label 9 at #98)
-   61. copy_slot_unmasked             five₂ = five
-   62. zero_2_slots_unmasked          sum, i₁ = 0
-   63. store_loop_mask                $72 = LoopMask
-   64. jump                           jump +20 (label 16 at #84)
-   65. label                          label 0x00000011
-   66. zero_slot_unmasked             $0 = 0
-   67. store_condition_mask           $73 = CondMask
-   68. copy_slot_unmasked             $74 = i₁
-   69. copy_slot_unmasked             $75 = five₂
-   70. cmplt_float                    $74 = lessThan($74, $75)
-   71. merge_condition_mask           CondMask = $73 & $74
-   72. copy_constant                  $1 = 0xFFFFFFFF
-   73. copy_slot_masked               $0 = Mask($1)
-   74. mask_off_loop_mask             LoopMask &= ~(CondMask & LoopMask & RetMask)
-   75. load_condition_mask            CondMask = $73
-   76. copy_2_slots_unmasked          $73..74 = sum, i₁
-   77. add_float                      $73 += $74
-   78. copy_slot_masked               sum = Mask($73)
-   79. reenable_loop_mask             LoopMask |= $0
-   80. copy_slot_unmasked             $73 = i₁
-   81. copy_constant                  $74 = 0x3F800000 (1.0)
-   82. add_float                      $73 += $74
-   83. copy_slot_masked               i₁ = Mask($73)
-   84. label                          label 0x00000010
-   85. copy_slot_unmasked             $73 = i₁
-   86. copy_slot_unmasked             $74 = kTen
-   87. cmplt_float                    $73 = lessThan($73, $74)
-   88. merge_loop_mask                LoopMask &= $73
-   89. stack_rewind
-   90. branch_if_any_lanes_active     branch_if_any_lanes_active -25 (label 17 at #65)
-   91. label                          label 0x0000000F
-   92. load_loop_mask                 LoopMask = $72
-   93. copy_slot_unmasked             $72 = sum
-   94. label                          label 0x0000000E
-   95. copy_constant                  $73 = 0x420C0000 (35.0)
-   96. cmpeq_float                    $72 = equal($72, $73)
-   97. copy_slot_masked               $71 = Mask($72)
-   98. label                          label 0x00000009
-   99. load_condition_mask            CondMask = $14
-  100. zero_slot_unmasked             $21 = 0
-  101. merge_condition_mask           CondMask = $70 & $71
-  102. branch_if_no_lanes_active      branch_if_no_lanes_active +38 (label 8 at #140)
-  103. copy_slot_unmasked             five₃ = five
-  104. zero_slot_unmasked             sum₁ = 0
-  105. copy_constant                  kOne = 0x3F800000 (1.0)
-  106. zero_slot_unmasked             i₂ = 0
-  107. store_loop_mask                $22 = LoopMask
-  108. jump                           jump +18 (label 20 at #126)
-  109. label                          label 0x00000015
-  110. store_condition_mask           $23 = CondMask
-  111. copy_slot_unmasked             $24 = five₃
-  112. copy_slot_unmasked             $25 = i₂
-  113. cmplt_float                    $24 = lessThan($24, $25)
-  114. merge_condition_mask           CondMask = $23 & $24
-  115. branch_if_all_lanes_active     branch_if_all_lanes_active +18 (label 19 at #133)
-  116. mask_off_loop_mask             LoopMask &= ~(CondMask & LoopMask & RetMask)
-  117. load_condition_mask            CondMask = $23
-  118. copy_slot_unmasked             $23 = sum₁
-  119. copy_slot_unmasked             $24 = i₂
-  120. add_float                      $23 += $24
-  121. copy_slot_masked               sum₁ = Mask($23)
-  122. copy_slot_unmasked             $23 = i₂
-  123. copy_slot_unmasked             $24 = kOne
-  124. add_float                      $23 += $24
-  125. copy_slot_masked               i₂ = Mask($23)
-  126. label                          label 0x00000014
-  127. copy_slot_unmasked             $23 = i₂
-  128. copy_constant                  $24 = 0x41200000 (10.0)
-  129. cmplt_float                    $23 = lessThan($23, $24)
-  130. merge_loop_mask                LoopMask &= $23
-  131. stack_rewind
-  132. branch_if_any_lanes_active     branch_if_any_lanes_active -23 (label 21 at #109)
-  133. label                          label 0x00000013
-  134. load_loop_mask                 LoopMask = $22
-  135. copy_slot_unmasked             $22 = sum₁
-  136. label                          label 0x00000012
-  137. copy_constant                  $23 = 0x41700000 (15.0)
-  138. cmpeq_float                    $22 = equal($22, $23)
-  139. copy_slot_masked               $21 = Mask($22)
-  140. label                          label 0x00000008
-  141. load_condition_mask            CondMask = $70
-  142. zero_slot_unmasked             $67 = 0
-  143. merge_condition_mask           CondMask = $20 & $21
-  144. branch_if_no_lanes_active      branch_if_no_lanes_active +25 (label 7 at #169)
-  145. zero_slot_unmasked             sum₂ = 0
-  146. branch_if_no_lanes_active      branch_if_no_lanes_active +14 (label 23 at #160)
-  147. copy_constant                  i₃ = 0x3DFBE76D (0.123)
-  148. label                          label 0x00000018
-  149. copy_2_slots_unmasked          $68..69 = sum₂, i₃
-  150. add_float                      $68 += $69
-  151. copy_slot_masked               sum₂ = Mask($68)
-  152. copy_slot_unmasked             $68 = i₃
-  153. copy_constant                  $69 = 0x3DE353F8 (0.111)
-  154. add_float                      $68 += $69
-  155. copy_slot_masked               i₃ = Mask($68)
-  156. copy_constant                  $69 = 0x3F19999A (0.6)
-  157. cmplt_float                    $68 = lessThan($68, $69)
-  158. stack_rewind
-  159. branch_if_no_active_lanes_eq   branch -11 (label 24 at #148) if no lanes of $68 == 0x00000000 (0.0)
-  160. label                          label 0x00000017
-  161. copy_slot_unmasked             $68 = sum₂
-  162. copy_constant                  $69 = 0x3FDCCCCD (1.725)
-  163. sub_float                      $68 -= $69
-  164. label                          label 0x00000016
-  165. abs_float                      $68 = abs($68)
-  166. copy_constant                  $69 = 0x3CCCCCCD (0.025)
-  167. cmplt_float                    $68 = lessThan($68, $69)
-  168. copy_slot_masked               $67 = Mask($68)
-  169. label                          label 0x00000007
-  170. load_condition_mask            CondMask = $20
-  171. zero_slot_unmasked             $77 = 0
-  172. merge_condition_mask           CondMask = $66 & $67
-  173. branch_if_no_lanes_active      branch_if_no_lanes_active +28 (label 6 at #201)
-  174. copy_constant                  $78 = 0x41100000 (9.0)
-  175. swizzle_4                      $78..81 = ($78..81).xxxx
-  176. copy_4_slots_unmasked          result = $78..81
-  177. branch_if_no_lanes_active      branch_if_no_lanes_active +13 (label 26 at #190)
-  178. copy_constant                  i₄ = 0x3F800000 (1.0)
-  179. label                          label 0x0000001B
-  180. copy_4_slots_unmasked          $78..81 = result(1..3), i₄
-  181. copy_4_slots_masked            result = Mask($78..81)
-  182. copy_slot_unmasked             $78 = i₄
-  183. copy_constant                  $79 = 0x3F800000 (1.0)
-  184. add_float                      $78 += $79
-  185. copy_slot_masked               i₄ = Mask($78)
-  186. copy_constant                  $79 = 0x40400000 (3.0)
-  187. cmple_float                    $78 = lessThanEqual($78, $79)
-  188. stack_rewind
-  189. branch_if_no_active_lanes_eq   branch -10 (label 27 at #179) if no lanes of $78 == 0x00000000 (0.0)
-  190. label                          label 0x0000001A
-  191. copy_4_slots_unmasked          $78..81 = result
-  192. copy_constant                  $82 = 0x41100000 (9.0)
-  193. copy_constant                  $83 = 0x3F800000 (1.0)
-  194. copy_constant                  $84 = 0x40000000 (2.0)
-  195. copy_constant                  $85 = 0x40400000 (3.0)
-  196. cmpeq_4_floats                 $78..81 = equal($78..81, $82..85)
-  197. bitwise_and_2_ints             $78..79 &= $80..81
-  198. bitwise_and_int                $78 &= $79
-  199. label                          label 0x00000019
-  200. copy_slot_masked               $77 = Mask($78)
-  201. label                          label 0x00000006
-  202. load_condition_mask            CondMask = $66
-  203. zero_slot_unmasked             $37 = 0
-  204. merge_condition_mask           CondMask = $76 & $77
-  205. branch_if_no_lanes_active      branch_if_no_lanes_active +28 (label 5 at #233)
-  206. copy_constant                  $38 = 0x41100000 (9.0)
-  207. swizzle_4                      $38..41 = ($38..41).xxxx
-  208. copy_4_slots_unmasked          result₁ = $38..41
-  209. branch_if_no_lanes_active      branch_if_no_lanes_active +13 (label 29 at #222)
-  210. copy_constant                  i₅ = 0x3F800000 (1.0)
-  211. label                          label 0x0000001E
-  212. copy_4_slots_unmasked          $38..41 = result₁(1..3), i₅
-  213. copy_4_slots_masked            result₁ = Mask($38..41)
-  214. copy_slot_unmasked             $38 = i₅
-  215. copy_constant                  $39 = 0x3F800000 (1.0)
-  216. add_float                      $38 += $39
-  217. copy_slot_masked               i₅ = Mask($38)
-  218. copy_constant                  $39 = 0x40800000 (4.0)
-  219. cmplt_float                    $38 = lessThan($38, $39)
-  220. stack_rewind
-  221. branch_if_no_active_lanes_eq   branch -10 (label 30 at #211) if no lanes of $38 == 0x00000000 (0.0)
-  222. label                          label 0x0000001D
-  223. copy_4_slots_unmasked          $38..41 = result₁
-  224. copy_constant                  $42 = 0x41100000 (9.0)
-  225. copy_constant                  $43 = 0x3F800000 (1.0)
-  226. copy_constant                  $44 = 0x40000000 (2.0)
-  227. copy_constant                  $45 = 0x40400000 (3.0)
-  228. cmpeq_4_floats                 $38..41 = equal($38..41, $42..45)
-  229. bitwise_and_2_ints             $38..39 &= $40..41
-  230. bitwise_and_int                $38 &= $39
-  231. label                          label 0x0000001C
-  232. copy_slot_masked               $37 = Mask($38)
-  233. label                          label 0x00000005
-  234. load_condition_mask            CondMask = $76
-  235. zero_slot_unmasked             $57 = 0
-  236. merge_condition_mask           CondMask = $36 & $37
-  237. branch_if_no_lanes_active      branch_if_no_lanes_active +29 (label 4 at #266)
-  238. copy_constant                  $58 = 0x41100000 (9.0)
-  239. swizzle_4                      $58..61 = ($58..61).xxxx
-  240. copy_4_slots_unmasked          result₂ = $58..61
-  241. branch_if_no_lanes_active      branch_if_no_lanes_active +14 (label 32 at #255)
-  242. copy_constant                  i₆ = 0x40400000 (3.0)
-  243. label                          label 0x00000021
-  244. copy_4_slots_unmasked          $58..61 = result₂(1..3), i₆
-  245. copy_4_slots_masked            result₂ = Mask($58..61)
-  246. copy_slot_unmasked             $58 = i₆
-  247. copy_constant                  $59 = 0x3F800000 (1.0)
-  248. sub_float                      $58 -= $59
-  249. copy_slot_masked               i₆ = Mask($58)
-  250. copy_constant                  $58 = 0x3F800000 (1.0)
-  251. copy_slot_unmasked             $59 = i₆
-  252. cmple_float                    $58 = lessThanEqual($58, $59)
-  253. stack_rewind
-  254. branch_if_no_active_lanes_eq   branch -11 (label 33 at #243) if no lanes of $58 == 0x00000000 (0.0)
-  255. label                          label 0x00000020
-  256. copy_4_slots_unmasked          $58..61 = result₂
-  257. copy_constant                  $62 = 0x41100000 (9.0)
-  258. copy_constant                  $63 = 0x40400000 (3.0)
-  259. copy_constant                  $64 = 0x40000000 (2.0)
-  260. copy_constant                  $65 = 0x3F800000 (1.0)
-  261. cmpeq_4_floats                 $58..61 = equal($58..61, $62..65)
-  262. bitwise_and_2_ints             $58..59 &= $60..61
-  263. bitwise_and_int                $58 &= $59
-  264. label                          label 0x0000001F
-  265. copy_slot_masked               $57 = Mask($58)
-  266. label                          label 0x00000004
-  267. load_condition_mask            CondMask = $36
-  268. zero_slot_unmasked             $47 = 0
-  269. merge_condition_mask           CondMask = $56 & $57
-  270. branch_if_no_lanes_active      branch_if_no_lanes_active +29 (label 3 at #299)
-  271. copy_constant                  $48 = 0x41100000 (9.0)
-  272. swizzle_4                      $48..51 = ($48..51).xxxx
-  273. copy_4_slots_unmasked          result₃ = $48..51
-  274. branch_if_no_lanes_active      branch_if_no_lanes_active +14 (label 35 at #288)
-  275. copy_constant                  i₇ = 0x40400000 (3.0)
-  276. label                          label 0x00000024
-  277. copy_4_slots_unmasked          $48..51 = result₃(1..3), i₇
-  278. copy_4_slots_masked            result₃ = Mask($48..51)
-  279. copy_slot_unmasked             $48 = i₇
-  280. copy_constant                  $49 = 0x3F800000 (1.0)
-  281. sub_float                      $48 -= $49
-  282. copy_slot_masked               i₇ = Mask($48)
-  283. zero_slot_unmasked             $48 = 0
-  284. copy_slot_unmasked             $49 = i₇
-  285. cmplt_float                    $48 = lessThan($48, $49)
-  286. stack_rewind
-  287. branch_if_no_active_lanes_eq   branch -11 (label 36 at #276) if no lanes of $48 == 0x00000000 (0.0)
-  288. label                          label 0x00000023
-  289. copy_4_slots_unmasked          $48..51 = result₃
-  290. copy_constant                  $52 = 0x41100000 (9.0)
-  291. copy_constant                  $53 = 0x40400000 (3.0)
-  292. copy_constant                  $54 = 0x40000000 (2.0)
-  293. copy_constant                  $55 = 0x3F800000 (1.0)
-  294. cmpeq_4_floats                 $48..51 = equal($48..51, $52..55)
-  295. bitwise_and_2_ints             $48..49 &= $50..51
-  296. bitwise_and_int                $48 &= $49
-  297. label                          label 0x00000022
-  298. copy_slot_masked               $47 = Mask($48)
-  299. label                          label 0x00000003
-  300. load_condition_mask            CondMask = $56
-  301. zero_slot_unmasked             $27 = 0
-  302. merge_condition_mask           CondMask = $46 & $47
-  303. branch_if_no_lanes_active      branch_if_no_lanes_active +20 (label 2 at #323)
-  304. copy_constant                  $28 = 0x41100000 (9.0)
-  305. swizzle_4                      $28..31 = ($28..31).xxxx
-  306. copy_4_slots_unmasked          result₄ = $28..31
-  307. branch_if_no_lanes_active      branch_if_no_lanes_active +5 (label 38 at #312)
-  308. copy_constant                  i₈ = 0x3F800000 (1.0)
-  309. label                          label 0x00000027
-  310. copy_4_slots_unmasked          $28..31 = result₄(1..3), i₈
-  311. copy_4_slots_masked            result₄ = Mask($28..31)
-  312. label                          label 0x00000026
-  313. copy_4_slots_unmasked          $28..31 = result₄
-  314. copy_constant                  $32 = 0x41100000 (9.0)
-  315. copy_constant                  $33 = 0x41100000 (9.0)
-  316. copy_constant                  $34 = 0x41100000 (9.0)
-  317. copy_constant                  $35 = 0x3F800000 (1.0)
-  318. cmpeq_4_floats                 $28..31 = equal($28..31, $32..35)
-  319. bitwise_and_2_ints             $28..29 &= $30..31
-  320. bitwise_and_int                $28 &= $29
-  321. label                          label 0x00000025
-  322. copy_slot_masked               $27 = Mask($28)
-  323. label                          label 0x00000002
-  324. load_condition_mask            CondMask = $46
-  325. zero_slot_unmasked             $2 = 0
-  326. merge_condition_mask           CondMask = $26 & $27
-  327. branch_if_no_lanes_active      branch_if_no_lanes_active +28 (label 1 at #355)
-  328. copy_constant                  $3 = 0x41100000 (9.0)
-  329. swizzle_4                      $3..6 = ($3..6).xxxx
-  330. copy_4_slots_unmasked          result₅ = $3..6
-  331. branch_if_no_lanes_active      branch_if_no_lanes_active +13 (label 41 at #344)
-  332. copy_constant                  i₉ = 0x3F800000 (1.0)
-  333. label                          label 0x0000002A
-  334. copy_4_slots_unmasked          $3..6 = result₅(1..3), i₉
-  335. copy_4_slots_masked            result₅ = Mask($3..6)
-  336. copy_slot_unmasked             $3 = i₉
-  337. copy_constant                  $4 = 0x3F800000 (1.0)
-  338. add_float                      $3 += $4
-  339. copy_slot_masked               i₉ = Mask($3)
-  340. copy_constant                  $4 = 0x40800000 (4.0)
-  341. cmpne_float                    $3 = notEqual($3, $4)
-  342. stack_rewind
-  343. branch_if_no_active_lanes_eq   branch -10 (label 42 at #333) if no lanes of $3 == 0x00000000 (0.0)
-  344. label                          label 0x00000029
-  345. copy_4_slots_unmasked          $3..6 = result₅
-  346. copy_constant                  $7 = 0x41100000 (9.0)
-  347. copy_constant                  $8 = 0x3F800000 (1.0)
-  348. copy_constant                  $9 = 0x40000000 (2.0)
-  349. copy_constant                  $10 = 0x40400000 (3.0)
-  350. cmpeq_4_floats                 $3..6 = equal($3..6, $7..10)
-  351. bitwise_and_2_ints             $3..4 &= $5..6
-  352. bitwise_and_int                $3 &= $4
-  353. label                          label 0x00000028
-  354. copy_slot_masked               $2 = Mask($3)
-  355. label                          label 0x00000001
-  356. load_condition_mask            CondMask = $26
-  357. swizzle_4                      $2..5 = ($2..5).xxxx
-  358. copy_4_constants               $6..9 = colorRed
-  359. copy_4_constants               $10..13 = colorGreen
-  360. mix_4_ints                     $2..5 = mix($6..9, $10..13, $2..5)
-  361. load_src                       src.rgba = $2..5
+    1. store_src                      $28..31 = src.rgba
+    2. copy_constant                  $30 = 0x3F000000 (0.5)
+    3. copy_constant                  $31 = 0x3F000000 (0.5)
+    4. cmpeq_2_floats                 $28..29 = equal($28..29, $30..31)
+    5. bitwise_and_int                $28 &= $29
+    6. store_src_rg                   pos = src.rg
+    7. init_lane_masks                CondMask = LoopMask = RetMask = true
+    8. zero_slot_unmasked             kZero = 0
+    9. copy_constant                  kTen = 0x41200000 (10.0)
+   10. copy_slot_unmasked             $6 = pos(0)
+   11. copy_constant                  $7 = colorGreen(1)
+   12. max_float                      $6 = max($6, $7)
+   13. copy_constant                  $7 = colorGreen(3)
+   14. min_float                      $6 = min($6, $7)
+   15. copy_constant                  $7 = 0x40A00000 (5.0)
+   16. mul_float                      $6 *= $7
+   17. copy_slot_unmasked             five = $6
+   18. store_condition_mask           $42 = CondMask
+   19. store_condition_mask           $52 = CondMask
+   20. store_condition_mask           $32 = CondMask
+   21. store_condition_mask           $78 = CondMask
+   22. store_condition_mask           $62 = CondMask
+   23. store_condition_mask           $24 = CondMask
+   24. store_condition_mask           $72 = CondMask
+   25. store_condition_mask           $18 = CondMask
+   26. store_condition_mask           $0 = CondMask
+   27. branch_if_no_lanes_active      branch_if_no_lanes_active +33 (label 10 at #60)
+   28. store_return_mask              $1 = RetMask
+   29. copy_slot_unmasked             five₁ = five
+   30. copy_slot_unmasked             i = kZero
+   31. store_loop_mask                $2 = LoopMask
+   32. jump                           jump +15 (label 12 at #47)
+   33. label                          label 0x0000000D
+   34. store_condition_mask           $3 = CondMask
+   35. copy_slot_unmasked             $4 = i
+   36. copy_slot_unmasked             $5 = five₁
+   37. cmpeq_float                    $4 = equal($4, $5)
+   38. merge_condition_mask           CondMask = $3 & $4
+   39. copy_slot_unmasked             $5 = i
+   40. copy_slot_masked               [return_loop].result = Mask($5)
+   41. mask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
+   42. load_condition_mask            CondMask = $3
+   43. copy_slot_unmasked             $3 = i
+   44. copy_constant                  $4 = 0x3F800000 (1.0)
+   45. add_float                      $3 += $4
+   46. copy_slot_masked               i = Mask($3)
+   47. label                          label 0x0000000C
+   48. copy_slot_unmasked             $3 = i
+   49. copy_constant                  $4 = 0x41200000 (10.0)
+   50. cmplt_float                    $3 = lessThan($3, $4)
+   51. merge_loop_mask                LoopMask &= $3
+   52. stack_rewind
+   53. branch_if_any_lanes_active     branch_if_any_lanes_active -20 (label 13 at #33)
+   54. label                          label 0x0000000B
+   55. load_loop_mask                 LoopMask = $2
+   56. zero_slot_unmasked             $2 = 0
+   57. copy_slot_masked               [return_loop].result = Mask($2)
+   58. load_return_mask               RetMask = $1
+   59. copy_slot_unmasked             $1 = [return_loop].result
+   60. label                          label 0x0000000A
+   61. copy_constant                  $2 = 0x40A00000 (5.0)
+   62. cmpeq_float                    $1 = equal($1, $2)
+   63. zero_slot_unmasked             $19 = 0
+   64. merge_condition_mask           CondMask = $0 & $1
+   65. branch_if_no_lanes_active      branch_if_no_lanes_active +38 (label 9 at #103)
+   66. copy_slot_unmasked             five₂ = five
+   67. zero_2_slots_unmasked          sum, i₁ = 0
+   68. store_loop_mask                $20 = LoopMask
+   69. jump                           jump +20 (label 16 at #89)
+   70. label                          label 0x00000011
+   71. zero_slot_unmasked             $88 = 0
+   72. store_condition_mask           $21 = CondMask
+   73. copy_slot_unmasked             $22 = i₁
+   74. copy_slot_unmasked             $23 = five₂
+   75. cmplt_float                    $22 = lessThan($22, $23)
+   76. merge_condition_mask           CondMask = $21 & $22
+   77. copy_constant                  $89 = 0xFFFFFFFF
+   78. copy_slot_masked               $88 = Mask($89)
+   79. mask_off_loop_mask             LoopMask &= ~(CondMask & LoopMask & RetMask)
+   80. load_condition_mask            CondMask = $21
+   81. copy_2_slots_unmasked          $21..22 = sum, i₁
+   82. add_float                      $21 += $22
+   83. copy_slot_masked               sum = Mask($21)
+   84. reenable_loop_mask             LoopMask |= $88
+   85. copy_slot_unmasked             $21 = i₁
+   86. copy_constant                  $22 = 0x3F800000 (1.0)
+   87. add_float                      $21 += $22
+   88. copy_slot_masked               i₁ = Mask($21)
+   89. label                          label 0x00000010
+   90. copy_slot_unmasked             $21 = i₁
+   91. copy_slot_unmasked             $22 = kTen
+   92. cmplt_float                    $21 = lessThan($21, $22)
+   93. merge_loop_mask                LoopMask &= $21
+   94. stack_rewind
+   95. branch_if_any_lanes_active     branch_if_any_lanes_active -25 (label 17 at #70)
+   96. label                          label 0x0000000F
+   97. load_loop_mask                 LoopMask = $20
+   98. copy_slot_unmasked             $20 = sum
+   99. label                          label 0x0000000E
+  100. copy_constant                  $21 = 0x420C0000 (35.0)
+  101. cmpeq_float                    $20 = equal($20, $21)
+  102. copy_slot_masked               $19 = Mask($20)
+  103. label                          label 0x00000009
+  104. load_condition_mask            CondMask = $0
+  105. zero_slot_unmasked             $73 = 0
+  106. merge_condition_mask           CondMask = $18 & $19
+  107. branch_if_no_lanes_active      branch_if_no_lanes_active +38 (label 8 at #145)
+  108. copy_slot_unmasked             five₃ = five
+  109. zero_slot_unmasked             sum₁ = 0
+  110. copy_constant                  kOne = 0x3F800000 (1.0)
+  111. zero_slot_unmasked             i₂ = 0
+  112. store_loop_mask                $74 = LoopMask
+  113. jump                           jump +18 (label 20 at #131)
+  114. label                          label 0x00000015
+  115. store_condition_mask           $75 = CondMask
+  116. copy_slot_unmasked             $76 = five₃
+  117. copy_slot_unmasked             $77 = i₂
+  118. cmplt_float                    $76 = lessThan($76, $77)
+  119. merge_condition_mask           CondMask = $75 & $76
+  120. branch_if_all_lanes_active     branch_if_all_lanes_active +18 (label 19 at #138)
+  121. mask_off_loop_mask             LoopMask &= ~(CondMask & LoopMask & RetMask)
+  122. load_condition_mask            CondMask = $75
+  123. copy_slot_unmasked             $75 = sum₁
+  124. copy_slot_unmasked             $76 = i₂
+  125. add_float                      $75 += $76
+  126. copy_slot_masked               sum₁ = Mask($75)
+  127. copy_slot_unmasked             $75 = i₂
+  128. copy_slot_unmasked             $76 = kOne
+  129. add_float                      $75 += $76
+  130. copy_slot_masked               i₂ = Mask($75)
+  131. label                          label 0x00000014
+  132. copy_slot_unmasked             $75 = i₂
+  133. copy_constant                  $76 = 0x41200000 (10.0)
+  134. cmplt_float                    $75 = lessThan($75, $76)
+  135. merge_loop_mask                LoopMask &= $75
+  136. stack_rewind
+  137. branch_if_any_lanes_active     branch_if_any_lanes_active -23 (label 21 at #114)
+  138. label                          label 0x00000013
+  139. load_loop_mask                 LoopMask = $74
+  140. copy_slot_unmasked             $74 = sum₁
+  141. label                          label 0x00000012
+  142. copy_constant                  $75 = 0x41700000 (15.0)
+  143. cmpeq_float                    $74 = equal($74, $75)
+  144. copy_slot_masked               $73 = Mask($74)
+  145. label                          label 0x00000008
+  146. load_condition_mask            CondMask = $18
+  147. zero_slot_unmasked             $25 = 0
+  148. merge_condition_mask           CondMask = $72 & $73
+  149. branch_if_no_lanes_active      branch_if_no_lanes_active +25 (label 7 at #174)
+  150. zero_slot_unmasked             sum₂ = 0
+  151. branch_if_no_lanes_active      branch_if_no_lanes_active +14 (label 23 at #165)
+  152. copy_constant                  i₃ = 0x3DFBE76D (0.123)
+  153. label                          label 0x00000018
+  154. copy_2_slots_unmasked          $26..27 = sum₂, i₃
+  155. add_float                      $26 += $27
+  156. copy_slot_masked               sum₂ = Mask($26)
+  157. copy_slot_unmasked             $26 = i₃
+  158. copy_constant                  $27 = 0x3DE353F8 (0.111)
+  159. add_float                      $26 += $27
+  160. copy_slot_masked               i₃ = Mask($26)
+  161. copy_constant                  $27 = 0x3F19999A (0.6)
+  162. cmplt_float                    $26 = lessThan($26, $27)
+  163. stack_rewind
+  164. branch_if_no_active_lanes_eq   branch -11 (label 24 at #153) if no lanes of $26 == 0x00000000 (0.0)
+  165. label                          label 0x00000017
+  166. copy_slot_unmasked             $26 = sum₂
+  167. copy_constant                  $27 = 0x3FDCCCCD (1.725)
+  168. sub_float                      $26 -= $27
+  169. label                          label 0x00000016
+  170. abs_float                      $26 = abs($26)
+  171. copy_constant                  $27 = 0x3CCCCCCD (0.025)
+  172. cmplt_float                    $26 = lessThan($26, $27)
+  173. copy_slot_masked               $25 = Mask($26)
+  174. label                          label 0x00000007
+  175. load_condition_mask            CondMask = $72
+  176. zero_slot_unmasked             $63 = 0
+  177. merge_condition_mask           CondMask = $24 & $25
+  178. branch_if_no_lanes_active      branch_if_no_lanes_active +28 (label 6 at #206)
+  179. copy_constant                  $64 = 0x41100000 (9.0)
+  180. swizzle_4                      $64..67 = ($64..67).xxxx
+  181. copy_4_slots_unmasked          result = $64..67
+  182. branch_if_no_lanes_active      branch_if_no_lanes_active +13 (label 26 at #195)
+  183. copy_constant                  i₄ = 0x3F800000 (1.0)
+  184. label                          label 0x0000001B
+  185. copy_4_slots_unmasked          $64..67 = result(1..3), i₄
+  186. copy_4_slots_masked            result = Mask($64..67)
+  187. copy_slot_unmasked             $64 = i₄
+  188. copy_constant                  $65 = 0x3F800000 (1.0)
+  189. add_float                      $64 += $65
+  190. copy_slot_masked               i₄ = Mask($64)
+  191. copy_constant                  $65 = 0x40400000 (3.0)
+  192. cmple_float                    $64 = lessThanEqual($64, $65)
+  193. stack_rewind
+  194. branch_if_no_active_lanes_eq   branch -10 (label 27 at #184) if no lanes of $64 == 0x00000000 (0.0)
+  195. label                          label 0x0000001A
+  196. copy_4_slots_unmasked          $64..67 = result
+  197. copy_constant                  $68 = 0x41100000 (9.0)
+  198. copy_constant                  $69 = 0x3F800000 (1.0)
+  199. copy_constant                  $70 = 0x40000000 (2.0)
+  200. copy_constant                  $71 = 0x40400000 (3.0)
+  201. cmpeq_4_floats                 $64..67 = equal($64..67, $68..71)
+  202. bitwise_and_2_ints             $64..65 &= $66..67
+  203. bitwise_and_int                $64 &= $65
+  204. label                          label 0x00000019
+  205. copy_slot_masked               $63 = Mask($64)
+  206. label                          label 0x00000006
+  207. load_condition_mask            CondMask = $24
+  208. zero_slot_unmasked             $79 = 0
+  209. merge_condition_mask           CondMask = $62 & $63
+  210. branch_if_no_lanes_active      branch_if_no_lanes_active +28 (label 5 at #238)
+  211. copy_constant                  $80 = 0x41100000 (9.0)
+  212. swizzle_4                      $80..83 = ($80..83).xxxx
+  213. copy_4_slots_unmasked          result₁ = $80..83
+  214. branch_if_no_lanes_active      branch_if_no_lanes_active +13 (label 29 at #227)
+  215. copy_constant                  i₅ = 0x3F800000 (1.0)
+  216. label                          label 0x0000001E
+  217. copy_4_slots_unmasked          $80..83 = result₁(1..3), i₅
+  218. copy_4_slots_masked            result₁ = Mask($80..83)
+  219. copy_slot_unmasked             $80 = i₅
+  220. copy_constant                  $81 = 0x3F800000 (1.0)
+  221. add_float                      $80 += $81
+  222. copy_slot_masked               i₅ = Mask($80)
+  223. copy_constant                  $81 = 0x40800000 (4.0)
+  224. cmplt_float                    $80 = lessThan($80, $81)
+  225. stack_rewind
+  226. branch_if_no_active_lanes_eq   branch -10 (label 30 at #216) if no lanes of $80 == 0x00000000 (0.0)
+  227. label                          label 0x0000001D
+  228. copy_4_slots_unmasked          $80..83 = result₁
+  229. copy_constant                  $84 = 0x41100000 (9.0)
+  230. copy_constant                  $85 = 0x3F800000 (1.0)
+  231. copy_constant                  $86 = 0x40000000 (2.0)
+  232. copy_constant                  $87 = 0x40400000 (3.0)
+  233. cmpeq_4_floats                 $80..83 = equal($80..83, $84..87)
+  234. bitwise_and_2_ints             $80..81 &= $82..83
+  235. bitwise_and_int                $80 &= $81
+  236. label                          label 0x0000001C
+  237. copy_slot_masked               $79 = Mask($80)
+  238. label                          label 0x00000005
+  239. load_condition_mask            CondMask = $62
+  240. zero_slot_unmasked             $33 = 0
+  241. merge_condition_mask           CondMask = $78 & $79
+  242. branch_if_no_lanes_active      branch_if_no_lanes_active +29 (label 4 at #271)
+  243. copy_constant                  $34 = 0x41100000 (9.0)
+  244. swizzle_4                      $34..37 = ($34..37).xxxx
+  245. copy_4_slots_unmasked          result₂ = $34..37
+  246. branch_if_no_lanes_active      branch_if_no_lanes_active +14 (label 32 at #260)
+  247. copy_constant                  i₆ = 0x40400000 (3.0)
+  248. label                          label 0x00000021
+  249. copy_4_slots_unmasked          $34..37 = result₂(1..3), i₆
+  250. copy_4_slots_masked            result₂ = Mask($34..37)
+  251. copy_slot_unmasked             $34 = i₆
+  252. copy_constant                  $35 = 0x3F800000 (1.0)
+  253. sub_float                      $34 -= $35
+  254. copy_slot_masked               i₆ = Mask($34)
+  255. copy_constant                  $34 = 0x3F800000 (1.0)
+  256. copy_slot_unmasked             $35 = i₆
+  257. cmple_float                    $34 = lessThanEqual($34, $35)
+  258. stack_rewind
+  259. branch_if_no_active_lanes_eq   branch -11 (label 33 at #248) if no lanes of $34 == 0x00000000 (0.0)
+  260. label                          label 0x00000020
+  261. copy_4_slots_unmasked          $34..37 = result₂
+  262. copy_constant                  $38 = 0x41100000 (9.0)
+  263. copy_constant                  $39 = 0x40400000 (3.0)
+  264. copy_constant                  $40 = 0x40000000 (2.0)
+  265. copy_constant                  $41 = 0x3F800000 (1.0)
+  266. cmpeq_4_floats                 $34..37 = equal($34..37, $38..41)
+  267. bitwise_and_2_ints             $34..35 &= $36..37
+  268. bitwise_and_int                $34 &= $35
+  269. label                          label 0x0000001F
+  270. copy_slot_masked               $33 = Mask($34)
+  271. label                          label 0x00000004
+  272. load_condition_mask            CondMask = $78
+  273. zero_slot_unmasked             $53 = 0
+  274. merge_condition_mask           CondMask = $32 & $33
+  275. branch_if_no_lanes_active      branch_if_no_lanes_active +29 (label 3 at #304)
+  276. copy_constant                  $54 = 0x41100000 (9.0)
+  277. swizzle_4                      $54..57 = ($54..57).xxxx
+  278. copy_4_slots_unmasked          result₃ = $54..57
+  279. branch_if_no_lanes_active      branch_if_no_lanes_active +14 (label 35 at #293)
+  280. copy_constant                  i₇ = 0x40400000 (3.0)
+  281. label                          label 0x00000024
+  282. copy_4_slots_unmasked          $54..57 = result₃(1..3), i₇
+  283. copy_4_slots_masked            result₃ = Mask($54..57)
+  284. copy_slot_unmasked             $54 = i₇
+  285. copy_constant                  $55 = 0x3F800000 (1.0)
+  286. sub_float                      $54 -= $55
+  287. copy_slot_masked               i₇ = Mask($54)
+  288. zero_slot_unmasked             $54 = 0
+  289. copy_slot_unmasked             $55 = i₇
+  290. cmplt_float                    $54 = lessThan($54, $55)
+  291. stack_rewind
+  292. branch_if_no_active_lanes_eq   branch -11 (label 36 at #281) if no lanes of $54 == 0x00000000 (0.0)
+  293. label                          label 0x00000023
+  294. copy_4_slots_unmasked          $54..57 = result₃
+  295. copy_constant                  $58 = 0x41100000 (9.0)
+  296. copy_constant                  $59 = 0x40400000 (3.0)
+  297. copy_constant                  $60 = 0x40000000 (2.0)
+  298. copy_constant                  $61 = 0x3F800000 (1.0)
+  299. cmpeq_4_floats                 $54..57 = equal($54..57, $58..61)
+  300. bitwise_and_2_ints             $54..55 &= $56..57
+  301. bitwise_and_int                $54 &= $55
+  302. label                          label 0x00000022
+  303. copy_slot_masked               $53 = Mask($54)
+  304. label                          label 0x00000003
+  305. load_condition_mask            CondMask = $32
+  306. zero_slot_unmasked             $43 = 0
+  307. merge_condition_mask           CondMask = $52 & $53
+  308. branch_if_no_lanes_active      branch_if_no_lanes_active +20 (label 2 at #328)
+  309. copy_constant                  $44 = 0x41100000 (9.0)
+  310. swizzle_4                      $44..47 = ($44..47).xxxx
+  311. copy_4_slots_unmasked          result₄ = $44..47
+  312. branch_if_no_lanes_active      branch_if_no_lanes_active +5 (label 38 at #317)
+  313. copy_constant                  i₈ = 0x3F800000 (1.0)
+  314. label                          label 0x00000027
+  315. copy_4_slots_unmasked          $44..47 = result₄(1..3), i₈
+  316. copy_4_slots_masked            result₄ = Mask($44..47)
+  317. label                          label 0x00000026
+  318. copy_4_slots_unmasked          $44..47 = result₄
+  319. copy_constant                  $48 = 0x41100000 (9.0)
+  320. copy_constant                  $49 = 0x41100000 (9.0)
+  321. copy_constant                  $50 = 0x41100000 (9.0)
+  322. copy_constant                  $51 = 0x3F800000 (1.0)
+  323. cmpeq_4_floats                 $44..47 = equal($44..47, $48..51)
+  324. bitwise_and_2_ints             $44..45 &= $46..47
+  325. bitwise_and_int                $44 &= $45
+  326. label                          label 0x00000025
+  327. copy_slot_masked               $43 = Mask($44)
+  328. label                          label 0x00000002
+  329. load_condition_mask            CondMask = $52
+  330. zero_slot_unmasked             $6 = 0
+  331. merge_condition_mask           CondMask = $42 & $43
+  332. branch_if_no_lanes_active      branch_if_no_lanes_active +28 (label 1 at #360)
+  333. copy_constant                  $7 = 0x41100000 (9.0)
+  334. swizzle_4                      $7..10 = ($7..10).xxxx
+  335. copy_4_slots_unmasked          result₅ = $7..10
+  336. branch_if_no_lanes_active      branch_if_no_lanes_active +13 (label 41 at #349)
+  337. copy_constant                  i₉ = 0x3F800000 (1.0)
+  338. label                          label 0x0000002A
+  339. copy_4_slots_unmasked          $7..10 = result₅(1..3), i₉
+  340. copy_4_slots_masked            result₅ = Mask($7..10)
+  341. copy_slot_unmasked             $7 = i₉
+  342. copy_constant                  $8 = 0x3F800000 (1.0)
+  343. add_float                      $7 += $8
+  344. copy_slot_masked               i₉ = Mask($7)
+  345. copy_constant                  $8 = 0x40800000 (4.0)
+  346. cmpne_float                    $7 = notEqual($7, $8)
+  347. stack_rewind
+  348. branch_if_no_active_lanes_eq   branch -10 (label 42 at #338) if no lanes of $7 == 0x00000000 (0.0)
+  349. label                          label 0x00000029
+  350. copy_4_slots_unmasked          $7..10 = result₅
+  351. copy_constant                  $11 = 0x41100000 (9.0)
+  352. copy_constant                  $12 = 0x3F800000 (1.0)
+  353. copy_constant                  $13 = 0x40000000 (2.0)
+  354. copy_constant                  $14 = 0x40400000 (3.0)
+  355. cmpeq_4_floats                 $7..10 = equal($7..10, $11..14)
+  356. bitwise_and_2_ints             $7..8 &= $9..10
+  357. bitwise_and_int                $7 &= $8
+  358. label                          label 0x00000028
+  359. copy_slot_masked               $6 = Mask($7)
+  360. label                          label 0x00000001
+  361. load_condition_mask            CondMask = $42
+  362. swizzle_4                      $6..9 = ($6..9).xxxx
+  363. copy_4_constants               $10..13 = colorRed
+  364. copy_4_constants               $14..17 = colorGreen
+  365. mix_4_ints                     $6..9 = mix($10..13, $14..17, $6..9)
+  366. load_src                       src.rgba = $6..9
diff --git a/tests/sksl/runtime/LoopInt.skrp b/tests/sksl/runtime/LoopInt.skrp
index 4f01ceb..a1236f7 100644
--- a/tests/sksl/runtime/LoopInt.skrp
+++ b/tests/sksl/runtime/LoopInt.skrp
@@ -1,332 +1,337 @@
-    1. store_src_rg                   pos = src.rg
-    2. init_lane_masks                CondMask = LoopMask = RetMask = true
-    3. zero_slot_unmasked             kZero = 0
-    4. copy_constant                  kTen = 0x0000000A (1.401298e-44)
-    5. copy_slot_unmasked             $0 = pos(0)
-    6. copy_constant                  $1 = colorGreen(1)
-    7. max_float                      $0 = max($0, $1)
-    8. copy_constant                  $1 = colorGreen(3)
-    9. min_float                      $0 = min($0, $1)
-   10. cast_to_int_from_float         $0 = FloatToInt($0)
-   11. copy_constant                  $1 = 0x00000005 (7.006492e-45)
-   12. mul_int                        $0 *= $1
-   13. copy_slot_unmasked             five = $0
-   14. store_condition_mask           $20 = CondMask
-   15. store_condition_mask           $40 = CondMask
-   16. store_condition_mask           $50 = CondMask
-   17. store_condition_mask           $30 = CondMask
-   18. store_condition_mask           $72 = CondMask
-   19. store_condition_mask           $60 = CondMask
-   20. store_condition_mask           $14 = CondMask
-   21. store_condition_mask           $66 = CondMask
-   22. branch_if_no_lanes_active      branch_if_no_lanes_active +33 (label 9 at #55)
-   23. store_return_mask              $67 = RetMask
-   24. copy_slot_unmasked             five₁ = five
-   25. copy_slot_unmasked             i = kZero
-   26. store_loop_mask                $68 = LoopMask
-   27. jump                           jump +15 (label 11 at #42)
-   28. label                          label 0x0000000C
-   29. store_condition_mask           $69 = CondMask
-   30. copy_slot_unmasked             $70 = i
-   31. copy_slot_unmasked             $71 = five₁
-   32. cmpeq_int                      $70 = equal($70, $71)
-   33. merge_condition_mask           CondMask = $69 & $70
-   34. copy_slot_unmasked             $71 = i
-   35. copy_slot_masked               [return_loop].result = Mask($71)
-   36. mask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
-   37. load_condition_mask            CondMask = $69
-   38. copy_slot_unmasked             $69 = i
-   39. copy_constant                  $70 = 0x00000001 (1.401298e-45)
-   40. add_int                        $69 += $70
-   41. copy_slot_masked               i = Mask($69)
-   42. label                          label 0x0000000B
-   43. copy_slot_unmasked             $69 = i
-   44. copy_constant                  $70 = 0x0000000A (1.401298e-44)
-   45. cmplt_int                      $69 = lessThan($69, $70)
-   46. merge_loop_mask                LoopMask &= $69
-   47. stack_rewind
-   48. branch_if_any_lanes_active     branch_if_any_lanes_active -20 (label 12 at #28)
-   49. label                          label 0x0000000A
-   50. load_loop_mask                 LoopMask = $68
-   51. zero_slot_unmasked             $68 = 0
-   52. copy_slot_masked               [return_loop].result = Mask($68)
-   53. load_return_mask               RetMask = $67
-   54. copy_slot_unmasked             $67 = [return_loop].result
-   55. label                          label 0x00000009
-   56. copy_constant                  $68 = 0x00000005 (7.006492e-45)
-   57. cmpeq_int                      $67 = equal($67, $68)
-   58. zero_slot_unmasked             $15 = 0
-   59. merge_condition_mask           CondMask = $66 & $67
-   60. branch_if_no_lanes_active      branch_if_no_lanes_active +38 (label 8 at #98)
-   61. copy_slot_unmasked             five₂ = five
-   62. zero_2_slots_unmasked          sum, i₁ = 0
-   63. store_loop_mask                $16 = LoopMask
-   64. jump                           jump +20 (label 15 at #84)
-   65. label                          label 0x00000010
-   66. zero_slot_unmasked             $12 = 0
-   67. store_condition_mask           $17 = CondMask
-   68. copy_slot_unmasked             $18 = i₁
-   69. copy_slot_unmasked             $19 = five₂
-   70. cmplt_int                      $18 = lessThan($18, $19)
-   71. merge_condition_mask           CondMask = $17 & $18
-   72. copy_constant                  $13 = 0xFFFFFFFF
-   73. copy_slot_masked               $12 = Mask($13)
-   74. mask_off_loop_mask             LoopMask &= ~(CondMask & LoopMask & RetMask)
-   75. load_condition_mask            CondMask = $17
-   76. copy_2_slots_unmasked          $17..18 = sum, i₁
-   77. add_int                        $17 += $18
-   78. copy_slot_masked               sum = Mask($17)
-   79. reenable_loop_mask             LoopMask |= $12
-   80. copy_slot_unmasked             $17 = i₁
-   81. copy_constant                  $18 = 0x00000001 (1.401298e-45)
-   82. add_int                        $17 += $18
-   83. copy_slot_masked               i₁ = Mask($17)
-   84. label                          label 0x0000000F
-   85. copy_slot_unmasked             $17 = i₁
-   86. copy_slot_unmasked             $18 = kTen
-   87. cmplt_int                      $17 = lessThan($17, $18)
-   88. merge_loop_mask                LoopMask &= $17
-   89. stack_rewind
-   90. branch_if_any_lanes_active     branch_if_any_lanes_active -25 (label 16 at #65)
-   91. label                          label 0x0000000E
-   92. load_loop_mask                 LoopMask = $16
-   93. copy_slot_unmasked             $16 = sum
-   94. label                          label 0x0000000D
-   95. copy_constant                  $17 = 0x00000023 (4.904545e-44)
-   96. cmpeq_int                      $16 = equal($16, $17)
-   97. copy_slot_masked               $15 = Mask($16)
-   98. label                          label 0x00000008
-   99. load_condition_mask            CondMask = $66
-  100. zero_slot_unmasked             $61 = 0
-  101. merge_condition_mask           CondMask = $14 & $15
-  102. branch_if_no_lanes_active      branch_if_no_lanes_active +38 (label 7 at #140)
-  103. copy_constant                  five₃ = 0x00000005 (7.006492e-45)
-  104. zero_slot_unmasked             sum₁ = 0
-  105. copy_constant                  kOne = 0x00000001 (1.401298e-45)
-  106. zero_slot_unmasked             i₂ = 0
-  107. store_loop_mask                $62 = LoopMask
-  108. jump                           jump +18 (label 19 at #126)
-  109. label                          label 0x00000014
-  110. store_condition_mask           $63 = CondMask
-  111. copy_slot_unmasked             $64 = five₃
-  112. copy_slot_unmasked             $65 = i₂
-  113. cmplt_int                      $64 = lessThan($64, $65)
-  114. merge_condition_mask           CondMask = $63 & $64
-  115. branch_if_all_lanes_active     branch_if_all_lanes_active +18 (label 18 at #133)
-  116. mask_off_loop_mask             LoopMask &= ~(CondMask & LoopMask & RetMask)
-  117. load_condition_mask            CondMask = $63
-  118. copy_slot_unmasked             $63 = sum₁
-  119. copy_slot_unmasked             $64 = i₂
-  120. add_int                        $63 += $64
-  121. copy_slot_masked               sum₁ = Mask($63)
-  122. copy_slot_unmasked             $63 = i₂
-  123. copy_slot_unmasked             $64 = kOne
-  124. add_int                        $63 += $64
-  125. copy_slot_masked               i₂ = Mask($63)
-  126. label                          label 0x00000013
-  127. copy_slot_unmasked             $63 = i₂
-  128. copy_constant                  $64 = 0x0000000A (1.401298e-44)
-  129. cmplt_int                      $63 = lessThan($63, $64)
-  130. merge_loop_mask                LoopMask &= $63
-  131. stack_rewind
-  132. branch_if_any_lanes_active     branch_if_any_lanes_active -23 (label 20 at #109)
-  133. label                          label 0x00000012
-  134. load_loop_mask                 LoopMask = $62
-  135. copy_slot_unmasked             $62 = sum₁
-  136. label                          label 0x00000011
-  137. copy_constant                  $63 = 0x0000000F (2.101948e-44)
-  138. cmpeq_int                      $62 = equal($62, $63)
-  139. copy_slot_masked               $61 = Mask($62)
-  140. label                          label 0x00000007
-  141. load_condition_mask            CondMask = $14
-  142. zero_slot_unmasked             $73 = 0
-  143. merge_condition_mask           CondMask = $60 & $61
-  144. branch_if_no_lanes_active      branch_if_no_lanes_active +28 (label 6 at #172)
-  145. copy_constant                  $74 = 0x00000009 (1.261169e-44)
-  146. swizzle_4                      $74..77 = ($74..77).xxxx
-  147. copy_4_slots_unmasked          result = $74..77
-  148. branch_if_no_lanes_active      branch_if_no_lanes_active +13 (label 22 at #161)
-  149. copy_constant                  i₃ = 0x00000001 (1.401298e-45)
-  150. label                          label 0x00000017
-  151. copy_4_slots_unmasked          $74..77 = result(1..3), i₃
-  152. copy_4_slots_masked            result = Mask($74..77)
-  153. copy_slot_unmasked             $74 = i₃
-  154. copy_constant                  $75 = 0x00000001 (1.401298e-45)
-  155. add_int                        $74 += $75
-  156. copy_slot_masked               i₃ = Mask($74)
-  157. copy_constant                  $75 = 0x00000003 (4.203895e-45)
-  158. cmple_int                      $74 = lessThanEqual($74, $75)
-  159. stack_rewind
-  160. branch_if_no_active_lanes_eq   branch -10 (label 23 at #150) if no lanes of $74 == 0x00000000 (0.0)
-  161. label                          label 0x00000016
-  162. copy_4_slots_unmasked          $74..77 = result
-  163. copy_constant                  $78 = 0x00000009 (1.261169e-44)
-  164. copy_constant                  $79 = 0x00000001 (1.401298e-45)
-  165. copy_constant                  $80 = 0x00000002 (2.802597e-45)
-  166. copy_constant                  $81 = 0x00000003 (4.203895e-45)
-  167. cmpeq_4_ints                   $74..77 = equal($74..77, $78..81)
-  168. bitwise_and_2_ints             $74..75 &= $76..77
-  169. bitwise_and_int                $74 &= $75
-  170. label                          label 0x00000015
-  171. copy_slot_masked               $73 = Mask($74)
-  172. label                          label 0x00000006
-  173. load_condition_mask            CondMask = $60
-  174. zero_slot_unmasked             $31 = 0
-  175. merge_condition_mask           CondMask = $72 & $73
-  176. branch_if_no_lanes_active      branch_if_no_lanes_active +28 (label 5 at #204)
-  177. copy_constant                  $32 = 0x00000009 (1.261169e-44)
-  178. swizzle_4                      $32..35 = ($32..35).xxxx
-  179. copy_4_slots_unmasked          result₁ = $32..35
-  180. branch_if_no_lanes_active      branch_if_no_lanes_active +13 (label 25 at #193)
-  181. copy_constant                  i₄ = 0x00000001 (1.401298e-45)
-  182. label                          label 0x0000001A
-  183. copy_4_slots_unmasked          $32..35 = result₁(1..3), i₄
-  184. copy_4_slots_masked            result₁ = Mask($32..35)
-  185. copy_slot_unmasked             $32 = i₄
-  186. copy_constant                  $33 = 0x00000001 (1.401298e-45)
-  187. add_int                        $32 += $33
-  188. copy_slot_masked               i₄ = Mask($32)
-  189. copy_constant                  $33 = 0x00000004 (5.605194e-45)
-  190. cmplt_int                      $32 = lessThan($32, $33)
-  191. stack_rewind
-  192. branch_if_no_active_lanes_eq   branch -10 (label 26 at #182) if no lanes of $32 == 0x00000000 (0.0)
-  193. label                          label 0x00000019
-  194. copy_4_slots_unmasked          $32..35 = result₁
-  195. copy_constant                  $36 = 0x00000009 (1.261169e-44)
-  196. copy_constant                  $37 = 0x00000001 (1.401298e-45)
-  197. copy_constant                  $38 = 0x00000002 (2.802597e-45)
-  198. copy_constant                  $39 = 0x00000003 (4.203895e-45)
-  199. cmpeq_4_ints                   $32..35 = equal($32..35, $36..39)
-  200. bitwise_and_2_ints             $32..33 &= $34..35
-  201. bitwise_and_int                $32 &= $33
-  202. label                          label 0x00000018
-  203. copy_slot_masked               $31 = Mask($32)
-  204. label                          label 0x00000005
-  205. load_condition_mask            CondMask = $72
-  206. zero_slot_unmasked             $51 = 0
-  207. merge_condition_mask           CondMask = $30 & $31
-  208. branch_if_no_lanes_active      branch_if_no_lanes_active +29 (label 4 at #237)
-  209. copy_constant                  $52 = 0x00000009 (1.261169e-44)
-  210. swizzle_4                      $52..55 = ($52..55).xxxx
-  211. copy_4_slots_unmasked          result₂ = $52..55
-  212. branch_if_no_lanes_active      branch_if_no_lanes_active +14 (label 28 at #226)
-  213. copy_constant                  i₅ = 0x00000003 (4.203895e-45)
-  214. label                          label 0x0000001D
-  215. copy_4_slots_unmasked          $52..55 = result₂(1..3), i₅
-  216. copy_4_slots_masked            result₂ = Mask($52..55)
-  217. copy_slot_unmasked             $52 = i₅
-  218. copy_constant                  $53 = 0x00000001 (1.401298e-45)
-  219. sub_int                        $52 -= $53
-  220. copy_slot_masked               i₅ = Mask($52)
-  221. copy_constant                  $52 = 0x00000001 (1.401298e-45)
-  222. copy_slot_unmasked             $53 = i₅
-  223. cmple_int                      $52 = lessThanEqual($52, $53)
-  224. stack_rewind
-  225. branch_if_no_active_lanes_eq   branch -11 (label 29 at #214) if no lanes of $52 == 0x00000000 (0.0)
-  226. label                          label 0x0000001C
-  227. copy_4_slots_unmasked          $52..55 = result₂
-  228. copy_constant                  $56 = 0x00000009 (1.261169e-44)
-  229. copy_constant                  $57 = 0x00000003 (4.203895e-45)
-  230. copy_constant                  $58 = 0x00000002 (2.802597e-45)
-  231. copy_constant                  $59 = 0x00000001 (1.401298e-45)
-  232. cmpeq_4_ints                   $52..55 = equal($52..55, $56..59)
-  233. bitwise_and_2_ints             $52..53 &= $54..55
-  234. bitwise_and_int                $52 &= $53
-  235. label                          label 0x0000001B
-  236. copy_slot_masked               $51 = Mask($52)
-  237. label                          label 0x00000004
-  238. load_condition_mask            CondMask = $30
-  239. zero_slot_unmasked             $41 = 0
-  240. merge_condition_mask           CondMask = $50 & $51
-  241. branch_if_no_lanes_active      branch_if_no_lanes_active +29 (label 3 at #270)
-  242. copy_constant                  $42 = 0x00000009 (1.261169e-44)
-  243. swizzle_4                      $42..45 = ($42..45).xxxx
-  244. copy_4_slots_unmasked          result₃ = $42..45
-  245. branch_if_no_lanes_active      branch_if_no_lanes_active +14 (label 31 at #259)
-  246. copy_constant                  i₆ = 0x00000003 (4.203895e-45)
-  247. label                          label 0x00000020
-  248. copy_4_slots_unmasked          $42..45 = result₃(1..3), i₆
-  249. copy_4_slots_masked            result₃ = Mask($42..45)
-  250. copy_slot_unmasked             $42 = i₆
-  251. copy_constant                  $43 = 0x00000001 (1.401298e-45)
-  252. sub_int                        $42 -= $43
-  253. copy_slot_masked               i₆ = Mask($42)
-  254. zero_slot_unmasked             $42 = 0
-  255. copy_slot_unmasked             $43 = i₆
-  256. cmplt_int                      $42 = lessThan($42, $43)
-  257. stack_rewind
-  258. branch_if_no_active_lanes_eq   branch -11 (label 32 at #247) if no lanes of $42 == 0x00000000 (0.0)
-  259. label                          label 0x0000001F
-  260. copy_4_slots_unmasked          $42..45 = result₃
-  261. copy_constant                  $46 = 0x00000009 (1.261169e-44)
-  262. copy_constant                  $47 = 0x00000003 (4.203895e-45)
-  263. copy_constant                  $48 = 0x00000002 (2.802597e-45)
-  264. copy_constant                  $49 = 0x00000001 (1.401298e-45)
-  265. cmpeq_4_ints                   $42..45 = equal($42..45, $46..49)
-  266. bitwise_and_2_ints             $42..43 &= $44..45
-  267. bitwise_and_int                $42 &= $43
-  268. label                          label 0x0000001E
-  269. copy_slot_masked               $41 = Mask($42)
-  270. label                          label 0x00000003
-  271. load_condition_mask            CondMask = $50
-  272. zero_slot_unmasked             $21 = 0
-  273. merge_condition_mask           CondMask = $40 & $41
-  274. branch_if_no_lanes_active      branch_if_no_lanes_active +20 (label 2 at #294)
-  275. copy_constant                  $22 = 0x00000009 (1.261169e-44)
-  276. swizzle_4                      $22..25 = ($22..25).xxxx
-  277. copy_4_slots_unmasked          result₄ = $22..25
-  278. branch_if_no_lanes_active      branch_if_no_lanes_active +5 (label 34 at #283)
-  279. copy_constant                  i₇ = 0x00000001 (1.401298e-45)
-  280. label                          label 0x00000023
-  281. copy_4_slots_unmasked          $22..25 = result₄(1..3), i₇
-  282. copy_4_slots_masked            result₄ = Mask($22..25)
-  283. label                          label 0x00000022
-  284. copy_4_slots_unmasked          $22..25 = result₄
-  285. copy_constant                  $26 = 0x00000009 (1.261169e-44)
-  286. copy_constant                  $27 = 0x00000009 (1.261169e-44)
-  287. copy_constant                  $28 = 0x00000009 (1.261169e-44)
-  288. copy_constant                  $29 = 0x00000001 (1.401298e-45)
-  289. cmpeq_4_ints                   $22..25 = equal($22..25, $26..29)
-  290. bitwise_and_2_ints             $22..23 &= $24..25
-  291. bitwise_and_int                $22 &= $23
-  292. label                          label 0x00000021
-  293. copy_slot_masked               $21 = Mask($22)
-  294. label                          label 0x00000002
-  295. load_condition_mask            CondMask = $40
-  296. zero_slot_unmasked             $0 = 0
-  297. merge_condition_mask           CondMask = $20 & $21
-  298. branch_if_no_lanes_active      branch_if_no_lanes_active +28 (label 1 at #326)
-  299. copy_constant                  $1 = 0x00000009 (1.261169e-44)
-  300. swizzle_4                      $1..4 = ($1..4).xxxx
-  301. copy_4_slots_unmasked          result₅ = $1..4
-  302. branch_if_no_lanes_active      branch_if_no_lanes_active +13 (label 37 at #315)
-  303. copy_constant                  i₈ = 0x00000001 (1.401298e-45)
-  304. label                          label 0x00000026
-  305. copy_4_slots_unmasked          $1..4 = result₅(1..3), i₈
-  306. copy_4_slots_masked            result₅ = Mask($1..4)
-  307. copy_slot_unmasked             $1 = i₈
-  308. copy_constant                  $2 = 0x00000001 (1.401298e-45)
-  309. add_int                        $1 += $2
-  310. copy_slot_masked               i₈ = Mask($1)
-  311. copy_constant                  $2 = 0x00000004 (5.605194e-45)
-  312. cmpne_int                      $1 = notEqual($1, $2)
-  313. stack_rewind
-  314. branch_if_no_active_lanes_eq   branch -10 (label 38 at #304) if no lanes of $1 == 0x00000000 (0.0)
-  315. label                          label 0x00000025
-  316. copy_4_slots_unmasked          $1..4 = result₅
-  317. copy_constant                  $5 = 0x00000009 (1.261169e-44)
-  318. copy_constant                  $6 = 0x00000001 (1.401298e-45)
-  319. copy_constant                  $7 = 0x00000002 (2.802597e-45)
-  320. copy_constant                  $8 = 0x00000003 (4.203895e-45)
-  321. cmpeq_4_ints                   $1..4 = equal($1..4, $5..8)
-  322. bitwise_and_2_ints             $1..2 &= $3..4
-  323. bitwise_and_int                $1 &= $2
-  324. label                          label 0x00000024
-  325. copy_slot_masked               $0 = Mask($1)
-  326. label                          label 0x00000001
-  327. load_condition_mask            CondMask = $20
-  328. swizzle_4                      $0..3 = ($0..3).xxxx
-  329. copy_4_constants               $4..7 = colorRed
-  330. copy_4_constants               $8..11 = colorGreen
-  331. mix_4_ints                     $0..3 = mix($4..7, $8..11, $0..3)
-  332. load_src                       src.rgba = $0..3
+    1. store_src                      $26..29 = src.rgba
+    2. copy_constant                  $28 = 0x3F000000 (0.5)
+    3. copy_constant                  $29 = 0x3F000000 (0.5)
+    4. cmpeq_2_floats                 $26..27 = equal($26..27, $28..29)
+    5. bitwise_and_int                $26 &= $27
+    6. store_src_rg                   pos = src.rg
+    7. init_lane_masks                CondMask = LoopMask = RetMask = true
+    8. zero_slot_unmasked             kZero = 0
+    9. copy_constant                  kTen = 0x0000000A (1.401298e-44)
+   10. copy_slot_unmasked             $2 = pos(0)
+   11. copy_constant                  $3 = colorGreen(1)
+   12. max_float                      $2 = max($2, $3)
+   13. copy_constant                  $3 = colorGreen(3)
+   14. min_float                      $2 = min($2, $3)
+   15. cast_to_int_from_float         $2 = FloatToInt($2)
+   16. copy_constant                  $3 = 0x00000005 (7.006492e-45)
+   17. mul_int                        $2 *= $3
+   18. copy_slot_unmasked             five = $2
+   19. store_condition_mask           $40 = CondMask
+   20. store_condition_mask           $50 = CondMask
+   21. store_condition_mask           $30 = CondMask
+   22. store_condition_mask           $76 = CondMask
+   23. store_condition_mask           $60 = CondMask
+   24. store_condition_mask           $20 = CondMask
+   25. store_condition_mask           $70 = CondMask
+   26. store_condition_mask           $14 = CondMask
+   27. branch_if_no_lanes_active      branch_if_no_lanes_active +33 (label 9 at #60)
+   28. store_return_mask              $15 = RetMask
+   29. copy_slot_unmasked             five₁ = five
+   30. copy_slot_unmasked             i = kZero
+   31. store_loop_mask                $16 = LoopMask
+   32. jump                           jump +15 (label 11 at #47)
+   33. label                          label 0x0000000C
+   34. store_condition_mask           $17 = CondMask
+   35. copy_slot_unmasked             $18 = i
+   36. copy_slot_unmasked             $19 = five₁
+   37. cmpeq_int                      $18 = equal($18, $19)
+   38. merge_condition_mask           CondMask = $17 & $18
+   39. copy_slot_unmasked             $19 = i
+   40. copy_slot_masked               [return_loop].result = Mask($19)
+   41. mask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
+   42. load_condition_mask            CondMask = $17
+   43. copy_slot_unmasked             $17 = i
+   44. copy_constant                  $18 = 0x00000001 (1.401298e-45)
+   45. add_int                        $17 += $18
+   46. copy_slot_masked               i = Mask($17)
+   47. label                          label 0x0000000B
+   48. copy_slot_unmasked             $17 = i
+   49. copy_constant                  $18 = 0x0000000A (1.401298e-44)
+   50. cmplt_int                      $17 = lessThan($17, $18)
+   51. merge_loop_mask                LoopMask &= $17
+   52. stack_rewind
+   53. branch_if_any_lanes_active     branch_if_any_lanes_active -20 (label 12 at #33)
+   54. label                          label 0x0000000A
+   55. load_loop_mask                 LoopMask = $16
+   56. zero_slot_unmasked             $16 = 0
+   57. copy_slot_masked               [return_loop].result = Mask($16)
+   58. load_return_mask               RetMask = $15
+   59. copy_slot_unmasked             $15 = [return_loop].result
+   60. label                          label 0x00000009
+   61. copy_constant                  $16 = 0x00000005 (7.006492e-45)
+   62. cmpeq_int                      $15 = equal($15, $16)
+   63. zero_slot_unmasked             $71 = 0
+   64. merge_condition_mask           CondMask = $14 & $15
+   65. branch_if_no_lanes_active      branch_if_no_lanes_active +38 (label 8 at #103)
+   66. copy_slot_unmasked             five₂ = five
+   67. zero_2_slots_unmasked          sum, i₁ = 0
+   68. store_loop_mask                $72 = LoopMask
+   69. jump                           jump +20 (label 15 at #89)
+   70. label                          label 0x00000010
+   71. zero_slot_unmasked             $0 = 0
+   72. store_condition_mask           $73 = CondMask
+   73. copy_slot_unmasked             $74 = i₁
+   74. copy_slot_unmasked             $75 = five₂
+   75. cmplt_int                      $74 = lessThan($74, $75)
+   76. merge_condition_mask           CondMask = $73 & $74
+   77. copy_constant                  $1 = 0xFFFFFFFF
+   78. copy_slot_masked               $0 = Mask($1)
+   79. mask_off_loop_mask             LoopMask &= ~(CondMask & LoopMask & RetMask)
+   80. load_condition_mask            CondMask = $73
+   81. copy_2_slots_unmasked          $73..74 = sum, i₁
+   82. add_int                        $73 += $74
+   83. copy_slot_masked               sum = Mask($73)
+   84. reenable_loop_mask             LoopMask |= $0
+   85. copy_slot_unmasked             $73 = i₁
+   86. copy_constant                  $74 = 0x00000001 (1.401298e-45)
+   87. add_int                        $73 += $74
+   88. copy_slot_masked               i₁ = Mask($73)
+   89. label                          label 0x0000000F
+   90. copy_slot_unmasked             $73 = i₁
+   91. copy_slot_unmasked             $74 = kTen
+   92. cmplt_int                      $73 = lessThan($73, $74)
+   93. merge_loop_mask                LoopMask &= $73
+   94. stack_rewind
+   95. branch_if_any_lanes_active     branch_if_any_lanes_active -25 (label 16 at #70)
+   96. label                          label 0x0000000E
+   97. load_loop_mask                 LoopMask = $72
+   98. copy_slot_unmasked             $72 = sum
+   99. label                          label 0x0000000D
+  100. copy_constant                  $73 = 0x00000023 (4.904545e-44)
+  101. cmpeq_int                      $72 = equal($72, $73)
+  102. copy_slot_masked               $71 = Mask($72)
+  103. label                          label 0x00000008
+  104. load_condition_mask            CondMask = $14
+  105. zero_slot_unmasked             $21 = 0
+  106. merge_condition_mask           CondMask = $70 & $71
+  107. branch_if_no_lanes_active      branch_if_no_lanes_active +38 (label 7 at #145)
+  108. copy_constant                  five₃ = 0x00000005 (7.006492e-45)
+  109. zero_slot_unmasked             sum₁ = 0
+  110. copy_constant                  kOne = 0x00000001 (1.401298e-45)
+  111. zero_slot_unmasked             i₂ = 0
+  112. store_loop_mask                $22 = LoopMask
+  113. jump                           jump +18 (label 19 at #131)
+  114. label                          label 0x00000014
+  115. store_condition_mask           $23 = CondMask
+  116. copy_slot_unmasked             $24 = five₃
+  117. copy_slot_unmasked             $25 = i₂
+  118. cmplt_int                      $24 = lessThan($24, $25)
+  119. merge_condition_mask           CondMask = $23 & $24
+  120. branch_if_all_lanes_active     branch_if_all_lanes_active +18 (label 18 at #138)
+  121. mask_off_loop_mask             LoopMask &= ~(CondMask & LoopMask & RetMask)
+  122. load_condition_mask            CondMask = $23
+  123. copy_slot_unmasked             $23 = sum₁
+  124. copy_slot_unmasked             $24 = i₂
+  125. add_int                        $23 += $24
+  126. copy_slot_masked               sum₁ = Mask($23)
+  127. copy_slot_unmasked             $23 = i₂
+  128. copy_slot_unmasked             $24 = kOne
+  129. add_int                        $23 += $24
+  130. copy_slot_masked               i₂ = Mask($23)
+  131. label                          label 0x00000013
+  132. copy_slot_unmasked             $23 = i₂
+  133. copy_constant                  $24 = 0x0000000A (1.401298e-44)
+  134. cmplt_int                      $23 = lessThan($23, $24)
+  135. merge_loop_mask                LoopMask &= $23
+  136. stack_rewind
+  137. branch_if_any_lanes_active     branch_if_any_lanes_active -23 (label 20 at #114)
+  138. label                          label 0x00000012
+  139. load_loop_mask                 LoopMask = $22
+  140. copy_slot_unmasked             $22 = sum₁
+  141. label                          label 0x00000011
+  142. copy_constant                  $23 = 0x0000000F (2.101948e-44)
+  143. cmpeq_int                      $22 = equal($22, $23)
+  144. copy_slot_masked               $21 = Mask($22)
+  145. label                          label 0x00000007
+  146. load_condition_mask            CondMask = $70
+  147. zero_slot_unmasked             $61 = 0
+  148. merge_condition_mask           CondMask = $20 & $21
+  149. branch_if_no_lanes_active      branch_if_no_lanes_active +28 (label 6 at #177)
+  150. copy_constant                  $62 = 0x00000009 (1.261169e-44)
+  151. swizzle_4                      $62..65 = ($62..65).xxxx
+  152. copy_4_slots_unmasked          result = $62..65
+  153. branch_if_no_lanes_active      branch_if_no_lanes_active +13 (label 22 at #166)
+  154. copy_constant                  i₃ = 0x00000001 (1.401298e-45)
+  155. label                          label 0x00000017
+  156. copy_4_slots_unmasked          $62..65 = result(1..3), i₃
+  157. copy_4_slots_masked            result = Mask($62..65)
+  158. copy_slot_unmasked             $62 = i₃
+  159. copy_constant                  $63 = 0x00000001 (1.401298e-45)
+  160. add_int                        $62 += $63
+  161. copy_slot_masked               i₃ = Mask($62)
+  162. copy_constant                  $63 = 0x00000003 (4.203895e-45)
+  163. cmple_int                      $62 = lessThanEqual($62, $63)
+  164. stack_rewind
+  165. branch_if_no_active_lanes_eq   branch -10 (label 23 at #155) if no lanes of $62 == 0x00000000 (0.0)
+  166. label                          label 0x00000016
+  167. copy_4_slots_unmasked          $62..65 = result
+  168. copy_constant                  $66 = 0x00000009 (1.261169e-44)
+  169. copy_constant                  $67 = 0x00000001 (1.401298e-45)
+  170. copy_constant                  $68 = 0x00000002 (2.802597e-45)
+  171. copy_constant                  $69 = 0x00000003 (4.203895e-45)
+  172. cmpeq_4_ints                   $62..65 = equal($62..65, $66..69)
+  173. bitwise_and_2_ints             $62..63 &= $64..65
+  174. bitwise_and_int                $62 &= $63
+  175. label                          label 0x00000015
+  176. copy_slot_masked               $61 = Mask($62)
+  177. label                          label 0x00000006
+  178. load_condition_mask            CondMask = $20
+  179. zero_slot_unmasked             $77 = 0
+  180. merge_condition_mask           CondMask = $60 & $61
+  181. branch_if_no_lanes_active      branch_if_no_lanes_active +28 (label 5 at #209)
+  182. copy_constant                  $78 = 0x00000009 (1.261169e-44)
+  183. swizzle_4                      $78..81 = ($78..81).xxxx
+  184. copy_4_slots_unmasked          result₁ = $78..81
+  185. branch_if_no_lanes_active      branch_if_no_lanes_active +13 (label 25 at #198)
+  186. copy_constant                  i₄ = 0x00000001 (1.401298e-45)
+  187. label                          label 0x0000001A
+  188. copy_4_slots_unmasked          $78..81 = result₁(1..3), i₄
+  189. copy_4_slots_masked            result₁ = Mask($78..81)
+  190. copy_slot_unmasked             $78 = i₄
+  191. copy_constant                  $79 = 0x00000001 (1.401298e-45)
+  192. add_int                        $78 += $79
+  193. copy_slot_masked               i₄ = Mask($78)
+  194. copy_constant                  $79 = 0x00000004 (5.605194e-45)
+  195. cmplt_int                      $78 = lessThan($78, $79)
+  196. stack_rewind
+  197. branch_if_no_active_lanes_eq   branch -10 (label 26 at #187) if no lanes of $78 == 0x00000000 (0.0)
+  198. label                          label 0x00000019
+  199. copy_4_slots_unmasked          $78..81 = result₁
+  200. copy_constant                  $82 = 0x00000009 (1.261169e-44)
+  201. copy_constant                  $83 = 0x00000001 (1.401298e-45)
+  202. copy_constant                  $84 = 0x00000002 (2.802597e-45)
+  203. copy_constant                  $85 = 0x00000003 (4.203895e-45)
+  204. cmpeq_4_ints                   $78..81 = equal($78..81, $82..85)
+  205. bitwise_and_2_ints             $78..79 &= $80..81
+  206. bitwise_and_int                $78 &= $79
+  207. label                          label 0x00000018
+  208. copy_slot_masked               $77 = Mask($78)
+  209. label                          label 0x00000005
+  210. load_condition_mask            CondMask = $60
+  211. zero_slot_unmasked             $31 = 0
+  212. merge_condition_mask           CondMask = $76 & $77
+  213. branch_if_no_lanes_active      branch_if_no_lanes_active +29 (label 4 at #242)
+  214. copy_constant                  $32 = 0x00000009 (1.261169e-44)
+  215. swizzle_4                      $32..35 = ($32..35).xxxx
+  216. copy_4_slots_unmasked          result₂ = $32..35
+  217. branch_if_no_lanes_active      branch_if_no_lanes_active +14 (label 28 at #231)
+  218. copy_constant                  i₅ = 0x00000003 (4.203895e-45)
+  219. label                          label 0x0000001D
+  220. copy_4_slots_unmasked          $32..35 = result₂(1..3), i₅
+  221. copy_4_slots_masked            result₂ = Mask($32..35)
+  222. copy_slot_unmasked             $32 = i₅
+  223. copy_constant                  $33 = 0x00000001 (1.401298e-45)
+  224. sub_int                        $32 -= $33
+  225. copy_slot_masked               i₅ = Mask($32)
+  226. copy_constant                  $32 = 0x00000001 (1.401298e-45)
+  227. copy_slot_unmasked             $33 = i₅
+  228. cmple_int                      $32 = lessThanEqual($32, $33)
+  229. stack_rewind
+  230. branch_if_no_active_lanes_eq   branch -11 (label 29 at #219) if no lanes of $32 == 0x00000000 (0.0)
+  231. label                          label 0x0000001C
+  232. copy_4_slots_unmasked          $32..35 = result₂
+  233. copy_constant                  $36 = 0x00000009 (1.261169e-44)
+  234. copy_constant                  $37 = 0x00000003 (4.203895e-45)
+  235. copy_constant                  $38 = 0x00000002 (2.802597e-45)
+  236. copy_constant                  $39 = 0x00000001 (1.401298e-45)
+  237. cmpeq_4_ints                   $32..35 = equal($32..35, $36..39)
+  238. bitwise_and_2_ints             $32..33 &= $34..35
+  239. bitwise_and_int                $32 &= $33
+  240. label                          label 0x0000001B
+  241. copy_slot_masked               $31 = Mask($32)
+  242. label                          label 0x00000004
+  243. load_condition_mask            CondMask = $76
+  244. zero_slot_unmasked             $51 = 0
+  245. merge_condition_mask           CondMask = $30 & $31
+  246. branch_if_no_lanes_active      branch_if_no_lanes_active +29 (label 3 at #275)
+  247. copy_constant                  $52 = 0x00000009 (1.261169e-44)
+  248. swizzle_4                      $52..55 = ($52..55).xxxx
+  249. copy_4_slots_unmasked          result₃ = $52..55
+  250. branch_if_no_lanes_active      branch_if_no_lanes_active +14 (label 31 at #264)
+  251. copy_constant                  i₆ = 0x00000003 (4.203895e-45)
+  252. label                          label 0x00000020
+  253. copy_4_slots_unmasked          $52..55 = result₃(1..3), i₆
+  254. copy_4_slots_masked            result₃ = Mask($52..55)
+  255. copy_slot_unmasked             $52 = i₆
+  256. copy_constant                  $53 = 0x00000001 (1.401298e-45)
+  257. sub_int                        $52 -= $53
+  258. copy_slot_masked               i₆ = Mask($52)
+  259. zero_slot_unmasked             $52 = 0
+  260. copy_slot_unmasked             $53 = i₆
+  261. cmplt_int                      $52 = lessThan($52, $53)
+  262. stack_rewind
+  263. branch_if_no_active_lanes_eq   branch -11 (label 32 at #252) if no lanes of $52 == 0x00000000 (0.0)
+  264. label                          label 0x0000001F
+  265. copy_4_slots_unmasked          $52..55 = result₃
+  266. copy_constant                  $56 = 0x00000009 (1.261169e-44)
+  267. copy_constant                  $57 = 0x00000003 (4.203895e-45)
+  268. copy_constant                  $58 = 0x00000002 (2.802597e-45)
+  269. copy_constant                  $59 = 0x00000001 (1.401298e-45)
+  270. cmpeq_4_ints                   $52..55 = equal($52..55, $56..59)
+  271. bitwise_and_2_ints             $52..53 &= $54..55
+  272. bitwise_and_int                $52 &= $53
+  273. label                          label 0x0000001E
+  274. copy_slot_masked               $51 = Mask($52)
+  275. label                          label 0x00000003
+  276. load_condition_mask            CondMask = $30
+  277. zero_slot_unmasked             $41 = 0
+  278. merge_condition_mask           CondMask = $50 & $51
+  279. branch_if_no_lanes_active      branch_if_no_lanes_active +20 (label 2 at #299)
+  280. copy_constant                  $42 = 0x00000009 (1.261169e-44)
+  281. swizzle_4                      $42..45 = ($42..45).xxxx
+  282. copy_4_slots_unmasked          result₄ = $42..45
+  283. branch_if_no_lanes_active      branch_if_no_lanes_active +5 (label 34 at #288)
+  284. copy_constant                  i₇ = 0x00000001 (1.401298e-45)
+  285. label                          label 0x00000023
+  286. copy_4_slots_unmasked          $42..45 = result₄(1..3), i₇
+  287. copy_4_slots_masked            result₄ = Mask($42..45)
+  288. label                          label 0x00000022
+  289. copy_4_slots_unmasked          $42..45 = result₄
+  290. copy_constant                  $46 = 0x00000009 (1.261169e-44)
+  291. copy_constant                  $47 = 0x00000009 (1.261169e-44)
+  292. copy_constant                  $48 = 0x00000009 (1.261169e-44)
+  293. copy_constant                  $49 = 0x00000001 (1.401298e-45)
+  294. cmpeq_4_ints                   $42..45 = equal($42..45, $46..49)
+  295. bitwise_and_2_ints             $42..43 &= $44..45
+  296. bitwise_and_int                $42 &= $43
+  297. label                          label 0x00000021
+  298. copy_slot_masked               $41 = Mask($42)
+  299. label                          label 0x00000002
+  300. load_condition_mask            CondMask = $50
+  301. zero_slot_unmasked             $2 = 0
+  302. merge_condition_mask           CondMask = $40 & $41
+  303. branch_if_no_lanes_active      branch_if_no_lanes_active +28 (label 1 at #331)
+  304. copy_constant                  $3 = 0x00000009 (1.261169e-44)
+  305. swizzle_4                      $3..6 = ($3..6).xxxx
+  306. copy_4_slots_unmasked          result₅ = $3..6
+  307. branch_if_no_lanes_active      branch_if_no_lanes_active +13 (label 37 at #320)
+  308. copy_constant                  i₈ = 0x00000001 (1.401298e-45)
+  309. label                          label 0x00000026
+  310. copy_4_slots_unmasked          $3..6 = result₅(1..3), i₈
+  311. copy_4_slots_masked            result₅ = Mask($3..6)
+  312. copy_slot_unmasked             $3 = i₈
+  313. copy_constant                  $4 = 0x00000001 (1.401298e-45)
+  314. add_int                        $3 += $4
+  315. copy_slot_masked               i₈ = Mask($3)
+  316. copy_constant                  $4 = 0x00000004 (5.605194e-45)
+  317. cmpne_int                      $3 = notEqual($3, $4)
+  318. stack_rewind
+  319. branch_if_no_active_lanes_eq   branch -10 (label 38 at #309) if no lanes of $3 == 0x00000000 (0.0)
+  320. label                          label 0x00000025
+  321. copy_4_slots_unmasked          $3..6 = result₅
+  322. copy_constant                  $7 = 0x00000009 (1.261169e-44)
+  323. copy_constant                  $8 = 0x00000001 (1.401298e-45)
+  324. copy_constant                  $9 = 0x00000002 (2.802597e-45)
+  325. copy_constant                  $10 = 0x00000003 (4.203895e-45)
+  326. cmpeq_4_ints                   $3..6 = equal($3..6, $7..10)
+  327. bitwise_and_2_ints             $3..4 &= $5..6
+  328. bitwise_and_int                $3 &= $4
+  329. label                          label 0x00000024
+  330. copy_slot_masked               $2 = Mask($3)
+  331. label                          label 0x00000001
+  332. load_condition_mask            CondMask = $40
+  333. swizzle_4                      $2..5 = ($2..5).xxxx
+  334. copy_4_constants               $6..9 = colorRed
+  335. copy_4_constants               $10..13 = colorGreen
+  336. mix_4_ints                     $2..5 = mix($6..9, $10..13, $2..5)
+  337. load_src                       src.rgba = $2..5
diff --git a/tests/sksl/runtime/MultipleCallsInOneStatement.skrp b/tests/sksl/runtime/MultipleCallsInOneStatement.skrp
index bea0f70..d14a52e 100644
--- a/tests/sksl/runtime/MultipleCallsInOneStatement.skrp
+++ b/tests/sksl/runtime/MultipleCallsInOneStatement.skrp
@@ -1,21 +1,26 @@
-    1. store_src_rg                   pos = src.rg
-    2. init_lane_masks                CondMask = LoopMask = RetMask = true
-    3. copy_constant                  x = 0x00000005 (7.006492e-45)
-    4. copy_slot_unmasked             $0 = x
-    5. label                          label 0x00000000
-    6. copy_constant                  x = 0x00000003 (4.203895e-45)
-    7. copy_slot_unmasked             $1 = x
-    8. label                          label 0x00000001
-    9. add_int                        $0 += $1
-   10. copy_constant                  x = 0x00000002 (2.802597e-45)
-   11. copy_slot_unmasked             $1 = x
-   12. label                          label 0x00000002
-   13. add_int                        $0 += $1
-   14. copy_slot_unmasked             ten = $0
-   15. copy_constant                  $1 = 0x0000000A (1.401298e-44)
-   16. cmpeq_int                      $0 = equal($0, $1)
-   17. swizzle_4                      $0..3 = ($0..3).xxxx
-   18. copy_4_constants               $4..7 = colorRed
-   19. copy_4_constants               $8..11 = colorGreen
-   20. mix_4_ints                     $0..3 = mix($4..7, $8..11, $0..3)
-   21. load_src                       src.rgba = $0..3
+    1. store_src                      $12..15 = src.rgba
+    2. copy_constant                  $14 = 0x3F000000 (0.5)
+    3. copy_constant                  $15 = 0x3F000000 (0.5)
+    4. cmpeq_2_floats                 $12..13 = equal($12..13, $14..15)
+    5. bitwise_and_int                $12 &= $13
+    6. store_src_rg                   pos = src.rg
+    7. init_lane_masks                CondMask = LoopMask = RetMask = true
+    8. copy_constant                  x = 0x00000005 (7.006492e-45)
+    9. copy_slot_unmasked             $0 = x
+   10. label                          label 0x00000000
+   11. copy_constant                  x = 0x00000003 (4.203895e-45)
+   12. copy_slot_unmasked             $1 = x
+   13. label                          label 0x00000001
+   14. add_int                        $0 += $1
+   15. copy_constant                  x = 0x00000002 (2.802597e-45)
+   16. copy_slot_unmasked             $1 = x
+   17. label                          label 0x00000002
+   18. add_int                        $0 += $1
+   19. copy_slot_unmasked             ten = $0
+   20. copy_constant                  $1 = 0x0000000A (1.401298e-44)
+   21. cmpeq_int                      $0 = equal($0, $1)
+   22. swizzle_4                      $0..3 = ($0..3).xxxx
+   23. copy_4_constants               $4..7 = colorRed
+   24. copy_4_constants               $8..11 = colorGreen
+   25. mix_4_ints                     $0..3 = mix($4..7, $8..11, $0..3)
+   26. load_src                       src.rgba = $0..3
diff --git a/tests/sksl/runtime/PrecisionQualifiers.skrp b/tests/sksl/runtime/PrecisionQualifiers.skrp
index f867df42..0d17d47 100644
--- a/tests/sksl/runtime/PrecisionQualifiers.skrp
+++ b/tests/sksl/runtime/PrecisionQualifiers.skrp
@@ -1,241 +1,246 @@
-    1. store_src_rg                   coords = src.rg
-    2. init_lane_masks                CondMask = LoopMask = RetMask = true
-    3. zero_4_slots_unmasked          zero = 0
-    4. copy_constant                  $0 = 0x3F800000 (1.0)
-    5. swizzle_4                      $0..3 = ($0..3).xxxx
-    6. copy_4_slots_unmasked          one = $0..3
-    7. copy_4_constants               $0..3 = colorGreen
-    8. copy_4_slots_unmasked          green = $0..3
-    9. copy_4_slots_unmasked          $4..7 = one
-   10. mul_4_floats                   $0..3 *= $4..7
-   11. copy_4_slots_unmasked          $4..7 = zero
-   12. add_4_floats                   $0..3 += $4..7
+    1. store_src                      $16..19 = src.rgba
+    2. copy_constant                  $18 = 0x3F000000 (0.5)
+    3. copy_constant                  $19 = 0x3F000000 (0.5)
+    4. cmpeq_2_floats                 $16..17 = equal($16..17, $18..19)
+    5. bitwise_and_int                $16 &= $17
+    6. store_src_rg                   coords = src.rg
+    7. init_lane_masks                CondMask = LoopMask = RetMask = true
+    8. zero_4_slots_unmasked          zero = 0
+    9. copy_constant                  $0 = 0x3F800000 (1.0)
+   10. swizzle_4                      $0..3 = ($0..3).xxxx
+   11. copy_4_slots_unmasked          one = $0..3
+   12. copy_4_constants               $0..3 = colorGreen
    13. copy_4_slots_unmasked          green = $0..3
-   14. copy_4_constants               $0..3 = colorRed
-   15. copy_4_slots_unmasked          red = $0..3
+   14. copy_4_slots_unmasked          $4..7 = one
+   15. mul_4_floats                   $0..3 *= $4..7
    16. copy_4_slots_unmasked          $4..7 = zero
    17. add_4_floats                   $0..3 += $4..7
-   18. copy_4_slots_unmasked          $4..7 = one
-   19. mul_4_floats                   $0..3 *= $4..7
+   18. copy_4_slots_unmasked          green = $0..3
+   19. copy_4_constants               $0..3 = colorRed
    20. copy_4_slots_unmasked          red = $0..3
-   21. store_condition_mask           $12 = CondMask
-   22. store_condition_mask           $51 = CondMask
-   23. store_condition_mask           $55 = CondMask
-   24. store_condition_mask           $16 = CondMask
-   25. store_condition_mask           $66 = CondMask
-   26. store_condition_mask           $62 = CondMask
-   27. branch_if_no_lanes_active      branch_if_no_lanes_active +10 (label 7 at #37)
-   28. copy_constant                  mp = 0x3F000000 (0.5)
-   29. copy_slot_unmasked             hp = mp
-   30. copy_constant                  ihp = 0x00000002 (2.802597e-45)
-   31. copy_slot_unmasked             imp = ihp
-   32. copy_2_slots_unmasked          $63..64 = mp, hp
-   33. cmpeq_float                    $63 = equal($63, $64)
-   34. copy_2_slots_unmasked          $64..65 = ihp, imp
-   35. cmpeq_int                      $64 = equal($64, $65)
-   36. bitwise_and_int                $63 &= $64
-   37. label                          label 0x00000007
-   38. zero_slot_unmasked             $67 = 0
-   39. merge_condition_mask           CondMask = $62 & $63
-   40. branch_if_no_lanes_active      branch_if_no_lanes_active +59 (label 6 at #99)
-   41. copy_constant                  $68 = 0x40000000 (2.0)
-   42. copy_slot_unmasked             $69 = $68
-   43. copy_2_slots_unmasked          mp2 = $68..69
-   44. copy_2_slots_unmasked          hp2 = $68..69
-   45. copy_constant                  $68 = 0x40400000 (3.0)
-   46. swizzle_3                      $68..70 = ($68..70).xxx
-   47. copy_3_slots_unmasked          mp3 = $68..70
-   48. copy_3_slots_unmasked          hp3 = $68..70
-   49. copy_constant                  $68 = 0x40800000 (4.0)
-   50. swizzle_4                      $68..71 = ($68..71).xxxx
-   51. copy_4_slots_unmasked          mp4 = $68..71
-   52. copy_4_slots_unmasked          hp4 = $68..71
-   53. copy_constant                  $68 = 0x00000002 (2.802597e-45)
-   54. copy_slot_unmasked             $69 = $68
-   55. copy_2_slots_unmasked          ihp2 = $68..69
-   56. copy_2_slots_unmasked          imp2 = $68..69
-   57. copy_constant                  $68 = 0x00000003 (4.203895e-45)
-   58. swizzle_3                      $68..70 = ($68..70).xxx
-   59. copy_3_slots_unmasked          ihp3 = $68..70
-   60. copy_3_slots_unmasked          imp3 = $68..70
-   61. copy_constant                  $68 = 0x00000004 (5.605194e-45)
-   62. swizzle_4                      $68..71 = ($68..71).xxxx
-   63. copy_4_slots_unmasked          ihp4 = $68..71
-   64. copy_4_slots_unmasked          imp4 = $68..71
-   65. copy_4_slots_unmasked          $68..71 = mp2, hp2
-   66. cmpeq_2_floats                 $68..69 = equal($68..69, $70..71)
-   67. bitwise_and_int                $68 &= $69
-   68. copy_3_slots_unmasked          $69..71 = hp3
-   69. copy_3_slots_unmasked          $72..74 = mp3
-   70. cmpeq_3_floats                 $69..71 = equal($69..71, $72..74)
-   71. bitwise_and_int                $70 &= $71
-   72. bitwise_and_int                $69 &= $70
-   73. bitwise_and_int                $68 &= $69
-   74. copy_4_slots_unmasked          $69..72 = mp4
-   75. copy_4_slots_unmasked          $73..76 = hp4
-   76. cmpeq_4_floats                 $69..72 = equal($69..72, $73..76)
-   77. bitwise_and_2_ints             $69..70 &= $71..72
-   78. bitwise_and_int                $69 &= $70
-   79. bitwise_and_int                $68 &= $69
-   80. copy_2_slots_unmasked          $69..70 = imp2
-   81. copy_2_slots_unmasked          $71..72 = ihp2
-   82. cmpeq_2_ints                   $69..70 = equal($69..70, $71..72)
-   83. bitwise_and_int                $69 &= $70
-   84. bitwise_and_int                $68 &= $69
-   85. copy_4_slots_unmasked          $69..72 = ihp3, imp3(0)
-   86. copy_2_slots_unmasked          $73..74 = imp3(1..2)
-   87. cmpeq_3_ints                   $69..71 = equal($69..71, $72..74)
-   88. bitwise_and_int                $70 &= $71
-   89. bitwise_and_int                $69 &= $70
-   90. bitwise_and_int                $68 &= $69
-   91. copy_4_slots_unmasked          $69..72 = imp4
-   92. copy_4_slots_unmasked          $73..76 = ihp4
-   93. cmpeq_4_ints                   $69..72 = equal($69..72, $73..76)
-   94. bitwise_and_2_ints             $69..70 &= $71..72
-   95. bitwise_and_int                $69 &= $70
-   96. bitwise_and_int                $68 &= $69
-   97. label                          label 0x00000008
-   98. copy_slot_masked               $67 = Mask($68)
-   99. label                          label 0x00000006
-  100. load_condition_mask            CondMask = $62
-  101. zero_slot_unmasked             $17 = 0
-  102. merge_condition_mask           CondMask = $66 & $67
-  103. branch_if_no_lanes_active      branch_if_no_lanes_active +60 (label 5 at #163)
-  104. zero_slot_unmasked             $18 = 0
-  105. copy_constant                  $19 = 0x40000000 (2.0)
-  106. swizzle_4                      $18..21 = ($18..21).yxxy
-  107. copy_4_slots_unmasked          mp2₁ = $18..21
-  108. copy_4_slots_unmasked          hp2₁ = $18..21
-  109. zero_slot_unmasked             $18 = 0
-  110. copy_constant                  $19 = 0x40400000 (3.0)
-  111. shuffle                        $18..26 = ($18..26)[1 0 0 0 1 0 0 0 1]
-  112. copy_4_slots_unmasked          mp3₁(0..3) = $18..21
-  113. copy_4_slots_unmasked          mp3₁(4..7) = $22..25
-  114. copy_slot_unmasked             mp3₁(8) = $26
-  115. copy_4_slots_unmasked          hp3₁(0..3) = $18..21
-  116. copy_4_slots_unmasked          hp3₁(4..7) = $22..25
-  117. copy_slot_unmasked             hp3₁(8) = $26
-  118. zero_slot_unmasked             $18 = 0
-  119. copy_constant                  $19 = 0x40800000 (4.0)
-  120. shuffle                        $18..33 = ($18..33)[1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1]
-  121. copy_4_slots_unmasked          mp4₁(0..3) = $18..21
-  122. copy_4_slots_unmasked          mp4₁(4..7) = $22..25
-  123. copy_4_slots_unmasked          mp4₁(8..11) = $26..29
-  124. copy_4_slots_unmasked          mp4₁(12..15) = $30..33
-  125. copy_4_slots_unmasked          hp4₁(0..3) = $18..21
-  126. copy_4_slots_unmasked          hp4₁(4..7) = $22..25
-  127. copy_4_slots_unmasked          hp4₁(8..11) = $26..29
-  128. copy_4_slots_unmasked          hp4₁(12..15) = $30..33
-  129. copy_4_slots_unmasked          $18..21 = mp2₁
-  130. copy_4_slots_unmasked          $22..25 = hp2₁
-  131. cmpeq_4_floats                 $18..21 = equal($18..21, $22..25)
-  132. bitwise_and_2_ints             $18..19 &= $20..21
-  133. bitwise_and_int                $18 &= $19
-  134. copy_4_slots_unmasked          $19..22 = hp3₁(0..3)
-  135. copy_4_slots_unmasked          $23..26 = hp3₁(4..7)
-  136. copy_slot_unmasked             $27 = hp3₁(8)
-  137. copy_4_slots_unmasked          $28..31 = mp3₁(0..3)
-  138. copy_4_slots_unmasked          $32..35 = mp3₁(4..7)
-  139. copy_slot_unmasked             $36 = mp3₁(8)
-  140. cmpeq_n_floats                 $19..27 = equal($19..27, $28..36)
-  141. bitwise_and_4_ints             $20..23 &= $24..27
-  142. bitwise_and_2_ints             $20..21 &= $22..23
-  143. bitwise_and_int                $20 &= $21
-  144. bitwise_and_int                $19 &= $20
-  145. bitwise_and_int                $18 &= $19
-  146. copy_4_slots_unmasked          $19..22 = mp4₁(0..3)
-  147. copy_4_slots_unmasked          $23..26 = mp4₁(4..7)
-  148. copy_4_slots_unmasked          $27..30 = mp4₁(8..11)
-  149. copy_4_slots_unmasked          $31..34 = mp4₁(12..15)
-  150. copy_4_slots_unmasked          $35..38 = hp4₁(0..3)
-  151. copy_4_slots_unmasked          $39..42 = hp4₁(4..7)
-  152. copy_4_slots_unmasked          $43..46 = hp4₁(8..11)
-  153. copy_4_slots_unmasked          $47..50 = hp4₁(12..15)
-  154. cmpeq_n_floats                 $19..34 = equal($19..34, $35..50)
-  155. bitwise_and_4_ints             $27..30 &= $31..34
-  156. bitwise_and_4_ints             $23..26 &= $27..30
-  157. bitwise_and_4_ints             $19..22 &= $23..26
-  158. bitwise_and_2_ints             $19..20 &= $21..22
-  159. bitwise_and_int                $19 &= $20
-  160. bitwise_and_int                $18 &= $19
-  161. label                          label 0x00000009
-  162. copy_slot_masked               $17 = Mask($18)
-  163. label                          label 0x00000005
-  164. load_condition_mask            CondMask = $66
-  165. zero_slot_unmasked             $56 = 0
-  166. merge_condition_mask           CondMask = $16 & $17
-  167. branch_if_no_lanes_active      branch_if_no_lanes_active +35 (label 4 at #202)
-  168. zero_slot_unmasked             mf[0] = 0
-  169. copy_constant                  $57 = 0x3F800000 (1.0)
-  170. copy_slot_masked               mf[0] = Mask($57)
-  171. zero_slot_unmasked             hf[0] = 0
-  172. copy_constant                  $57 = 0x3F800000 (1.0)
-  173. copy_slot_masked               hf[0] = Mask($57)
-  174. zero_4_slots_unmasked          mv[0], mv[1] = 0
-  175. zero_slot_unmasked             $57 = 0
-  176. copy_constant                  $58 = 0x3F800000 (1.0)
-  177. copy_2_slots_masked            mv[0] = Mask($57..58)
-  178. copy_constant                  $57 = 0x40000000 (2.0)
-  179. copy_constant                  $58 = 0x40400000 (3.0)
-  180. copy_2_slots_masked            mv[1] = Mask($57..58)
-  181. zero_4_slots_unmasked          hv[0], hv[1] = 0
-  182. zero_slot_unmasked             $57 = 0
-  183. copy_constant                  $58 = 0x3F800000 (1.0)
-  184. copy_2_slots_masked            hv[0] = Mask($57..58)
-  185. copy_constant                  $57 = 0x40000000 (2.0)
-  186. copy_constant                  $58 = 0x40400000 (3.0)
-  187. copy_2_slots_masked            hv[1] = Mask($57..58)
-  188. copy_2_slots_unmasked          $57..58 = mf[0], hf[0]
-  189. cmpeq_float                    $57 = equal($57, $58)
-  190. copy_2_slots_unmasked          $58..59 = hv[0]
-  191. copy_2_slots_unmasked          $60..61 = mv[0]
-  192. cmpeq_2_floats                 $58..59 = equal($58..59, $60..61)
-  193. bitwise_and_int                $58 &= $59
-  194. bitwise_and_int                $57 &= $58
-  195. copy_2_slots_unmasked          $58..59 = mv[1]
-  196. copy_2_slots_unmasked          $60..61 = hv[1]
-  197. cmpeq_2_floats                 $58..59 = equal($58..59, $60..61)
-  198. bitwise_and_int                $58 &= $59
-  199. bitwise_and_int                $57 &= $58
-  200. label                          label 0x0000000A
-  201. copy_slot_masked               $56 = Mask($57)
-  202. label                          label 0x00000004
-  203. load_condition_mask            CondMask = $16
-  204. zero_slot_unmasked             $52 = 0
-  205. merge_condition_mask           CondMask = $55 & $56
-  206. branch_if_no_lanes_active      branch_if_no_lanes_active +7 (label 3 at #213)
-  207. copy_constant                  value = 0x3F800000 (1.0)
-  208. copy_slot_unmasked             $53 = value
-  209. copy_constant                  $54 = 0x3F800000 (1.0)
-  210. cmpeq_float                    $53 = equal($53, $54)
-  211. label                          label 0x0000000B
-  212. copy_slot_masked               $52 = Mask($53)
-  213. label                          label 0x00000003
-  214. load_condition_mask            CondMask = $55
-  215. zero_slot_unmasked             $13 = 0
-  216. merge_condition_mask           CondMask = $51 & $52
-  217. branch_if_no_lanes_active      branch_if_no_lanes_active +7 (label 2 at #224)
-  218. copy_constant                  value₁ = 0x40000000 (2.0)
-  219. copy_slot_unmasked             $14 = value₁
-  220. copy_constant                  $15 = 0x40000000 (2.0)
-  221. cmpeq_float                    $14 = equal($14, $15)
-  222. label                          label 0x0000000C
-  223. copy_slot_masked               $13 = Mask($14)
-  224. label                          label 0x00000002
-  225. load_condition_mask            CondMask = $51
-  226. zero_slot_unmasked             $0 = 0
-  227. merge_condition_mask           CondMask = $12 & $13
-  228. branch_if_no_lanes_active      branch_if_no_lanes_active +7 (label 1 at #235)
-  229. copy_constant                  value₂ = 0x40400000 (3.0)
-  230. copy_slot_unmasked             $1 = value₂
-  231. copy_constant                  $2 = 0x40400000 (3.0)
-  232. cmpeq_float                    $1 = equal($1, $2)
-  233. label                          label 0x0000000D
-  234. copy_slot_masked               $0 = Mask($1)
-  235. label                          label 0x00000001
-  236. load_condition_mask            CondMask = $12
-  237. swizzle_4                      $0..3 = ($0..3).xxxx
-  238. copy_4_slots_unmasked          $4..7 = red
-  239. copy_4_slots_unmasked          $8..11 = green
-  240. mix_4_ints                     $0..3 = mix($4..7, $8..11, $0..3)
-  241. load_src                       src.rgba = $0..3
+   21. copy_4_slots_unmasked          $4..7 = zero
+   22. add_4_floats                   $0..3 += $4..7
+   23. copy_4_slots_unmasked          $4..7 = one
+   24. mul_4_floats                   $0..3 *= $4..7
+   25. copy_4_slots_unmasked          red = $0..3
+   26. store_condition_mask           $27 = CondMask
+   27. store_condition_mask           $31 = CondMask
+   28. store_condition_mask           $20 = CondMask
+   29. store_condition_mask           $46 = CondMask
+   30. store_condition_mask           $35 = CondMask
+   31. store_condition_mask           $12 = CondMask
+   32. branch_if_no_lanes_active      branch_if_no_lanes_active +10 (label 7 at #42)
+   33. copy_constant                  mp = 0x3F000000 (0.5)
+   34. copy_slot_unmasked             hp = mp
+   35. copy_constant                  ihp = 0x00000002 (2.802597e-45)
+   36. copy_slot_unmasked             imp = ihp
+   37. copy_2_slots_unmasked          $13..14 = mp, hp
+   38. cmpeq_float                    $13 = equal($13, $14)
+   39. copy_2_slots_unmasked          $14..15 = ihp, imp
+   40. cmpeq_int                      $14 = equal($14, $15)
+   41. bitwise_and_int                $13 &= $14
+   42. label                          label 0x00000007
+   43. zero_slot_unmasked             $36 = 0
+   44. merge_condition_mask           CondMask = $12 & $13
+   45. branch_if_no_lanes_active      branch_if_no_lanes_active +59 (label 6 at #104)
+   46. copy_constant                  $37 = 0x40000000 (2.0)
+   47. copy_slot_unmasked             $38 = $37
+   48. copy_2_slots_unmasked          mp2 = $37..38
+   49. copy_2_slots_unmasked          hp2 = $37..38
+   50. copy_constant                  $37 = 0x40400000 (3.0)
+   51. swizzle_3                      $37..39 = ($37..39).xxx
+   52. copy_3_slots_unmasked          mp3 = $37..39
+   53. copy_3_slots_unmasked          hp3 = $37..39
+   54. copy_constant                  $37 = 0x40800000 (4.0)
+   55. swizzle_4                      $37..40 = ($37..40).xxxx
+   56. copy_4_slots_unmasked          mp4 = $37..40
+   57. copy_4_slots_unmasked          hp4 = $37..40
+   58. copy_constant                  $37 = 0x00000002 (2.802597e-45)
+   59. copy_slot_unmasked             $38 = $37
+   60. copy_2_slots_unmasked          ihp2 = $37..38
+   61. copy_2_slots_unmasked          imp2 = $37..38
+   62. copy_constant                  $37 = 0x00000003 (4.203895e-45)
+   63. swizzle_3                      $37..39 = ($37..39).xxx
+   64. copy_3_slots_unmasked          ihp3 = $37..39
+   65. copy_3_slots_unmasked          imp3 = $37..39
+   66. copy_constant                  $37 = 0x00000004 (5.605194e-45)
+   67. swizzle_4                      $37..40 = ($37..40).xxxx
+   68. copy_4_slots_unmasked          ihp4 = $37..40
+   69. copy_4_slots_unmasked          imp4 = $37..40
+   70. copy_4_slots_unmasked          $37..40 = mp2, hp2
+   71. cmpeq_2_floats                 $37..38 = equal($37..38, $39..40)
+   72. bitwise_and_int                $37 &= $38
+   73. copy_3_slots_unmasked          $38..40 = hp3
+   74. copy_3_slots_unmasked          $41..43 = mp3
+   75. cmpeq_3_floats                 $38..40 = equal($38..40, $41..43)
+   76. bitwise_and_int                $39 &= $40
+   77. bitwise_and_int                $38 &= $39
+   78. bitwise_and_int                $37 &= $38
+   79. copy_4_slots_unmasked          $38..41 = mp4
+   80. copy_4_slots_unmasked          $42..45 = hp4
+   81. cmpeq_4_floats                 $38..41 = equal($38..41, $42..45)
+   82. bitwise_and_2_ints             $38..39 &= $40..41
+   83. bitwise_and_int                $38 &= $39
+   84. bitwise_and_int                $37 &= $38
+   85. copy_2_slots_unmasked          $38..39 = imp2
+   86. copy_2_slots_unmasked          $40..41 = ihp2
+   87. cmpeq_2_ints                   $38..39 = equal($38..39, $40..41)
+   88. bitwise_and_int                $38 &= $39
+   89. bitwise_and_int                $37 &= $38
+   90. copy_4_slots_unmasked          $38..41 = ihp3, imp3(0)
+   91. copy_2_slots_unmasked          $42..43 = imp3(1..2)
+   92. cmpeq_3_ints                   $38..40 = equal($38..40, $41..43)
+   93. bitwise_and_int                $39 &= $40
+   94. bitwise_and_int                $38 &= $39
+   95. bitwise_and_int                $37 &= $38
+   96. copy_4_slots_unmasked          $38..41 = imp4
+   97. copy_4_slots_unmasked          $42..45 = ihp4
+   98. cmpeq_4_ints                   $38..41 = equal($38..41, $42..45)
+   99. bitwise_and_2_ints             $38..39 &= $40..41
+  100. bitwise_and_int                $38 &= $39
+  101. bitwise_and_int                $37 &= $38
+  102. label                          label 0x00000008
+  103. copy_slot_masked               $36 = Mask($37)
+  104. label                          label 0x00000006
+  105. load_condition_mask            CondMask = $12
+  106. zero_slot_unmasked             $47 = 0
+  107. merge_condition_mask           CondMask = $35 & $36
+  108. branch_if_no_lanes_active      branch_if_no_lanes_active +60 (label 5 at #168)
+  109. zero_slot_unmasked             $48 = 0
+  110. copy_constant                  $49 = 0x40000000 (2.0)
+  111. swizzle_4                      $48..51 = ($48..51).yxxy
+  112. copy_4_slots_unmasked          mp2₁ = $48..51
+  113. copy_4_slots_unmasked          hp2₁ = $48..51
+  114. zero_slot_unmasked             $48 = 0
+  115. copy_constant                  $49 = 0x40400000 (3.0)
+  116. shuffle                        $48..56 = ($48..56)[1 0 0 0 1 0 0 0 1]
+  117. copy_4_slots_unmasked          mp3₁(0..3) = $48..51
+  118. copy_4_slots_unmasked          mp3₁(4..7) = $52..55
+  119. copy_slot_unmasked             mp3₁(8) = $56
+  120. copy_4_slots_unmasked          hp3₁(0..3) = $48..51
+  121. copy_4_slots_unmasked          hp3₁(4..7) = $52..55
+  122. copy_slot_unmasked             hp3₁(8) = $56
+  123. zero_slot_unmasked             $48 = 0
+  124. copy_constant                  $49 = 0x40800000 (4.0)
+  125. shuffle                        $48..63 = ($48..63)[1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1]
+  126. copy_4_slots_unmasked          mp4₁(0..3) = $48..51
+  127. copy_4_slots_unmasked          mp4₁(4..7) = $52..55
+  128. copy_4_slots_unmasked          mp4₁(8..11) = $56..59
+  129. copy_4_slots_unmasked          mp4₁(12..15) = $60..63
+  130. copy_4_slots_unmasked          hp4₁(0..3) = $48..51
+  131. copy_4_slots_unmasked          hp4₁(4..7) = $52..55
+  132. copy_4_slots_unmasked          hp4₁(8..11) = $56..59
+  133. copy_4_slots_unmasked          hp4₁(12..15) = $60..63
+  134. copy_4_slots_unmasked          $48..51 = mp2₁
+  135. copy_4_slots_unmasked          $52..55 = hp2₁
+  136. cmpeq_4_floats                 $48..51 = equal($48..51, $52..55)
+  137. bitwise_and_2_ints             $48..49 &= $50..51
+  138. bitwise_and_int                $48 &= $49
+  139. copy_4_slots_unmasked          $49..52 = hp3₁(0..3)
+  140. copy_4_slots_unmasked          $53..56 = hp3₁(4..7)
+  141. copy_slot_unmasked             $57 = hp3₁(8)
+  142. copy_4_slots_unmasked          $58..61 = mp3₁(0..3)
+  143. copy_4_slots_unmasked          $62..65 = mp3₁(4..7)
+  144. copy_slot_unmasked             $66 = mp3₁(8)
+  145. cmpeq_n_floats                 $49..57 = equal($49..57, $58..66)
+  146. bitwise_and_4_ints             $50..53 &= $54..57
+  147. bitwise_and_2_ints             $50..51 &= $52..53
+  148. bitwise_and_int                $50 &= $51
+  149. bitwise_and_int                $49 &= $50
+  150. bitwise_and_int                $48 &= $49
+  151. copy_4_slots_unmasked          $49..52 = mp4₁(0..3)
+  152. copy_4_slots_unmasked          $53..56 = mp4₁(4..7)
+  153. copy_4_slots_unmasked          $57..60 = mp4₁(8..11)
+  154. copy_4_slots_unmasked          $61..64 = mp4₁(12..15)
+  155. copy_4_slots_unmasked          $65..68 = hp4₁(0..3)
+  156. copy_4_slots_unmasked          $69..72 = hp4₁(4..7)
+  157. copy_4_slots_unmasked          $73..76 = hp4₁(8..11)
+  158. copy_4_slots_unmasked          $77..80 = hp4₁(12..15)
+  159. cmpeq_n_floats                 $49..64 = equal($49..64, $65..80)
+  160. bitwise_and_4_ints             $57..60 &= $61..64
+  161. bitwise_and_4_ints             $53..56 &= $57..60
+  162. bitwise_and_4_ints             $49..52 &= $53..56
+  163. bitwise_and_2_ints             $49..50 &= $51..52
+  164. bitwise_and_int                $49 &= $50
+  165. bitwise_and_int                $48 &= $49
+  166. label                          label 0x00000009
+  167. copy_slot_masked               $47 = Mask($48)
+  168. label                          label 0x00000005
+  169. load_condition_mask            CondMask = $35
+  170. zero_slot_unmasked             $21 = 0
+  171. merge_condition_mask           CondMask = $46 & $47
+  172. branch_if_no_lanes_active      branch_if_no_lanes_active +35 (label 4 at #207)
+  173. zero_slot_unmasked             mf[0] = 0
+  174. copy_constant                  $22 = 0x3F800000 (1.0)
+  175. copy_slot_masked               mf[0] = Mask($22)
+  176. zero_slot_unmasked             hf[0] = 0
+  177. copy_constant                  $22 = 0x3F800000 (1.0)
+  178. copy_slot_masked               hf[0] = Mask($22)
+  179. zero_4_slots_unmasked          mv[0], mv[1] = 0
+  180. zero_slot_unmasked             $22 = 0
+  181. copy_constant                  $23 = 0x3F800000 (1.0)
+  182. copy_2_slots_masked            mv[0] = Mask($22..23)
+  183. copy_constant                  $22 = 0x40000000 (2.0)
+  184. copy_constant                  $23 = 0x40400000 (3.0)
+  185. copy_2_slots_masked            mv[1] = Mask($22..23)
+  186. zero_4_slots_unmasked          hv[0], hv[1] = 0
+  187. zero_slot_unmasked             $22 = 0
+  188. copy_constant                  $23 = 0x3F800000 (1.0)
+  189. copy_2_slots_masked            hv[0] = Mask($22..23)
+  190. copy_constant                  $22 = 0x40000000 (2.0)
+  191. copy_constant                  $23 = 0x40400000 (3.0)
+  192. copy_2_slots_masked            hv[1] = Mask($22..23)
+  193. copy_2_slots_unmasked          $22..23 = mf[0], hf[0]
+  194. cmpeq_float                    $22 = equal($22, $23)
+  195. copy_2_slots_unmasked          $23..24 = hv[0]
+  196. copy_2_slots_unmasked          $25..26 = mv[0]
+  197. cmpeq_2_floats                 $23..24 = equal($23..24, $25..26)
+  198. bitwise_and_int                $23 &= $24
+  199. bitwise_and_int                $22 &= $23
+  200. copy_2_slots_unmasked          $23..24 = mv[1]
+  201. copy_2_slots_unmasked          $25..26 = hv[1]
+  202. cmpeq_2_floats                 $23..24 = equal($23..24, $25..26)
+  203. bitwise_and_int                $23 &= $24
+  204. bitwise_and_int                $22 &= $23
+  205. label                          label 0x0000000A
+  206. copy_slot_masked               $21 = Mask($22)
+  207. label                          label 0x00000004
+  208. load_condition_mask            CondMask = $46
+  209. zero_slot_unmasked             $32 = 0
+  210. merge_condition_mask           CondMask = $20 & $21
+  211. branch_if_no_lanes_active      branch_if_no_lanes_active +7 (label 3 at #218)
+  212. copy_constant                  value = 0x3F800000 (1.0)
+  213. copy_slot_unmasked             $33 = value
+  214. copy_constant                  $34 = 0x3F800000 (1.0)
+  215. cmpeq_float                    $33 = equal($33, $34)
+  216. label                          label 0x0000000B
+  217. copy_slot_masked               $32 = Mask($33)
+  218. label                          label 0x00000003
+  219. load_condition_mask            CondMask = $20
+  220. zero_slot_unmasked             $28 = 0
+  221. merge_condition_mask           CondMask = $31 & $32
+  222. branch_if_no_lanes_active      branch_if_no_lanes_active +7 (label 2 at #229)
+  223. copy_constant                  value₁ = 0x40000000 (2.0)
+  224. copy_slot_unmasked             $29 = value₁
+  225. copy_constant                  $30 = 0x40000000 (2.0)
+  226. cmpeq_float                    $29 = equal($29, $30)
+  227. label                          label 0x0000000C
+  228. copy_slot_masked               $28 = Mask($29)
+  229. label                          label 0x00000002
+  230. load_condition_mask            CondMask = $31
+  231. zero_slot_unmasked             $0 = 0
+  232. merge_condition_mask           CondMask = $27 & $28
+  233. branch_if_no_lanes_active      branch_if_no_lanes_active +7 (label 1 at #240)
+  234. copy_constant                  value₂ = 0x40400000 (3.0)
+  235. copy_slot_unmasked             $1 = value₂
+  236. copy_constant                  $2 = 0x40400000 (3.0)
+  237. cmpeq_float                    $1 = equal($1, $2)
+  238. label                          label 0x0000000D
+  239. copy_slot_masked               $0 = Mask($1)
+  240. label                          label 0x00000001
+  241. load_condition_mask            CondMask = $27
+  242. swizzle_4                      $0..3 = ($0..3).xxxx
+  243. copy_4_slots_unmasked          $4..7 = red
+  244. copy_4_slots_unmasked          $8..11 = green
+  245. mix_4_ints                     $0..3 = mix($4..7, $8..11, $0..3)
+  246. load_src                       src.rgba = $0..3
diff --git a/tools/skslc/Main.cpp b/tools/skslc/Main.cpp
index 5e81552..edba074 100644
--- a/tools/skslc/Main.cpp
+++ b/tools/skslc/Main.cpp
@@ -669,8 +669,9 @@
                         compiler.errorReporter().error({}, "code has no entrypoint");
                         return false;
                     }
+                    bool wantTraceOps = (debugTrace != nullptr);
                     std::unique_ptr<SkSL::RP::Program> rasterProg = SkSL::MakeRasterPipelineProgram(
-                            program, *main->definition(), &skrpDebugTrace);
+                            program, *main->definition(), &skrpDebugTrace, wantTraceOps);
                     if (!rasterProg) {
                         compiler.errorReporter().error({}, "code is not supported");
                         return false;
