[glsl][ir] Polyfill bitwise `&` and `|` on booleans

The `&` and `|` operators do not support boolean values in GLSL,
polyfill by converting to/from u32 values.

Bug: 42251044
Change-Id: I9dca8b2e8db063a8dc51f2fa650426f22d82888d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/207735
Commit-Queue: dan sinclair <dsinclair@chromium.org>
Reviewed-by: James Price <jrprice@google.com>
diff --git a/src/tint/lang/glsl/writer/binary_test.cc b/src/tint/lang/glsl/writer/binary_test.cc
index b8d349b..fa28297 100644
--- a/src/tint/lang/glsl/writer/binary_test.cc
+++ b/src/tint/lang/glsl/writer/binary_test.cc
@@ -122,6 +122,63 @@
                     BinaryData{"(left <= right)", core::BinaryOp::kLessThanEqual},
                     BinaryData{"(left >= right)", core::BinaryOp::kGreaterThanEqual}));
 
+using GlslWriterBinaryBitwiseBoolTest = GlslWriterTestWithParam<BinaryData>;
+TEST_P(GlslWriterBinaryBitwiseBoolTest, Emit) {
+    auto params = GetParam();
+
+    auto* func = b.Function("foo", ty.void_(), core::ir::Function::PipelineStage::kCompute);
+    func->SetWorkgroupSize(1, 1, 1);
+    b.Append(func->Block(), [&] {
+        auto* l = b.Let("left", b.Constant(true));
+        auto* r = b.Let("right", b.Constant(false));
+        auto* bin = b.Binary(params.op, ty.bool_(), l, r);
+        b.Let("val", bin);
+        b.Return(func);
+    });
+
+    ASSERT_TRUE(Generate()) << err_ << output_.glsl;
+    EXPECT_EQ(output_.glsl, GlslHeader() + R"(
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  bool left = true;
+  bool right = false;
+  uint v = uint(left);
+  bool val = bool((v )" + params.result +
+                                R"( uint(right)));
+}
+)");
+}
+
+TEST_P(GlslWriterBinaryBitwiseBoolTest, EmitVec) {
+    auto params = GetParam();
+
+    auto* func = b.Function("foo", ty.void_(), core::ir::Function::PipelineStage::kCompute);
+    func->SetWorkgroupSize(1, 1, 1);
+    b.Append(func->Block(), [&] {
+        auto* l = b.Let("left", b.Splat(ty.vec2<bool>(), true));
+        auto* r = b.Let("right", b.Splat(ty.vec2<bool>(), false));
+        auto* bin = b.Binary(params.op, ty.vec2<bool>(), l, r);
+        b.Let("val", bin);
+        b.Return(func);
+    });
+
+    ASSERT_TRUE(Generate()) << err_ << output_.glsl;
+    EXPECT_EQ(output_.glsl, GlslHeader() + R"(
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+void main() {
+  bvec2 left = bvec2(true);
+  bvec2 right = bvec2(false);
+  uvec2 v = uvec2(left);
+  bvec2 val = bvec2((v )" + params.result +
+                                R"( uvec2(right)));
+}
+)");
+}
+INSTANTIATE_TEST_SUITE_P(GlslWriterTest,
+                         GlslWriterBinaryBitwiseBoolTest,
+                         testing::Values(BinaryData{"&", core::BinaryOp::kAnd},
+                                         BinaryData{"|", core::BinaryOp::kOr}));
+
 // TODO(dsinclair): Test int_div_mod polyfil
 TEST_F(GlslWriterTest, DISABLED_Binary_Int_Div_Polyfill) {}
 
@@ -131,9 +188,6 @@
 // TODO(dsinclair): Polyfill conversion to relational functions
 TEST_F(GlslWriterTest, DISABLED_Binary_Relational_Vector) {}
 
-// TODO(dsinclair): Bitwise bool
-TEST_F(GlslWriterTest, DISABLED_Binary_Bitwise_Bool) {}
-
 // TODO(dsinclair): Float Modulo
 TEST_F(GlslWriterTest, DISABLED_Binary_Float_Modulo) {}
 
diff --git a/src/tint/lang/glsl/writer/raise/BUILD.bazel b/src/tint/lang/glsl/writer/raise/BUILD.bazel
index dd8fb84..145cd6a 100644
--- a/src/tint/lang/glsl/writer/raise/BUILD.bazel
+++ b/src/tint/lang/glsl/writer/raise/BUILD.bazel
@@ -39,12 +39,14 @@
 cc_library(
   name = "raise",
   srcs = [
+    "binary_polyfill.cc",
     "bitcast_polyfill.cc",
     "builtin_polyfill.cc",
     "raise.cc",
     "shader_io.cc",
   ],
   hdrs = [
+    "binary_polyfill.h",
     "bitcast_polyfill.h",
     "builtin_polyfill.h",
     "raise.h",
@@ -94,6 +96,7 @@
   name = "test",
   alwayslink = True,
   srcs = [
+    "binary_polyfill_test.cc",
     "bitcast_polyfill_test.cc",
     "builtin_polyfill_test.cc",
     "shader_io_test.cc",
diff --git a/src/tint/lang/glsl/writer/raise/BUILD.cmake b/src/tint/lang/glsl/writer/raise/BUILD.cmake
index 4574756..3888ead 100644
--- a/src/tint/lang/glsl/writer/raise/BUILD.cmake
+++ b/src/tint/lang/glsl/writer/raise/BUILD.cmake
@@ -41,6 +41,8 @@
 # Condition: TINT_BUILD_GLSL_WRITER
 ################################################################################
 tint_add_target(tint_lang_glsl_writer_raise lib
+  lang/glsl/writer/raise/binary_polyfill.cc
+  lang/glsl/writer/raise/binary_polyfill.h
   lang/glsl/writer/raise/bitcast_polyfill.cc
   lang/glsl/writer/raise/bitcast_polyfill.h
   lang/glsl/writer/raise/builtin_polyfill.cc
@@ -101,6 +103,7 @@
 # Condition: TINT_BUILD_GLSL_WRITER
 ################################################################################
 tint_add_target(tint_lang_glsl_writer_raise_test test
+  lang/glsl/writer/raise/binary_polyfill_test.cc
   lang/glsl/writer/raise/bitcast_polyfill_test.cc
   lang/glsl/writer/raise/builtin_polyfill_test.cc
   lang/glsl/writer/raise/shader_io_test.cc
diff --git a/src/tint/lang/glsl/writer/raise/BUILD.gn b/src/tint/lang/glsl/writer/raise/BUILD.gn
index 61cb7ff..562dc8a 100644
--- a/src/tint/lang/glsl/writer/raise/BUILD.gn
+++ b/src/tint/lang/glsl/writer/raise/BUILD.gn
@@ -45,6 +45,8 @@
 if (tint_build_glsl_writer) {
   libtint_source_set("raise") {
     sources = [
+      "binary_polyfill.cc",
+      "binary_polyfill.h",
       "bitcast_polyfill.cc",
       "bitcast_polyfill.h",
       "builtin_polyfill.cc",
@@ -96,6 +98,7 @@
   if (tint_build_glsl_writer) {
     tint_unittests_source_set("unittests") {
       sources = [
+        "binary_polyfill_test.cc",
         "bitcast_polyfill_test.cc",
         "builtin_polyfill_test.cc",
         "shader_io_test.cc",
diff --git a/src/tint/lang/glsl/writer/raise/binary_polyfill.cc b/src/tint/lang/glsl/writer/raise/binary_polyfill.cc
new file mode 100644
index 0000000..49e0d22
--- /dev/null
+++ b/src/tint/lang/glsl/writer/raise/binary_polyfill.cc
@@ -0,0 +1,124 @@
+// Copyright 2024 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+//    list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+//    this list of conditions and the following disclaimer in the documentation
+//    and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+//    contributors may be used to endorse or promote products derived from
+//    this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+#include "src/tint/lang/glsl/writer/raise/binary_polyfill.h"
+
+#include "src/tint/lang/core/fluent_types.h"  // IWYU pragma: export
+#include "src/tint/lang/core/ir/builder.h"
+#include "src/tint/lang/core/ir/module.h"
+#include "src/tint/lang/core/ir/validator.h"
+#include "src/tint/lang/core/type/manager.h"
+#include "src/tint/lang/glsl/ir/builtin_call.h"
+
+namespace tint::glsl::writer::raise {
+namespace {
+
+using namespace tint::core::fluent_types;     // NOLINT
+using namespace tint::core::number_suffixes;  // NOLINT
+
+/// PIMPL state for the transform.
+struct State {
+    /// The IR module.
+    core::ir::Module& ir;
+
+    /// The IR builder.
+    core::ir::Builder b{ir};
+
+    /// The type manager.
+    core::type::Manager& ty{ir.Types()};
+
+    /// Process the module.
+    void Process() {
+        // Find the binary instructions that need replacing.
+        Vector<core::ir::Binary*, 4> binary_worklist;
+        for (auto* inst : ir.Instructions()) {
+            if (auto* binary = inst->As<core::ir::Binary>()) {
+                switch (binary->Op()) {
+                    case core::BinaryOp::kAnd:
+                    case core::BinaryOp::kOr: {
+                        if (binary->LHS()->Type()->IsBoolScalarOrVector()) {
+                            binary_worklist.Push(binary);
+                        }
+                        break;
+                    }
+                    default:
+                        break;
+                }
+                continue;
+            }
+        }
+
+        // Replace the binary calls
+        for (auto* binary : binary_worklist) {
+            switch (binary->Op()) {
+                case core::BinaryOp::kAnd:
+                case core::BinaryOp::kOr:
+                    BitwiseBoolean(binary);
+                    break;
+                default:
+                    TINT_UNIMPLEMENTED();
+            }
+        }
+    }
+
+    void BitwiseBoolean(core::ir::Binary* binary) {
+        b.InsertBefore(binary, [&] {
+            auto* res_ty = ty.MatchWidth(ty.u32(), binary->Result(0)->Type());
+            auto* lhs = b.Convert(res_ty, binary->LHS());
+            auto* rhs = b.Convert(res_ty, binary->RHS());
+
+            core::ir::Value* result = nullptr;
+            switch (binary->Op()) {
+                case core::BinaryOp::kAnd:
+                    result = b.And(res_ty, lhs, rhs)->Result(0);
+                    break;
+                case core::BinaryOp::kOr:
+                    result = b.Or(res_ty, lhs, rhs)->Result(0);
+                    break;
+                default:
+                    TINT_UNREACHABLE();
+            }
+            b.ConvertWithResult(binary->DetachResult(), result);
+        });
+        binary->Destroy();
+    }
+};
+
+}  // namespace
+
+Result<SuccessType> BinaryPolyfill(core::ir::Module& ir) {
+    auto result = ValidateAndDumpIfNeeded(ir, "glsl.BinaryPolyfill transform");
+    if (result != Success) {
+        return result.Failure();
+    }
+
+    State{ir}.Process();
+
+    return Success;
+}
+
+}  // namespace tint::glsl::writer::raise
diff --git a/src/tint/lang/glsl/writer/raise/binary_polyfill.h b/src/tint/lang/glsl/writer/raise/binary_polyfill.h
new file mode 100644
index 0000000..e4ce1c9
--- /dev/null
+++ b/src/tint/lang/glsl/writer/raise/binary_polyfill.h
@@ -0,0 +1,50 @@
+// Copyright 2024 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+//    list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+//    this list of conditions and the following disclaimer in the documentation
+//    and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+//    contributors may be used to endorse or promote products derived from
+//    this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+#ifndef SRC_TINT_LANG_GLSL_WRITER_RAISE_BINARY_POLYFILL_H_
+#define SRC_TINT_LANG_GLSL_WRITER_RAISE_BINARY_POLYFILL_H_
+
+#include "src/tint/utils/result/result.h"
+
+// Forward declarations.
+namespace tint::core::ir {
+class Module;
+class Texture;
+}  // namespace tint::core::ir
+
+namespace tint::glsl::writer::raise {
+
+/// BinaryPolyfill is a transform that replaces calls to binary expressions with polyfills and
+/// calls to GLSL polyfilled or backend intrinsic functions.
+///
+/// @param module the module to transform
+/// @returns success or failure
+Result<SuccessType> BinaryPolyfill(core::ir::Module& module);
+
+}  // namespace tint::glsl::writer::raise
+
+#endif  // SRC_TINT_LANG_GLSL_WRITER_RAISE_BINARY_POLYFILL_H_
diff --git a/src/tint/lang/glsl/writer/raise/binary_polyfill_test.cc b/src/tint/lang/glsl/writer/raise/binary_polyfill_test.cc
new file mode 100644
index 0000000..5a7bb51
--- /dev/null
+++ b/src/tint/lang/glsl/writer/raise/binary_polyfill_test.cc
@@ -0,0 +1,188 @@
+// Copyright 2023 The Dawn & Tint Authors
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this
+//    list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice,
+//    this list of conditions and the following disclaimer in the documentation
+//    and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its
+//    contributors may be used to endorse or promote products derived from
+//    this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+#include "src/tint/lang/glsl/writer/raise/binary_polyfill.h"
+
+#include "gtest/gtest.h"
+#include "src/tint/lang/core/fluent_types.h"
+#include "src/tint/lang/core/ir/transform/helper_test.h"
+#include "src/tint/lang/core/number.h"
+
+using namespace tint::core::fluent_types;     // NOLINT
+using namespace tint::core::number_suffixes;  // NOLINT
+
+namespace tint::glsl::writer::raise {
+namespace {
+
+using GlslWriter_BinaryPolyfillTest = core::ir::transform::TransformTest;
+
+TEST_F(GlslWriter_BinaryPolyfillTest, BitwiseBoolAnd) {
+    auto* func = b.Function("foo", ty.void_(), core::ir::Function::PipelineStage::kFragment);
+    b.Append(func->Block(), [&] {
+        b.Let("x", b.And(ty.bool_(), true, false));
+        b.Return(func);
+    });
+
+    auto* src = R"(
+%foo = @fragment func():void {
+  $B1: {
+    %2:bool = and true, false
+    %x:bool = let %2
+    ret
+  }
+}
+)";
+    EXPECT_EQ(src, str());
+
+    auto* expect = R"(
+%foo = @fragment func():void {
+  $B1: {
+    %2:u32 = convert true
+    %3:u32 = convert false
+    %4:u32 = and %2, %3
+    %5:bool = convert %4
+    %x:bool = let %5
+    ret
+  }
+}
+)";
+
+    Run(BinaryPolyfill);
+    EXPECT_EQ(expect, str());
+}
+
+TEST_F(GlslWriter_BinaryPolyfillTest, BitwiseBoolAnd_Vec) {
+    auto* func = b.Function("foo", ty.void_(), core::ir::Function::PipelineStage::kFragment);
+    b.Append(func->Block(), [&] {
+        auto* lhs = b.Splat(ty.vec2<bool>(), true);
+        auto* rhs = b.Splat(ty.vec2<bool>(), false);
+        b.Let("x", b.And(ty.vec2<bool>(), lhs, rhs));
+        b.Return(func);
+    });
+
+    auto* src = R"(
+%foo = @fragment func():void {
+  $B1: {
+    %2:vec2<bool> = and vec2<bool>(true), vec2<bool>(false)
+    %x:vec2<bool> = let %2
+    ret
+  }
+}
+)";
+    EXPECT_EQ(src, str());
+
+    auto* expect = R"(
+%foo = @fragment func():void {
+  $B1: {
+    %2:vec2<u32> = convert vec2<bool>(true)
+    %3:vec2<u32> = convert vec2<bool>(false)
+    %4:vec2<u32> = and %2, %3
+    %5:vec2<bool> = convert %4
+    %x:vec2<bool> = let %5
+    ret
+  }
+}
+)";
+
+    Run(BinaryPolyfill);
+    EXPECT_EQ(expect, str());
+}
+
+TEST_F(GlslWriter_BinaryPolyfillTest, BitwiseBoolOr) {
+    auto* func = b.Function("foo", ty.void_(), core::ir::Function::PipelineStage::kFragment);
+    b.Append(func->Block(), [&] {
+        b.Let("x", b.Or(ty.bool_(), true, false));
+        b.Return(func);
+    });
+
+    auto* src = R"(
+%foo = @fragment func():void {
+  $B1: {
+    %2:bool = or true, false
+    %x:bool = let %2
+    ret
+  }
+}
+)";
+    EXPECT_EQ(src, str());
+
+    auto* expect = R"(
+%foo = @fragment func():void {
+  $B1: {
+    %2:u32 = convert true
+    %3:u32 = convert false
+    %4:u32 = or %2, %3
+    %5:bool = convert %4
+    %x:bool = let %5
+    ret
+  }
+}
+)";
+
+    Run(BinaryPolyfill);
+    EXPECT_EQ(expect, str());
+}
+
+TEST_F(GlslWriter_BinaryPolyfillTest, BitwiseBoolOr_Vec) {
+    auto* func = b.Function("foo", ty.void_(), core::ir::Function::PipelineStage::kFragment);
+    b.Append(func->Block(), [&] {
+        auto* lhs = b.Splat(ty.vec2<bool>(), true);
+        auto* rhs = b.Splat(ty.vec2<bool>(), false);
+        b.Let("x", b.Or(ty.vec2<bool>(), lhs, rhs));
+        b.Return(func);
+    });
+
+    auto* src = R"(
+%foo = @fragment func():void {
+  $B1: {
+    %2:vec2<bool> = or vec2<bool>(true), vec2<bool>(false)
+    %x:vec2<bool> = let %2
+    ret
+  }
+}
+)";
+    EXPECT_EQ(src, str());
+
+    auto* expect = R"(
+%foo = @fragment func():void {
+  $B1: {
+    %2:vec2<u32> = convert vec2<bool>(true)
+    %3:vec2<u32> = convert vec2<bool>(false)
+    %4:vec2<u32> = or %2, %3
+    %5:vec2<bool> = convert %4
+    %x:vec2<bool> = let %5
+    ret
+  }
+}
+)";
+
+    Run(BinaryPolyfill);
+    EXPECT_EQ(expect, str());
+}
+
+}  // namespace
+}  // namespace tint::glsl::writer::raise
diff --git a/src/tint/lang/glsl/writer/raise/raise.cc b/src/tint/lang/glsl/writer/raise/raise.cc
index c5e940f..16b61d0 100644
--- a/src/tint/lang/glsl/writer/raise/raise.cc
+++ b/src/tint/lang/glsl/writer/raise/raise.cc
@@ -47,6 +47,7 @@
 #include "src/tint/lang/core/ir/transform/vectorize_scalar_matrix_constructors.h"
 #include "src/tint/lang/core/ir/transform/zero_init_workgroup_memory.h"
 #include "src/tint/lang/glsl/writer/common/option_helpers.h"
+#include "src/tint/lang/glsl/writer/raise/binary_polyfill.h"
 #include "src/tint/lang/glsl/writer/raise/bitcast_polyfill.h"
 #include "src/tint/lang/glsl/writer/raise/builtin_polyfill.h"
 #include "src/tint/lang/glsl/writer/raise/shader_io.h"
@@ -124,6 +125,7 @@
         RUN_TRANSFORM(core::ir::transform::ZeroInitWorkgroupMemory, module);
     }
 
+    RUN_TRANSFORM(raise::BinaryPolyfill, module);
     // Must come after zero-init as it will add builtins
     RUN_TRANSFORM(raise::BuiltinPolyfill, module);
     // Must come after BuiltinPolyfill as builtins can add bitcasts
diff --git a/test/tint/bug/tint/1083.wgsl.expected.ir.glsl b/test/tint/bug/tint/1083.wgsl.expected.ir.glsl
index 9a80d39..4a6c53f 100644
--- a/test/tint/bug/tint/1083.wgsl.expected.ir.glsl
+++ b/test/tint/bug/tint/1083.wgsl.expected.ir.glsl
@@ -1,9 +1,10 @@
-SKIP: FAILED
-
 #version 310 es
 
 int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
+  uint v = uint((lhs == (-2147483647 - 1)));
+  bool v_1 = bool((v & uint((rhs == -1))));
+  uint v_2 = uint((rhs == 0));
+  return (lhs / ((bool((v_2 | uint(v_1)))) ? (1) : (rhs)));
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
@@ -11,13 +12,3 @@
   int b = 0;
   int c = tint_div_i32(a, b);
 }
-error: Error parsing GLSL shader:
-ERROR: 0:4: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/bug/tint/1540.wgsl.expected.ir.glsl b/test/tint/bug/tint/1540.wgsl.expected.ir.glsl
index bb8889c..8d1de27 100644
--- a/test/tint/bug/tint/1540.wgsl.expected.ir.glsl
+++ b/test/tint/bug/tint/1540.wgsl.expected.ir.glsl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #version 310 es
 
 
@@ -10,14 +8,7 @@
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
   bool b = false;
-  S v = S((true & b));
+  bool v_1 = b;
+  uint v_2 = uint(true);
+  S v = S(bool((v_2 & uint(v_1))));
 }
-error: Error parsing GLSL shader:
-ERROR: 0:11: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' const bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:11: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/bug/tint/1541.wgsl.expected.ir.glsl b/test/tint/bug/tint/1541.wgsl.expected.ir.glsl
index d28c537..6e5dd07 100644
--- a/test/tint/bug/tint/1541.wgsl.expected.ir.glsl
+++ b/test/tint/bug/tint/1541.wgsl.expected.ir.glsl
@@ -1,18 +1,8 @@
-SKIP: FAILED
-
 #version 310 es
 
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
   bool a = true;
-  bool v = ((false) ? (true) : ((a & true)));
+  uint v_1 = uint(a);
+  bool v = ((false) ? (true) : (bool((v_1 & uint(true)))));
 }
-error: Error parsing GLSL shader:
-ERROR: 0:6: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' const bool' (or there is no acceptable conversion)
-ERROR: 0:6: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/expressions/binary/bit-and/scalar-scalar/bool.wgsl.expected.ir.glsl b/test/tint/expressions/binary/bit-and/scalar-scalar/bool.wgsl.expected.ir.glsl
index 8e69e93..fd0e340 100644
--- a/test/tint/expressions/binary/bit-and/scalar-scalar/bool.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/binary/bit-and/scalar-scalar/bool.wgsl.expected.ir.glsl
@@ -1,19 +1,9 @@
-SKIP: FAILED
-
 #version 310 es
 
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
   bool a = true;
   bool b = false;
-  bool r = (a & b);
+  uint v = uint(a);
+  bool r = bool((v & uint(b)));
 }
-error: Error parsing GLSL shader:
-ERROR: 0:7: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:7: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/expressions/binary/bit-and/vec3-vec3/bool.wgsl.expected.ir.glsl b/test/tint/expressions/binary/bit-and/vec3-vec3/bool.wgsl.expected.ir.glsl
index 27f8a80..6ae5e5b 100644
--- a/test/tint/expressions/binary/bit-and/vec3-vec3/bool.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/binary/bit-and/vec3-vec3/bool.wgsl.expected.ir.glsl
@@ -1,19 +1,9 @@
-SKIP: FAILED
-
 #version 310 es
 
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
   bvec3 a = bvec3(true, true, false);
   bvec3 b = bvec3(true, false, true);
-  bvec3 r = (a & b);
+  uvec3 v = uvec3(a);
+  bvec3 r = bvec3((v & uvec3(b)));
 }
-error: Error parsing GLSL shader:
-ERROR: 0:7: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp 3-component vector of bool' and a right operand of type ' temp 3-component vector of bool' (or there is no acceptable conversion)
-ERROR: 0:7: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/expressions/binary/div/scalar-scalar/i32.wgsl.expected.ir.glsl b/test/tint/expressions/binary/div/scalar-scalar/i32.wgsl.expected.ir.glsl
index 7b37ef0..4d60fa4 100644
--- a/test/tint/expressions/binary/div/scalar-scalar/i32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/binary/div/scalar-scalar/i32.wgsl.expected.ir.glsl
@@ -1,9 +1,10 @@
-SKIP: FAILED
-
 #version 310 es
 
 int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
+  uint v = uint((lhs == (-2147483647 - 1)));
+  bool v_1 = bool((v & uint((rhs == -1))));
+  uint v_2 = uint((rhs == 0));
+  return (lhs / ((bool((v_2 | uint(v_1)))) ? (1) : (rhs)));
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
@@ -11,13 +12,3 @@
   int b = 2;
   int r = tint_div_i32(a, b);
 }
-error: Error parsing GLSL shader:
-ERROR: 0:4: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/expressions/binary/div/scalar-vec3/i32.wgsl.expected.ir.glsl b/test/tint/expressions/binary/div/scalar-vec3/i32.wgsl.expected.ir.glsl
index b424531..ee656ad 100644
--- a/test/tint/expressions/binary/div/scalar-vec3/i32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/binary/div/scalar-vec3/i32.wgsl.expected.ir.glsl
@@ -1,11 +1,13 @@
-SKIP: FAILED
-
 #version 310 es
 
 ivec3 tint_div_v3i32(ivec3 lhs, ivec3 rhs) {
-  int v = ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).x) ? (ivec3(1).x) : (rhs.x));
-  int v_1 = ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).y) ? (ivec3(1).y) : (rhs.y));
-  return (lhs / ivec3(v, v_1, ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).z) ? (ivec3(1).z) : (rhs.z))));
+  uvec3 v = uvec3((lhs == ivec3((-2147483647 - 1))));
+  bvec3 v_1 = bvec3((v & uvec3((rhs == ivec3(-1)))));
+  uvec3 v_2 = uvec3((rhs == ivec3(0)));
+  bvec3 v_3 = bvec3((v_2 | uvec3(v_1)));
+  int v_4 = ((v_3.x) ? (ivec3(1).x) : (rhs.x));
+  int v_5 = ((v_3.y) ? (ivec3(1).y) : (rhs.y));
+  return (lhs / ivec3(v_4, v_5, ((v_3.z) ? (ivec3(1).z) : (rhs.z))));
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
@@ -13,13 +15,3 @@
   ivec3 b = ivec3(1, 2, 3);
   ivec3 r = tint_div_v3i32(ivec3(a), b);
 }
-error: Error parsing GLSL shader:
-ERROR: 0:4: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/expressions/binary/div/vec3-scalar/i32.wgsl.expected.ir.glsl b/test/tint/expressions/binary/div/vec3-scalar/i32.wgsl.expected.ir.glsl
index 72568ee..2be4b11 100644
--- a/test/tint/expressions/binary/div/vec3-scalar/i32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/binary/div/vec3-scalar/i32.wgsl.expected.ir.glsl
@@ -1,11 +1,13 @@
-SKIP: FAILED
-
 #version 310 es
 
 ivec3 tint_div_v3i32(ivec3 lhs, ivec3 rhs) {
-  int v = ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).x) ? (ivec3(1).x) : (rhs.x));
-  int v_1 = ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).y) ? (ivec3(1).y) : (rhs.y));
-  return (lhs / ivec3(v, v_1, ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).z) ? (ivec3(1).z) : (rhs.z))));
+  uvec3 v = uvec3((lhs == ivec3((-2147483647 - 1))));
+  bvec3 v_1 = bvec3((v & uvec3((rhs == ivec3(-1)))));
+  uvec3 v_2 = uvec3((rhs == ivec3(0)));
+  bvec3 v_3 = bvec3((v_2 | uvec3(v_1)));
+  int v_4 = ((v_3.x) ? (ivec3(1).x) : (rhs.x));
+  int v_5 = ((v_3.y) ? (ivec3(1).y) : (rhs.y));
+  return (lhs / ivec3(v_4, v_5, ((v_3.z) ? (ivec3(1).z) : (rhs.z))));
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
@@ -13,13 +15,3 @@
   int b = 4;
   ivec3 r = tint_div_v3i32(a, ivec3(b));
 }
-error: Error parsing GLSL shader:
-ERROR: 0:4: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/expressions/binary/div/vec3-vec3/i32.wgsl.expected.ir.glsl b/test/tint/expressions/binary/div/vec3-vec3/i32.wgsl.expected.ir.glsl
index 90de924..e58be73 100644
--- a/test/tint/expressions/binary/div/vec3-vec3/i32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/binary/div/vec3-vec3/i32.wgsl.expected.ir.glsl
@@ -1,11 +1,13 @@
-SKIP: FAILED
-
 #version 310 es
 
 ivec3 tint_div_v3i32(ivec3 lhs, ivec3 rhs) {
-  int v = ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).x) ? (ivec3(1).x) : (rhs.x));
-  int v_1 = ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).y) ? (ivec3(1).y) : (rhs.y));
-  return (lhs / ivec3(v, v_1, ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).z) ? (ivec3(1).z) : (rhs.z))));
+  uvec3 v = uvec3((lhs == ivec3((-2147483647 - 1))));
+  bvec3 v_1 = bvec3((v & uvec3((rhs == ivec3(-1)))));
+  uvec3 v_2 = uvec3((rhs == ivec3(0)));
+  bvec3 v_3 = bvec3((v_2 | uvec3(v_1)));
+  int v_4 = ((v_3.x) ? (ivec3(1).x) : (rhs.x));
+  int v_5 = ((v_3.y) ? (ivec3(1).y) : (rhs.y));
+  return (lhs / ivec3(v_4, v_5, ((v_3.z) ? (ivec3(1).z) : (rhs.z))));
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
@@ -13,13 +15,3 @@
   ivec3 b = ivec3(4, 5, 6);
   ivec3 r = tint_div_v3i32(a, b);
 }
-error: Error parsing GLSL shader:
-ERROR: 0:4: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/expressions/binary/div_by_zero/by_constant/scalar-scalar/i32.wgsl.expected.ir.glsl b/test/tint/expressions/binary/div_by_zero/by_constant/scalar-scalar/i32.wgsl.expected.ir.glsl
index 6ea1f3d..f93576f 100644
--- a/test/tint/expressions/binary/div_by_zero/by_constant/scalar-scalar/i32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/binary/div_by_zero/by_constant/scalar-scalar/i32.wgsl.expected.ir.glsl
@@ -1,9 +1,10 @@
-SKIP: FAILED
-
 #version 310 es
 
 int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
+  uint v = uint((lhs == (-2147483647 - 1)));
+  bool v_1 = bool((v & uint((rhs == -1))));
+  uint v_2 = uint((rhs == 0));
+  return (lhs / ((bool((v_2 | uint(v_1)))) ? (1) : (rhs)));
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
@@ -11,13 +12,3 @@
   int b = 0;
   int r = tint_div_i32(a, b);
 }
-error: Error parsing GLSL shader:
-ERROR: 0:4: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/expressions/binary/div_by_zero/by_constant/scalar-vec3/i32.wgsl.expected.ir.glsl b/test/tint/expressions/binary/div_by_zero/by_constant/scalar-vec3/i32.wgsl.expected.ir.glsl
index 79f5416..8119432 100644
--- a/test/tint/expressions/binary/div_by_zero/by_constant/scalar-vec3/i32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/binary/div_by_zero/by_constant/scalar-vec3/i32.wgsl.expected.ir.glsl
@@ -1,11 +1,13 @@
-SKIP: FAILED
-
 #version 310 es
 
 ivec3 tint_div_v3i32(ivec3 lhs, ivec3 rhs) {
-  int v = ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).x) ? (ivec3(1).x) : (rhs.x));
-  int v_1 = ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).y) ? (ivec3(1).y) : (rhs.y));
-  return (lhs / ivec3(v, v_1, ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).z) ? (ivec3(1).z) : (rhs.z))));
+  uvec3 v = uvec3((lhs == ivec3((-2147483647 - 1))));
+  bvec3 v_1 = bvec3((v & uvec3((rhs == ivec3(-1)))));
+  uvec3 v_2 = uvec3((rhs == ivec3(0)));
+  bvec3 v_3 = bvec3((v_2 | uvec3(v_1)));
+  int v_4 = ((v_3.x) ? (ivec3(1).x) : (rhs.x));
+  int v_5 = ((v_3.y) ? (ivec3(1).y) : (rhs.y));
+  return (lhs / ivec3(v_4, v_5, ((v_3.z) ? (ivec3(1).z) : (rhs.z))));
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
@@ -13,13 +15,3 @@
   ivec3 b = ivec3(0, 2, 0);
   ivec3 r = tint_div_v3i32(ivec3(a), b);
 }
-error: Error parsing GLSL shader:
-ERROR: 0:4: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/expressions/binary/div_by_zero/by_constant/vec3-scalar/i32.wgsl.expected.ir.glsl b/test/tint/expressions/binary/div_by_zero/by_constant/vec3-scalar/i32.wgsl.expected.ir.glsl
index be81f65..dd036ad 100644
--- a/test/tint/expressions/binary/div_by_zero/by_constant/vec3-scalar/i32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/binary/div_by_zero/by_constant/vec3-scalar/i32.wgsl.expected.ir.glsl
@@ -1,11 +1,13 @@
-SKIP: FAILED
-
 #version 310 es
 
 ivec3 tint_div_v3i32(ivec3 lhs, ivec3 rhs) {
-  int v = ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).x) ? (ivec3(1).x) : (rhs.x));
-  int v_1 = ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).y) ? (ivec3(1).y) : (rhs.y));
-  return (lhs / ivec3(v, v_1, ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).z) ? (ivec3(1).z) : (rhs.z))));
+  uvec3 v = uvec3((lhs == ivec3((-2147483647 - 1))));
+  bvec3 v_1 = bvec3((v & uvec3((rhs == ivec3(-1)))));
+  uvec3 v_2 = uvec3((rhs == ivec3(0)));
+  bvec3 v_3 = bvec3((v_2 | uvec3(v_1)));
+  int v_4 = ((v_3.x) ? (ivec3(1).x) : (rhs.x));
+  int v_5 = ((v_3.y) ? (ivec3(1).y) : (rhs.y));
+  return (lhs / ivec3(v_4, v_5, ((v_3.z) ? (ivec3(1).z) : (rhs.z))));
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
@@ -13,13 +15,3 @@
   int b = 0;
   ivec3 r = tint_div_v3i32(a, ivec3(b));
 }
-error: Error parsing GLSL shader:
-ERROR: 0:4: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/expressions/binary/div_by_zero/by_constant/vec3-vec3/i32.wgsl.expected.ir.glsl b/test/tint/expressions/binary/div_by_zero/by_constant/vec3-vec3/i32.wgsl.expected.ir.glsl
index 60a3ce0..b903983 100644
--- a/test/tint/expressions/binary/div_by_zero/by_constant/vec3-vec3/i32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/binary/div_by_zero/by_constant/vec3-vec3/i32.wgsl.expected.ir.glsl
@@ -1,11 +1,13 @@
-SKIP: FAILED
-
 #version 310 es
 
 ivec3 tint_div_v3i32(ivec3 lhs, ivec3 rhs) {
-  int v = ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).x) ? (ivec3(1).x) : (rhs.x));
-  int v_1 = ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).y) ? (ivec3(1).y) : (rhs.y));
-  return (lhs / ivec3(v, v_1, ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).z) ? (ivec3(1).z) : (rhs.z))));
+  uvec3 v = uvec3((lhs == ivec3((-2147483647 - 1))));
+  bvec3 v_1 = bvec3((v & uvec3((rhs == ivec3(-1)))));
+  uvec3 v_2 = uvec3((rhs == ivec3(0)));
+  bvec3 v_3 = bvec3((v_2 | uvec3(v_1)));
+  int v_4 = ((v_3.x) ? (ivec3(1).x) : (rhs.x));
+  int v_5 = ((v_3.y) ? (ivec3(1).y) : (rhs.y));
+  return (lhs / ivec3(v_4, v_5, ((v_3.z) ? (ivec3(1).z) : (rhs.z))));
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
@@ -13,13 +15,3 @@
   ivec3 b = ivec3(0, 5, 0);
   ivec3 r = tint_div_v3i32(a, b);
 }
-error: Error parsing GLSL shader:
-ERROR: 0:4: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/expressions/binary/div_by_zero/by_expression/scalar-scalar/i32.wgsl.expected.ir.glsl b/test/tint/expressions/binary/div_by_zero/by_expression/scalar-scalar/i32.wgsl.expected.ir.glsl
index c5dc247..5491c54 100644
--- a/test/tint/expressions/binary/div_by_zero/by_expression/scalar-scalar/i32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/binary/div_by_zero/by_expression/scalar-scalar/i32.wgsl.expected.ir.glsl
@@ -1,9 +1,10 @@
-SKIP: FAILED
-
 #version 310 es
 
 int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
+  uint v = uint((lhs == (-2147483647 - 1)));
+  bool v_1 = bool((v & uint((rhs == -1))));
+  uint v_2 = uint((rhs == 0));
+  return (lhs / ((bool((v_2 | uint(v_1)))) ? (1) : (rhs)));
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
@@ -11,13 +12,3 @@
   int b = 0;
   int r = tint_div_i32(a, (b + b));
 }
-error: Error parsing GLSL shader:
-ERROR: 0:4: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/expressions/binary/div_by_zero/by_expression/scalar-vec3/i32.wgsl.expected.ir.glsl b/test/tint/expressions/binary/div_by_zero/by_expression/scalar-vec3/i32.wgsl.expected.ir.glsl
index 82aaf1c..7a44932 100644
--- a/test/tint/expressions/binary/div_by_zero/by_expression/scalar-vec3/i32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/binary/div_by_zero/by_expression/scalar-vec3/i32.wgsl.expected.ir.glsl
@@ -1,26 +1,18 @@
-SKIP: FAILED
-
 #version 310 es
 
 ivec3 tint_div_v3i32(ivec3 lhs, ivec3 rhs) {
-  int v = ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).x) ? (ivec3(1).x) : (rhs.x));
-  int v_1 = ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).y) ? (ivec3(1).y) : (rhs.y));
-  return (lhs / ivec3(v, v_1, ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).z) ? (ivec3(1).z) : (rhs.z))));
+  uvec3 v = uvec3((lhs == ivec3((-2147483647 - 1))));
+  bvec3 v_1 = bvec3((v & uvec3((rhs == ivec3(-1)))));
+  uvec3 v_2 = uvec3((rhs == ivec3(0)));
+  bvec3 v_3 = bvec3((v_2 | uvec3(v_1)));
+  int v_4 = ((v_3.x) ? (ivec3(1).x) : (rhs.x));
+  int v_5 = ((v_3.y) ? (ivec3(1).y) : (rhs.y));
+  return (lhs / ivec3(v_4, v_5, ((v_3.z) ? (ivec3(1).z) : (rhs.z))));
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
   int a = 4;
   ivec3 b = ivec3(0, 2, 0);
-  ivec3 v_2 = (b + b);
-  ivec3 r = tint_div_v3i32(ivec3(a), v_2);
+  ivec3 v_6 = (b + b);
+  ivec3 r = tint_div_v3i32(ivec3(a), v_6);
 }
-error: Error parsing GLSL shader:
-ERROR: 0:4: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/expressions/binary/div_by_zero/by_expression/vec3-scalar/i32.wgsl.expected.ir.glsl b/test/tint/expressions/binary/div_by_zero/by_expression/vec3-scalar/i32.wgsl.expected.ir.glsl
index 99f856c..426ebc0 100644
--- a/test/tint/expressions/binary/div_by_zero/by_expression/vec3-scalar/i32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/binary/div_by_zero/by_expression/vec3-scalar/i32.wgsl.expected.ir.glsl
@@ -1,26 +1,18 @@
-SKIP: FAILED
-
 #version 310 es
 
 ivec3 tint_div_v3i32(ivec3 lhs, ivec3 rhs) {
-  int v = ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).x) ? (ivec3(1).x) : (rhs.x));
-  int v_1 = ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).y) ? (ivec3(1).y) : (rhs.y));
-  return (lhs / ivec3(v, v_1, ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).z) ? (ivec3(1).z) : (rhs.z))));
+  uvec3 v = uvec3((lhs == ivec3((-2147483647 - 1))));
+  bvec3 v_1 = bvec3((v & uvec3((rhs == ivec3(-1)))));
+  uvec3 v_2 = uvec3((rhs == ivec3(0)));
+  bvec3 v_3 = bvec3((v_2 | uvec3(v_1)));
+  int v_4 = ((v_3.x) ? (ivec3(1).x) : (rhs.x));
+  int v_5 = ((v_3.y) ? (ivec3(1).y) : (rhs.y));
+  return (lhs / ivec3(v_4, v_5, ((v_3.z) ? (ivec3(1).z) : (rhs.z))));
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
   ivec3 a = ivec3(1, 2, 3);
   int b = 0;
-  ivec3 v_2 = a;
-  ivec3 r = tint_div_v3i32(v_2, ivec3((b + b)));
+  ivec3 v_6 = a;
+  ivec3 r = tint_div_v3i32(v_6, ivec3((b + b)));
 }
-error: Error parsing GLSL shader:
-ERROR: 0:4: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/expressions/binary/div_by_zero/by_expression/vec3-vec3/i32.wgsl.expected.ir.glsl b/test/tint/expressions/binary/div_by_zero/by_expression/vec3-vec3/i32.wgsl.expected.ir.glsl
index 7aa3ce8..3896c10 100644
--- a/test/tint/expressions/binary/div_by_zero/by_expression/vec3-vec3/i32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/binary/div_by_zero/by_expression/vec3-vec3/i32.wgsl.expected.ir.glsl
@@ -1,11 +1,13 @@
-SKIP: FAILED
-
 #version 310 es
 
 ivec3 tint_div_v3i32(ivec3 lhs, ivec3 rhs) {
-  int v = ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).x) ? (ivec3(1).x) : (rhs.x));
-  int v_1 = ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).y) ? (ivec3(1).y) : (rhs.y));
-  return (lhs / ivec3(v, v_1, ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).z) ? (ivec3(1).z) : (rhs.z))));
+  uvec3 v = uvec3((lhs == ivec3((-2147483647 - 1))));
+  bvec3 v_1 = bvec3((v & uvec3((rhs == ivec3(-1)))));
+  uvec3 v_2 = uvec3((rhs == ivec3(0)));
+  bvec3 v_3 = bvec3((v_2 | uvec3(v_1)));
+  int v_4 = ((v_3.x) ? (ivec3(1).x) : (rhs.x));
+  int v_5 = ((v_3.y) ? (ivec3(1).y) : (rhs.y));
+  return (lhs / ivec3(v_4, v_5, ((v_3.z) ? (ivec3(1).z) : (rhs.z))));
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
@@ -13,13 +15,3 @@
   ivec3 b = ivec3(0, 5, 0);
   ivec3 r = tint_div_v3i32(a, (b + b));
 }
-error: Error parsing GLSL shader:
-ERROR: 0:4: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/expressions/binary/div_by_zero/by_identifier/scalar-scalar/i32.wgsl.expected.ir.glsl b/test/tint/expressions/binary/div_by_zero/by_identifier/scalar-scalar/i32.wgsl.expected.ir.glsl
index 6ea1f3d..f93576f 100644
--- a/test/tint/expressions/binary/div_by_zero/by_identifier/scalar-scalar/i32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/binary/div_by_zero/by_identifier/scalar-scalar/i32.wgsl.expected.ir.glsl
@@ -1,9 +1,10 @@
-SKIP: FAILED
-
 #version 310 es
 
 int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
+  uint v = uint((lhs == (-2147483647 - 1)));
+  bool v_1 = bool((v & uint((rhs == -1))));
+  uint v_2 = uint((rhs == 0));
+  return (lhs / ((bool((v_2 | uint(v_1)))) ? (1) : (rhs)));
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
@@ -11,13 +12,3 @@
   int b = 0;
   int r = tint_div_i32(a, b);
 }
-error: Error parsing GLSL shader:
-ERROR: 0:4: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/expressions/binary/div_by_zero/by_identifier/scalar-vec3/i32.wgsl.expected.ir.glsl b/test/tint/expressions/binary/div_by_zero/by_identifier/scalar-vec3/i32.wgsl.expected.ir.glsl
index e18ca1a..dfaa1ab 100644
--- a/test/tint/expressions/binary/div_by_zero/by_identifier/scalar-vec3/i32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/binary/div_by_zero/by_identifier/scalar-vec3/i32.wgsl.expected.ir.glsl
@@ -1,26 +1,18 @@
-SKIP: FAILED
-
 #version 310 es
 
 ivec3 tint_div_v3i32(ivec3 lhs, ivec3 rhs) {
-  int v = ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).x) ? (ivec3(1).x) : (rhs.x));
-  int v_1 = ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).y) ? (ivec3(1).y) : (rhs.y));
-  return (lhs / ivec3(v, v_1, ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).z) ? (ivec3(1).z) : (rhs.z))));
+  uvec3 v = uvec3((lhs == ivec3((-2147483647 - 1))));
+  bvec3 v_1 = bvec3((v & uvec3((rhs == ivec3(-1)))));
+  uvec3 v_2 = uvec3((rhs == ivec3(0)));
+  bvec3 v_3 = bvec3((v_2 | uvec3(v_1)));
+  int v_4 = ((v_3.x) ? (ivec3(1).x) : (rhs.x));
+  int v_5 = ((v_3.y) ? (ivec3(1).y) : (rhs.y));
+  return (lhs / ivec3(v_4, v_5, ((v_3.z) ? (ivec3(1).z) : (rhs.z))));
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
   int a = 4;
   ivec3 b = ivec3(0, 2, 0);
-  ivec3 v_2 = b;
-  ivec3 r = tint_div_v3i32(ivec3(a), v_2);
+  ivec3 v_6 = b;
+  ivec3 r = tint_div_v3i32(ivec3(a), v_6);
 }
-error: Error parsing GLSL shader:
-ERROR: 0:4: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/expressions/binary/div_by_zero/by_identifier/vec3-scalar/i32.wgsl.expected.ir.glsl b/test/tint/expressions/binary/div_by_zero/by_identifier/vec3-scalar/i32.wgsl.expected.ir.glsl
index 360745a..a6b061a 100644
--- a/test/tint/expressions/binary/div_by_zero/by_identifier/vec3-scalar/i32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/binary/div_by_zero/by_identifier/vec3-scalar/i32.wgsl.expected.ir.glsl
@@ -1,26 +1,18 @@
-SKIP: FAILED
-
 #version 310 es
 
 ivec3 tint_div_v3i32(ivec3 lhs, ivec3 rhs) {
-  int v = ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).x) ? (ivec3(1).x) : (rhs.x));
-  int v_1 = ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).y) ? (ivec3(1).y) : (rhs.y));
-  return (lhs / ivec3(v, v_1, ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).z) ? (ivec3(1).z) : (rhs.z))));
+  uvec3 v = uvec3((lhs == ivec3((-2147483647 - 1))));
+  bvec3 v_1 = bvec3((v & uvec3((rhs == ivec3(-1)))));
+  uvec3 v_2 = uvec3((rhs == ivec3(0)));
+  bvec3 v_3 = bvec3((v_2 | uvec3(v_1)));
+  int v_4 = ((v_3.x) ? (ivec3(1).x) : (rhs.x));
+  int v_5 = ((v_3.y) ? (ivec3(1).y) : (rhs.y));
+  return (lhs / ivec3(v_4, v_5, ((v_3.z) ? (ivec3(1).z) : (rhs.z))));
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
   ivec3 a = ivec3(1, 2, 3);
   int b = 0;
-  ivec3 v_2 = a;
-  ivec3 r = tint_div_v3i32(v_2, ivec3(b));
+  ivec3 v_6 = a;
+  ivec3 r = tint_div_v3i32(v_6, ivec3(b));
 }
-error: Error parsing GLSL shader:
-ERROR: 0:4: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/expressions/binary/div_by_zero/by_identifier/vec3-vec3/i32.wgsl.expected.ir.glsl b/test/tint/expressions/binary/div_by_zero/by_identifier/vec3-vec3/i32.wgsl.expected.ir.glsl
index 60a3ce0..b903983 100644
--- a/test/tint/expressions/binary/div_by_zero/by_identifier/vec3-vec3/i32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/binary/div_by_zero/by_identifier/vec3-vec3/i32.wgsl.expected.ir.glsl
@@ -1,11 +1,13 @@
-SKIP: FAILED
-
 #version 310 es
 
 ivec3 tint_div_v3i32(ivec3 lhs, ivec3 rhs) {
-  int v = ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).x) ? (ivec3(1).x) : (rhs.x));
-  int v_1 = ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).y) ? (ivec3(1).y) : (rhs.y));
-  return (lhs / ivec3(v, v_1, ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).z) ? (ivec3(1).z) : (rhs.z))));
+  uvec3 v = uvec3((lhs == ivec3((-2147483647 - 1))));
+  bvec3 v_1 = bvec3((v & uvec3((rhs == ivec3(-1)))));
+  uvec3 v_2 = uvec3((rhs == ivec3(0)));
+  bvec3 v_3 = bvec3((v_2 | uvec3(v_1)));
+  int v_4 = ((v_3.x) ? (ivec3(1).x) : (rhs.x));
+  int v_5 = ((v_3.y) ? (ivec3(1).y) : (rhs.y));
+  return (lhs / ivec3(v_4, v_5, ((v_3.z) ? (ivec3(1).z) : (rhs.z))));
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
@@ -13,13 +15,3 @@
   ivec3 b = ivec3(0, 5, 0);
   ivec3 r = tint_div_v3i32(a, b);
 }
-error: Error parsing GLSL shader:
-ERROR: 0:4: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/expressions/binary/mod/scalar-scalar/i32.wgsl.expected.ir.glsl b/test/tint/expressions/binary/mod/scalar-scalar/i32.wgsl.expected.ir.glsl
index db0aedc..46b9ccc 100644
--- a/test/tint/expressions/binary/mod/scalar-scalar/i32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/binary/mod/scalar-scalar/i32.wgsl.expected.ir.glsl
@@ -1,10 +1,11 @@
-SKIP: FAILED
-
 #version 310 es
 
 int tint_mod_i32(int lhs, int rhs) {
-  int v = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v) * v));
+  uint v = uint((lhs == (-2147483647 - 1)));
+  bool v_1 = bool((v & uint((rhs == -1))));
+  uint v_2 = uint((rhs == 0));
+  int v_3 = ((bool((v_2 | uint(v_1)))) ? (1) : (rhs));
+  return (lhs - ((lhs / v_3) * v_3));
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
@@ -12,13 +13,3 @@
   int b = 2;
   int r = tint_mod_i32(a, b);
 }
-error: Error parsing GLSL shader:
-ERROR: 0:4: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/expressions/binary/mod/scalar-vec3/i32.wgsl.expected.ir.glsl b/test/tint/expressions/binary/mod/scalar-vec3/i32.wgsl.expected.ir.glsl
index 2ca59b5..b5b6f9b 100644
--- a/test/tint/expressions/binary/mod/scalar-vec3/i32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/binary/mod/scalar-vec3/i32.wgsl.expected.ir.glsl
@@ -1,12 +1,14 @@
-SKIP: FAILED
-
 #version 310 es
 
 ivec3 tint_mod_v3i32(ivec3 lhs, ivec3 rhs) {
-  int v = ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).x) ? (ivec3(1).x) : (rhs.x));
-  int v_1 = ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).y) ? (ivec3(1).y) : (rhs.y));
-  ivec3 v_2 = ivec3(v, v_1, ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).z) ? (ivec3(1).z) : (rhs.z)));
-  return (lhs - ((lhs / v_2) * v_2));
+  uvec3 v = uvec3((lhs == ivec3((-2147483647 - 1))));
+  bvec3 v_1 = bvec3((v & uvec3((rhs == ivec3(-1)))));
+  uvec3 v_2 = uvec3((rhs == ivec3(0)));
+  bvec3 v_3 = bvec3((v_2 | uvec3(v_1)));
+  int v_4 = ((v_3.x) ? (ivec3(1).x) : (rhs.x));
+  int v_5 = ((v_3.y) ? (ivec3(1).y) : (rhs.y));
+  ivec3 v_6 = ivec3(v_4, v_5, ((v_3.z) ? (ivec3(1).z) : (rhs.z)));
+  return (lhs - ((lhs / v_6) * v_6));
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
@@ -14,13 +16,3 @@
   ivec3 b = ivec3(1, 2, 3);
   ivec3 r = tint_mod_v3i32(ivec3(a), b);
 }
-error: Error parsing GLSL shader:
-ERROR: 0:4: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/expressions/binary/mod/vec3-scalar/i32.wgsl.expected.ir.glsl b/test/tint/expressions/binary/mod/vec3-scalar/i32.wgsl.expected.ir.glsl
index b7a3813..1c2c51e 100644
--- a/test/tint/expressions/binary/mod/vec3-scalar/i32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/binary/mod/vec3-scalar/i32.wgsl.expected.ir.glsl
@@ -1,12 +1,14 @@
-SKIP: FAILED
-
 #version 310 es
 
 ivec3 tint_mod_v3i32(ivec3 lhs, ivec3 rhs) {
-  int v = ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).x) ? (ivec3(1).x) : (rhs.x));
-  int v_1 = ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).y) ? (ivec3(1).y) : (rhs.y));
-  ivec3 v_2 = ivec3(v, v_1, ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).z) ? (ivec3(1).z) : (rhs.z)));
-  return (lhs - ((lhs / v_2) * v_2));
+  uvec3 v = uvec3((lhs == ivec3((-2147483647 - 1))));
+  bvec3 v_1 = bvec3((v & uvec3((rhs == ivec3(-1)))));
+  uvec3 v_2 = uvec3((rhs == ivec3(0)));
+  bvec3 v_3 = bvec3((v_2 | uvec3(v_1)));
+  int v_4 = ((v_3.x) ? (ivec3(1).x) : (rhs.x));
+  int v_5 = ((v_3.y) ? (ivec3(1).y) : (rhs.y));
+  ivec3 v_6 = ivec3(v_4, v_5, ((v_3.z) ? (ivec3(1).z) : (rhs.z)));
+  return (lhs - ((lhs / v_6) * v_6));
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
@@ -14,13 +16,3 @@
   int b = 4;
   ivec3 r = tint_mod_v3i32(a, ivec3(b));
 }
-error: Error parsing GLSL shader:
-ERROR: 0:4: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/expressions/binary/mod/vec3-vec3/i32.wgsl.expected.ir.glsl b/test/tint/expressions/binary/mod/vec3-vec3/i32.wgsl.expected.ir.glsl
index f674e90..07639bf 100644
--- a/test/tint/expressions/binary/mod/vec3-vec3/i32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/binary/mod/vec3-vec3/i32.wgsl.expected.ir.glsl
@@ -1,12 +1,14 @@
-SKIP: FAILED
-
 #version 310 es
 
 ivec3 tint_mod_v3i32(ivec3 lhs, ivec3 rhs) {
-  int v = ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).x) ? (ivec3(1).x) : (rhs.x));
-  int v_1 = ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).y) ? (ivec3(1).y) : (rhs.y));
-  ivec3 v_2 = ivec3(v, v_1, ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).z) ? (ivec3(1).z) : (rhs.z)));
-  return (lhs - ((lhs / v_2) * v_2));
+  uvec3 v = uvec3((lhs == ivec3((-2147483647 - 1))));
+  bvec3 v_1 = bvec3((v & uvec3((rhs == ivec3(-1)))));
+  uvec3 v_2 = uvec3((rhs == ivec3(0)));
+  bvec3 v_3 = bvec3((v_2 | uvec3(v_1)));
+  int v_4 = ((v_3.x) ? (ivec3(1).x) : (rhs.x));
+  int v_5 = ((v_3.y) ? (ivec3(1).y) : (rhs.y));
+  ivec3 v_6 = ivec3(v_4, v_5, ((v_3.z) ? (ivec3(1).z) : (rhs.z)));
+  return (lhs - ((lhs / v_6) * v_6));
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
@@ -14,13 +16,3 @@
   ivec3 b = ivec3(4, 5, 6);
   ivec3 r = tint_mod_v3i32(a, b);
 }
-error: Error parsing GLSL shader:
-ERROR: 0:4: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/expressions/binary/mod_by_zero/by_constant/scalar-scalar/i32.wgsl.expected.ir.glsl b/test/tint/expressions/binary/mod_by_zero/by_constant/scalar-scalar/i32.wgsl.expected.ir.glsl
index e70647d..dac65a3 100644
--- a/test/tint/expressions/binary/mod_by_zero/by_constant/scalar-scalar/i32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/binary/mod_by_zero/by_constant/scalar-scalar/i32.wgsl.expected.ir.glsl
@@ -1,10 +1,11 @@
-SKIP: FAILED
-
 #version 310 es
 
 int tint_mod_i32(int lhs, int rhs) {
-  int v = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v) * v));
+  uint v = uint((lhs == (-2147483647 - 1)));
+  bool v_1 = bool((v & uint((rhs == -1))));
+  uint v_2 = uint((rhs == 0));
+  int v_3 = ((bool((v_2 | uint(v_1)))) ? (1) : (rhs));
+  return (lhs - ((lhs / v_3) * v_3));
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
@@ -12,13 +13,3 @@
   int b = 0;
   int r = tint_mod_i32(a, b);
 }
-error: Error parsing GLSL shader:
-ERROR: 0:4: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/expressions/binary/mod_by_zero/by_constant/scalar-vec3/i32.wgsl.expected.ir.glsl b/test/tint/expressions/binary/mod_by_zero/by_constant/scalar-vec3/i32.wgsl.expected.ir.glsl
index ce93f4b..c5199e8 100644
--- a/test/tint/expressions/binary/mod_by_zero/by_constant/scalar-vec3/i32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/binary/mod_by_zero/by_constant/scalar-vec3/i32.wgsl.expected.ir.glsl
@@ -1,12 +1,14 @@
-SKIP: FAILED
-
 #version 310 es
 
 ivec3 tint_mod_v3i32(ivec3 lhs, ivec3 rhs) {
-  int v = ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).x) ? (ivec3(1).x) : (rhs.x));
-  int v_1 = ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).y) ? (ivec3(1).y) : (rhs.y));
-  ivec3 v_2 = ivec3(v, v_1, ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).z) ? (ivec3(1).z) : (rhs.z)));
-  return (lhs - ((lhs / v_2) * v_2));
+  uvec3 v = uvec3((lhs == ivec3((-2147483647 - 1))));
+  bvec3 v_1 = bvec3((v & uvec3((rhs == ivec3(-1)))));
+  uvec3 v_2 = uvec3((rhs == ivec3(0)));
+  bvec3 v_3 = bvec3((v_2 | uvec3(v_1)));
+  int v_4 = ((v_3.x) ? (ivec3(1).x) : (rhs.x));
+  int v_5 = ((v_3.y) ? (ivec3(1).y) : (rhs.y));
+  ivec3 v_6 = ivec3(v_4, v_5, ((v_3.z) ? (ivec3(1).z) : (rhs.z)));
+  return (lhs - ((lhs / v_6) * v_6));
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
@@ -14,13 +16,3 @@
   ivec3 b = ivec3(0, 2, 0);
   ivec3 r = tint_mod_v3i32(ivec3(a), b);
 }
-error: Error parsing GLSL shader:
-ERROR: 0:4: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/expressions/binary/mod_by_zero/by_constant/vec3-scalar/i32.wgsl.expected.ir.glsl b/test/tint/expressions/binary/mod_by_zero/by_constant/vec3-scalar/i32.wgsl.expected.ir.glsl
index 5f58d25..813c344 100644
--- a/test/tint/expressions/binary/mod_by_zero/by_constant/vec3-scalar/i32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/binary/mod_by_zero/by_constant/vec3-scalar/i32.wgsl.expected.ir.glsl
@@ -1,12 +1,14 @@
-SKIP: FAILED
-
 #version 310 es
 
 ivec3 tint_mod_v3i32(ivec3 lhs, ivec3 rhs) {
-  int v = ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).x) ? (ivec3(1).x) : (rhs.x));
-  int v_1 = ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).y) ? (ivec3(1).y) : (rhs.y));
-  ivec3 v_2 = ivec3(v, v_1, ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).z) ? (ivec3(1).z) : (rhs.z)));
-  return (lhs - ((lhs / v_2) * v_2));
+  uvec3 v = uvec3((lhs == ivec3((-2147483647 - 1))));
+  bvec3 v_1 = bvec3((v & uvec3((rhs == ivec3(-1)))));
+  uvec3 v_2 = uvec3((rhs == ivec3(0)));
+  bvec3 v_3 = bvec3((v_2 | uvec3(v_1)));
+  int v_4 = ((v_3.x) ? (ivec3(1).x) : (rhs.x));
+  int v_5 = ((v_3.y) ? (ivec3(1).y) : (rhs.y));
+  ivec3 v_6 = ivec3(v_4, v_5, ((v_3.z) ? (ivec3(1).z) : (rhs.z)));
+  return (lhs - ((lhs / v_6) * v_6));
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
@@ -14,13 +16,3 @@
   int b = 0;
   ivec3 r = tint_mod_v3i32(a, ivec3(b));
 }
-error: Error parsing GLSL shader:
-ERROR: 0:4: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/expressions/binary/mod_by_zero/by_constant/vec3-vec3/i32.wgsl.expected.ir.glsl b/test/tint/expressions/binary/mod_by_zero/by_constant/vec3-vec3/i32.wgsl.expected.ir.glsl
index 9a1da09..6649544 100644
--- a/test/tint/expressions/binary/mod_by_zero/by_constant/vec3-vec3/i32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/binary/mod_by_zero/by_constant/vec3-vec3/i32.wgsl.expected.ir.glsl
@@ -1,12 +1,14 @@
-SKIP: FAILED
-
 #version 310 es
 
 ivec3 tint_mod_v3i32(ivec3 lhs, ivec3 rhs) {
-  int v = ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).x) ? (ivec3(1).x) : (rhs.x));
-  int v_1 = ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).y) ? (ivec3(1).y) : (rhs.y));
-  ivec3 v_2 = ivec3(v, v_1, ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).z) ? (ivec3(1).z) : (rhs.z)));
-  return (lhs - ((lhs / v_2) * v_2));
+  uvec3 v = uvec3((lhs == ivec3((-2147483647 - 1))));
+  bvec3 v_1 = bvec3((v & uvec3((rhs == ivec3(-1)))));
+  uvec3 v_2 = uvec3((rhs == ivec3(0)));
+  bvec3 v_3 = bvec3((v_2 | uvec3(v_1)));
+  int v_4 = ((v_3.x) ? (ivec3(1).x) : (rhs.x));
+  int v_5 = ((v_3.y) ? (ivec3(1).y) : (rhs.y));
+  ivec3 v_6 = ivec3(v_4, v_5, ((v_3.z) ? (ivec3(1).z) : (rhs.z)));
+  return (lhs - ((lhs / v_6) * v_6));
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
@@ -14,13 +16,3 @@
   ivec3 b = ivec3(0, 5, 0);
   ivec3 r = tint_mod_v3i32(a, b);
 }
-error: Error parsing GLSL shader:
-ERROR: 0:4: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/expressions/binary/mod_by_zero/by_expression/scalar-scalar/i32.wgsl.expected.ir.glsl b/test/tint/expressions/binary/mod_by_zero/by_expression/scalar-scalar/i32.wgsl.expected.ir.glsl
index 5b59571..659be19 100644
--- a/test/tint/expressions/binary/mod_by_zero/by_expression/scalar-scalar/i32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/binary/mod_by_zero/by_expression/scalar-scalar/i32.wgsl.expected.ir.glsl
@@ -1,10 +1,11 @@
-SKIP: FAILED
-
 #version 310 es
 
 int tint_mod_i32(int lhs, int rhs) {
-  int v = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v) * v));
+  uint v = uint((lhs == (-2147483647 - 1)));
+  bool v_1 = bool((v & uint((rhs == -1))));
+  uint v_2 = uint((rhs == 0));
+  int v_3 = ((bool((v_2 | uint(v_1)))) ? (1) : (rhs));
+  return (lhs - ((lhs / v_3) * v_3));
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
@@ -12,13 +13,3 @@
   int b = 0;
   int r = tint_mod_i32(a, (b + b));
 }
-error: Error parsing GLSL shader:
-ERROR: 0:4: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/expressions/binary/mod_by_zero/by_expression/scalar-vec3/i32.wgsl.expected.ir.glsl b/test/tint/expressions/binary/mod_by_zero/by_expression/scalar-vec3/i32.wgsl.expected.ir.glsl
index d8065f9..8adeef4 100644
--- a/test/tint/expressions/binary/mod_by_zero/by_expression/scalar-vec3/i32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/binary/mod_by_zero/by_expression/scalar-vec3/i32.wgsl.expected.ir.glsl
@@ -1,27 +1,19 @@
-SKIP: FAILED
-
 #version 310 es
 
 ivec3 tint_mod_v3i32(ivec3 lhs, ivec3 rhs) {
-  int v = ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).x) ? (ivec3(1).x) : (rhs.x));
-  int v_1 = ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).y) ? (ivec3(1).y) : (rhs.y));
-  ivec3 v_2 = ivec3(v, v_1, ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).z) ? (ivec3(1).z) : (rhs.z)));
-  return (lhs - ((lhs / v_2) * v_2));
+  uvec3 v = uvec3((lhs == ivec3((-2147483647 - 1))));
+  bvec3 v_1 = bvec3((v & uvec3((rhs == ivec3(-1)))));
+  uvec3 v_2 = uvec3((rhs == ivec3(0)));
+  bvec3 v_3 = bvec3((v_2 | uvec3(v_1)));
+  int v_4 = ((v_3.x) ? (ivec3(1).x) : (rhs.x));
+  int v_5 = ((v_3.y) ? (ivec3(1).y) : (rhs.y));
+  ivec3 v_6 = ivec3(v_4, v_5, ((v_3.z) ? (ivec3(1).z) : (rhs.z)));
+  return (lhs - ((lhs / v_6) * v_6));
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
   int a = 4;
   ivec3 b = ivec3(0, 2, 0);
-  ivec3 v_3 = (b + b);
-  ivec3 r = tint_mod_v3i32(ivec3(a), v_3);
+  ivec3 v_7 = (b + b);
+  ivec3 r = tint_mod_v3i32(ivec3(a), v_7);
 }
-error: Error parsing GLSL shader:
-ERROR: 0:4: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/expressions/binary/mod_by_zero/by_expression/vec3-scalar/i32.wgsl.expected.ir.glsl b/test/tint/expressions/binary/mod_by_zero/by_expression/vec3-scalar/i32.wgsl.expected.ir.glsl
index 3a221c2..92db491 100644
--- a/test/tint/expressions/binary/mod_by_zero/by_expression/vec3-scalar/i32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/binary/mod_by_zero/by_expression/vec3-scalar/i32.wgsl.expected.ir.glsl
@@ -1,27 +1,19 @@
-SKIP: FAILED
-
 #version 310 es
 
 ivec3 tint_mod_v3i32(ivec3 lhs, ivec3 rhs) {
-  int v = ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).x) ? (ivec3(1).x) : (rhs.x));
-  int v_1 = ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).y) ? (ivec3(1).y) : (rhs.y));
-  ivec3 v_2 = ivec3(v, v_1, ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).z) ? (ivec3(1).z) : (rhs.z)));
-  return (lhs - ((lhs / v_2) * v_2));
+  uvec3 v = uvec3((lhs == ivec3((-2147483647 - 1))));
+  bvec3 v_1 = bvec3((v & uvec3((rhs == ivec3(-1)))));
+  uvec3 v_2 = uvec3((rhs == ivec3(0)));
+  bvec3 v_3 = bvec3((v_2 | uvec3(v_1)));
+  int v_4 = ((v_3.x) ? (ivec3(1).x) : (rhs.x));
+  int v_5 = ((v_3.y) ? (ivec3(1).y) : (rhs.y));
+  ivec3 v_6 = ivec3(v_4, v_5, ((v_3.z) ? (ivec3(1).z) : (rhs.z)));
+  return (lhs - ((lhs / v_6) * v_6));
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
   ivec3 a = ivec3(1, 2, 3);
   int b = 0;
-  ivec3 v_3 = a;
-  ivec3 r = tint_mod_v3i32(v_3, ivec3((b + b)));
+  ivec3 v_7 = a;
+  ivec3 r = tint_mod_v3i32(v_7, ivec3((b + b)));
 }
-error: Error parsing GLSL shader:
-ERROR: 0:4: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/expressions/binary/mod_by_zero/by_expression/vec3-vec3/i32.wgsl.expected.ir.glsl b/test/tint/expressions/binary/mod_by_zero/by_expression/vec3-vec3/i32.wgsl.expected.ir.glsl
index 64a4451..e9a1069 100644
--- a/test/tint/expressions/binary/mod_by_zero/by_expression/vec3-vec3/i32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/binary/mod_by_zero/by_expression/vec3-vec3/i32.wgsl.expected.ir.glsl
@@ -1,12 +1,14 @@
-SKIP: FAILED
-
 #version 310 es
 
 ivec3 tint_mod_v3i32(ivec3 lhs, ivec3 rhs) {
-  int v = ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).x) ? (ivec3(1).x) : (rhs.x));
-  int v_1 = ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).y) ? (ivec3(1).y) : (rhs.y));
-  ivec3 v_2 = ivec3(v, v_1, ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).z) ? (ivec3(1).z) : (rhs.z)));
-  return (lhs - ((lhs / v_2) * v_2));
+  uvec3 v = uvec3((lhs == ivec3((-2147483647 - 1))));
+  bvec3 v_1 = bvec3((v & uvec3((rhs == ivec3(-1)))));
+  uvec3 v_2 = uvec3((rhs == ivec3(0)));
+  bvec3 v_3 = bvec3((v_2 | uvec3(v_1)));
+  int v_4 = ((v_3.x) ? (ivec3(1).x) : (rhs.x));
+  int v_5 = ((v_3.y) ? (ivec3(1).y) : (rhs.y));
+  ivec3 v_6 = ivec3(v_4, v_5, ((v_3.z) ? (ivec3(1).z) : (rhs.z)));
+  return (lhs - ((lhs / v_6) * v_6));
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
@@ -14,13 +16,3 @@
   ivec3 b = ivec3(0, 5, 0);
   ivec3 r = tint_mod_v3i32(a, (b + b));
 }
-error: Error parsing GLSL shader:
-ERROR: 0:4: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/expressions/binary/mod_by_zero/by_identifier/scalar-scalar/i32.wgsl.expected.ir.glsl b/test/tint/expressions/binary/mod_by_zero/by_identifier/scalar-scalar/i32.wgsl.expected.ir.glsl
index e70647d..dac65a3 100644
--- a/test/tint/expressions/binary/mod_by_zero/by_identifier/scalar-scalar/i32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/binary/mod_by_zero/by_identifier/scalar-scalar/i32.wgsl.expected.ir.glsl
@@ -1,10 +1,11 @@
-SKIP: FAILED
-
 #version 310 es
 
 int tint_mod_i32(int lhs, int rhs) {
-  int v = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v) * v));
+  uint v = uint((lhs == (-2147483647 - 1)));
+  bool v_1 = bool((v & uint((rhs == -1))));
+  uint v_2 = uint((rhs == 0));
+  int v_3 = ((bool((v_2 | uint(v_1)))) ? (1) : (rhs));
+  return (lhs - ((lhs / v_3) * v_3));
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
@@ -12,13 +13,3 @@
   int b = 0;
   int r = tint_mod_i32(a, b);
 }
-error: Error parsing GLSL shader:
-ERROR: 0:4: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/expressions/binary/mod_by_zero/by_identifier/scalar-vec3/i32.wgsl.expected.ir.glsl b/test/tint/expressions/binary/mod_by_zero/by_identifier/scalar-vec3/i32.wgsl.expected.ir.glsl
index e741e5b..fb18fd5 100644
--- a/test/tint/expressions/binary/mod_by_zero/by_identifier/scalar-vec3/i32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/binary/mod_by_zero/by_identifier/scalar-vec3/i32.wgsl.expected.ir.glsl
@@ -1,27 +1,19 @@
-SKIP: FAILED
-
 #version 310 es
 
 ivec3 tint_mod_v3i32(ivec3 lhs, ivec3 rhs) {
-  int v = ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).x) ? (ivec3(1).x) : (rhs.x));
-  int v_1 = ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).y) ? (ivec3(1).y) : (rhs.y));
-  ivec3 v_2 = ivec3(v, v_1, ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).z) ? (ivec3(1).z) : (rhs.z)));
-  return (lhs - ((lhs / v_2) * v_2));
+  uvec3 v = uvec3((lhs == ivec3((-2147483647 - 1))));
+  bvec3 v_1 = bvec3((v & uvec3((rhs == ivec3(-1)))));
+  uvec3 v_2 = uvec3((rhs == ivec3(0)));
+  bvec3 v_3 = bvec3((v_2 | uvec3(v_1)));
+  int v_4 = ((v_3.x) ? (ivec3(1).x) : (rhs.x));
+  int v_5 = ((v_3.y) ? (ivec3(1).y) : (rhs.y));
+  ivec3 v_6 = ivec3(v_4, v_5, ((v_3.z) ? (ivec3(1).z) : (rhs.z)));
+  return (lhs - ((lhs / v_6) * v_6));
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
   int a = 4;
   ivec3 b = ivec3(0, 2, 0);
-  ivec3 v_3 = b;
-  ivec3 r = tint_mod_v3i32(ivec3(a), v_3);
+  ivec3 v_7 = b;
+  ivec3 r = tint_mod_v3i32(ivec3(a), v_7);
 }
-error: Error parsing GLSL shader:
-ERROR: 0:4: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/expressions/binary/mod_by_zero/by_identifier/vec3-scalar/i32.wgsl.expected.ir.glsl b/test/tint/expressions/binary/mod_by_zero/by_identifier/vec3-scalar/i32.wgsl.expected.ir.glsl
index f2ff30c..7cfb22a 100644
--- a/test/tint/expressions/binary/mod_by_zero/by_identifier/vec3-scalar/i32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/binary/mod_by_zero/by_identifier/vec3-scalar/i32.wgsl.expected.ir.glsl
@@ -1,27 +1,19 @@
-SKIP: FAILED
-
 #version 310 es
 
 ivec3 tint_mod_v3i32(ivec3 lhs, ivec3 rhs) {
-  int v = ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).x) ? (ivec3(1).x) : (rhs.x));
-  int v_1 = ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).y) ? (ivec3(1).y) : (rhs.y));
-  ivec3 v_2 = ivec3(v, v_1, ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).z) ? (ivec3(1).z) : (rhs.z)));
-  return (lhs - ((lhs / v_2) * v_2));
+  uvec3 v = uvec3((lhs == ivec3((-2147483647 - 1))));
+  bvec3 v_1 = bvec3((v & uvec3((rhs == ivec3(-1)))));
+  uvec3 v_2 = uvec3((rhs == ivec3(0)));
+  bvec3 v_3 = bvec3((v_2 | uvec3(v_1)));
+  int v_4 = ((v_3.x) ? (ivec3(1).x) : (rhs.x));
+  int v_5 = ((v_3.y) ? (ivec3(1).y) : (rhs.y));
+  ivec3 v_6 = ivec3(v_4, v_5, ((v_3.z) ? (ivec3(1).z) : (rhs.z)));
+  return (lhs - ((lhs / v_6) * v_6));
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
   ivec3 a = ivec3(1, 2, 3);
   int b = 0;
-  ivec3 v_3 = a;
-  ivec3 r = tint_mod_v3i32(v_3, ivec3(b));
+  ivec3 v_7 = a;
+  ivec3 r = tint_mod_v3i32(v_7, ivec3(b));
 }
-error: Error parsing GLSL shader:
-ERROR: 0:4: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/expressions/binary/mod_by_zero/by_identifier/vec3-vec3/i32.wgsl.expected.ir.glsl b/test/tint/expressions/binary/mod_by_zero/by_identifier/vec3-vec3/i32.wgsl.expected.ir.glsl
index 9a1da09..6649544 100644
--- a/test/tint/expressions/binary/mod_by_zero/by_identifier/vec3-vec3/i32.wgsl.expected.ir.glsl
+++ b/test/tint/expressions/binary/mod_by_zero/by_identifier/vec3-vec3/i32.wgsl.expected.ir.glsl
@@ -1,12 +1,14 @@
-SKIP: FAILED
-
 #version 310 es
 
 ivec3 tint_mod_v3i32(ivec3 lhs, ivec3 rhs) {
-  int v = ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).x) ? (ivec3(1).x) : (rhs.x));
-  int v_1 = ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).y) ? (ivec3(1).y) : (rhs.y));
-  ivec3 v_2 = ivec3(v, v_1, ((((rhs == ivec3(0)) | ((lhs == ivec3((-2147483647 - 1))) & (rhs == ivec3(-1)))).z) ? (ivec3(1).z) : (rhs.z)));
-  return (lhs - ((lhs / v_2) * v_2));
+  uvec3 v = uvec3((lhs == ivec3((-2147483647 - 1))));
+  bvec3 v_1 = bvec3((v & uvec3((rhs == ivec3(-1)))));
+  uvec3 v_2 = uvec3((rhs == ivec3(0)));
+  bvec3 v_3 = bvec3((v_2 | uvec3(v_1)));
+  int v_4 = ((v_3.x) ? (ivec3(1).x) : (rhs.x));
+  int v_5 = ((v_3.y) ? (ivec3(1).y) : (rhs.y));
+  ivec3 v_6 = ivec3(v_4, v_5, ((v_3.z) ? (ivec3(1).z) : (rhs.z)));
+  return (lhs - ((lhs / v_6) * v_6));
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
@@ -14,13 +16,3 @@
   ivec3 b = ivec3(0, 5, 0);
   ivec3 r = tint_mod_v3i32(a, b);
 }
-error: Error parsing GLSL shader:
-ERROR: 0:4: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:4: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/statements/compound_assign/divide_by_zero.wgsl.expected.ir.glsl b/test/tint/statements/compound_assign/divide_by_zero.wgsl.expected.ir.glsl
index f1e8351..da96e9a 100644
--- a/test/tint/statements/compound_assign/divide_by_zero.wgsl.expected.ir.glsl
+++ b/test/tint/statements/compound_assign/divide_by_zero.wgsl.expected.ir.glsl
@@ -3,21 +3,27 @@
 int a = 0;
 float b = 0.0f;
 int tint_mod_i32(int lhs, int rhs) {
-  int v = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v) * v));
+  uint v = uint((lhs == (-2147483647 - 1)));
+  bool v_1 = bool((v & uint((rhs == -1))));
+  uint v_2 = uint((rhs == 0));
+  int v_3 = ((bool((v_2 | uint(v_1)))) ? (1) : (rhs));
+  return (lhs - ((lhs / v_3) * v_3));
 }
 int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
+  uint v_4 = uint((lhs == (-2147483647 - 1)));
+  bool v_5 = bool((v_4 & uint((rhs == -1))));
+  uint v_6 = uint((rhs == 0));
+  return (lhs / ((bool((v_6 | uint(v_5)))) ? (1) : (rhs)));
 }
 void foo(int maybe_zero) {
   a = tint_div_i32(a, maybe_zero);
   a = tint_mod_i32(a, maybe_zero);
   b = (b / 0.0f);
   b = (b % 0.0f);
-  float v_1 = float(maybe_zero);
-  b = (b / v_1);
-  float v_2 = float(maybe_zero);
-  b = (b % v_2);
+  float v_7 = float(maybe_zero);
+  b = (b / v_7);
+  float v_8 = float(maybe_zero);
+  b = (b % v_8);
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
diff --git a/test/tint/statements/compound_assign/function.wgsl.expected.ir.glsl b/test/tint/statements/compound_assign/function.wgsl.expected.ir.glsl
index 60e1ebb..80a3282 100644
--- a/test/tint/statements/compound_assign/function.wgsl.expected.ir.glsl
+++ b/test/tint/statements/compound_assign/function.wgsl.expected.ir.glsl
@@ -1,7 +1,10 @@
 #version 310 es
 
 int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
+  uint v = uint((lhs == (-2147483647 - 1)));
+  bool v_1 = bool((v & uint((rhs == -1))));
+  uint v_2 = uint((rhs == 0));
+  return (lhs / ((bool((v_2 | uint(v_1)))) ? (1) : (rhs)));
 }
 void foo() {
   int a = 0;
diff --git a/test/tint/statements/compound_assign/private.wgsl.expected.ir.glsl b/test/tint/statements/compound_assign/private.wgsl.expected.ir.glsl
index 4a02ea5..d3e99a5 100644
--- a/test/tint/statements/compound_assign/private.wgsl.expected.ir.glsl
+++ b/test/tint/statements/compound_assign/private.wgsl.expected.ir.glsl
@@ -4,7 +4,10 @@
 vec4 b = vec4(0.0f);
 mat2 c = mat2(vec2(0.0f), vec2(0.0f));
 int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
+  uint v = uint((lhs == (-2147483647 - 1)));
+  bool v_1 = bool((v & uint((rhs == -1))));
+  uint v_2 = uint((rhs == 0));
+  return (lhs / ((bool((v_2 | uint(v_1)))) ? (1) : (rhs)));
 }
 void foo() {
   a = tint_div_i32(a, 2);
diff --git a/test/tint/statements/compound_assign/scalar/divide.wgsl.expected.ir.glsl b/test/tint/statements/compound_assign/scalar/divide.wgsl.expected.ir.glsl
index 929496c..9c1e8d7 100644
--- a/test/tint/statements/compound_assign/scalar/divide.wgsl.expected.ir.glsl
+++ b/test/tint/statements/compound_assign/scalar/divide.wgsl.expected.ir.glsl
@@ -10,7 +10,10 @@
   S tint_symbol;
 } v_1;
 int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
+  uint v_2 = uint((lhs == (-2147483647 - 1)));
+  bool v_3 = bool((v_2 & uint((rhs == -1))));
+  uint v_4 = uint((rhs == 0));
+  return (lhs / ((bool((v_4 | uint(v_3)))) ? (1) : (rhs)));
 }
 void foo() {
   v_1.tint_symbol.a = tint_div_i32(v_1.tint_symbol.a, 2);
diff --git a/test/tint/statements/compound_assign/scalar/modulo.wgsl.expected.ir.glsl b/test/tint/statements/compound_assign/scalar/modulo.wgsl.expected.ir.glsl
index e3d5946..6540930 100644
--- a/test/tint/statements/compound_assign/scalar/modulo.wgsl.expected.ir.glsl
+++ b/test/tint/statements/compound_assign/scalar/modulo.wgsl.expected.ir.glsl
@@ -10,8 +10,11 @@
   S tint_symbol;
 } v_1;
 int tint_mod_i32(int lhs, int rhs) {
-  int v_2 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_2) * v_2));
+  uint v_2 = uint((lhs == (-2147483647 - 1)));
+  bool v_3 = bool((v_2 & uint((rhs == -1))));
+  uint v_4 = uint((rhs == 0));
+  int v_5 = ((bool((v_4 | uint(v_3)))) ? (1) : (rhs));
+  return (lhs - ((lhs / v_5) * v_5));
 }
 void foo() {
   v_1.tint_symbol.a = tint_mod_i32(v_1.tint_symbol.a, 2);
diff --git a/test/tint/statements/compound_assign/vector/divide.wgsl.expected.ir.glsl b/test/tint/statements/compound_assign/vector/divide.wgsl.expected.ir.glsl
index 08ec6e1..ebb5a7a 100644
--- a/test/tint/statements/compound_assign/vector/divide.wgsl.expected.ir.glsl
+++ b/test/tint/statements/compound_assign/vector/divide.wgsl.expected.ir.glsl
@@ -10,10 +10,14 @@
   S tint_symbol;
 } v_1;
 ivec4 tint_div_v4i32(ivec4 lhs, ivec4 rhs) {
-  int v_2 = ((((rhs == ivec4(0)) | ((lhs == ivec4((-2147483647 - 1))) & (rhs == ivec4(-1)))).x) ? (ivec4(1).x) : (rhs.x));
-  int v_3 = ((((rhs == ivec4(0)) | ((lhs == ivec4((-2147483647 - 1))) & (rhs == ivec4(-1)))).y) ? (ivec4(1).y) : (rhs.y));
-  int v_4 = ((((rhs == ivec4(0)) | ((lhs == ivec4((-2147483647 - 1))) & (rhs == ivec4(-1)))).z) ? (ivec4(1).z) : (rhs.z));
-  return (lhs / ivec4(v_2, v_3, v_4, ((((rhs == ivec4(0)) | ((lhs == ivec4((-2147483647 - 1))) & (rhs == ivec4(-1)))).w) ? (ivec4(1).w) : (rhs.w))));
+  uvec4 v_2 = uvec4((lhs == ivec4((-2147483647 - 1))));
+  bvec4 v_3 = bvec4((v_2 & uvec4((rhs == ivec4(-1)))));
+  uvec4 v_4 = uvec4((rhs == ivec4(0)));
+  bvec4 v_5 = bvec4((v_4 | uvec4(v_3)));
+  int v_6 = ((v_5.x) ? (ivec4(1).x) : (rhs.x));
+  int v_7 = ((v_5.y) ? (ivec4(1).y) : (rhs.y));
+  int v_8 = ((v_5.z) ? (ivec4(1).z) : (rhs.z));
+  return (lhs / ivec4(v_6, v_7, v_8, ((v_5.w) ? (ivec4(1).w) : (rhs.w))));
 }
 void foo() {
   v_1.tint_symbol.a = tint_div_v4i32(v_1.tint_symbol.a, ivec4(2));
diff --git a/test/tint/statements/compound_assign/vector/modulo-scalar.wgsl.expected.ir.glsl b/test/tint/statements/compound_assign/vector/modulo-scalar.wgsl.expected.ir.glsl
index d0729ec..6ed8eb5 100644
--- a/test/tint/statements/compound_assign/vector/modulo-scalar.wgsl.expected.ir.glsl
+++ b/test/tint/statements/compound_assign/vector/modulo-scalar.wgsl.expected.ir.glsl
@@ -10,15 +10,19 @@
   S tint_symbol;
 } v_1;
 ivec4 tint_mod_v4i32(ivec4 lhs, ivec4 rhs) {
-  int v_2 = ((((rhs == ivec4(0)) | ((lhs == ivec4((-2147483647 - 1))) & (rhs == ivec4(-1)))).x) ? (ivec4(1).x) : (rhs.x));
-  int v_3 = ((((rhs == ivec4(0)) | ((lhs == ivec4((-2147483647 - 1))) & (rhs == ivec4(-1)))).y) ? (ivec4(1).y) : (rhs.y));
-  int v_4 = ((((rhs == ivec4(0)) | ((lhs == ivec4((-2147483647 - 1))) & (rhs == ivec4(-1)))).z) ? (ivec4(1).z) : (rhs.z));
-  ivec4 v_5 = ivec4(v_2, v_3, v_4, ((((rhs == ivec4(0)) | ((lhs == ivec4((-2147483647 - 1))) & (rhs == ivec4(-1)))).w) ? (ivec4(1).w) : (rhs.w)));
-  return (lhs - ((lhs / v_5) * v_5));
+  uvec4 v_2 = uvec4((lhs == ivec4((-2147483647 - 1))));
+  bvec4 v_3 = bvec4((v_2 & uvec4((rhs == ivec4(-1)))));
+  uvec4 v_4 = uvec4((rhs == ivec4(0)));
+  bvec4 v_5 = bvec4((v_4 | uvec4(v_3)));
+  int v_6 = ((v_5.x) ? (ivec4(1).x) : (rhs.x));
+  int v_7 = ((v_5.y) ? (ivec4(1).y) : (rhs.y));
+  int v_8 = ((v_5.z) ? (ivec4(1).z) : (rhs.z));
+  ivec4 v_9 = ivec4(v_6, v_7, v_8, ((v_5.w) ? (ivec4(1).w) : (rhs.w)));
+  return (lhs - ((lhs / v_9) * v_9));
 }
 void foo() {
-  ivec4 v_6 = v_1.tint_symbol.a;
-  v_1.tint_symbol.a = tint_mod_v4i32(v_6, ivec4(2));
+  ivec4 v_10 = v_1.tint_symbol.a;
+  v_1.tint_symbol.a = tint_mod_v4i32(v_10, ivec4(2));
 }
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void main() {
diff --git a/test/tint/statements/compound_assign/vector/modulo.wgsl.expected.ir.glsl b/test/tint/statements/compound_assign/vector/modulo.wgsl.expected.ir.glsl
index 326e20b..728d580 100644
--- a/test/tint/statements/compound_assign/vector/modulo.wgsl.expected.ir.glsl
+++ b/test/tint/statements/compound_assign/vector/modulo.wgsl.expected.ir.glsl
@@ -10,11 +10,15 @@
   S tint_symbol;
 } v_1;
 ivec4 tint_mod_v4i32(ivec4 lhs, ivec4 rhs) {
-  int v_2 = ((((rhs == ivec4(0)) | ((lhs == ivec4((-2147483647 - 1))) & (rhs == ivec4(-1)))).x) ? (ivec4(1).x) : (rhs.x));
-  int v_3 = ((((rhs == ivec4(0)) | ((lhs == ivec4((-2147483647 - 1))) & (rhs == ivec4(-1)))).y) ? (ivec4(1).y) : (rhs.y));
-  int v_4 = ((((rhs == ivec4(0)) | ((lhs == ivec4((-2147483647 - 1))) & (rhs == ivec4(-1)))).z) ? (ivec4(1).z) : (rhs.z));
-  ivec4 v_5 = ivec4(v_2, v_3, v_4, ((((rhs == ivec4(0)) | ((lhs == ivec4((-2147483647 - 1))) & (rhs == ivec4(-1)))).w) ? (ivec4(1).w) : (rhs.w)));
-  return (lhs - ((lhs / v_5) * v_5));
+  uvec4 v_2 = uvec4((lhs == ivec4((-2147483647 - 1))));
+  bvec4 v_3 = bvec4((v_2 & uvec4((rhs == ivec4(-1)))));
+  uvec4 v_4 = uvec4((rhs == ivec4(0)));
+  bvec4 v_5 = bvec4((v_4 | uvec4(v_3)));
+  int v_6 = ((v_5.x) ? (ivec4(1).x) : (rhs.x));
+  int v_7 = ((v_5.y) ? (ivec4(1).y) : (rhs.y));
+  int v_8 = ((v_5.z) ? (ivec4(1).z) : (rhs.z));
+  ivec4 v_9 = ivec4(v_6, v_7, v_8, ((v_5.w) ? (ivec4(1).w) : (rhs.w)));
+  return (lhs - ((lhs / v_9) * v_9));
 }
 void foo() {
   v_1.tint_symbol.a = tint_mod_v4i32(v_1.tint_symbol.a, ivec4(2));
diff --git a/test/tint/statements/compound_assign/workgroup.wgsl.expected.ir.glsl b/test/tint/statements/compound_assign/workgroup.wgsl.expected.ir.glsl
index f49600b..1bf7bd2 100644
--- a/test/tint/statements/compound_assign/workgroup.wgsl.expected.ir.glsl
+++ b/test/tint/statements/compound_assign/workgroup.wgsl.expected.ir.glsl
@@ -4,7 +4,10 @@
 shared vec4 b;
 shared mat2 c;
 int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
+  uint v = uint((lhs == (-2147483647 - 1)));
+  bool v_1 = bool((v & uint((rhs == -1))));
+  uint v_2 = uint((rhs == 0));
+  return (lhs / ((bool((v_2 | uint(v_1)))) ? (1) : (rhs)));
 }
 void foo() {
   a = tint_div_i32(a, 2);
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-apfloat-tanh/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-apfloat-tanh/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index be114f3..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-apfloat-tanh/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,44 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-void main_1() {
-  vec4 v = vec4(0.0f);
-  float dist1 = 0.0f;
-  float dist2 = 0.0f;
-  v = vec4(1.0f, 2.0f, 3.0f, 4.0f);
-  vec4 v_1 = tanh(v);
-  vec4 v_2 = sinh(v);
-  dist1 = distance(v_1, (v_2 / cosh(v)));
-  dist2 = distance(tanh(v), vec4(0.76159000396728515625f, 0.96403002738952636719f, 0.99505001306533813477f, 0.99932998418807983398f));
-  if (((dist1 < 0.10000000149011611938f) & (dist2 < 0.10000000149011611938f))) {
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = vec4(0.0f);
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:21: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:21: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-apfloat-tanh/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-apfloat-tanh/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index e015af0..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-apfloat-tanh/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,50 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-void main_1() {
-  vec4 v = vec4(0.0f);
-  float dist1 = 0.0f;
-  float dist2 = 0.0f;
-  v = vec4(1.0f, 2.0f, 3.0f, 4.0f);
-  vec4 x_30 = v;
-  vec4 x_32 = v;
-  vec4 x_34 = v;
-  vec4 v_1 = tanh(x_30);
-  vec4 v_2 = sinh(x_32);
-  dist1 = distance(v_1, (v_2 / cosh(x_34)));
-  vec4 x_38 = v;
-  dist2 = distance(tanh(x_38), vec4(0.76159000396728515625f, 0.96403002738952636719f, 0.99505001306533813477f, 0.99932998418807983398f));
-  float x_41 = dist1;
-  float x_43 = dist2;
-  if (((x_41 < 0.10000000149011611938f) & (x_43 < 0.10000000149011611938f))) {
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = vec4(0.0f);
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:27: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:27: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-const-folding-clamp-inside-while/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-const-folding-clamp-inside-while/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index 20815a1..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-const-folding-clamp-inside-while/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,54 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-void main_1() {
-  int i = 0;
-  int j = 0;
-  i = 0;
-  j = 1;
-  {
-    while(true) {
-      int v = i;
-      if ((v < min(max(j, 5), 9))) {
-      } else {
-        break;
-      }
-      i = (i + 1);
-      j = (j + 1);
-      {
-      }
-      continue;
-    }
-  }
-  if (((i == 9) & (j == 10))) {
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = vec4(0.0f);
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:31: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:31: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-const-folding-clamp-inside-while/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-const-folding-clamp-inside-while/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index e249533..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-const-folding-clamp-inside-while/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,59 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-void main_1() {
-  int i = 0;
-  int j = 0;
-  i = 0;
-  j = 1;
-  {
-    while(true) {
-      int x_28 = i;
-      int x_29 = j;
-      if ((x_28 < min(max(x_29, 5), 9))) {
-      } else {
-        break;
-      }
-      int x_33 = i;
-      i = (x_33 + 1);
-      int x_35 = j;
-      j = (x_35 + 1);
-      {
-      }
-      continue;
-    }
-  }
-  int x_37 = i;
-  int x_39 = j;
-  if (((x_37 == 9) & (x_39 == 10))) {
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = vec4(0.0f);
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:36: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:36: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-constant-folding-atan-over-tanh/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-constant-folding-atan-over-tanh/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index 91658df..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-constant-folding-atan-over-tanh/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,38 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-void main_1() {
-  float f = 0.0f;
-  f = 0.9199161529541015625f;
-  if (((f > 0.91000002622604370117f) & (f < 0.93000000715255737305f))) {
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = vec4(0.0f);
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:15: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:15: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-constant-folding-atan-over-tanh/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-constant-folding-atan-over-tanh/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index 4245a3d..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-constant-folding-atan-over-tanh/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,40 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-void main_1() {
-  float f = 0.0f;
-  f = 0.9199161529541015625f;
-  float x_21 = f;
-  float x_23 = f;
-  if (((x_21 > 0.91000002622604370117f) & (x_23 < 0.93000000715255737305f))) {
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = vec4(0.0f);
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:17: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:17: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-constants-combine-add-sub/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-constants-combine-add-sub/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index 97a3c66..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-constants-combine-add-sub/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,96 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct strided_arr {
-  int el;
-};
-
-struct buf0 {
-  strided_arr x_GLF_uniform_int_values[5];
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_2_1_ubo {
-  buf0 tint_symbol_1;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-int func_f1_(inout float f) {
-  int a = 0;
-  int b = 0;
-  int i = 0;
-  a = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-  b = v.tint_symbol_1.x_GLF_uniform_int_values[2].el;
-  i = v.tint_symbol_1.x_GLF_uniform_int_values[2].el;
-  {
-    while(true) {
-      if ((i < v.tint_symbol_1.x_GLF_uniform_int_values[4].el)) {
-      } else {
-        break;
-      }
-      if ((a > v.tint_symbol_1.x_GLF_uniform_int_values[3].el)) {
-        break;
-      }
-      int v_1 = tint_f32_to_i32(f);
-      int v_2 = (v_1 - tint_div_i32(v.tint_symbol_1.x_GLF_uniform_int_values[1].el, 2));
-      a = (v_2 + i);
-      b = (b + 1);
-      {
-        i = (i + 1);
-      }
-      continue;
-    }
-  }
-  if ((b == v.tint_symbol_1.x_GLF_uniform_int_values[0].el)) {
-    int x_100 = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-    return x_100;
-  } else {
-    int x_102 = v.tint_symbol_1.x_GLF_uniform_int_values[2].el;
-    return x_102;
-  }
-  /* unreachable */
-}
-void main_1() {
-  float param = 0.0f;
-  param = 0.69999998807907104492f;
-  int x_34 = func_f1_(param);
-  if ((x_34 == v.tint_symbol_1.x_GLF_uniform_int_values[1].el)) {
-    float v_3 = float(v.tint_symbol_1.x_GLF_uniform_int_values[1].el);
-    float v_4 = float(v.tint_symbol_1.x_GLF_uniform_int_values[2].el);
-    float v_5 = float(v.tint_symbol_1.x_GLF_uniform_int_values[2].el);
-    x_GLF_color = vec4(v_3, v_4, v_5, float(v.tint_symbol_1.x_GLF_uniform_int_values[1].el));
-  } else {
-    x_GLF_color = vec4(float(v.tint_symbol_1.x_GLF_uniform_int_values[2].el));
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:25: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:25: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:25: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-constants-combine-add-sub/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-constants-combine-add-sub/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index ef4ca53..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-constants-combine-add-sub/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,116 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct strided_arr {
-  int el;
-};
-
-struct buf0 {
-  strided_arr x_GLF_uniform_int_values[5];
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_2_1_ubo {
-  buf0 tint_symbol_1;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-int func_f1_(inout float f) {
-  int a = 0;
-  int b = 0;
-  int i = 0;
-  int x_60 = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-  a = x_60;
-  int x_62 = v.tint_symbol_1.x_GLF_uniform_int_values[2].el;
-  b = x_62;
-  int x_64 = v.tint_symbol_1.x_GLF_uniform_int_values[2].el;
-  i = x_64;
-  {
-    while(true) {
-      int x_69 = i;
-      int x_71 = v.tint_symbol_1.x_GLF_uniform_int_values[4].el;
-      if ((x_69 < x_71)) {
-      } else {
-        break;
-      }
-      int x_74 = a;
-      int x_76 = v.tint_symbol_1.x_GLF_uniform_int_values[3].el;
-      if ((x_74 > x_76)) {
-        break;
-      }
-      float x_80 = f;
-      int x_83 = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-      int x_86 = i;
-      int v_1 = tint_f32_to_i32(x_80);
-      a = ((v_1 - tint_div_i32(x_83, 2)) + x_86);
-      int x_88 = b;
-      b = (x_88 + 1);
-      {
-        int x_90 = i;
-        i = (x_90 + 1);
-      }
-      continue;
-    }
-  }
-  int x_92 = b;
-  int x_94 = v.tint_symbol_1.x_GLF_uniform_int_values[0].el;
-  if ((x_92 == x_94)) {
-    int x_100 = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-    return x_100;
-  } else {
-    int x_102 = v.tint_symbol_1.x_GLF_uniform_int_values[2].el;
-    return x_102;
-  }
-  /* unreachable */
-}
-void main_1() {
-  float param = 0.0f;
-  param = 0.69999998807907104492f;
-  int x_34 = func_f1_(param);
-  int x_36 = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-  if ((x_34 == x_36)) {
-    int x_42 = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-    int x_45 = v.tint_symbol_1.x_GLF_uniform_int_values[2].el;
-    int x_48 = v.tint_symbol_1.x_GLF_uniform_int_values[2].el;
-    int x_51 = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-    float v_2 = float(x_42);
-    float v_3 = float(x_45);
-    float v_4 = float(x_48);
-    x_GLF_color = vec4(v_2, v_3, v_4, float(x_51));
-  } else {
-    int x_55 = v.tint_symbol_1.x_GLF_uniform_int_values[2].el;
-    float x_56 = float(x_55);
-    x_GLF_color = vec4(x_56, x_56, x_56, x_56);
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:25: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:25: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:25: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-dag-combiner-neg-div-pow2/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-dag-combiner-neg-div-pow2/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index a668245..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-dag-combiner-neg-div-pow2/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,80 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf1 {
-  int ten;
-};
-
-struct buf0 {
-  int minusEight;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 1, std140)
-uniform tint_symbol_2_1_ubo {
-  buf1 tint_symbol_1;
-} v;
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v_1;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
-}
-void main_1() {
-  int a = 0;
-  int b = 0;
-  int i = 0;
-  a = 0;
-  b = 0;
-  i = 0;
-  {
-    while(true) {
-      if ((i < v.tint_symbol_1.ten)) {
-      } else {
-        break;
-      }
-      if ((a > 5)) {
-        break;
-      }
-      int v_2 = a;
-      a = (v_2 + tint_div_i32(v_1.tint_symbol_3.minusEight, -4));
-      b = (b + 1);
-      {
-        i = (i + 1);
-      }
-      continue;
-    }
-  }
-  if ((b == 3)) {
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = vec4(0.0f);
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:29: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:29: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:29: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-dag-combiner-neg-div-pow2/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-dag-combiner-neg-div-pow2/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index e6debe9..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-dag-combiner-neg-div-pow2/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,87 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf1 {
-  int ten;
-};
-
-struct buf0 {
-  int minusEight;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 1, std140)
-uniform tint_symbol_2_1_ubo {
-  buf1 tint_symbol_1;
-} v;
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v_1;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
-}
-void main_1() {
-  int a = 0;
-  int b = 0;
-  int i = 0;
-  a = 0;
-  b = 0;
-  i = 0;
-  {
-    while(true) {
-      int x_36 = i;
-      int x_38 = v.tint_symbol_1.ten;
-      if ((x_36 < x_38)) {
-      } else {
-        break;
-      }
-      int x_41 = a;
-      if ((x_41 > 5)) {
-        break;
-      }
-      int x_46 = v_1.tint_symbol_3.minusEight;
-      int x_48 = a;
-      a = (x_48 + tint_div_i32(x_46, -4));
-      int x_50 = b;
-      b = (x_50 + 1);
-      {
-        int x_52 = i;
-        i = (x_52 + 1);
-      }
-      continue;
-    }
-  }
-  int x_54 = b;
-  if ((x_54 == 3)) {
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = vec4(0.0f);
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:29: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:29: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:29: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-empty-loop-minus-one-modulo-variable-one/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-empty-loop-minus-one-modulo-variable-one/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index d1ac2a5..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-empty-loop-minus-one-modulo-variable-one/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,100 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct strided_arr {
-  int el;
-};
-
-struct buf0 {
-  strided_arr x_GLF_uniform_int_values[3];
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_2_1_ubo {
-  buf0 tint_symbol_1;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-int tint_mod_i32(int lhs, int rhs) {
-  int v_1 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_1) * v_1));
-}
-void main_1() {
-  int arr[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-  int a = 0;
-  int i = 0;
-  arr = int[10](1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
-  a = 0;
-  int x_42 = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-  int x_44 = arr[x_42];
-  if ((x_44 == 2)) {
-    int x_49 = v.tint_symbol_1.x_GLF_uniform_int_values[2].el;
-    i = x_49;
-    {
-      while(true) {
-        int x_54 = i;
-        int x_56 = v.tint_symbol_1.x_GLF_uniform_int_values[0].el;
-        if ((x_54 < x_56)) {
-        } else {
-          break;
-        }
-        {
-          int x_59 = i;
-          i = (x_59 + 1);
-        }
-        continue;
-      }
-    }
-    int x_61 = a;
-    a = (x_61 + 1);
-  }
-  int x_63 = a;
-  int x_66 = v.tint_symbol_1.x_GLF_uniform_int_values[2].el;
-  if ((tint_mod_i32(-1, x_63) == x_66)) {
-    int x_71 = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-    int x_75 = v.tint_symbol_1.x_GLF_uniform_int_values[2].el;
-    arr[ivec2(x_71, x_71)[1u]] = x_75;
-  }
-  int x_78 = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-  int x_80 = arr[x_78];
-  int x_82 = v.tint_symbol_1.x_GLF_uniform_int_values[2].el;
-  if ((x_80 == x_82)) {
-    int x_88 = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-    int x_91 = v.tint_symbol_1.x_GLF_uniform_int_values[2].el;
-    int x_94 = v.tint_symbol_1.x_GLF_uniform_int_values[2].el;
-    int x_97 = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-    float v_2 = float(x_88);
-    float v_3 = float(x_91);
-    float v_4 = float(x_94);
-    x_GLF_color = vec4(v_2, v_3, v_4, float(x_97));
-  } else {
-    int x_101 = v.tint_symbol_1.x_GLF_uniform_int_values[2].el;
-    float x_102 = float(x_101);
-    x_GLF_color = vec4(x_102, x_102, x_102, x_102);
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:25: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:25: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:25: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-fold-logical-and-const-variable/0.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-fold-logical-and-const-variable/0.spvasm.expected.ir.glsl
deleted file mode 100644
index d69019d..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-fold-logical-and-const-variable/0.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,38 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-void main_1() {
-  bool a = false;
-  a = false;
-  if ((true & a)) {
-    x_GLF_color = vec4(0.0f);
-  } else {
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:15: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' const bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:15: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-fold-logical-and-const-variable/0.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-fold-logical-and-const-variable/0.wgsl.expected.ir.glsl
deleted file mode 100644
index 4dc308b..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-fold-logical-and-const-variable/0.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,39 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-void main_1() {
-  bool a = false;
-  a = false;
-  bool x_19 = a;
-  if ((true & x_19)) {
-    x_GLF_color = vec4(0.0f);
-  } else {
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:16: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' const bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:16: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-fold-logical-and-constant/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-fold-logical-and-constant/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index 29d614e..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-fold-logical-and-constant/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,50 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-void main_1() {
-  int i = 0;
-  i = 2;
-  {
-    while(true) {
-      i = (i + 1);
-      {
-        float x_35 = tint_symbol.x;
-        if (!(((x_35 >= 0.0f) & false))) { break; }
-      }
-      continue;
-    }
-  }
-  if ((i == 3)) {
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = vec4(0.0f);
-  }
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:21: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' const bool' (or there is no acceptable conversion)
-ERROR: 0:21: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-fold-logical-and-constant/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-fold-logical-and-constant/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index af73431..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-fold-logical-and-constant/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,52 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-void main_1() {
-  int i = 0;
-  i = 2;
-  {
-    while(true) {
-      int x_6 = i;
-      i = (x_6 + 1);
-      {
-        float x_35 = tint_symbol.x;
-        if (!(((x_35 >= 0.0f) & false))) { break; }
-      }
-      continue;
-    }
-  }
-  int x_8 = i;
-  if ((x_8 == 3)) {
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = vec4(0.0f);
-  }
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:22: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' const bool' (or there is no acceptable conversion)
-ERROR: 0:22: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-fold-logical-or-constant/0.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-fold-logical-or-constant/0.spvasm.expected.ir.glsl
deleted file mode 100644
index ecb4ad9..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-fold-logical-or-constant/0.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,38 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-void main_1() {
-  if (((tint_symbol.x < 0.0f) | true)) {
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = vec4(0.0f);
-  }
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:14: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' const bool' (or there is no acceptable conversion)
-ERROR: 0:14: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-fold-logical-or-constant/0.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-fold-logical-or-constant/0.wgsl.expected.ir.glsl
deleted file mode 100644
index e6108f2..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-fold-logical-or-constant/0.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,39 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-void main_1() {
-  float x_22 = tint_symbol.x;
-  if (((x_22 < 0.0f) | true)) {
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = vec4(0.0f);
-  }
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:15: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' const bool' (or there is no acceptable conversion)
-ERROR: 0:15: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-folding-rules-merge-div-mul/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-folding-rules-merge-div-mul/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index 936836f..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-folding-rules-merge-div-mul/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,46 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  float one;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_2_1_ubo {
-  buf0 tint_symbol_1;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-void main_1() {
-  float f = 0.0f;
-  f = (4.0f / (2.0f * v.tint_symbol_1.one));
-  if (((f > 1.89999997615814208984f) & (f < 2.09999990463256835938f))) {
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = vec4(0.0f);
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:23: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:23: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-folding-rules-merge-div-mul/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-folding-rules-merge-div-mul/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index b74c78a..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-folding-rules-merge-div-mul/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,49 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  float one;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_2_1_ubo {
-  buf0 tint_symbol_1;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-void main_1() {
-  float f = 0.0f;
-  float x_28 = v.tint_symbol_1.one;
-  f = (4.0f / (2.0f * x_28));
-  float x_31 = f;
-  float x_33 = f;
-  if (((x_31 > 1.89999997615814208984f) & (x_33 < 2.09999990463256835938f))) {
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = vec4(0.0f);
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:26: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:26: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-folding-rules-merge-divs/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-folding-rules-merge-divs/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index a3f3585..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-folding-rules-merge-divs/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,46 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  float four;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_2_1_ubo {
-  buf0 tint_symbol_1;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-void main_1() {
-  float a = 0.0f;
-  a = (2.0f / (1.0f / v.tint_symbol_1.four));
-  if (((a > 7.90000009536743164062f) & (a < 8.1000003814697265625f))) {
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = vec4(0.0f);
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:23: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:23: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-folding-rules-merge-divs/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-folding-rules-merge-divs/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index 332bf90..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-folding-rules-merge-divs/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,49 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  float four;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_2_1_ubo {
-  buf0 tint_symbol_1;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-void main_1() {
-  float a = 0.0f;
-  float x_27 = v.tint_symbol_1.four;
-  a = (2.0f / (1.0f / x_27));
-  float x_30 = a;
-  float x_32 = a;
-  if (((x_30 > 7.90000009536743164062f) & (x_32 < 8.1000003814697265625f))) {
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = vec4(0.0f);
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:26: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:26: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-folding-rules-merge-mul-div/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-folding-rules-merge-mul-div/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index d320d15..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-folding-rules-merge-mul-div/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,46 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  float one;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_2_1_ubo {
-  buf0 tint_symbol_1;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-void main_1() {
-  float f = 0.0f;
-  f = (4.0f * (2.0f / v.tint_symbol_1.one));
-  if (((f > 7.90000009536743164062f) & (f < 8.1000003814697265625f))) {
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = vec4(0.0f);
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:23: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:23: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-folding-rules-merge-mul-div/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-folding-rules-merge-mul-div/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index 20711c4..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-folding-rules-merge-mul-div/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,49 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  float one;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_2_1_ubo {
-  buf0 tint_symbol_1;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-void main_1() {
-  float f = 0.0f;
-  float x_28 = v.tint_symbol_1.one;
-  f = (4.0f * (2.0f / x_28));
-  float x_31 = f;
-  float x_33 = f;
-  if (((x_31 > 7.90000009536743164062f) & (x_33 < 8.1000003814697265625f))) {
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = vec4(0.0f);
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:26: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:26: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-folding-rules-negate-div/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-folding-rules-negate-div/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index be192ff..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-folding-rules-negate-div/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,48 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  int four;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_2_1_ubo {
-  buf0 tint_symbol_1;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
-}
-void main_1() {
-  if ((-(tint_div_i32(v.tint_symbol_1.four, 2)) == -2)) {
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = vec4(0.0f);
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:21: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:21: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:21: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-folding-rules-negate-div/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-folding-rules-negate-div/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index db22dba..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-folding-rules-negate-div/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,49 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  int four;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_2_1_ubo {
-  buf0 tint_symbol_1;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
-}
-void main_1() {
-  int x_6 = v.tint_symbol_1.four;
-  if ((-(tint_div_i32(x_6, 2)) == -2)) {
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = vec4(0.0f);
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:21: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:21: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:21: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-for-array-initializing-modulo/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-for-array-initializing-modulo/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index c8d7711..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-for-array-initializing-modulo/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,71 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct strided_arr {
-  int el;
-};
-
-struct buf0 {
-  strided_arr x_GLF_uniform_int_values[4];
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_2_1_ubo {
-  buf0 tint_symbol_1;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-ivec2 tint_mod_v2i32(ivec2 lhs, ivec2 rhs) {
-  int v_1 = ((((rhs == ivec2(0)) | ((lhs == ivec2((-2147483647 - 1))) & (rhs == ivec2(-1)))).x) ? (ivec2(1).x) : (rhs.x));
-  ivec2 v_2 = ivec2(v_1, ((((rhs == ivec2(0)) | ((lhs == ivec2((-2147483647 - 1))) & (rhs == ivec2(-1)))).y) ? (ivec2(1).y) : (rhs.y)));
-  return (lhs - ((lhs / v_2) * v_2));
-}
-void main_1() {
-  int i = 0;
-  int a[2] = int[2](0, 0);
-  i = v.tint_symbol_1.x_GLF_uniform_int_values[2].el;
-  {
-    while(true) {
-      if ((i < v.tint_symbol_1.x_GLF_uniform_int_values[0].el)) {
-      } else {
-        break;
-      }
-      int v_3 = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-      ivec2 v_4 = ivec2(i);
-      a = int[2](v_3, tint_mod_v2i32(v_4, ivec2(3, v.tint_symbol_1.x_GLF_uniform_int_values[3].el))[1u]);
-      {
-        i = (i + 1);
-      }
-      continue;
-    }
-  }
-  float v_5 = float(a[v.tint_symbol_1.x_GLF_uniform_int_values[2].el]);
-  float v_6 = float(v.tint_symbol_1.x_GLF_uniform_int_values[1].el);
-  float v_7 = float(v.tint_symbol_1.x_GLF_uniform_int_values[1].el);
-  x_GLF_color = vec4(v_5, v_6, v_7, float(a[v.tint_symbol_1.x_GLF_uniform_int_values[2].el]));
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:25: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:25: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:25: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-for-array-initializing-modulo/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-for-array-initializing-modulo/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index c2ee8cf..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-for-array-initializing-modulo/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,83 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct strided_arr {
-  int el;
-};
-
-struct buf0 {
-  strided_arr x_GLF_uniform_int_values[4];
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_2_1_ubo {
-  buf0 tint_symbol_1;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-ivec2 tint_mod_v2i32(ivec2 lhs, ivec2 rhs) {
-  int v_1 = ((((rhs == ivec2(0)) | ((lhs == ivec2((-2147483647 - 1))) & (rhs == ivec2(-1)))).x) ? (ivec2(1).x) : (rhs.x));
-  ivec2 v_2 = ivec2(v_1, ((((rhs == ivec2(0)) | ((lhs == ivec2((-2147483647 - 1))) & (rhs == ivec2(-1)))).y) ? (ivec2(1).y) : (rhs.y)));
-  return (lhs - ((lhs / v_2) * v_2));
-}
-void main_1() {
-  int i = 0;
-  int a[2] = int[2](0, 0);
-  int x_32 = v.tint_symbol_1.x_GLF_uniform_int_values[2].el;
-  i = x_32;
-  {
-    while(true) {
-      int x_37 = i;
-      int x_39 = v.tint_symbol_1.x_GLF_uniform_int_values[0].el;
-      if ((x_37 < x_39)) {
-      } else {
-        break;
-      }
-      int x_43 = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-      int x_44 = i;
-      int x_46 = v.tint_symbol_1.x_GLF_uniform_int_values[3].el;
-      ivec2 v_3 = ivec2(x_44, x_44);
-      a = int[2](x_43, tint_mod_v2i32(v_3, ivec2(3, x_46))[1u]);
-      {
-        int x_52 = i;
-        i = (x_52 + 1);
-      }
-      continue;
-    }
-  }
-  int x_55 = v.tint_symbol_1.x_GLF_uniform_int_values[2].el;
-  int x_57 = a[x_55];
-  int x_60 = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-  int x_63 = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-  int x_66 = v.tint_symbol_1.x_GLF_uniform_int_values[2].el;
-  int x_68 = a[x_66];
-  float v_4 = float(x_57);
-  float v_5 = float(x_60);
-  float v_6 = float(x_63);
-  x_GLF_color = vec4(v_4, v_5, v_6, float(x_68));
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:25: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:25: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:25: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-global-loop-counter-main-function-call/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-global-loop-counter-main-function-call/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index 9f7a3c8..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-global-loop-counter-main-function-call/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,84 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct strided_arr {
-  int el;
-};
-
-struct buf0 {
-  strided_arr x_GLF_uniform_int_values[3];
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-int x_GLF_global_loop_count = 0;
-layout(binding = 0, std140)
-uniform tint_symbol_2_1_ubo {
-  buf0 tint_symbol_1;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-int func_() {
-  {
-    while(true) {
-      if ((x_GLF_global_loop_count < 100)) {
-      } else {
-        break;
-      }
-      x_GLF_global_loop_count = (x_GLF_global_loop_count + 1);
-      int x_78 = v.tint_symbol_1.x_GLF_uniform_int_values[0].el;
-      return x_78;
-    }
-  }
-  int x_80 = v.tint_symbol_1.x_GLF_uniform_int_values[2].el;
-  return x_80;
-}
-void main_1() {
-  int a = 0;
-  x_GLF_global_loop_count = 0;
-  {
-    while(true) {
-      x_GLF_global_loop_count = (x_GLF_global_loop_count + 1);
-      if (false) {
-        return;
-      }
-      {
-        int x_39 = x_GLF_global_loop_count;
-        if (!((true & (x_39 < 100)))) { break; }
-      }
-      continue;
-    }
-  }
-  int x_42 = func_();
-  a = x_42;
-  if ((a == v.tint_symbol_1.x_GLF_uniform_int_values[2].el)) {
-    float v_1 = float(v.tint_symbol_1.x_GLF_uniform_int_values[0].el);
-    float v_2 = float(v.tint_symbol_1.x_GLF_uniform_int_values[1].el);
-    float v_3 = float(v.tint_symbol_1.x_GLF_uniform_int_values[1].el);
-    x_GLF_color = vec4(v_1, v_2, v_3, float(v.tint_symbol_1.x_GLF_uniform_int_values[0].el));
-  } else {
-    x_GLF_color = vec4(float(v.tint_symbol_1.x_GLF_uniform_int_values[1].el));
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:51: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' const bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:51: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-global-loop-counter-main-function-call/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-global-loop-counter-main-function-call/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index 99ae081..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-global-loop-counter-main-function-call/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,95 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct strided_arr {
-  int el;
-};
-
-struct buf0 {
-  strided_arr x_GLF_uniform_int_values[3];
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-int x_GLF_global_loop_count = 0;
-layout(binding = 0, std140)
-uniform tint_symbol_2_1_ubo {
-  buf0 tint_symbol_1;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-int func_() {
-  {
-    while(true) {
-      int x_72 = x_GLF_global_loop_count;
-      if ((x_72 < 100)) {
-      } else {
-        break;
-      }
-      int x_75 = x_GLF_global_loop_count;
-      x_GLF_global_loop_count = (x_75 + 1);
-      int x_78 = v.tint_symbol_1.x_GLF_uniform_int_values[0].el;
-      return x_78;
-    }
-  }
-  int x_80 = v.tint_symbol_1.x_GLF_uniform_int_values[2].el;
-  return x_80;
-}
-void main_1() {
-  int a = 0;
-  x_GLF_global_loop_count = 0;
-  {
-    while(true) {
-      int x_35 = x_GLF_global_loop_count;
-      x_GLF_global_loop_count = (x_35 + 1);
-      if (false) {
-        return;
-      }
-      {
-        int x_39 = x_GLF_global_loop_count;
-        if (!((true & (x_39 < 100)))) { break; }
-      }
-      continue;
-    }
-  }
-  int x_42 = func_();
-  a = x_42;
-  int x_43 = a;
-  int x_45 = v.tint_symbol_1.x_GLF_uniform_int_values[2].el;
-  if ((x_43 == x_45)) {
-    int x_51 = v.tint_symbol_1.x_GLF_uniform_int_values[0].el;
-    int x_54 = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-    int x_57 = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-    int x_60 = v.tint_symbol_1.x_GLF_uniform_int_values[0].el;
-    float v_1 = float(x_51);
-    float v_2 = float(x_54);
-    float v_3 = float(x_57);
-    x_GLF_color = vec4(v_1, v_2, v_3, float(x_60));
-  } else {
-    int x_64 = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-    float x_65 = float(x_64);
-    x_GLF_color = vec4(x_65, x_65, x_65, x_65);
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:54: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' const bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:54: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-increment-int-loop-counter-mod-array/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-increment-int-loop-counter-mod-array/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index 6518583..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-increment-int-loop-counter-mod-array/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,78 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct strided_arr {
-  int el;
-};
-
-struct buf0 {
-  strided_arr x_GLF_uniform_int_values[5];
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_2_1_ubo {
-  buf0 tint_symbol_1;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-int tint_mod_i32(int lhs, int rhs) {
-  int v_1 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_1) * v_1));
-}
-void main_1() {
-  int a = 0;
-  int i = 0;
-  int indexable[9] = int[9](0, 0, 0, 0, 0, 0, 0, 0, 0);
-  a = v.tint_symbol_1.x_GLF_uniform_int_values[2].el;
-  i = v.tint_symbol_1.x_GLF_uniform_int_values[3].el;
-  {
-    while(true) {
-      if ((i < v.tint_symbol_1.x_GLF_uniform_int_values[0].el)) {
-      } else {
-        break;
-      }
-      int x_50 = i;
-      int x_52 = v.tint_symbol_1.x_GLF_uniform_int_values[4].el;
-      indexable = int[9](1, 2, 3, 4, 5, 6, 7, 8, 9);
-      int v_2 = a;
-      a = (v_2 + indexable[tint_mod_i32(x_50, x_52)]);
-      {
-        i = (i + 1);
-      }
-      continue;
-    }
-  }
-  if ((a == v.tint_symbol_1.x_GLF_uniform_int_values[1].el)) {
-    float v_3 = float(v.tint_symbol_1.x_GLF_uniform_int_values[2].el);
-    float v_4 = float(v.tint_symbol_1.x_GLF_uniform_int_values[3].el);
-    float v_5 = float(v.tint_symbol_1.x_GLF_uniform_int_values[3].el);
-    x_GLF_color = vec4(v_3, v_4, v_5, float(v.tint_symbol_1.x_GLF_uniform_int_values[2].el));
-  } else {
-    x_GLF_color = vec4(float(v.tint_symbol_1.x_GLF_uniform_int_values[3].el));
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:25: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:25: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:25: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-increment-int-loop-counter-mod-array/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-increment-int-loop-counter-mod-array/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index bc5a09a..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-increment-int-loop-counter-mod-array/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,92 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct strided_arr {
-  int el;
-};
-
-struct buf0 {
-  strided_arr x_GLF_uniform_int_values[5];
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_2_1_ubo {
-  buf0 tint_symbol_1;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-int tint_mod_i32(int lhs, int rhs) {
-  int v_1 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_1) * v_1));
-}
-void main_1() {
-  int a = 0;
-  int i = 0;
-  int indexable[9] = int[9](0, 0, 0, 0, 0, 0, 0, 0, 0);
-  int x_38 = v.tint_symbol_1.x_GLF_uniform_int_values[2].el;
-  a = x_38;
-  int x_40 = v.tint_symbol_1.x_GLF_uniform_int_values[3].el;
-  i = x_40;
-  {
-    while(true) {
-      int x_45 = i;
-      int x_47 = v.tint_symbol_1.x_GLF_uniform_int_values[0].el;
-      if ((x_45 < x_47)) {
-      } else {
-        break;
-      }
-      int x_50 = i;
-      int x_52 = v.tint_symbol_1.x_GLF_uniform_int_values[4].el;
-      indexable = int[9](1, 2, 3, 4, 5, 6, 7, 8, 9);
-      int x_55 = indexable[tint_mod_i32(x_50, x_52)];
-      int x_56 = a;
-      a = (x_56 + x_55);
-      {
-        int x_58 = i;
-        i = (x_58 + 1);
-      }
-      continue;
-    }
-  }
-  int x_60 = a;
-  int x_62 = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-  if ((x_60 == x_62)) {
-    int x_68 = v.tint_symbol_1.x_GLF_uniform_int_values[2].el;
-    int x_71 = v.tint_symbol_1.x_GLF_uniform_int_values[3].el;
-    int x_74 = v.tint_symbol_1.x_GLF_uniform_int_values[3].el;
-    int x_77 = v.tint_symbol_1.x_GLF_uniform_int_values[2].el;
-    float v_2 = float(x_68);
-    float v_3 = float(x_71);
-    float v_4 = float(x_74);
-    x_GLF_color = vec4(v_2, v_3, v_4, float(x_77));
-  } else {
-    int x_81 = v.tint_symbol_1.x_GLF_uniform_int_values[3].el;
-    float x_82 = float(x_81);
-    x_GLF_color = vec4(x_82, x_82, x_82, x_82);
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:25: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:25: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:25: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-increment-multiple-integers/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-increment-multiple-integers/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index c56af1b..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-increment-multiple-integers/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,101 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct strided_arr {
-  int el;
-};
-
-struct buf0 {
-  strided_arr x_GLF_uniform_int_values[5];
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_2_1_ubo {
-  buf0 tint_symbol_1;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-void main_1() {
-  int a = 0;
-  int b = 0;
-  int c = 0;
-  bool x_76 = false;
-  bool x_77 = false;
-  bool x_83 = false;
-  bool x_84 = false;
-  a = v.tint_symbol_1.x_GLF_uniform_int_values[0].el;
-  b = v.tint_symbol_1.x_GLF_uniform_int_values[2].el;
-  c = 1;
-  {
-    while(true) {
-      if (((b < v.tint_symbol_1.x_GLF_uniform_int_values[4].el) & (a < 10))) {
-      } else {
-        break;
-      }
-      if ((c > 5)) {
-        break;
-      }
-      a = (a + 1);
-      c = (c + 1);
-      b = (b + 1);
-      {
-      }
-      continue;
-    }
-  }
-  {
-    while(true) {
-      if ((a < v.tint_symbol_1.x_GLF_uniform_int_values[1].el)) {
-      } else {
-        break;
-      }
-      {
-        a = (a + 1);
-      }
-      continue;
-    }
-  }
-  bool x_70 = (a == v.tint_symbol_1.x_GLF_uniform_int_values[1].el);
-  x_77 = x_70;
-  if (x_70) {
-    x_76 = (b == v.tint_symbol_1.x_GLF_uniform_int_values[3].el);
-    x_77 = x_76;
-  }
-  x_84 = x_77;
-  if (x_77) {
-    x_83 = (c == v.tint_symbol_1.x_GLF_uniform_int_values[3].el);
-    x_84 = x_83;
-  }
-  if (x_84) {
-    float v_1 = float(v.tint_symbol_1.x_GLF_uniform_int_values[2].el);
-    float v_2 = float(v.tint_symbol_1.x_GLF_uniform_int_values[0].el);
-    float v_3 = float(v.tint_symbol_1.x_GLF_uniform_int_values[0].el);
-    x_GLF_color = vec4(v_1, v_2, v_3, float(v.tint_symbol_1.x_GLF_uniform_int_values[2].el));
-  } else {
-    x_GLF_color = vec4(float(v.tint_symbol_1.x_GLF_uniform_int_values[0].el));
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:37: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:37: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-increment-multiple-integers/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-increment-multiple-integers/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index 4b2f00d..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-increment-multiple-integers/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,127 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct strided_arr {
-  int el;
-};
-
-struct buf0 {
-  strided_arr x_GLF_uniform_int_values[5];
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_2_1_ubo {
-  buf0 tint_symbol_1;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-void main_1() {
-  int a = 0;
-  int b = 0;
-  int c = 0;
-  bool x_76 = false;
-  bool x_83 = false;
-  bool x_77_phi = false;
-  bool x_84_phi = false;
-  int x_31 = v.tint_symbol_1.x_GLF_uniform_int_values[0].el;
-  a = x_31;
-  int x_33 = v.tint_symbol_1.x_GLF_uniform_int_values[2].el;
-  b = x_33;
-  c = 1;
-  {
-    while(true) {
-      int x_38 = b;
-      int x_40 = v.tint_symbol_1.x_GLF_uniform_int_values[4].el;
-      int x_42 = a;
-      if (((x_38 < x_40) & (x_42 < 10))) {
-      } else {
-        break;
-      }
-      int x_46 = c;
-      if ((x_46 > 5)) {
-        break;
-      }
-      int x_50 = a;
-      a = (x_50 + 1);
-      int x_52 = c;
-      c = (x_52 + 1);
-      int x_54 = b;
-      b = (x_54 + 1);
-      {
-      }
-      continue;
-    }
-  }
-  {
-    while(true) {
-      int x_60 = a;
-      int x_62 = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-      if ((x_60 < x_62)) {
-      } else {
-        break;
-      }
-      {
-        int x_65 = a;
-        a = (x_65 + 1);
-      }
-      continue;
-    }
-  }
-  int x_67 = a;
-  int x_69 = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-  bool x_70 = (x_67 == x_69);
-  x_77_phi = x_70;
-  if (x_70) {
-    int x_73 = b;
-    int x_75 = v.tint_symbol_1.x_GLF_uniform_int_values[3].el;
-    x_76 = (x_73 == x_75);
-    x_77_phi = x_76;
-  }
-  bool x_77 = x_77_phi;
-  x_84_phi = x_77;
-  if (x_77) {
-    int x_80 = c;
-    int x_82 = v.tint_symbol_1.x_GLF_uniform_int_values[3].el;
-    x_83 = (x_80 == x_82);
-    x_84_phi = x_83;
-  }
-  bool x_84 = x_84_phi;
-  if (x_84) {
-    int x_89 = v.tint_symbol_1.x_GLF_uniform_int_values[2].el;
-    int x_92 = v.tint_symbol_1.x_GLF_uniform_int_values[0].el;
-    int x_95 = v.tint_symbol_1.x_GLF_uniform_int_values[0].el;
-    int x_98 = v.tint_symbol_1.x_GLF_uniform_int_values[2].el;
-    float v_1 = float(x_89);
-    float v_2 = float(x_92);
-    float v_3 = float(x_95);
-    x_GLF_color = vec4(v_1, v_2, v_3, float(x_98));
-  } else {
-    int x_102 = v.tint_symbol_1.x_GLF_uniform_int_values[0].el;
-    float x_103 = float(x_102);
-    x_GLF_color = vec4(x_103, x_103, x_103, x_103);
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:42: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:42: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-inst-combine-compares-while-modulo/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-inst-combine-compares-while-modulo/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index c18e997..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-inst-combine-compares-while-modulo/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,81 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct strided_arr {
-  int el;
-};
-
-struct buf1 {
-  strided_arr x_GLF_uniform_int_values[3];
-};
-
-struct strided_arr_1 {
-  float el;
-};
-
-struct buf0 {
-  strided_arr_1 x_GLF_uniform_float_values[1];
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 1, std140)
-uniform tint_symbol_2_1_ubo {
-  buf1 tint_symbol_1;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v_1;
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-int tint_mod_i32(int lhs, int rhs) {
-  int v_2 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_2) * v_2));
-}
-void main_1() {
-  int i = 0;
-  i = v.tint_symbol_1.x_GLF_uniform_int_values[2].el;
-  {
-    while(true) {
-      if ((i >= 0)) {
-      } else {
-        break;
-      }
-      if ((tint_mod_i32(i, 2) == 0)) {
-        float v_3 = float(v.tint_symbol_1.x_GLF_uniform_int_values[0].el);
-        float v_4 = float(v.tint_symbol_1.x_GLF_uniform_int_values[0].el);
-        x_GLF_color = vec4(1.0f, v_3, v_4, float(v.tint_symbol_1.x_GLF_uniform_int_values[1].el));
-      } else {
-        x_GLF_color = vec4(v_1.tint_symbol_3.x_GLF_uniform_float_values[0].el);
-      }
-      i = (i - 1);
-      {
-      }
-      continue;
-    }
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:37: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:37: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:37: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-inst-combine-compares-while-modulo/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-inst-combine-compares-while-modulo/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index 85ae53e..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-inst-combine-compares-while-modulo/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,89 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct strided_arr {
-  int el;
-};
-
-struct buf1 {
-  strided_arr x_GLF_uniform_int_values[3];
-};
-
-struct strided_arr_1 {
-  float el;
-};
-
-struct buf0 {
-  strided_arr_1 x_GLF_uniform_float_values[1];
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 1, std140)
-uniform tint_symbol_2_1_ubo {
-  buf1 tint_symbol_1;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v_1;
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-int tint_mod_i32(int lhs, int rhs) {
-  int v_2 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_2) * v_2));
-}
-void main_1() {
-  int i = 0;
-  int x_32 = v.tint_symbol_1.x_GLF_uniform_int_values[2].el;
-  i = x_32;
-  {
-    while(true) {
-      int x_37 = i;
-      if ((x_37 >= 0)) {
-      } else {
-        break;
-      }
-      int x_40 = i;
-      if ((tint_mod_i32(x_40, 2) == 0)) {
-        int x_47 = v.tint_symbol_1.x_GLF_uniform_int_values[0].el;
-        int x_50 = v.tint_symbol_1.x_GLF_uniform_int_values[0].el;
-        int x_53 = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-        float v_3 = float(x_47);
-        float v_4 = float(x_50);
-        x_GLF_color = vec4(1.0f, v_3, v_4, float(x_53));
-      } else {
-        float x_57 = v_1.tint_symbol_3.x_GLF_uniform_float_values[0].el;
-        x_GLF_color = vec4(x_57, x_57, x_57, x_57);
-      }
-      int x_59 = i;
-      i = (x_59 - 1);
-      {
-      }
-      continue;
-    }
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:37: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:37: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:37: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-instruction-simplify-inst-combine-calls-for-compare-function-call-result/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-instruction-simplify-inst-combine-calls-for-compare-function-call-result/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index 3dce87f..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-instruction-simplify-inst-combine-calls-for-compare-function-call-result/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,158 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct strided_arr {
-  int el;
-};
-
-struct buf0 {
-  strided_arr x_GLF_uniform_int_values[12];
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_2_1_ubo {
-  buf0 tint_symbol_1;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-int f_i1_(inout int a) {
-  int i = 0;
-  i = v.tint_symbol_1.x_GLF_uniform_int_values[0].el;
-  {
-    while(true) {
-      if ((i < v.tint_symbol_1.x_GLF_uniform_int_values[6].el)) {
-      } else {
-        break;
-      }
-      if ((i > v.tint_symbol_1.x_GLF_uniform_int_values[2].el)) {
-        int x_21 = a;
-        return x_21;
-      }
-      {
-        i = (i + 1);
-      }
-      continue;
-    }
-  }
-  int x_24 = v.tint_symbol_1.x_GLF_uniform_int_values[0].el;
-  return x_24;
-}
-int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
-}
-void main_1() {
-  int r[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-  int i_1 = 0;
-  int a_1[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-  int param = 0;
-  int param_1 = 0;
-  int i_2 = 0;
-  int x_25 = v.tint_symbol_1.x_GLF_uniform_int_values[0].el;
-  r[x_25] = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-  int x_27 = v.tint_symbol_1.x_GLF_uniform_int_values[11].el;
-  r[x_27] = v.tint_symbol_1.x_GLF_uniform_int_values[2].el;
-  int x_29 = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-  r[x_29] = v.tint_symbol_1.x_GLF_uniform_int_values[3].el;
-  int x_31 = v.tint_symbol_1.x_GLF_uniform_int_values[2].el;
-  r[x_31] = v.tint_symbol_1.x_GLF_uniform_int_values[4].el;
-  int x_33 = v.tint_symbol_1.x_GLF_uniform_int_values[3].el;
-  r[x_33] = v.tint_symbol_1.x_GLF_uniform_int_values[5].el;
-  int x_35 = v.tint_symbol_1.x_GLF_uniform_int_values[4].el;
-  r[x_35] = v.tint_symbol_1.x_GLF_uniform_int_values[6].el;
-  int x_37 = v.tint_symbol_1.x_GLF_uniform_int_values[5].el;
-  r[x_37] = v.tint_symbol_1.x_GLF_uniform_int_values[7].el;
-  int x_39 = v.tint_symbol_1.x_GLF_uniform_int_values[8].el;
-  r[x_39] = v.tint_symbol_1.x_GLF_uniform_int_values[8].el;
-  int x_41 = v.tint_symbol_1.x_GLF_uniform_int_values[9].el;
-  r[x_41] = v.tint_symbol_1.x_GLF_uniform_int_values[9].el;
-  int x_43 = v.tint_symbol_1.x_GLF_uniform_int_values[10].el;
-  r[x_43] = v.tint_symbol_1.x_GLF_uniform_int_values[10].el;
-  i_1 = v.tint_symbol_1.x_GLF_uniform_int_values[0].el;
-  {
-    while(true) {
-      if ((i_1 < v.tint_symbol_1.x_GLF_uniform_int_values[6].el)) {
-      } else {
-        break;
-      }
-      int x_48 = i_1;
-      a_1[x_48] = i_1;
-      int v_1 = i_1;
-      if ((v_1 < tint_div_i32(v.tint_symbol_1.x_GLF_uniform_int_values[6].el, v.tint_symbol_1.x_GLF_uniform_int_values[1].el))) {
-        int x_54 = i_1;
-        a_1[x_54] = (i_1 + v.tint_symbol_1.x_GLF_uniform_int_values[1].el);
-        if ((i_1 < v.tint_symbol_1.x_GLF_uniform_int_values[6].el)) {
-          {
-            i_1 = (i_1 + 1);
-          }
-          continue;
-        }
-        int x_60 = i_1;
-        a_1[x_60] = (i_1 + v.tint_symbol_1.x_GLF_uniform_int_values[8].el);
-        param = a_1[i_1];
-        int x_66 = f_i1_(param);
-        if ((x_66 < v.tint_symbol_1.x_GLF_uniform_int_values[8].el)) {
-          int x_68 = i_1;
-          int x_182_save = x_68;
-          a_1[x_182_save] = (a_1[x_68] - 1);
-        }
-      } else {
-        param_1 = a_1[i_1];
-        int x_73 = f_i1_(param_1);
-        if ((x_73 < v.tint_symbol_1.x_GLF_uniform_int_values[8].el)) {
-          int x_75 = i_1;
-          a_1[x_75] = (a_1[i_1] + v.tint_symbol_1.x_GLF_uniform_int_values[4].el);
-        }
-      }
-      {
-        i_1 = (i_1 + 1);
-      }
-      continue;
-    }
-  }
-  i_2 = v.tint_symbol_1.x_GLF_uniform_int_values[0].el;
-  {
-    while(true) {
-      if ((i_2 < v.tint_symbol_1.x_GLF_uniform_int_values[6].el)) {
-      } else {
-        break;
-      }
-      if ((a_1[i_2] != r[i_2])) {
-        x_GLF_color = vec4(float(v.tint_symbol_1.x_GLF_uniform_int_values[0].el));
-        return;
-      }
-      {
-        i_2 = (i_2 + 1);
-      }
-      continue;
-    }
-  }
-  float v_2 = float(v.tint_symbol_1.x_GLF_uniform_int_values[11].el);
-  float v_3 = float(v.tint_symbol_1.x_GLF_uniform_int_values[0].el);
-  float v_4 = float(v.tint_symbol_1.x_GLF_uniform_int_values[0].el);
-  x_GLF_color = vec4(v_2, v_3, v_4, float(v.tint_symbol_1.x_GLF_uniform_int_values[11].el));
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:47: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:47: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:47: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-instruction-simplify-inst-combine-calls-for-compare-function-call-result/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-instruction-simplify-inst-combine-calls-for-compare-function-call-result/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index 0af8507..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-instruction-simplify-inst-combine-calls-for-compare-function-call-result/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,211 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct strided_arr {
-  int el;
-};
-
-struct buf0 {
-  strided_arr x_GLF_uniform_int_values[12];
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_2_1_ubo {
-  buf0 tint_symbol_1;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-int f_i1_(inout int a) {
-  int i = 0;
-  int x_16 = v.tint_symbol_1.x_GLF_uniform_int_values[0].el;
-  i = x_16;
-  {
-    while(true) {
-      int x_17 = i;
-      int x_18 = v.tint_symbol_1.x_GLF_uniform_int_values[6].el;
-      if ((x_17 < x_18)) {
-      } else {
-        break;
-      }
-      int x_19 = i;
-      int x_20 = v.tint_symbol_1.x_GLF_uniform_int_values[2].el;
-      if ((x_19 > x_20)) {
-        int x_21 = a;
-        return x_21;
-      }
-      {
-        int x_22 = i;
-        i = (x_22 + 1);
-      }
-      continue;
-    }
-  }
-  int x_24 = v.tint_symbol_1.x_GLF_uniform_int_values[0].el;
-  return x_24;
-}
-int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
-}
-void main_1() {
-  int r[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-  int i_1 = 0;
-  int a_1[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-  int param = 0;
-  int param_1 = 0;
-  int i_2 = 0;
-  int x_25 = v.tint_symbol_1.x_GLF_uniform_int_values[0].el;
-  int x_26 = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-  r[x_25] = x_26;
-  int x_27 = v.tint_symbol_1.x_GLF_uniform_int_values[11].el;
-  int x_28 = v.tint_symbol_1.x_GLF_uniform_int_values[2].el;
-  r[x_27] = x_28;
-  int x_29 = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-  int x_30 = v.tint_symbol_1.x_GLF_uniform_int_values[3].el;
-  r[x_29] = x_30;
-  int x_31 = v.tint_symbol_1.x_GLF_uniform_int_values[2].el;
-  int x_32 = v.tint_symbol_1.x_GLF_uniform_int_values[4].el;
-  r[x_31] = x_32;
-  int x_33 = v.tint_symbol_1.x_GLF_uniform_int_values[3].el;
-  int x_34 = v.tint_symbol_1.x_GLF_uniform_int_values[5].el;
-  r[x_33] = x_34;
-  int x_35 = v.tint_symbol_1.x_GLF_uniform_int_values[4].el;
-  int x_36 = v.tint_symbol_1.x_GLF_uniform_int_values[6].el;
-  r[x_35] = x_36;
-  int x_37 = v.tint_symbol_1.x_GLF_uniform_int_values[5].el;
-  int x_38 = v.tint_symbol_1.x_GLF_uniform_int_values[7].el;
-  r[x_37] = x_38;
-  int x_39 = v.tint_symbol_1.x_GLF_uniform_int_values[8].el;
-  int x_40 = v.tint_symbol_1.x_GLF_uniform_int_values[8].el;
-  r[x_39] = x_40;
-  int x_41 = v.tint_symbol_1.x_GLF_uniform_int_values[9].el;
-  int x_42 = v.tint_symbol_1.x_GLF_uniform_int_values[9].el;
-  r[x_41] = x_42;
-  int x_43 = v.tint_symbol_1.x_GLF_uniform_int_values[10].el;
-  int x_44 = v.tint_symbol_1.x_GLF_uniform_int_values[10].el;
-  r[x_43] = x_44;
-  int x_45 = v.tint_symbol_1.x_GLF_uniform_int_values[0].el;
-  i_1 = x_45;
-  {
-    while(true) {
-      int x_46 = i_1;
-      int x_47 = v.tint_symbol_1.x_GLF_uniform_int_values[6].el;
-      if ((x_46 < x_47)) {
-      } else {
-        break;
-      }
-      int x_48 = i_1;
-      int x_49 = i_1;
-      a_1[x_48] = x_49;
-      int x_50 = i_1;
-      int x_51 = v.tint_symbol_1.x_GLF_uniform_int_values[6].el;
-      int x_52 = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-      if ((x_50 < tint_div_i32(x_51, x_52))) {
-        int x_54 = i_1;
-        int x_55 = i_1;
-        int x_56 = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-        a_1[x_54] = (x_55 + x_56);
-        int x_58 = i_1;
-        int x_59 = v.tint_symbol_1.x_GLF_uniform_int_values[6].el;
-        if ((x_58 < x_59)) {
-          {
-            int x_79 = i_1;
-            i_1 = (x_79 + 1);
-          }
-          continue;
-        }
-        int x_60 = i_1;
-        int x_61 = i_1;
-        int x_62 = v.tint_symbol_1.x_GLF_uniform_int_values[8].el;
-        a_1[x_60] = (x_61 + x_62);
-        int x_64 = i_1;
-        int x_65 = a_1[x_64];
-        param = x_65;
-        int x_66 = f_i1_(param);
-        int x_67 = v.tint_symbol_1.x_GLF_uniform_int_values[8].el;
-        if ((x_66 < x_67)) {
-          int x_68 = i_1;
-          int x_182_save = x_68;
-          int x_69 = a_1[x_182_save];
-          a_1[x_182_save] = (x_69 - 1);
-        }
-      } else {
-        int x_71 = i_1;
-        int x_72 = a_1[x_71];
-        param_1 = x_72;
-        int x_73 = f_i1_(param_1);
-        int x_74 = v.tint_symbol_1.x_GLF_uniform_int_values[8].el;
-        if ((x_73 < x_74)) {
-          int x_75 = i_1;
-          int x_76 = v.tint_symbol_1.x_GLF_uniform_int_values[4].el;
-          int x_77 = a_1[x_75];
-          a_1[x_75] = (x_77 + x_76);
-        }
-      }
-      {
-        int x_79 = i_1;
-        i_1 = (x_79 + 1);
-      }
-      continue;
-    }
-  }
-  int x_81 = v.tint_symbol_1.x_GLF_uniform_int_values[0].el;
-  i_2 = x_81;
-  {
-    while(true) {
-      int x_82 = i_2;
-      int x_83 = v.tint_symbol_1.x_GLF_uniform_int_values[6].el;
-      if ((x_82 < x_83)) {
-      } else {
-        break;
-      }
-      int x_84 = i_2;
-      int x_85 = a_1[x_84];
-      int x_86 = i_2;
-      int x_87 = r[x_86];
-      if ((x_85 != x_87)) {
-        int x_88 = v.tint_symbol_1.x_GLF_uniform_int_values[0].el;
-        float x_205 = float(x_88);
-        x_GLF_color = vec4(x_205, x_205, x_205, x_205);
-        return;
-      }
-      {
-        int x_89 = i_2;
-        i_2 = (x_89 + 1);
-      }
-      continue;
-    }
-  }
-  int x_91 = v.tint_symbol_1.x_GLF_uniform_int_values[11].el;
-  int x_92 = v.tint_symbol_1.x_GLF_uniform_int_values[0].el;
-  int x_93 = v.tint_symbol_1.x_GLF_uniform_int_values[0].el;
-  int x_94 = v.tint_symbol_1.x_GLF_uniform_int_values[11].el;
-  float v_1 = float(x_91);
-  float v_2 = float(x_92);
-  float v_3 = float(x_93);
-  x_GLF_color = vec4(v_1, v_2, v_3, float(x_94));
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:53: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:53: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:53: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-int-div-round-to-zero/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-int-div-round-to-zero/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index da60c9a..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-int-div-round-to-zero/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,60 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct strided_arr {
-  int el;
-};
-
-struct buf0 {
-  strided_arr x_GLF_uniform_int_values[3];
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_2_1_ubo {
-  buf0 tint_symbol_1;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-ivec2 tint_div_v2i32(ivec2 lhs, ivec2 rhs) {
-  int v_1 = ((((rhs == ivec2(0)) | ((lhs == ivec2((-2147483647 - 1))) & (rhs == ivec2(-1)))).x) ? (ivec2(1).x) : (rhs.x));
-  return (lhs / ivec2(v_1, ((((rhs == ivec2(0)) | ((lhs == ivec2((-2147483647 - 1))) & (rhs == ivec2(-1)))).y) ? (ivec2(1).y) : (rhs.y))));
-}
-void main_1() {
-  int a = 0;
-  a = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-  ivec2 v_2 = ivec2(a);
-  int v_3 = tint_div_v2i32(v_2, ivec2(v.tint_symbol_1.x_GLF_uniform_int_values[2].el, 63677))[1u];
-  if ((v_3 == v.tint_symbol_1.x_GLF_uniform_int_values[0].el)) {
-    float v_4 = float(v.tint_symbol_1.x_GLF_uniform_int_values[2].el);
-    float v_5 = float(v.tint_symbol_1.x_GLF_uniform_int_values[0].el);
-    float v_6 = float(v.tint_symbol_1.x_GLF_uniform_int_values[0].el);
-    x_GLF_color = vec4(v_4, v_5, v_6, float(v.tint_symbol_1.x_GLF_uniform_int_values[2].el));
-  } else {
-    x_GLF_color = vec4(float(v.tint_symbol_1.x_GLF_uniform_int_values[0].el));
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:25: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:25: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:25: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-int-div-round-to-zero/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-int-div-round-to-zero/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index a2d1d50..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-int-div-round-to-zero/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,69 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct strided_arr {
-  int el;
-};
-
-struct buf0 {
-  strided_arr x_GLF_uniform_int_values[3];
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_2_1_ubo {
-  buf0 tint_symbol_1;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-ivec2 tint_div_v2i32(ivec2 lhs, ivec2 rhs) {
-  int v_1 = ((((rhs == ivec2(0)) | ((lhs == ivec2((-2147483647 - 1))) & (rhs == ivec2(-1)))).x) ? (ivec2(1).x) : (rhs.x));
-  return (lhs / ivec2(v_1, ((((rhs == ivec2(0)) | ((lhs == ivec2((-2147483647 - 1))) & (rhs == ivec2(-1)))).y) ? (ivec2(1).y) : (rhs.y))));
-}
-void main_1() {
-  int a = 0;
-  int x_28 = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-  a = x_28;
-  int x_29 = a;
-  int x_31 = v.tint_symbol_1.x_GLF_uniform_int_values[2].el;
-  int x_37 = v.tint_symbol_1.x_GLF_uniform_int_values[0].el;
-  ivec2 v_2 = ivec2(x_29, x_29);
-  if ((tint_div_v2i32(v_2, ivec2(x_31, 63677))[1u] == x_37)) {
-    int x_43 = v.tint_symbol_1.x_GLF_uniform_int_values[2].el;
-    int x_46 = v.tint_symbol_1.x_GLF_uniform_int_values[0].el;
-    int x_49 = v.tint_symbol_1.x_GLF_uniform_int_values[0].el;
-    int x_52 = v.tint_symbol_1.x_GLF_uniform_int_values[2].el;
-    float v_3 = float(x_43);
-    float v_4 = float(x_46);
-    float v_5 = float(x_49);
-    x_GLF_color = vec4(v_3, v_4, v_5, float(x_52));
-  } else {
-    int x_56 = v.tint_symbol_1.x_GLF_uniform_int_values[0].el;
-    float x_57 = float(x_56);
-    x_GLF_color = vec4(x_57, x_57, x_57, x_57);
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:25: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:25: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:25: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-int-full-bits-divide-by-two-loop/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-int-full-bits-divide-by-two-loop/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index 747dad4..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-int-full-bits-divide-by-two-loop/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,78 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct strided_arr {
-  int el;
-};
-
-struct buf0 {
-  strided_arr x_GLF_uniform_int_values[2];
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  int a = 0;
-  int i = 0;
-  int v_1 = tint_f32_to_i32(tint_symbol.x);
-  a = (((v_1 < v.tint_symbol_3.x_GLF_uniform_int_values[1].el)) ? (0) : (-1));
-  i = 0;
-  {
-    while(true) {
-      if ((i < 5)) {
-      } else {
-        break;
-      }
-      a = tint_div_i32(a, 2);
-      {
-        i = (i + 1);
-      }
-      continue;
-    }
-  }
-  if ((a == 0)) {
-    float v_2 = float(v.tint_symbol_3.x_GLF_uniform_int_values[0].el);
-    float v_3 = float(v.tint_symbol_3.x_GLF_uniform_int_values[1].el);
-    float v_4 = float(v.tint_symbol_3.x_GLF_uniform_int_values[1].el);
-    x_GLF_color = vec4(v_2, v_3, v_4, float(v.tint_symbol_3.x_GLF_uniform_int_values[0].el));
-  } else {
-    x_GLF_color = vec4(float(v.tint_symbol_3.x_GLF_uniform_int_values[1].el));
-  }
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:26: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:26: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:26: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-int-full-bits-divide-by-two-loop/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-int-full-bits-divide-by-two-loop/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index 3a062da..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-int-full-bits-divide-by-two-loop/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,89 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct strided_arr {
-  int el;
-};
-
-struct buf0 {
-  strided_arr x_GLF_uniform_int_values[2];
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  int a = 0;
-  int i = 0;
-  float x_32 = tint_symbol.x;
-  int x_35 = v.tint_symbol_3.x_GLF_uniform_int_values[1].el;
-  a = (((tint_f32_to_i32(x_32) < x_35)) ? (0) : (-1));
-  i = 0;
-  {
-    while(true) {
-      int x_42 = i;
-      if ((x_42 < 5)) {
-      } else {
-        break;
-      }
-      int x_45 = a;
-      a = tint_div_i32(x_45, 2);
-      {
-        int x_47 = i;
-        i = (x_47 + 1);
-      }
-      continue;
-    }
-  }
-  int x_49 = a;
-  if ((x_49 == 0)) {
-    int x_55 = v.tint_symbol_3.x_GLF_uniform_int_values[0].el;
-    int x_58 = v.tint_symbol_3.x_GLF_uniform_int_values[1].el;
-    int x_61 = v.tint_symbol_3.x_GLF_uniform_int_values[1].el;
-    int x_64 = v.tint_symbol_3.x_GLF_uniform_int_values[0].el;
-    float v_1 = float(x_55);
-    float v_2 = float(x_58);
-    float v_3 = float(x_61);
-    x_GLF_color = vec4(v_1, v_2, v_3, float(x_64));
-  } else {
-    int x_68 = v.tint_symbol_3.x_GLF_uniform_int_values[1].el;
-    float x_69 = float(x_68);
-    x_GLF_color = vec4(x_69, x_69, x_69, x_69);
-  }
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:26: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:26: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:26: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-integer-modulo-negative/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-integer-modulo-negative/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index f95305e..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-integer-modulo-negative/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,76 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct strided_arr {
-  int el;
-};
-
-struct buf0 {
-  strided_arr x_GLF_uniform_int_values[3];
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_2_1_ubo {
-  buf0 tint_symbol_1;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-int tint_mod_i32(int lhs, int rhs) {
-  int v_1 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_1) * v_1));
-}
-void main_1() {
-  int count = 0;
-  int i = 0;
-  count = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-  i = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-  {
-    while(true) {
-      if ((i < v.tint_symbol_1.x_GLF_uniform_int_values[0].el)) {
-      } else {
-        break;
-      }
-      int v_2 = tint_mod_i32(count, -93448);
-      if ((v_2 > v.tint_symbol_1.x_GLF_uniform_int_values[1].el)) {
-        count = (count + 1);
-      }
-      {
-        i = (i + 1);
-      }
-      continue;
-    }
-  }
-  if ((count == v.tint_symbol_1.x_GLF_uniform_int_values[1].el)) {
-    float v_3 = float(v.tint_symbol_1.x_GLF_uniform_int_values[2].el);
-    float v_4 = float(v.tint_symbol_1.x_GLF_uniform_int_values[1].el);
-    float v_5 = float(v.tint_symbol_1.x_GLF_uniform_int_values[1].el);
-    x_GLF_color = vec4(v_3, v_4, v_5, float(v.tint_symbol_1.x_GLF_uniform_int_values[2].el));
-  } else {
-    x_GLF_color = vec4(float(v.tint_symbol_1.x_GLF_uniform_int_values[1].el));
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:25: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:25: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:25: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-integer-modulo-negative/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-integer-modulo-negative/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index 38df010..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-integer-modulo-negative/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,91 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct strided_arr {
-  int el;
-};
-
-struct buf0 {
-  strided_arr x_GLF_uniform_int_values[3];
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_2_1_ubo {
-  buf0 tint_symbol_1;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-int tint_mod_i32(int lhs, int rhs) {
-  int v_1 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_1) * v_1));
-}
-void main_1() {
-  int count = 0;
-  int i = 0;
-  int x_27 = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-  count = x_27;
-  int x_29 = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-  i = x_29;
-  {
-    while(true) {
-      int x_34 = i;
-      int x_36 = v.tint_symbol_1.x_GLF_uniform_int_values[0].el;
-      if ((x_34 < x_36)) {
-      } else {
-        break;
-      }
-      int x_39 = count;
-      int x_42 = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-      if ((tint_mod_i32(x_39, -93448) > x_42)) {
-        int x_46 = count;
-        count = (x_46 + 1);
-      }
-      {
-        int x_48 = i;
-        i = (x_48 + 1);
-      }
-      continue;
-    }
-  }
-  int x_50 = count;
-  int x_52 = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-  if ((x_50 == x_52)) {
-    int x_58 = v.tint_symbol_1.x_GLF_uniform_int_values[2].el;
-    int x_61 = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-    int x_64 = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-    int x_67 = v.tint_symbol_1.x_GLF_uniform_int_values[2].el;
-    float v_2 = float(x_58);
-    float v_3 = float(x_61);
-    float v_4 = float(x_64);
-    x_GLF_color = vec4(v_2, v_3, v_4, float(x_67));
-  } else {
-    int x_71 = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-    float x_72 = float(x_71);
-    x_GLF_color = vec4(x_72, x_72, x_72, x_72);
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:25: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:25: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:25: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-loop-condition-double-negate/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-loop-condition-double-negate/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index 8a2bbea..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-loop-condition-double-negate/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,92 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct strided_arr {
-  int el;
-};
-
-struct buf0 {
-  strided_arr x_GLF_uniform_int_values[6];
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_2_1_ubo {
-  buf0 tint_symbol_1;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-void main_1() {
-  int arr[3] = int[3](0, 0, 0);
-  int index = 0;
-  bool x_76 = false;
-  bool x_77 = false;
-  bool x_86 = false;
-  bool x_87 = false;
-  arr = int[3](v.tint_symbol_1.x_GLF_uniform_int_values[3].el, v.tint_symbol_1.x_GLF_uniform_int_values[5].el, v.tint_symbol_1.x_GLF_uniform_int_values[2].el);
-  index = 1;
-  {
-    while(true) {
-      bool x_51 = false;
-      bool x_52 = false;
-      x_52 = true;
-      if (true) {
-        x_51 = !(((v.tint_symbol_1.x_GLF_uniform_int_values[0].el == 1) & (index <= 1)));
-        x_52 = x_51;
-      }
-      if (!(x_52)) {
-      } else {
-        break;
-      }
-      int x_55 = index;
-      int x_56_save = x_55;
-      arr[x_56_save] = (arr[x_55] + 1);
-      index = (index + 1);
-      {
-      }
-      continue;
-    }
-  }
-  bool x_67 = (arr[v.tint_symbol_1.x_GLF_uniform_int_values[1].el] == v.tint_symbol_1.x_GLF_uniform_int_values[3].el);
-  x_77 = x_67;
-  if (x_67) {
-    x_76 = (arr[v.tint_symbol_1.x_GLF_uniform_int_values[0].el] == v.tint_symbol_1.x_GLF_uniform_int_values[4].el);
-    x_77 = x_76;
-  }
-  x_87 = x_77;
-  if (x_77) {
-    x_86 = (arr[v.tint_symbol_1.x_GLF_uniform_int_values[3].el] == v.tint_symbol_1.x_GLF_uniform_int_values[2].el);
-    x_87 = x_86;
-  }
-  if (x_87) {
-    float v_1 = float(v.tint_symbol_1.x_GLF_uniform_int_values[0].el);
-    float v_2 = float(v.tint_symbol_1.x_GLF_uniform_int_values[1].el);
-    float v_3 = float(v.tint_symbol_1.x_GLF_uniform_int_values[1].el);
-    x_GLF_color = vec4(v_1, v_2, v_3, float(v.tint_symbol_1.x_GLF_uniform_int_values[0].el));
-  } else {
-    x_GLF_color = vec4(float(v.tint_symbol_1.x_GLF_uniform_int_values[1].el));
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:39: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:39: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-loop-condition-double-negate/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-loop-condition-double-negate/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index de54234..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-loop-condition-double-negate/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,117 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct strided_arr {
-  int el;
-};
-
-struct buf0 {
-  strided_arr x_GLF_uniform_int_values[6];
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_2_1_ubo {
-  buf0 tint_symbol_1;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-void main_1() {
-  int arr[3] = int[3](0, 0, 0);
-  int index = 0;
-  bool x_76 = false;
-  bool x_86 = false;
-  bool x_77_phi = false;
-  bool x_87_phi = false;
-  int x_33 = v.tint_symbol_1.x_GLF_uniform_int_values[3].el;
-  int x_35 = v.tint_symbol_1.x_GLF_uniform_int_values[5].el;
-  int x_37 = v.tint_symbol_1.x_GLF_uniform_int_values[2].el;
-  arr = int[3](x_33, x_35, x_37);
-  index = 1;
-  {
-    while(true) {
-      bool x_51 = false;
-      bool x_52_phi = false;
-      x_52_phi = true;
-      if (true) {
-        int x_46 = v.tint_symbol_1.x_GLF_uniform_int_values[0].el;
-        int x_48 = index;
-        x_51 = !(((x_46 == 1) & (x_48 <= 1)));
-        x_52_phi = x_51;
-      }
-      bool x_52 = x_52_phi;
-      if (!(x_52)) {
-      } else {
-        break;
-      }
-      int x_55 = index;
-      int x_56_save = x_55;
-      int x_57 = arr[x_56_save];
-      arr[x_56_save] = (x_57 + 1);
-      int x_59 = index;
-      index = (x_59 + 1);
-      {
-      }
-      continue;
-    }
-  }
-  int x_62 = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-  int x_64 = arr[x_62];
-  int x_66 = v.tint_symbol_1.x_GLF_uniform_int_values[3].el;
-  bool x_67 = (x_64 == x_66);
-  x_77_phi = x_67;
-  if (x_67) {
-    int x_71 = v.tint_symbol_1.x_GLF_uniform_int_values[0].el;
-    int x_73 = arr[x_71];
-    int x_75 = v.tint_symbol_1.x_GLF_uniform_int_values[4].el;
-    x_76 = (x_73 == x_75);
-    x_77_phi = x_76;
-  }
-  bool x_77 = x_77_phi;
-  x_87_phi = x_77;
-  if (x_77) {
-    int x_81 = v.tint_symbol_1.x_GLF_uniform_int_values[3].el;
-    int x_83 = arr[x_81];
-    int x_85 = v.tint_symbol_1.x_GLF_uniform_int_values[2].el;
-    x_86 = (x_83 == x_85);
-    x_87_phi = x_86;
-  }
-  bool x_87 = x_87_phi;
-  if (x_87) {
-    int x_92 = v.tint_symbol_1.x_GLF_uniform_int_values[0].el;
-    int x_95 = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-    int x_98 = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-    int x_101 = v.tint_symbol_1.x_GLF_uniform_int_values[0].el;
-    float v_1 = float(x_92);
-    float v_2 = float(x_95);
-    float v_3 = float(x_98);
-    x_GLF_color = vec4(v_1, v_2, v_3, float(x_101));
-  } else {
-    int x_105 = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-    float x_106 = float(x_105);
-    x_GLF_color = vec4(x_106, x_106, x_106, x_106);
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:44: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:44: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-loop-increment-or-divide-by-loop-index/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-loop-increment-or-divide-by-loop-index/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index 0da368a..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-loop-increment-or-divide-by-loop-index/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,76 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct strided_arr {
-  int el;
-};
-
-struct buf0 {
-  strided_arr x_GLF_uniform_int_values[4];
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_2_1_ubo {
-  buf0 tint_symbol_1;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
-}
-void main_1() {
-  int a = 0;
-  int i = 0;
-  a = v.tint_symbol_1.x_GLF_uniform_int_values[3].el;
-  i = 0;
-  {
-    while(true) {
-      if ((i < 3)) {
-      } else {
-        break;
-      }
-      if ((i == v.tint_symbol_1.x_GLF_uniform_int_values[1].el)) {
-        a = (a + 1);
-      } else {
-        a = tint_div_i32(a, i);
-      }
-      {
-        i = (i + 1);
-      }
-      continue;
-    }
-  }
-  if ((a == v.tint_symbol_1.x_GLF_uniform_int_values[2].el)) {
-    float v_1 = float(v.tint_symbol_1.x_GLF_uniform_int_values[0].el);
-    float v_2 = float(v.tint_symbol_1.x_GLF_uniform_int_values[1].el);
-    float v_3 = float(v.tint_symbol_1.x_GLF_uniform_int_values[1].el);
-    x_GLF_color = vec4(v_1, v_2, v_3, float(v.tint_symbol_1.x_GLF_uniform_int_values[0].el));
-  } else {
-    x_GLF_color = vec4(float(v.tint_symbol_1.x_GLF_uniform_int_values[1].el));
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:25: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:25: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:25: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-loop-increment-or-divide-by-loop-index/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-loop-increment-or-divide-by-loop-index/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index d2222bf..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-loop-increment-or-divide-by-loop-index/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,92 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct strided_arr {
-  int el;
-};
-
-struct buf0 {
-  strided_arr x_GLF_uniform_int_values[4];
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_2_1_ubo {
-  buf0 tint_symbol_1;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
-}
-void main_1() {
-  int a = 0;
-  int i = 0;
-  int x_27 = v.tint_symbol_1.x_GLF_uniform_int_values[3].el;
-  a = x_27;
-  i = 0;
-  {
-    while(true) {
-      int x_32 = i;
-      if ((x_32 < 3)) {
-      } else {
-        break;
-      }
-      int x_35 = i;
-      int x_37 = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-      if ((x_35 == x_37)) {
-        int x_42 = a;
-        a = (x_42 + 1);
-      } else {
-        int x_44 = a;
-        int x_45 = i;
-        a = tint_div_i32(x_44, x_45);
-      }
-      {
-        int x_47 = i;
-        i = (x_47 + 1);
-      }
-      continue;
-    }
-  }
-  int x_49 = a;
-  int x_51 = v.tint_symbol_1.x_GLF_uniform_int_values[2].el;
-  if ((x_49 == x_51)) {
-    int x_57 = v.tint_symbol_1.x_GLF_uniform_int_values[0].el;
-    int x_60 = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-    int x_63 = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-    int x_66 = v.tint_symbol_1.x_GLF_uniform_int_values[0].el;
-    float v_1 = float(x_57);
-    float v_2 = float(x_60);
-    float v_3 = float(x_63);
-    x_GLF_color = vec4(v_1, v_2, v_3, float(x_66));
-  } else {
-    int x_70 = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-    float x_71 = float(x_70);
-    x_GLF_color = vec4(x_71, x_71, x_71, x_71);
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:25: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:25: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:25: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-loop-integer-half-minus-one/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-loop-integer-half-minus-one/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index 7ffd4b0..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-loop-integer-half-minus-one/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,69 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct strided_arr {
-  int el;
-};
-
-struct buf0 {
-  strided_arr x_GLF_uniform_int_values[3];
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_2_1_ubo {
-  buf0 tint_symbol_1;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
-}
-void main_1() {
-  int a = 0;
-  a = v.tint_symbol_1.x_GLF_uniform_int_values[2].el;
-  {
-    while(true) {
-      if ((a >= 0)) {
-      } else {
-        break;
-      }
-      a = (tint_div_i32(a, 2) - 1);
-      {
-      }
-      continue;
-    }
-  }
-  if ((a == -(v.tint_symbol_1.x_GLF_uniform_int_values[0].el))) {
-    float v_1 = float(v.tint_symbol_1.x_GLF_uniform_int_values[0].el);
-    float v_2 = float(v.tint_symbol_1.x_GLF_uniform_int_values[1].el);
-    float v_3 = float(v.tint_symbol_1.x_GLF_uniform_int_values[1].el);
-    x_GLF_color = vec4(v_1, v_2, v_3, float(v.tint_symbol_1.x_GLF_uniform_int_values[0].el));
-  } else {
-    x_GLF_color = vec4(float(v.tint_symbol_1.x_GLF_uniform_int_values[1].el));
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:25: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:25: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:25: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-loop-integer-half-minus-one/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-loop-integer-half-minus-one/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index a3cd85c..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-loop-integer-half-minus-one/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,80 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct strided_arr {
-  int el;
-};
-
-struct buf0 {
-  strided_arr x_GLF_uniform_int_values[3];
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_2_1_ubo {
-  buf0 tint_symbol_1;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
-}
-void main_1() {
-  int a = 0;
-  int x_25 = v.tint_symbol_1.x_GLF_uniform_int_values[2].el;
-  a = x_25;
-  {
-    while(true) {
-      int x_30 = a;
-      if ((x_30 >= 0)) {
-      } else {
-        break;
-      }
-      int x_33 = a;
-      a = (tint_div_i32(x_33, 2) - 1);
-      {
-      }
-      continue;
-    }
-  }
-  int x_36 = a;
-  int x_38 = v.tint_symbol_1.x_GLF_uniform_int_values[0].el;
-  if ((x_36 == -(x_38))) {
-    int x_45 = v.tint_symbol_1.x_GLF_uniform_int_values[0].el;
-    int x_48 = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-    int x_51 = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-    int x_54 = v.tint_symbol_1.x_GLF_uniform_int_values[0].el;
-    float v_1 = float(x_45);
-    float v_2 = float(x_48);
-    float v_3 = float(x_51);
-    x_GLF_color = vec4(v_1, v_2, v_3, float(x_54));
-  } else {
-    int x_58 = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-    float x_59 = float(x_58);
-    x_GLF_color = vec4(x_59, x_59, x_59, x_59);
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:25: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:25: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:25: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-machinevaluetype-one-iter-loop/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-machinevaluetype-one-iter-loop/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index 0ca3164..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-machinevaluetype-one-iter-loop/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,72 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 injectionSwitch;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_2_1_ubo {
-  buf0 tint_symbol_1;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  int a = 0;
-  int i = 0;
-  a = 0;
-  i = 0;
-  {
-    while(true) {
-      int v_1 = i;
-      if ((v_1 < tint_f32_to_i32(v.tint_symbol_1.injectionSwitch.y))) {
-      } else {
-        break;
-      }
-      if ((a > 0)) {
-        break;
-      }
-      a = tint_div_i32((tint_f32_to_i32(v.tint_symbol_1.injectionSwitch.y) * 2), 2);
-      {
-        i = (i + 1);
-      }
-      continue;
-    }
-  }
-  if ((a == 1)) {
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = vec4(0.0f);
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:21: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:21: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:21: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-machinevaluetype-one-iter-loop/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-machinevaluetype-one-iter-loop/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index ed2a072..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-machinevaluetype-one-iter-loop/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,77 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 injectionSwitch;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_2_1_ubo {
-  buf0 tint_symbol_1;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  int a = 0;
-  int i = 0;
-  a = 0;
-  i = 0;
-  {
-    while(true) {
-      int x_33 = i;
-      float x_35 = v.tint_symbol_1.injectionSwitch.y;
-      if ((x_33 < tint_f32_to_i32(x_35))) {
-      } else {
-        break;
-      }
-      int x_39 = a;
-      if ((x_39 > 0)) {
-        break;
-      }
-      float x_44 = v.tint_symbol_1.injectionSwitch.y;
-      a = tint_div_i32((tint_f32_to_i32(x_44) * 2), 2);
-      {
-        int x_48 = i;
-        i = (x_48 + 1);
-      }
-      continue;
-    }
-  }
-  int x_50 = a;
-  if ((x_50 == 1)) {
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = vec4(0.0f);
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:21: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:21: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:21: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-pattern-match-single-bit/0.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-pattern-match-single-bit/0.spvasm.expected.ir.glsl
deleted file mode 100644
index e1a98c7..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-pattern-match-single-bit/0.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,48 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  int three;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_2_1_ubo {
-  buf0 tint_symbol_1;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
-}
-void main_1() {
-  if ((tint_div_i32(10, (2 & v.tint_symbol_1.three)) == 5)) {
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = vec4(0.0f);
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:21: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:21: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:21: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-pattern-match-single-bit/0.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-pattern-match-single-bit/0.wgsl.expected.ir.glsl
deleted file mode 100644
index 01f10fa..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-pattern-match-single-bit/0.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,49 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  int three;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_2_1_ubo {
-  buf0 tint_symbol_1;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
-}
-void main_1() {
-  int x_25 = v.tint_symbol_1.three;
-  if ((tint_div_i32(10, (2 & x_25)) == 5)) {
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = vec4(0.0f);
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:21: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:21: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:21: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-pow-undefined/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-pow-undefined/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index 260610d..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-pow-undefined/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,55 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct strided_arr {
-  float el;
-};
-
-struct buf0 {
-  strided_arr x_GLF_uniform_float_values[2];
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 x_GLF_color = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_2_1_ubo {
-  buf0 tint_symbol_1;
-} v;
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-void main_1() {
-  float a = 0.0f;
-  float b = 0.0f;
-  float c = 0.0f;
-  a = -1.0f;
-  b = 1.70000004768371582031f;
-  c = pow(a, b);
-  x_GLF_color = vec4(c);
-  if (((a == -1.0f) & (b == 1.70000004768371582031f))) {
-    x_GLF_color = vec4(v.tint_symbol_1.x_GLF_uniform_float_values[0].el, v.tint_symbol_1.x_GLF_uniform_float_values[1].el, v.tint_symbol_1.x_GLF_uniform_float_values[1].el, v.tint_symbol_1.x_GLF_uniform_float_values[0].el);
-  } else {
-    x_GLF_color = vec4(v.tint_symbol_1.x_GLF_uniform_float_values[0].el);
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:32: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:32: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-pow-undefined/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-pow-undefined/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index db521cb..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-pow-undefined/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,65 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct strided_arr {
-  float el;
-};
-
-struct buf0 {
-  strided_arr x_GLF_uniform_float_values[2];
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 x_GLF_color = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_2_1_ubo {
-  buf0 tint_symbol_1;
-} v;
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-void main_1() {
-  float a = 0.0f;
-  float b = 0.0f;
-  float c = 0.0f;
-  a = -1.0f;
-  b = 1.70000004768371582031f;
-  float x_27 = a;
-  float x_28 = b;
-  c = pow(x_27, x_28);
-  float x_30 = c;
-  x_GLF_color = vec4(x_30, x_30, x_30, x_30);
-  float x_32 = a;
-  float x_34 = b;
-  if (((x_32 == -1.0f) & (x_34 == 1.70000004768371582031f))) {
-    float x_41 = v.tint_symbol_1.x_GLF_uniform_float_values[0].el;
-    float x_43 = v.tint_symbol_1.x_GLF_uniform_float_values[1].el;
-    float x_45 = v.tint_symbol_1.x_GLF_uniform_float_values[1].el;
-    float x_47 = v.tint_symbol_1.x_GLF_uniform_float_values[0].el;
-    x_GLF_color = vec4(x_41, x_43, x_45, x_47);
-  } else {
-    float x_50 = v.tint_symbol_1.x_GLF_uniform_float_values[0].el;
-    x_GLF_color = vec4(x_50, x_50, x_50, x_50);
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:37: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:37: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-rcp-negative-int/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-rcp-negative-int/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index 71ef8bd..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-rcp-negative-int/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,58 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct strided_arr {
-  int el;
-};
-
-struct buf0 {
-  strided_arr x_GLF_uniform_int_values[2];
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_2_1_ubo {
-  buf0 tint_symbol_1;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
-}
-void main_1() {
-  int a = 0;
-  a = -7563;
-  int v_1 = tint_div_i32(v.tint_symbol_1.x_GLF_uniform_int_values[1].el, a);
-  if ((v_1 == v.tint_symbol_1.x_GLF_uniform_int_values[0].el)) {
-    float v_2 = float(v.tint_symbol_1.x_GLF_uniform_int_values[1].el);
-    float v_3 = float(v.tint_symbol_1.x_GLF_uniform_int_values[0].el);
-    float v_4 = float(v.tint_symbol_1.x_GLF_uniform_int_values[0].el);
-    x_GLF_color = vec4(v_2, v_3, v_4, float(v.tint_symbol_1.x_GLF_uniform_int_values[1].el));
-  } else {
-    x_GLF_color = vec4(float(v.tint_symbol_1.x_GLF_uniform_int_values[0].el));
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:25: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:25: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:25: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-rcp-negative-int/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-rcp-negative-int/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index 0ed8cb4..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-rcp-negative-int/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,66 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct strided_arr {
-  int el;
-};
-
-struct buf0 {
-  strided_arr x_GLF_uniform_int_values[2];
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_2_1_ubo {
-  buf0 tint_symbol_1;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
-}
-void main_1() {
-  int a = 0;
-  a = -7563;
-  int x_25 = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-  int x_26 = a;
-  int x_29 = v.tint_symbol_1.x_GLF_uniform_int_values[0].el;
-  if ((tint_div_i32(x_25, x_26) == x_29)) {
-    int x_35 = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-    int x_38 = v.tint_symbol_1.x_GLF_uniform_int_values[0].el;
-    int x_41 = v.tint_symbol_1.x_GLF_uniform_int_values[0].el;
-    int x_44 = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-    float v_1 = float(x_35);
-    float v_2 = float(x_38);
-    float v_3 = float(x_41);
-    x_GLF_color = vec4(v_1, v_2, v_3, float(x_44));
-  } else {
-    int x_48 = v.tint_symbol_1.x_GLF_uniform_int_values[0].el;
-    float x_49 = float(x_48);
-    x_GLF_color = vec4(x_49, x_49, x_49, x_49);
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:25: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:25: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:25: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-reciprocal-var-minus-one/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-reciprocal-var-minus-one/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index 8110e88..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-reciprocal-var-minus-one/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,58 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct strided_arr {
-  int el;
-};
-
-struct buf0 {
-  strided_arr x_GLF_uniform_int_values[2];
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_2_1_ubo {
-  buf0 tint_symbol_1;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
-}
-void main_1() {
-  int a = 0;
-  a = -1;
-  int v_1 = tint_div_i32(v.tint_symbol_1.x_GLF_uniform_int_values[1].el, a);
-  if ((v_1 < v.tint_symbol_1.x_GLF_uniform_int_values[1].el)) {
-    float v_2 = float(v.tint_symbol_1.x_GLF_uniform_int_values[1].el);
-    float v_3 = float(v.tint_symbol_1.x_GLF_uniform_int_values[0].el);
-    float v_4 = float(v.tint_symbol_1.x_GLF_uniform_int_values[0].el);
-    x_GLF_color = vec4(v_2, v_3, v_4, float(v.tint_symbol_1.x_GLF_uniform_int_values[1].el));
-  } else {
-    x_GLF_color = vec4(float(v.tint_symbol_1.x_GLF_uniform_int_values[0].el));
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:25: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:25: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:25: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-reciprocal-var-minus-one/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-reciprocal-var-minus-one/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index 3b9cada..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-reciprocal-var-minus-one/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,66 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct strided_arr {
-  int el;
-};
-
-struct buf0 {
-  strided_arr x_GLF_uniform_int_values[2];
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_2_1_ubo {
-  buf0 tint_symbol_1;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
-}
-void main_1() {
-  int a = 0;
-  a = -1;
-  int x_25 = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-  int x_26 = a;
-  int x_29 = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-  if ((tint_div_i32(x_25, x_26) < x_29)) {
-    int x_35 = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-    int x_38 = v.tint_symbol_1.x_GLF_uniform_int_values[0].el;
-    int x_41 = v.tint_symbol_1.x_GLF_uniform_int_values[0].el;
-    int x_44 = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-    float v_1 = float(x_35);
-    float v_2 = float(x_38);
-    float v_3 = float(x_41);
-    x_GLF_color = vec4(v_1, v_2, v_3, float(x_44));
-  } else {
-    int x_48 = v.tint_symbol_1.x_GLF_uniform_int_values[0].el;
-    float x_49 = float(x_48);
-    x_GLF_color = vec4(x_49, x_49, x_49, x_49);
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:25: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:25: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:25: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-reduce-load-array-replace-extract/0.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-reduce-load-array-replace-extract/0.spvasm.expected.ir.glsl
deleted file mode 100644
index 5b5f40e..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-reduce-load-array-replace-extract/0.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,58 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  int zero;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 x_GLF_color = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_2_1_ubo {
-  buf0 tint_symbol_1;
-} v;
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-void main_1() {
-  int x_9[1] = int[1](0);
-  int x_10 = 0;
-  int x_6 = x_9[0u];
-  {
-    while(true) {
-      x_GLF_color = vec4(0.0f);
-      if ((x_9[v.tint_symbol_1.zero] == x_6)) {
-        x_10 = 1;
-        break;
-      }
-      x_10 = 2;
-      break;
-    }
-  }
-  if (((x_10 == 1) | (x_10 == 2))) {
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = vec4(0.0f);
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:35: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:35: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-reduce-load-array-replace-extract/0.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-reduce-load-array-replace-extract/0.wgsl.expected.ir.glsl
deleted file mode 100644
index 6591d0d..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-reduce-load-array-replace-extract/0.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,62 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  int zero;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 x_GLF_color = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_2_1_ubo {
-  buf0 tint_symbol_1;
-} v;
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-void main_1() {
-  int x_9[1] = int[1](0);
-  int x_10_phi = 0;
-  int x_33[1] = x_9;
-  int x_6 = x_33[0u];
-  {
-    while(true) {
-      x_GLF_color = vec4(0.0f);
-      int x_7 = v.tint_symbol_1.zero;
-      int x_8 = x_9[x_7];
-      if ((x_8 == x_6)) {
-        x_10_phi = 1;
-        break;
-      }
-      x_10_phi = 2;
-      break;
-    }
-  }
-  int x_10 = x_10_phi;
-  if (((x_10 == 1) | (x_10 == 2))) {
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = vec4(0.0f);
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:39: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:39: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-replace-copy-object/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-replace-copy-object/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index 738a236..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-replace-copy-object/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,99 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  int one;
-};
-
-struct S {
-  int data;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_2_1_ubo {
-  buf0 tint_symbol_1;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-int func_struct_S_i11_i1_(inout S s, inout int x) {
-  if ((s.data == 1)) {
-    int x_18 = x;
-    int x_19 = s.data;
-    return (x_18 + x_19);
-  } else {
-    int x_21 = x;
-    return x_21;
-  }
-  /* unreachable */
-}
-int tint_mod_i32(int lhs, int rhs) {
-  int v_1 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_1) * v_1));
-}
-void main_1() {
-  int a = 0;
-  S arr[1] = S[1](S(0));
-  int i = 0;
-  S param = S(0);
-  int param_1 = 0;
-  S param_2 = S(0);
-  int param_3 = 0;
-  a = 0;
-  arr[0].data = v.tint_symbol_1.one;
-  i = 0;
-  {
-    while(true) {
-      if ((i < (5 + v.tint_symbol_1.one))) {
-      } else {
-        break;
-      }
-      if ((tint_mod_i32(i, 2) != 0)) {
-        param = arr[0];
-        param_1 = i;
-        int x_29 = func_struct_S_i11_i1_(param, param_1);
-        arr[0] = param;
-        a = x_29;
-      } else {
-        param_2 = arr[0];
-        param_3 = 1;
-        int x_30 = func_struct_S_i11_i1_(param_2, param_3);
-        arr[0] = param_2;
-        a = x_30;
-      }
-      {
-        i = (i + 1);
-      }
-      continue;
-    }
-  }
-  if ((a == 6)) {
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = vec4(0.0f);
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:36: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:36: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:36: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-replace-copy-object/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-replace-copy-object/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index 08efa38..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-replace-copy-object/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,111 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  int one;
-};
-
-struct S {
-  int data;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_2_1_ubo {
-  buf0 tint_symbol_1;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-int func_struct_S_i11_i1_(inout S s, inout int x) {
-  int x_17 = s.data;
-  if ((x_17 == 1)) {
-    int x_18 = x;
-    int x_19 = s.data;
-    return (x_18 + x_19);
-  } else {
-    int x_21 = x;
-    return x_21;
-  }
-  /* unreachable */
-}
-int tint_mod_i32(int lhs, int rhs) {
-  int v_1 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_1) * v_1));
-}
-void main_1() {
-  int a = 0;
-  S arr[1] = S[1](S(0));
-  int i = 0;
-  S param = S(0);
-  int param_1 = 0;
-  S param_2 = S(0);
-  int param_3 = 0;
-  a = 0;
-  int x_22 = v.tint_symbol_1.one;
-  arr[0].data = x_22;
-  i = 0;
-  {
-    while(true) {
-      int x_23 = i;
-      int x_24 = v.tint_symbol_1.one;
-      if ((x_23 < (5 + x_24))) {
-      } else {
-        break;
-      }
-      int x_26 = i;
-      if ((tint_mod_i32(x_26, 2) != 0)) {
-        S x_74 = arr[0];
-        param = x_74;
-        int x_28 = i;
-        param_1 = x_28;
-        int x_29 = func_struct_S_i11_i1_(param, param_1);
-        S x_75 = param;
-        arr[0] = x_75;
-        a = x_29;
-      } else {
-        S x_78 = arr[0];
-        param_2 = x_78;
-        param_3 = 1;
-        int x_30 = func_struct_S_i11_i1_(param_2, param_3);
-        S x_79 = param_2;
-        arr[0] = x_79;
-        a = x_30;
-      }
-      {
-        int x_31 = i;
-        i = (x_31 + 1);
-      }
-      continue;
-    }
-  }
-  int x_33 = a;
-  if ((x_33 == 6)) {
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = vec4(0.0f);
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:37: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:37: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:37: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-simplify-component-uniform-idx/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-simplify-component-uniform-idx/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index 5bd50cd..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-simplify-component-uniform-idx/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,66 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  int two;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_2_1_ubo {
-  buf0 tint_symbol_1;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
-}
-void main_1() {
-  int i = 0;
-  int r = 0;
-  i = 0;
-  r = 0;
-  {
-    while(true) {
-      if ((r < (v.tint_symbol_1.two * 4))) {
-      } else {
-        break;
-      }
-      int v_1 = i;
-      i = (v_1 + ivec4(1, 2, 3, 4)[tint_div_i32(r, v.tint_symbol_1.two)]);
-      {
-        r = (r + 2);
-      }
-      continue;
-    }
-  }
-  if ((i == 10)) {
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = vec4(0.0f);
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:21: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:21: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:21: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-simplify-component-uniform-idx/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-simplify-component-uniform-idx/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index 5a0d11c..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-simplify-component-uniform-idx/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,72 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  int two;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_2_1_ubo {
-  buf0 tint_symbol_1;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
-}
-void main_1() {
-  int i = 0;
-  int r = 0;
-  i = 0;
-  r = 0;
-  {
-    while(true) {
-      int x_35 = r;
-      int x_37 = v.tint_symbol_1.two;
-      if ((x_35 < (x_37 * 4))) {
-      } else {
-        break;
-      }
-      int x_41 = r;
-      int x_43 = v.tint_symbol_1.two;
-      int x_46 = i;
-      i = (x_46 + ivec4(1, 2, 3, 4)[tint_div_i32(x_41, x_43)]);
-      {
-        int x_48 = r;
-        r = (x_48 + 2);
-      }
-      continue;
-    }
-  }
-  int x_50 = i;
-  if ((x_50 == 10)) {
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = vec4(0.0f);
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:21: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:21: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:21: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-target-lowering-dfdx-cos/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-target-lowering-dfdx-cos/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index 9dd551a..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-target-lowering-dfdx-cos/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,51 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  float two;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-void main_1() {
-  float a = 0.0f;
-  float b = 0.0f;
-  float x_33 = tint_symbol.x;
-  a = dFdx(cos(x_33));
-  b = mix(2.0f, v.tint_symbol_3.two, a);
-  if (((b >= 1.89999997615814208984f) & (b <= 2.09999990463256835938f))) {
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = vec4(0.0f);
-  }
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:27: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:27: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-target-lowering-dfdx-cos/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-target-lowering-dfdx-cos/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index 96d86e9..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-target-lowering-dfdx-cos/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,55 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  float two;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-void main_1() {
-  float a = 0.0f;
-  float b = 0.0f;
-  float x_33 = tint_symbol.x;
-  a = dFdx(cos(x_33));
-  float x_37 = v.tint_symbol_3.two;
-  float x_38 = a;
-  b = mix(2.0f, x_37, x_38);
-  float x_40 = b;
-  float x_42 = b;
-  if (((x_40 >= 1.89999997615814208984f) & (x_42 <= 2.09999990463256835938f))) {
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = vec4(0.0f);
-  }
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:31: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:31: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-value-tracking-apint-inst-combine-simplify-one-mod-loop-iterator/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-value-tracking-apint-inst-combine-simplify-one-mod-loop-iterator/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index 938e78b..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-value-tracking-apint-inst-combine-simplify-one-mod-loop-iterator/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,80 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct strided_arr {
-  int el;
-};
-
-struct buf0 {
-  strided_arr x_GLF_uniform_int_values[4];
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_2_1_ubo {
-  buf0 tint_symbol_1;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-int tint_mod_i32(int lhs, int rhs) {
-  int v_1 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_1) * v_1));
-}
-void main_1() {
-  int a = 0;
-  int i = 0;
-  a = v.tint_symbol_1.x_GLF_uniform_int_values[2].el;
-  i = v.tint_symbol_1.x_GLF_uniform_int_values[3].el;
-  {
-    while(true) {
-      if ((i < v.tint_symbol_1.x_GLF_uniform_int_values[0].el)) {
-      } else {
-        break;
-      }
-      int v_2 = tint_mod_i32(1, i);
-      if ((v_2 == v.tint_symbol_1.x_GLF_uniform_int_values[2].el)) {
-        {
-          i = (i + 1);
-        }
-        continue;
-      }
-      a = (a + 1);
-      {
-        i = (i + 1);
-      }
-      continue;
-    }
-  }
-  if ((a == v.tint_symbol_1.x_GLF_uniform_int_values[1].el)) {
-    float v_3 = float(v.tint_symbol_1.x_GLF_uniform_int_values[3].el);
-    float v_4 = float(v.tint_symbol_1.x_GLF_uniform_int_values[2].el);
-    float v_5 = float(v.tint_symbol_1.x_GLF_uniform_int_values[2].el);
-    x_GLF_color = vec4(v_3, v_4, v_5, float(v.tint_symbol_1.x_GLF_uniform_int_values[3].el));
-  } else {
-    x_GLF_color = vec4(float(v.tint_symbol_1.x_GLF_uniform_int_values[2].el));
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:25: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:25: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:25: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-value-tracking-apint-inst-combine-simplify-one-mod-loop-iterator/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-value-tracking-apint-inst-combine-simplify-one-mod-loop-iterator/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index 9fb6294..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-value-tracking-apint-inst-combine-simplify-one-mod-loop-iterator/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,96 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct strided_arr {
-  int el;
-};
-
-struct buf0 {
-  strided_arr x_GLF_uniform_int_values[4];
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_2_1_ubo {
-  buf0 tint_symbol_1;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-int tint_mod_i32(int lhs, int rhs) {
-  int v_1 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_1) * v_1));
-}
-void main_1() {
-  int a = 0;
-  int i = 0;
-  int x_27 = v.tint_symbol_1.x_GLF_uniform_int_values[2].el;
-  a = x_27;
-  int x_29 = v.tint_symbol_1.x_GLF_uniform_int_values[3].el;
-  i = x_29;
-  {
-    while(true) {
-      int x_34 = i;
-      int x_36 = v.tint_symbol_1.x_GLF_uniform_int_values[0].el;
-      if ((x_34 < x_36)) {
-      } else {
-        break;
-      }
-      int x_39 = i;
-      int x_42 = v.tint_symbol_1.x_GLF_uniform_int_values[2].el;
-      if ((tint_mod_i32(1, x_39) == x_42)) {
-        {
-          int x_48 = i;
-          i = (x_48 + 1);
-        }
-        continue;
-      }
-      int x_46 = a;
-      a = (x_46 + 1);
-      {
-        int x_48 = i;
-        i = (x_48 + 1);
-      }
-      continue;
-    }
-  }
-  int x_50 = a;
-  int x_52 = v.tint_symbol_1.x_GLF_uniform_int_values[1].el;
-  if ((x_50 == x_52)) {
-    int x_58 = v.tint_symbol_1.x_GLF_uniform_int_values[3].el;
-    int x_61 = v.tint_symbol_1.x_GLF_uniform_int_values[2].el;
-    int x_64 = v.tint_symbol_1.x_GLF_uniform_int_values[2].el;
-    int x_67 = v.tint_symbol_1.x_GLF_uniform_int_values[3].el;
-    float v_2 = float(x_58);
-    float v_3 = float(x_61);
-    float v_4 = float(x_64);
-    x_GLF_color = vec4(v_2, v_3, v_4, float(x_67));
-  } else {
-    int x_71 = v.tint_symbol_1.x_GLF_uniform_int_values[2].el;
-    float x_72 = float(x_71);
-    x_GLF_color = vec4(x_72, x_72, x_72, x_72);
-  }
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:25: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:25: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:25: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/loop-dead-if-loop/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/loop-dead-if-loop/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index b4cbea8..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/loop-dead-if-loop/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,99 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 injectionSwitch;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_2_1_ubo {
-  buf0 tint_symbol_1;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-void main_1() {
-  int k = 0;
-  int GLF_dead0j = 0;
-  int donor_replacementGLF_dead0stack[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-  int donor_replacementGLF_dead0top = 0;
-  int x_54 = 0;
-  vec4 matrix_b = vec4(0.0f);
-  int b = 0;
-  k = 0;
-  {
-    while(true) {
-      if ((k < 4)) {
-      } else {
-        break;
-      }
-      if ((0.0f > v.tint_symbol_1.injectionSwitch.y)) {
-        GLF_dead0j = 1;
-        {
-          while(true) {
-            if ((1 <= donor_replacementGLF_dead0stack[0])) {
-            } else {
-              break;
-            }
-            {
-            }
-            continue;
-          }
-        }
-        if (((donor_replacementGLF_dead0top >= 0) & (donor_replacementGLF_dead0top < 9))) {
-          int x_17 = (donor_replacementGLF_dead0top + 1);
-          donor_replacementGLF_dead0top = x_17;
-          x_54 = x_17;
-        } else {
-          x_54 = 0;
-        }
-        int x_18 = x_54;
-        donor_replacementGLF_dead0stack[x_18] = 1;
-      }
-      matrix_b = vec4(0.0f);
-      b = 3;
-      {
-        while(true) {
-          if ((b >= 0)) {
-          } else {
-            break;
-          }
-          int x_20 = b;
-          matrix_b[x_20] = (matrix_b[b] - 1.0f);
-          {
-            b = (b - 1);
-          }
-          continue;
-        }
-      }
-      {
-        k = (k + 1);
-      }
-      continue;
-    }
-  }
-  x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:48: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:48: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/loop-dead-if-loop/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/loop-dead-if-loop/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index 858b049..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/loop-dead-if-loop/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,110 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 injectionSwitch;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_2_1_ubo {
-  buf0 tint_symbol_1;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-void main_1() {
-  int k = 0;
-  int GLF_dead0j = 0;
-  int donor_replacementGLF_dead0stack[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-  int donor_replacementGLF_dead0top = 0;
-  int x_54 = 0;
-  vec4 matrix_b = vec4(0.0f);
-  int b = 0;
-  k = 0;
-  {
-    while(true) {
-      int x_12 = k;
-      if ((x_12 < 4)) {
-      } else {
-        break;
-      }
-      float x_62 = v.tint_symbol_1.injectionSwitch.y;
-      if ((0.0f > x_62)) {
-        GLF_dead0j = 1;
-        {
-          while(true) {
-            int x_13 = donor_replacementGLF_dead0stack[0];
-            if ((1 <= x_13)) {
-            } else {
-              break;
-            }
-            {
-            }
-            continue;
-          }
-        }
-        int x_14 = donor_replacementGLF_dead0top;
-        int x_15 = donor_replacementGLF_dead0top;
-        if (((x_14 >= 0) & (x_15 < 9))) {
-          int x_16 = donor_replacementGLF_dead0top;
-          int x_17 = (x_16 + 1);
-          donor_replacementGLF_dead0top = x_17;
-          x_54 = x_17;
-        } else {
-          x_54 = 0;
-        }
-        int x_18 = x_54;
-        donor_replacementGLF_dead0stack[x_18] = 1;
-      }
-      matrix_b = vec4(0.0f);
-      b = 3;
-      {
-        while(true) {
-          int x_19 = b;
-          if ((x_19 >= 0)) {
-          } else {
-            break;
-          }
-          int x_20 = b;
-          int x_21 = b;
-          float x_87 = matrix_b[x_21];
-          matrix_b[x_20] = (x_87 - 1.0f);
-          {
-            int x_22 = b;
-            b = (x_22 - 1);
-          }
-          continue;
-        }
-      }
-      {
-        int x_24 = k;
-        k = (x_24 + 1);
-      }
-      continue;
-    }
-  }
-  x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:53: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:53: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/nested-loops-switch/0.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/nested-loops-switch/0.spvasm.expected.ir.glsl
deleted file mode 100644
index 0d81303..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/nested-loops-switch/0.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,134 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 injectionSwitch;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_2_1_ubo {
-  buf0 tint_symbol_1;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  int i = 0;
-  int GLF_dead5cols = 0;
-  int GLF_dead5rows = 0;
-  int GLF_dead5c = 0;
-  int GLF_dead5r = 0;
-  int msb10 = 0;
-  float donor_replacementGLF_dead5sums[9] = float[9](0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
-  i = 0;
-  {
-    while(true) {
-      int v_1 = i;
-      if ((v_1 >= tint_f32_to_i32(v.tint_symbol_1.injectionSwitch.x))) {
-        break;
-      }
-      if ((0.0f > v.tint_symbol_1.injectionSwitch.y)) {
-        GLF_dead5cols = 2;
-        {
-          while(true) {
-            if ((GLF_dead5cols <= 4)) {
-            } else {
-              break;
-            }
-            GLF_dead5rows = 2;
-            {
-              while(true) {
-                if ((GLF_dead5rows <= 4)) {
-                } else {
-                  break;
-                }
-                GLF_dead5c = 0;
-                {
-                  while(true) {
-                    if ((GLF_dead5c < GLF_dead5cols)) {
-                    } else {
-                      break;
-                    }
-                    GLF_dead5r = 0;
-                    {
-                      while(true) {
-                        if ((GLF_dead5r < GLF_dead5rows)) {
-                        } else {
-                          break;
-                        }
-                        int x_87 = msb10;
-                        switch(x_87) {
-                          case 1:
-                          case 8:
-                          {
-                            int x_96 = ((((msb10 >= 0) & (msb10 < 9))) ? (msb10) : (0));
-                            donor_replacementGLF_dead5sums[x_96] = (donor_replacementGLF_dead5sums[x_96] + 1.0f);
-                            break;
-                          }
-                          default:
-                          {
-                            break;
-                          }
-                        }
-                        {
-                          GLF_dead5r = (GLF_dead5r + 1);
-                        }
-                        continue;
-                      }
-                    }
-                    {
-                      GLF_dead5c = (GLF_dead5c + 1);
-                    }
-                    continue;
-                  }
-                }
-                msb10 = (msb10 + 1);
-                {
-                  GLF_dead5rows = (GLF_dead5rows + 1);
-                }
-                continue;
-              }
-            }
-            {
-              GLF_dead5cols = (GLF_dead5cols + 1);
-            }
-            continue;
-          }
-        }
-      }
-      i = (i + 1);
-      {
-        int x_113 = i;
-        if (!((x_113 < 200))) { break; }
-      }
-      continue;
-    }
-  }
-  x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:72: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:72: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/nested-loops-switch/0.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/nested-loops-switch/0.wgsl.expected.ir.glsl
deleted file mode 100644
index 3d799db..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/nested-loops-switch/0.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,152 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 injectionSwitch;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_2_1_ubo {
-  buf0 tint_symbol_1;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_loc0_Output;
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  int i = 0;
-  int GLF_dead5cols = 0;
-  int GLF_dead5rows = 0;
-  int GLF_dead5c = 0;
-  int GLF_dead5r = 0;
-  int msb10 = 0;
-  float donor_replacementGLF_dead5sums[9] = float[9](0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
-  i = 0;
-  {
-    while(true) {
-      int x_45 = i;
-      float x_47 = v.tint_symbol_1.injectionSwitch.x;
-      if ((x_45 >= tint_f32_to_i32(x_47))) {
-        break;
-      }
-      float x_53 = v.tint_symbol_1.injectionSwitch.y;
-      if ((0.0f > x_53)) {
-        GLF_dead5cols = 2;
-        {
-          while(true) {
-            int x_61 = GLF_dead5cols;
-            if ((x_61 <= 4)) {
-            } else {
-              break;
-            }
-            GLF_dead5rows = 2;
-            {
-              while(true) {
-                int x_68 = GLF_dead5rows;
-                if ((x_68 <= 4)) {
-                } else {
-                  break;
-                }
-                GLF_dead5c = 0;
-                {
-                  while(true) {
-                    int x_75 = GLF_dead5c;
-                    int x_76 = GLF_dead5cols;
-                    if ((x_75 < x_76)) {
-                    } else {
-                      break;
-                    }
-                    GLF_dead5r = 0;
-                    {
-                      while(true) {
-                        int x_83 = GLF_dead5r;
-                        int x_84 = GLF_dead5rows;
-                        if ((x_83 < x_84)) {
-                        } else {
-                          break;
-                        }
-                        int x_87 = msb10;
-                        switch(x_87) {
-                          case 1:
-                          case 8:
-                          {
-                            int x_90 = msb10;
-                            int x_92 = msb10;
-                            int x_95 = msb10;
-                            int x_96 = ((((x_90 >= 0) & (x_92 < 9))) ? (x_95) : (0));
-                            float x_98 = donor_replacementGLF_dead5sums[x_96];
-                            donor_replacementGLF_dead5sums[x_96] = (x_98 + 1.0f);
-                            break;
-                          }
-                          default:
-                          {
-                            break;
-                          }
-                        }
-                        {
-                          int x_101 = GLF_dead5r;
-                          GLF_dead5r = (x_101 + 1);
-                        }
-                        continue;
-                      }
-                    }
-                    {
-                      int x_103 = GLF_dead5c;
-                      GLF_dead5c = (x_103 + 1);
-                    }
-                    continue;
-                  }
-                }
-                int x_105 = msb10;
-                msb10 = (x_105 + 1);
-                {
-                  int x_107 = GLF_dead5rows;
-                  GLF_dead5rows = (x_107 + 1);
-                }
-                continue;
-              }
-            }
-            {
-              int x_109 = GLF_dead5cols;
-              GLF_dead5cols = (x_109 + 1);
-            }
-            continue;
-          }
-        }
-      }
-      int x_111 = i;
-      i = (x_111 + 1);
-      {
-        int x_113 = i;
-        if (!((x_113 < 200))) { break; }
-      }
-      continue;
-    }
-  }
-  x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-}
-main_out tint_symbol_inner() {
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_loc0_Output = tint_symbol_inner().x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:83: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:83: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-access-chains/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-access-chains/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index 089f6ed..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-access-chains/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,292 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v_1;
-int map[256] = int[256](0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_mod_i32(int lhs, int rhs) {
-  int v_2 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_2) * v_2));
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  vec2 pos = vec2(0.0f);
-  ivec2 ipos = ivec2(0);
-  int i = 0;
-  ivec2 p = ivec2(0);
-  bool canwalk = false;
-  int v = 0;
-  int directions = 0;
-  int j = 0;
-  int d = 0;
-  pos = (tint_symbol.xy / v_1.tint_symbol_3.resolution);
-  int v_3 = tint_f32_to_i32((pos.x * 16.0f));
-  ipos = ivec2(v_3, tint_f32_to_i32((pos.y * 16.0f)));
-  i = 0;
-  {
-    while(true) {
-      if ((i < 256)) {
-      } else {
-        break;
-      }
-      int x_78 = i;
-      map[x_78] = 0;
-      {
-        i = (i + 1);
-      }
-      continue;
-    }
-  }
-  p = ivec2(0);
-  canwalk = true;
-  v = 0;
-  {
-    while(true) {
-      bool x_102 = false;
-      bool x_103 = false;
-      bool x_122 = false;
-      bool x_123 = false;
-      bool x_142 = false;
-      bool x_143 = false;
-      bool x_162 = false;
-      bool x_163 = false;
-      v = (v + 1);
-      directions = 0;
-      bool x_90 = (p.x > 0);
-      x_103 = x_90;
-      if (x_90) {
-        x_102 = (map[((p.x - 2) + (p.y * 16))] == 0);
-        x_103 = x_102;
-      }
-      if (x_103) {
-        directions = (directions + 1);
-      }
-      bool x_110 = (p.y > 0);
-      x_123 = x_110;
-      if (x_110) {
-        x_122 = (map[(p.x + ((p.y - 2) * 16))] == 0);
-        x_123 = x_122;
-      }
-      if (x_123) {
-        directions = (directions + 1);
-      }
-      bool x_130 = (p.x < 14);
-      x_143 = x_130;
-      if (x_130) {
-        x_142 = (map[((p.x + 2) + (p.y * 16))] == 0);
-        x_143 = x_142;
-      }
-      if (x_143) {
-        directions = (directions + 1);
-      }
-      bool x_150 = (p.y < 14);
-      x_163 = x_150;
-      if (x_150) {
-        x_162 = (map[(p.x + ((p.y + 2) * 16))] == 0);
-        x_163 = x_162;
-      }
-      if (x_163) {
-        directions = (directions + 1);
-      }
-      bool x_227 = false;
-      bool x_228 = false;
-      bool x_240 = false;
-      bool x_241 = false;
-      bool x_279 = false;
-      bool x_280 = false;
-      bool x_292 = false;
-      bool x_293 = false;
-      bool x_331 = false;
-      bool x_332 = false;
-      bool x_344 = false;
-      bool x_345 = false;
-      bool x_383 = false;
-      bool x_384 = false;
-      bool x_396 = false;
-      bool x_397 = false;
-      if ((directions == 0)) {
-        canwalk = false;
-        i = 0;
-        {
-          while(true) {
-            if ((i < 8)) {
-            } else {
-              break;
-            }
-            j = 0;
-            {
-              while(true) {
-                if ((j < 8)) {
-                } else {
-                  break;
-                }
-                if ((map[((j * 2) + ((i * 2) * 16))] == 0)) {
-                  p[0u] = (j * 2);
-                  p[1u] = (i * 2);
-                  canwalk = true;
-                }
-                {
-                  j = (j + 1);
-                }
-                continue;
-              }
-            }
-            {
-              i = (i + 1);
-            }
-            continue;
-          }
-        }
-        int x_209 = p.x;
-        int x_211 = p.y;
-        map[(x_209 + (x_211 * 16))] = 1;
-      } else {
-        d = tint_mod_i32(v, directions);
-        v = (v + directions);
-        bool x_222 = (d >= 0);
-        x_228 = x_222;
-        if (x_222) {
-          x_227 = (p.x > 0);
-          x_228 = x_227;
-        }
-        x_241 = x_228;
-        if (x_228) {
-          x_240 = (map[((p.x - 2) + (p.y * 16))] == 0);
-          x_241 = x_240;
-        }
-        if (x_241) {
-          d = (d - 1);
-          int x_247 = p.x;
-          int x_249 = p.y;
-          map[(x_247 + (x_249 * 16))] = 1;
-          int x_254 = p.x;
-          int x_257 = p.y;
-          map[((x_254 - 1) + (x_257 * 16))] = 1;
-          int x_262 = p.x;
-          int x_265 = p.y;
-          map[((x_262 - 2) + (x_265 * 16))] = 1;
-          p[0u] = (p.x - 2);
-        }
-        bool x_274 = (d >= 0);
-        x_280 = x_274;
-        if (x_274) {
-          x_279 = (p.y > 0);
-          x_280 = x_279;
-        }
-        x_293 = x_280;
-        if (x_280) {
-          x_292 = (map[(p.x + ((p.y - 2) * 16))] == 0);
-          x_293 = x_292;
-        }
-        if (x_293) {
-          d = (d - 1);
-          int x_299 = p.x;
-          int x_301 = p.y;
-          map[(x_299 + (x_301 * 16))] = 1;
-          int x_306 = p.x;
-          int x_308 = p.y;
-          map[(x_306 + ((x_308 - 1) * 16))] = 1;
-          int x_314 = p.x;
-          int x_316 = p.y;
-          map[(x_314 + ((x_316 - 2) * 16))] = 1;
-          p[1u] = (p.y - 2);
-        }
-        bool x_326 = (d >= 0);
-        x_332 = x_326;
-        if (x_326) {
-          x_331 = (p.x < 14);
-          x_332 = x_331;
-        }
-        x_345 = x_332;
-        if (x_332) {
-          x_344 = (map[((p.x + 2) + (p.y * 16))] == 0);
-          x_345 = x_344;
-        }
-        if (x_345) {
-          d = (d - 1);
-          int x_351 = p.x;
-          int x_353 = p.y;
-          map[(x_351 + (x_353 * 16))] = 1;
-          int x_358 = p.x;
-          int x_361 = p.y;
-          map[((x_358 + 1) + (x_361 * 16))] = 1;
-          int x_366 = p.x;
-          int x_369 = p.y;
-          map[((x_366 + 2) + (x_369 * 16))] = 1;
-          p[0u] = (p.x + 2);
-        }
-        bool x_378 = (d >= 0);
-        x_384 = x_378;
-        if (x_378) {
-          x_383 = (p.y < 14);
-          x_384 = x_383;
-        }
-        x_397 = x_384;
-        if (x_384) {
-          x_396 = (map[(p.x + ((p.y + 2) * 16))] == 0);
-          x_397 = x_396;
-        }
-        if (x_397) {
-          d = (d - 1);
-          int x_403 = p.x;
-          int x_405 = p.y;
-          map[(x_403 + (x_405 * 16))] = 1;
-          int x_410 = p.x;
-          int x_412 = p.y;
-          map[(x_410 + ((x_412 + 1) * 16))] = 1;
-          int x_418 = p.x;
-          int x_420 = p.y;
-          map[(x_418 + ((x_420 + 2) * 16))] = 1;
-          p[1u] = (p.y + 2);
-        }
-      }
-      if ((map[((ipos.y * 16) + ipos.x)] == 1)) {
-        x_GLF_color = vec4(1.0f);
-        return;
-      }
-      {
-        bool x_440 = canwalk;
-        if (!(x_440)) { break; }
-      }
-      continue;
-    }
-  }
-  x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:23: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:23: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:23: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-access-chains/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-access-chains/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index 1ad8666..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-access-chains/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,376 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v_1;
-int map[256] = int[256](0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_mod_i32(int lhs, int rhs) {
-  int v_2 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_2) * v_2));
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  vec2 pos = vec2(0.0f);
-  ivec2 ipos = ivec2(0);
-  int i = 0;
-  ivec2 p = ivec2(0);
-  bool canwalk = false;
-  int v = 0;
-  int directions = 0;
-  int j = 0;
-  int d = 0;
-  vec4 x_57 = tint_symbol;
-  vec2 x_60 = v_1.tint_symbol_3.resolution;
-  pos = (vec2(x_57[0u], x_57[1u]) / x_60);
-  float x_63 = pos.x;
-  float x_67 = pos.y;
-  int v_3 = tint_f32_to_i32((x_63 * 16.0f));
-  ipos = ivec2(v_3, tint_f32_to_i32((x_67 * 16.0f)));
-  i = 0;
-  {
-    while(true) {
-      int x_75 = i;
-      if ((x_75 < 256)) {
-      } else {
-        break;
-      }
-      int x_78 = i;
-      map[x_78] = 0;
-      {
-        int x_80 = i;
-        i = (x_80 + 1);
-      }
-      continue;
-    }
-  }
-  p = ivec2(0);
-  canwalk = true;
-  v = 0;
-  {
-    while(true) {
-      bool x_102 = false;
-      bool x_122 = false;
-      bool x_142 = false;
-      bool x_162 = false;
-      bool x_103_phi = false;
-      bool x_123_phi = false;
-      bool x_143_phi = false;
-      bool x_163_phi = false;
-      int x_86 = v;
-      v = (x_86 + 1);
-      directions = 0;
-      int x_89 = p.x;
-      bool x_90 = (x_89 > 0);
-      x_103_phi = x_90;
-      if (x_90) {
-        int x_94 = p.x;
-        int x_97 = p.y;
-        int x_101 = map[((x_94 - 2) + (x_97 * 16))];
-        x_102 = (x_101 == 0);
-        x_103_phi = x_102;
-      }
-      bool x_103 = x_103_phi;
-      if (x_103) {
-        int x_106 = directions;
-        directions = (x_106 + 1);
-      }
-      int x_109 = p.y;
-      bool x_110 = (x_109 > 0);
-      x_123_phi = x_110;
-      if (x_110) {
-        int x_114 = p.x;
-        int x_116 = p.y;
-        int x_121 = map[(x_114 + ((x_116 - 2) * 16))];
-        x_122 = (x_121 == 0);
-        x_123_phi = x_122;
-      }
-      bool x_123 = x_123_phi;
-      if (x_123) {
-        int x_126 = directions;
-        directions = (x_126 + 1);
-      }
-      int x_129 = p.x;
-      bool x_130 = (x_129 < 14);
-      x_143_phi = x_130;
-      if (x_130) {
-        int x_134 = p.x;
-        int x_137 = p.y;
-        int x_141 = map[((x_134 + 2) + (x_137 * 16))];
-        x_142 = (x_141 == 0);
-        x_143_phi = x_142;
-      }
-      bool x_143 = x_143_phi;
-      if (x_143) {
-        int x_146 = directions;
-        directions = (x_146 + 1);
-      }
-      int x_149 = p.y;
-      bool x_150 = (x_149 < 14);
-      x_163_phi = x_150;
-      if (x_150) {
-        int x_154 = p.x;
-        int x_156 = p.y;
-        int x_161 = map[(x_154 + ((x_156 + 2) * 16))];
-        x_162 = (x_161 == 0);
-        x_163_phi = x_162;
-      }
-      bool x_163 = x_163_phi;
-      if (x_163) {
-        int x_166 = directions;
-        directions = (x_166 + 1);
-      }
-      bool x_227 = false;
-      bool x_240 = false;
-      bool x_279 = false;
-      bool x_292 = false;
-      bool x_331 = false;
-      bool x_344 = false;
-      bool x_383 = false;
-      bool x_396 = false;
-      bool x_228_phi = false;
-      bool x_241_phi = false;
-      bool x_280_phi = false;
-      bool x_293_phi = false;
-      bool x_332_phi = false;
-      bool x_345_phi = false;
-      bool x_384_phi = false;
-      bool x_397_phi = false;
-      int x_168 = directions;
-      if ((x_168 == 0)) {
-        canwalk = false;
-        i = 0;
-        {
-          while(true) {
-            int x_177 = i;
-            if ((x_177 < 8)) {
-            } else {
-              break;
-            }
-            j = 0;
-            {
-              while(true) {
-                int x_184 = j;
-                if ((x_184 < 8)) {
-                } else {
-                  break;
-                }
-                int x_187 = j;
-                int x_189 = i;
-                int x_194 = map[((x_187 * 2) + ((x_189 * 2) * 16))];
-                if ((x_194 == 0)) {
-                  int x_198 = j;
-                  p[0u] = (x_198 * 2);
-                  int x_201 = i;
-                  p[1u] = (x_201 * 2);
-                  canwalk = true;
-                }
-                {
-                  int x_204 = j;
-                  j = (x_204 + 1);
-                }
-                continue;
-              }
-            }
-            {
-              int x_206 = i;
-              i = (x_206 + 1);
-            }
-            continue;
-          }
-        }
-        int x_209 = p.x;
-        int x_211 = p.y;
-        map[(x_209 + (x_211 * 16))] = 1;
-      } else {
-        int x_215 = v;
-        int x_216 = directions;
-        d = tint_mod_i32(x_215, x_216);
-        int x_218 = directions;
-        int x_219 = v;
-        v = (x_219 + x_218);
-        int x_221 = d;
-        bool x_222 = (x_221 >= 0);
-        x_228_phi = x_222;
-        if (x_222) {
-          int x_226 = p.x;
-          x_227 = (x_226 > 0);
-          x_228_phi = x_227;
-        }
-        bool x_228 = x_228_phi;
-        x_241_phi = x_228;
-        if (x_228) {
-          int x_232 = p.x;
-          int x_235 = p.y;
-          int x_239 = map[((x_232 - 2) + (x_235 * 16))];
-          x_240 = (x_239 == 0);
-          x_241_phi = x_240;
-        }
-        bool x_241 = x_241_phi;
-        if (x_241) {
-          int x_244 = d;
-          d = (x_244 - 1);
-          int x_247 = p.x;
-          int x_249 = p.y;
-          map[(x_247 + (x_249 * 16))] = 1;
-          int x_254 = p.x;
-          int x_257 = p.y;
-          map[((x_254 - 1) + (x_257 * 16))] = 1;
-          int x_262 = p.x;
-          int x_265 = p.y;
-          map[((x_262 - 2) + (x_265 * 16))] = 1;
-          int x_270 = p.x;
-          p[0u] = (x_270 - 2);
-        }
-        int x_273 = d;
-        bool x_274 = (x_273 >= 0);
-        x_280_phi = x_274;
-        if (x_274) {
-          int x_278 = p.y;
-          x_279 = (x_278 > 0);
-          x_280_phi = x_279;
-        }
-        bool x_280 = x_280_phi;
-        x_293_phi = x_280;
-        if (x_280) {
-          int x_284 = p.x;
-          int x_286 = p.y;
-          int x_291 = map[(x_284 + ((x_286 - 2) * 16))];
-          x_292 = (x_291 == 0);
-          x_293_phi = x_292;
-        }
-        bool x_293 = x_293_phi;
-        if (x_293) {
-          int x_296 = d;
-          d = (x_296 - 1);
-          int x_299 = p.x;
-          int x_301 = p.y;
-          map[(x_299 + (x_301 * 16))] = 1;
-          int x_306 = p.x;
-          int x_308 = p.y;
-          map[(x_306 + ((x_308 - 1) * 16))] = 1;
-          int x_314 = p.x;
-          int x_316 = p.y;
-          map[(x_314 + ((x_316 - 2) * 16))] = 1;
-          int x_322 = p.y;
-          p[1u] = (x_322 - 2);
-        }
-        int x_325 = d;
-        bool x_326 = (x_325 >= 0);
-        x_332_phi = x_326;
-        if (x_326) {
-          int x_330 = p.x;
-          x_331 = (x_330 < 14);
-          x_332_phi = x_331;
-        }
-        bool x_332 = x_332_phi;
-        x_345_phi = x_332;
-        if (x_332) {
-          int x_336 = p.x;
-          int x_339 = p.y;
-          int x_343 = map[((x_336 + 2) + (x_339 * 16))];
-          x_344 = (x_343 == 0);
-          x_345_phi = x_344;
-        }
-        bool x_345 = x_345_phi;
-        if (x_345) {
-          int x_348 = d;
-          d = (x_348 - 1);
-          int x_351 = p.x;
-          int x_353 = p.y;
-          map[(x_351 + (x_353 * 16))] = 1;
-          int x_358 = p.x;
-          int x_361 = p.y;
-          map[((x_358 + 1) + (x_361 * 16))] = 1;
-          int x_366 = p.x;
-          int x_369 = p.y;
-          map[((x_366 + 2) + (x_369 * 16))] = 1;
-          int x_374 = p.x;
-          p[0u] = (x_374 + 2);
-        }
-        int x_377 = d;
-        bool x_378 = (x_377 >= 0);
-        x_384_phi = x_378;
-        if (x_378) {
-          int x_382 = p.y;
-          x_383 = (x_382 < 14);
-          x_384_phi = x_383;
-        }
-        bool x_384 = x_384_phi;
-        x_397_phi = x_384;
-        if (x_384) {
-          int x_388 = p.x;
-          int x_390 = p.y;
-          int x_395 = map[(x_388 + ((x_390 + 2) * 16))];
-          x_396 = (x_395 == 0);
-          x_397_phi = x_396;
-        }
-        bool x_397 = x_397_phi;
-        if (x_397) {
-          int x_400 = d;
-          d = (x_400 - 1);
-          int x_403 = p.x;
-          int x_405 = p.y;
-          map[(x_403 + (x_405 * 16))] = 1;
-          int x_410 = p.x;
-          int x_412 = p.y;
-          map[(x_410 + ((x_412 + 1) * 16))] = 1;
-          int x_418 = p.x;
-          int x_420 = p.y;
-          map[(x_418 + ((x_420 + 2) * 16))] = 1;
-          int x_426 = p.y;
-          p[1u] = (x_426 + 2);
-        }
-      }
-      int x_430 = ipos.y;
-      int x_433 = ipos.x;
-      int x_436 = map[((x_430 * 16) + x_433)];
-      if ((x_436 == 1)) {
-        x_GLF_color = vec4(1.0f);
-        return;
-      }
-      {
-        bool x_440 = canwalk;
-        if (!(x_440)) { break; }
-      }
-      continue;
-    }
-  }
-  x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:23: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:23: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:23: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-composite-phi/0.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-composite-phi/0.spvasm.expected.ir.glsl
deleted file mode 100644
index b453a6f..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-composite-phi/0.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,201 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 tint_symbol = vec4(0.0f);
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_mod_i32(int lhs, int rhs) {
-  int v_1 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_1) * v_1));
-}
-void main_1() {
-  vec3 c = vec3(0.0f);
-  float x_51 = 0.0f;
-  float x_55 = 0.0f;
-  int x_58 = 0;
-  float x_56 = 0.0f;
-  float x_81 = 0.0f;
-  float x_82 = 0.0f;
-  bool x_83 = false;
-  float x_85 = 0.0f;
-  float x_118 = 0.0f;
-  float x_119 = 0.0f;
-  float x_122 = 0.0f;
-  int x_129 = 0;
-  c = vec3(7.0f, 8.0f, 9.0f);
-  float x_49 = round((v.tint_symbol_3.resolution.x * 0.125f));
-  x_51 = tint_symbol.x;
-  switch(0u) {
-    default:
-    {
-      x_55 = -0.5f;
-      x_58 = 1;
-      {
-        while(true) {
-          float x_68 = 0.0f;
-          float x_76 = 0.0f;
-          int x_59 = 0;
-          x_81 = 0.0f;
-          x_82 = x_55;
-          x_83 = false;
-          if ((x_58 < 800)) {
-          } else {
-            break;
-          }
-          float x_75 = 0.0f;
-          if ((tint_mod_i32(x_58, 32) == 0)) {
-            x_68 = (x_55 + 0.40000000596046447754f);
-            x_56 = x_68;
-          } else {
-            x_76 = x_55;
-            float v_2 = float(x_58);
-            float v_3 = round(x_49);
-            float v_4 = float(x_58);
-            if (((v_2 - (v_3 * floor((v_4 / round(x_49))))) <= 0.00999999977648258209f)) {
-              x_75 = (x_55 + 100.0f);
-              x_76 = x_75;
-            }
-            x_56 = x_76;
-          }
-          float v_5 = float(x_58);
-          if ((v_5 >= x_51)) {
-            x_81 = x_56;
-            x_82 = x_56;
-            x_83 = true;
-            break;
-          }
-          {
-            x_59 = (x_58 + 1);
-            x_55 = x_56;
-            x_58 = x_59;
-          }
-          continue;
-        }
-      }
-      x_85 = x_81;
-      if (x_83) {
-        break;
-      }
-      x_85 = x_82;
-      break;
-    }
-  }
-  float x_88 = 0.0f;
-  float x_92 = 0.0f;
-  int x_95 = 0;
-  float x_93 = 0.0f;
-  bool x_120 = false;
-  c[0u] = x_85;
-  x_88 = tint_symbol.y;
-  switch(0u) {
-    default:
-    {
-      x_92 = -0.5f;
-      x_95 = 1;
-      {
-        while(true) {
-          float x_105 = 0.0f;
-          float x_113 = 0.0f;
-          int x_96 = 0;
-          x_118 = 0.0f;
-          x_119 = x_92;
-          x_120 = false;
-          if ((x_95 < 800)) {
-          } else {
-            break;
-          }
-          float x_112 = 0.0f;
-          if ((tint_mod_i32(x_95, 32) == 0)) {
-            x_105 = (x_92 + 0.40000000596046447754f);
-            x_93 = x_105;
-          } else {
-            x_113 = x_92;
-            float v_6 = float(x_95);
-            float v_7 = round(x_49);
-            float v_8 = float(x_95);
-            if (((v_6 - (v_7 * floor((v_8 / round(x_49))))) <= 0.00999999977648258209f)) {
-              x_112 = (x_92 + 100.0f);
-              x_113 = x_112;
-            }
-            x_93 = x_113;
-          }
-          float v_9 = float(x_95);
-          if ((v_9 >= x_88)) {
-            x_118 = x_93;
-            x_119 = x_93;
-            x_120 = true;
-            break;
-          }
-          {
-            x_96 = (x_95 + 1);
-            x_92 = x_93;
-            x_95 = x_96;
-          }
-          continue;
-        }
-      }
-      x_122 = x_118;
-      if (x_120) {
-        break;
-      }
-      x_122 = x_119;
-      break;
-    }
-  }
-  c[1u] = x_122;
-  c[2u] = (c.x + c.y);
-  x_129 = 0;
-  {
-    while(true) {
-      int x_130 = 0;
-      if ((x_129 < 3)) {
-      } else {
-        break;
-      }
-      if ((c[x_129] >= 1.0f)) {
-        c[x_129] = (c[x_129] * c[x_129]);
-      }
-      {
-        x_130 = (x_129 + 1);
-        x_129 = x_130;
-      }
-      continue;
-    }
-  }
-  vec3 x_145 = normalize(abs(c));
-  x_GLF_color = vec4(x_145[0u], x_145[1u], x_145[2u], 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:22: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-composite-phi/0.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-composite-phi/0.wgsl.expected.ir.glsl
deleted file mode 100644
index a22176f..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-composite-phi/0.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,235 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 tint_symbol = vec4(0.0f);
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_mod_i32(int lhs, int rhs) {
-  int v_1 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_1) * v_1));
-}
-void main_1() {
-  vec3 c = vec3(0.0f);
-  float x_51 = 0.0f;
-  float x_55 = 0.0f;
-  float x_56 = 0.0f;
-  float x_81 = 0.0f;
-  float x_82 = 0.0f;
-  float x_118 = 0.0f;
-  float x_119 = 0.0f;
-  float x_55_phi = 0.0f;
-  int x_58_phi = 0;
-  float x_81_phi = 0.0f;
-  float x_82_phi = 0.0f;
-  bool x_83_phi = false;
-  float x_85_phi = 0.0f;
-  float x_122_phi = 0.0f;
-  int x_129_phi = 0;
-  c = vec3(7.0f, 8.0f, 9.0f);
-  float x_47 = v.tint_symbol_3.resolution.x;
-  float x_49 = round((x_47 * 0.125f));
-  x_51 = tint_symbol.x;
-  switch(0u) {
-    default:
-    {
-      x_55_phi = -0.5f;
-      x_58_phi = 1;
-      {
-        while(true) {
-          float x_68 = 0.0f;
-          float x_76 = 0.0f;
-          int x_59 = 0;
-          float x_56_phi = 0.0f;
-          x_55 = x_55_phi;
-          int x_58 = x_58_phi;
-          x_81_phi = 0.0f;
-          x_82_phi = x_55;
-          x_83_phi = false;
-          if ((x_58 < 800)) {
-          } else {
-            break;
-          }
-          float x_75 = 0.0f;
-          float x_76_phi = 0.0f;
-          if ((tint_mod_i32(x_58, 32) == 0)) {
-            x_68 = (x_55 + 0.40000000596046447754f);
-            x_56_phi = x_68;
-          } else {
-            x_76_phi = x_55;
-            float v_2 = float(x_58);
-            float v_3 = round(x_49);
-            float v_4 = float(x_58);
-            if (((v_2 - (v_3 * floor((v_4 / round(x_49))))) <= 0.00999999977648258209f)) {
-              x_75 = (x_55 + 100.0f);
-              x_76_phi = x_75;
-            }
-            x_76 = x_76_phi;
-            x_56_phi = x_76;
-          }
-          x_56 = x_56_phi;
-          float v_5 = float(x_58);
-          if ((v_5 >= x_51)) {
-            x_81_phi = x_56;
-            x_82_phi = x_56;
-            x_83_phi = true;
-            break;
-          }
-          {
-            x_59 = (x_58 + 1);
-            x_55_phi = x_56;
-            x_58_phi = x_59;
-          }
-          continue;
-        }
-      }
-      x_81 = x_81_phi;
-      x_82 = x_82_phi;
-      bool x_83 = x_83_phi;
-      x_85_phi = x_81;
-      if (x_83) {
-        break;
-      }
-      x_85_phi = x_82;
-      break;
-    }
-  }
-  float x_88 = 0.0f;
-  float x_92 = 0.0f;
-  float x_93 = 0.0f;
-  float x_92_phi = 0.0f;
-  int x_95_phi = 0;
-  float x_118_phi = 0.0f;
-  float x_119_phi = 0.0f;
-  bool x_120_phi = false;
-  float x_85 = x_85_phi;
-  c[0u] = x_85;
-  x_88 = tint_symbol.y;
-  switch(0u) {
-    default:
-    {
-      x_92_phi = -0.5f;
-      x_95_phi = 1;
-      {
-        while(true) {
-          float x_105 = 0.0f;
-          float x_113 = 0.0f;
-          int x_96 = 0;
-          float x_93_phi = 0.0f;
-          x_92 = x_92_phi;
-          int x_95 = x_95_phi;
-          x_118_phi = 0.0f;
-          x_119_phi = x_92;
-          x_120_phi = false;
-          if ((x_95 < 800)) {
-          } else {
-            break;
-          }
-          float x_112 = 0.0f;
-          float x_113_phi = 0.0f;
-          if ((tint_mod_i32(x_95, 32) == 0)) {
-            x_105 = (x_92 + 0.40000000596046447754f);
-            x_93_phi = x_105;
-          } else {
-            x_113_phi = x_92;
-            float v_6 = float(x_95);
-            float v_7 = round(x_49);
-            float v_8 = float(x_95);
-            if (((v_6 - (v_7 * floor((v_8 / round(x_49))))) <= 0.00999999977648258209f)) {
-              x_112 = (x_92 + 100.0f);
-              x_113_phi = x_112;
-            }
-            x_113 = x_113_phi;
-            x_93_phi = x_113;
-          }
-          x_93 = x_93_phi;
-          float v_9 = float(x_95);
-          if ((v_9 >= x_88)) {
-            x_118_phi = x_93;
-            x_119_phi = x_93;
-            x_120_phi = true;
-            break;
-          }
-          {
-            x_96 = (x_95 + 1);
-            x_92_phi = x_93;
-            x_95_phi = x_96;
-          }
-          continue;
-        }
-      }
-      x_118 = x_118_phi;
-      x_119 = x_119_phi;
-      bool x_120 = x_120_phi;
-      x_122_phi = x_118;
-      if (x_120) {
-        break;
-      }
-      x_122_phi = x_119;
-      break;
-    }
-  }
-  float x_122 = x_122_phi;
-  c[1u] = x_122;
-  float x_124 = c.x;
-  float x_125 = c.y;
-  c[2u] = (x_124 + x_125);
-  x_129_phi = 0;
-  {
-    while(true) {
-      int x_130 = 0;
-      int x_129 = x_129_phi;
-      if ((x_129 < 3)) {
-      } else {
-        break;
-      }
-      float x_136 = c[x_129];
-      if ((x_136 >= 1.0f)) {
-        float x_140 = c[x_129];
-        float x_141 = c[x_129];
-        c[x_129] = (x_140 * x_141);
-      }
-      {
-        x_130 = (x_129 + 1);
-        x_129_phi = x_130;
-      }
-      continue;
-    }
-  }
-  vec3 x_143 = c;
-  vec3 x_145 = normalize(abs(x_143));
-  x_GLF_color = vec4(x_145[0u], x_145[1u], x_145[2u], 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:22: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-composite-phi/1.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-composite-phi/1.spvasm.expected.ir.glsl
deleted file mode 100644
index 6a9edbb..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-composite-phi/1.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,206 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 tint_symbol = vec4(0.0f);
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_mod_i32(int lhs, int rhs) {
-  int v_1 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_1) * v_1));
-}
-void main_1() {
-  vec3 c = vec3(0.0f);
-  float x_53 = 0.0f;
-  float x_57 = 0.0f;
-  int x_60 = 0;
-  float x_58 = 0.0f;
-  float x_83 = 0.0f;
-  float x_84 = 0.0f;
-  bool x_85 = false;
-  float x_87 = 0.0f;
-  float x_124 = 0.0f;
-  float x_125 = 0.0f;
-  float x_128 = 0.0f;
-  int x_135 = 0;
-  c = vec3(7.0f, 8.0f, 9.0f);
-  float x_47 = v.tint_symbol_3.resolution.x;
-  vec2 x_48 = vec2(1.0f, x_47);
-  float x_50 = round((x_47 * 0.125f));
-  vec2 x_51 = vec2(0.0f, -0.5f);
-  x_53 = tint_symbol.x;
-  switch(0u) {
-    default:
-    {
-      x_57 = -0.5f;
-      x_60 = 1;
-      {
-        while(true) {
-          float x_70 = 0.0f;
-          float x_78 = 0.0f;
-          int x_61 = 0;
-          x_83 = 0.0f;
-          x_84 = x_57;
-          x_85 = false;
-          if ((x_60 < 800)) {
-          } else {
-            break;
-          }
-          float x_77 = 0.0f;
-          if ((tint_mod_i32(x_60, 32) == 0)) {
-            x_70 = (x_57 + 0.40000000596046447754f);
-            x_58 = x_70;
-          } else {
-            x_78 = x_57;
-            float v_2 = float(x_60);
-            float v_3 = round(x_50);
-            float v_4 = float(x_60);
-            if (((v_2 - (v_3 * floor((v_4 / round(x_50))))) <= 0.00999999977648258209f)) {
-              x_77 = (x_57 + 100.0f);
-              x_78 = x_77;
-            }
-            x_58 = x_78;
-          }
-          float v_5 = float(x_60);
-          if ((v_5 >= x_53)) {
-            x_83 = x_58;
-            x_84 = x_58;
-            x_85 = true;
-            break;
-          }
-          {
-            x_61 = (x_60 + 1);
-            x_57 = x_58;
-            x_60 = x_61;
-          }
-          continue;
-        }
-      }
-      x_87 = x_83;
-      if (x_85) {
-        break;
-      }
-      x_87 = x_84;
-      break;
-    }
-  }
-  float x_92 = 0.0f;
-  float x_98 = 0.0f;
-  int x_101 = 0;
-  float x_99 = 0.0f;
-  bool x_126 = false;
-  vec4 x_89 = vec4(x_84, 0.40000000596046447754f, x_83, 0.40000000596046447754f);
-  c[0u] = x_87;
-  x_92 = tint_symbol.y;
-  switch(0u) {
-    default:
-    {
-      vec4 x_95 = vec4(x_51, 0.0f, x_57);
-      x_98 = vec3(x_48, -0.5f)[2u];
-      x_101 = 1;
-      {
-        while(true) {
-          float x_111 = 0.0f;
-          float x_119 = 0.0f;
-          int x_102 = 0;
-          x_124 = 0.0f;
-          x_125 = x_98;
-          x_126 = false;
-          if ((x_101 < 800)) {
-          } else {
-            break;
-          }
-          float x_118 = 0.0f;
-          if ((tint_mod_i32(x_101, 32) == 0)) {
-            x_111 = (x_98 + 0.40000000596046447754f);
-            x_99 = x_111;
-          } else {
-            x_119 = x_98;
-            float v_6 = float(x_101);
-            float v_7 = round(x_50);
-            float v_8 = float(x_101);
-            if (((v_6 - (v_7 * floor((v_8 / round(x_50))))) <= 0.00999999977648258209f)) {
-              x_118 = (x_98 + 100.0f);
-              x_119 = x_118;
-            }
-            x_99 = x_119;
-          }
-          float v_9 = float(x_101);
-          if ((v_9 >= x_92)) {
-            x_124 = x_99;
-            x_125 = x_99;
-            x_126 = true;
-            break;
-          }
-          {
-            x_102 = (x_101 + 1);
-            x_98 = x_99;
-            x_101 = x_102;
-          }
-          continue;
-        }
-      }
-      x_128 = x_124;
-      if (x_126) {
-        break;
-      }
-      x_128 = x_125;
-      break;
-    }
-  }
-  c[1u] = x_128;
-  c[2u] = (c.x + c.y);
-  x_135 = 0;
-  {
-    while(true) {
-      int x_136 = 0;
-      if ((x_135 < 3)) {
-      } else {
-        break;
-      }
-      if ((c[x_135] >= 1.0f)) {
-        c[x_135] = (c[x_135] * c[x_135]);
-      }
-      {
-        x_136 = (x_135 + 1);
-        x_135 = x_136;
-      }
-      continue;
-    }
-  }
-  vec3 x_151 = normalize(abs(c));
-  x_GLF_color = vec4(x_151[0u], x_151[1u], x_151[2u], 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:22: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-composite-phi/1.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-composite-phi/1.wgsl.expected.ir.glsl
deleted file mode 100644
index 6233cad..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-composite-phi/1.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,240 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 tint_symbol = vec4(0.0f);
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_mod_i32(int lhs, int rhs) {
-  int v_1 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_1) * v_1));
-}
-void main_1() {
-  vec3 c = vec3(0.0f);
-  float x_53 = 0.0f;
-  float x_57 = 0.0f;
-  float x_58 = 0.0f;
-  float x_83 = 0.0f;
-  float x_84 = 0.0f;
-  float x_124 = 0.0f;
-  float x_125 = 0.0f;
-  float x_57_phi = 0.0f;
-  int x_60_phi = 0;
-  float x_83_phi = 0.0f;
-  float x_84_phi = 0.0f;
-  bool x_85_phi = false;
-  float x_87_phi = 0.0f;
-  float x_128_phi = 0.0f;
-  int x_135_phi = 0;
-  c = vec3(7.0f, 8.0f, 9.0f);
-  float x_47 = v.tint_symbol_3.resolution.x;
-  vec2 x_48 = vec2(1.0f, x_47);
-  float x_50 = round((x_47 * 0.125f));
-  vec2 x_51 = vec2(0.0f, -0.5f);
-  x_53 = tint_symbol.x;
-  switch(0u) {
-    default:
-    {
-      x_57_phi = -0.5f;
-      x_60_phi = 1;
-      {
-        while(true) {
-          float x_70 = 0.0f;
-          float x_78 = 0.0f;
-          int x_61 = 0;
-          float x_58_phi = 0.0f;
-          x_57 = x_57_phi;
-          int x_60 = x_60_phi;
-          x_83_phi = 0.0f;
-          x_84_phi = x_57;
-          x_85_phi = false;
-          if ((x_60 < 800)) {
-          } else {
-            break;
-          }
-          float x_77 = 0.0f;
-          float x_78_phi = 0.0f;
-          if ((tint_mod_i32(x_60, 32) == 0)) {
-            x_70 = (x_57 + 0.40000000596046447754f);
-            x_58_phi = x_70;
-          } else {
-            x_78_phi = x_57;
-            float v_2 = float(x_60);
-            float v_3 = round(x_50);
-            float v_4 = float(x_60);
-            if (((v_2 - (v_3 * floor((v_4 / round(x_50))))) <= 0.00999999977648258209f)) {
-              x_77 = (x_57 + 100.0f);
-              x_78_phi = x_77;
-            }
-            x_78 = x_78_phi;
-            x_58_phi = x_78;
-          }
-          x_58 = x_58_phi;
-          float v_5 = float(x_60);
-          if ((v_5 >= x_53)) {
-            x_83_phi = x_58;
-            x_84_phi = x_58;
-            x_85_phi = true;
-            break;
-          }
-          {
-            x_61 = (x_60 + 1);
-            x_57_phi = x_58;
-            x_60_phi = x_61;
-          }
-          continue;
-        }
-      }
-      x_83 = x_83_phi;
-      x_84 = x_84_phi;
-      bool x_85 = x_85_phi;
-      x_87_phi = x_83;
-      if (x_85) {
-        break;
-      }
-      x_87_phi = x_84;
-      break;
-    }
-  }
-  float x_92 = 0.0f;
-  float x_98 = 0.0f;
-  float x_99 = 0.0f;
-  float x_98_phi = 0.0f;
-  int x_101_phi = 0;
-  float x_124_phi = 0.0f;
-  float x_125_phi = 0.0f;
-  bool x_126_phi = false;
-  float x_87 = x_87_phi;
-  vec4 x_89 = vec4(x_84, 0.40000000596046447754f, x_83, 0.40000000596046447754f);
-  c[0u] = x_87;
-  x_92 = tint_symbol.y;
-  switch(0u) {
-    default:
-    {
-      vec4 x_95 = vec4(x_51, 0.0f, x_57);
-      float x_96 = vec3(x_48, -0.5f)[2u];
-      x_98_phi = x_96;
-      x_101_phi = 1;
-      {
-        while(true) {
-          float x_111 = 0.0f;
-          float x_119 = 0.0f;
-          int x_102 = 0;
-          float x_99_phi = 0.0f;
-          x_98 = x_98_phi;
-          int x_101 = x_101_phi;
-          x_124_phi = 0.0f;
-          x_125_phi = x_98;
-          x_126_phi = false;
-          if ((x_101 < 800)) {
-          } else {
-            break;
-          }
-          float x_118 = 0.0f;
-          float x_119_phi = 0.0f;
-          if ((tint_mod_i32(x_101, 32) == 0)) {
-            x_111 = (x_98 + 0.40000000596046447754f);
-            x_99_phi = x_111;
-          } else {
-            x_119_phi = x_98;
-            float v_6 = float(x_101);
-            float v_7 = round(x_50);
-            float v_8 = float(x_101);
-            if (((v_6 - (v_7 * floor((v_8 / round(x_50))))) <= 0.00999999977648258209f)) {
-              x_118 = (x_98 + 100.0f);
-              x_119_phi = x_118;
-            }
-            x_119 = x_119_phi;
-            x_99_phi = x_119;
-          }
-          x_99 = x_99_phi;
-          float v_9 = float(x_101);
-          if ((v_9 >= x_92)) {
-            x_124_phi = x_99;
-            x_125_phi = x_99;
-            x_126_phi = true;
-            break;
-          }
-          {
-            x_102 = (x_101 + 1);
-            x_98_phi = x_99;
-            x_101_phi = x_102;
-          }
-          continue;
-        }
-      }
-      x_124 = x_124_phi;
-      x_125 = x_125_phi;
-      bool x_126 = x_126_phi;
-      x_128_phi = x_124;
-      if (x_126) {
-        break;
-      }
-      x_128_phi = x_125;
-      break;
-    }
-  }
-  float x_128 = x_128_phi;
-  c[1u] = x_128;
-  float x_130 = c.x;
-  float x_131 = c.y;
-  c[2u] = (x_130 + x_131);
-  x_135_phi = 0;
-  {
-    while(true) {
-      int x_136 = 0;
-      int x_135 = x_135_phi;
-      if ((x_135 < 3)) {
-      } else {
-        break;
-      }
-      float x_142 = c[x_135];
-      if ((x_142 >= 1.0f)) {
-        float x_146 = c[x_135];
-        float x_147 = c[x_135];
-        c[x_135] = (x_146 * x_147);
-      }
-      {
-        x_136 = (x_135 + 1);
-        x_135_phi = x_136;
-      }
-      continue;
-    }
-  }
-  vec3 x_149 = c;
-  vec3 x_151 = normalize(abs(x_149));
-  x_GLF_color = vec4(x_151[0u], x_151[1u], x_151[2u], 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:22: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-composite2/0.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-composite2/0.spvasm.expected.ir.glsl
deleted file mode 100644
index b65f415..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-composite2/0.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,79 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
-}
-int tint_mod_i32(int lhs, int rhs) {
-  int v_1 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_1) * v_1));
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  vec4 indexable[16] = vec4[16](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  int x_66 = 0;
-  int x_69 = 0;
-  vec2 x_56 = (tint_symbol.xy / v.tint_symbol_3.resolution);
-  int v_2 = tint_f32_to_i32((x_56[0u] * 10.0f));
-  int x_64 = (v_2 + (tint_f32_to_i32((x_56[1u] * 10.0f)) * 10));
-  x_66 = 100;
-  x_69 = 0;
-  {
-    while(true) {
-      int x_67 = 0;
-      int x_70 = 0;
-      if ((x_69 < x_64)) {
-      } else {
-        break;
-      }
-      {
-        x_67 = tint_div_i32(((4 * x_66) * (1000 - x_66)), 1000);
-        x_70 = (x_69 + 1);
-        x_66 = x_67;
-        x_69 = x_70;
-      }
-      continue;
-    }
-  }
-  indexable = vec4[16](vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(0.5f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 0.5f, 0.0f, 1.0f), vec4(0.5f, 0.5f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 0.5f, 1.0f), vec4(0.5f, 0.0f, 0.5f, 1.0f), vec4(0.0f, 0.5f, 0.5f, 1.0f), vec4(0.5f, 0.5f, 0.5f, 1.0f), vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(1.0f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 1.0f, 0.0f, 1.0f), vec4(1.0f, 1.0f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 1.0f, 1.0f), vec4(1.0f, 0.0f, 1.0f, 1.0f), vec4(0.0f, 1.0f, 1.0f, 1.0f), vec4(1.0f));
-  x_GLF_color = indexable[tint_mod_i32(x_66, 16)];
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:22: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-composite2/0.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-composite2/0.wgsl.expected.ir.glsl
deleted file mode 100644
index 71d5c55..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-composite2/0.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,85 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
-}
-int tint_mod_i32(int lhs, int rhs) {
-  int v_1 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_1) * v_1));
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  vec4 indexable[16] = vec4[16](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  int x_66 = 0;
-  int x_66_phi = 0;
-  int x_69_phi = 0;
-  vec4 x_52 = tint_symbol;
-  vec2 x_55 = v.tint_symbol_3.resolution;
-  vec2 x_56 = (vec2(x_52[0u], x_52[1u]) / x_55);
-  int v_2 = tint_f32_to_i32((x_56[0u] * 10.0f));
-  int x_64 = (v_2 + (tint_f32_to_i32((x_56[1u] * 10.0f)) * 10));
-  x_66_phi = 100;
-  x_69_phi = 0;
-  {
-    while(true) {
-      int x_67 = 0;
-      int x_70 = 0;
-      x_66 = x_66_phi;
-      int x_69 = x_69_phi;
-      if ((x_69 < x_64)) {
-      } else {
-        break;
-      }
-      {
-        x_67 = tint_div_i32(((4 * x_66) * (1000 - x_66)), 1000);
-        x_70 = (x_69 + 1);
-        x_66_phi = x_67;
-        x_69_phi = x_70;
-      }
-      continue;
-    }
-  }
-  indexable = vec4[16](vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(0.5f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 0.5f, 0.0f, 1.0f), vec4(0.5f, 0.5f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 0.5f, 1.0f), vec4(0.5f, 0.0f, 0.5f, 1.0f), vec4(0.0f, 0.5f, 0.5f, 1.0f), vec4(0.5f, 0.5f, 0.5f, 1.0f), vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(1.0f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 1.0f, 0.0f, 1.0f), vec4(1.0f, 1.0f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 1.0f, 1.0f), vec4(1.0f, 0.0f, 1.0f, 1.0f), vec4(0.0f, 1.0f, 1.0f, 1.0f), vec4(1.0f));
-  vec4 x_78 = indexable[tint_mod_i32(x_66, 16)];
-  x_GLF_color = x_78;
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:22: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-composite2/1.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-composite2/1.spvasm.expected.ir.glsl
deleted file mode 100644
index ee73e1c..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-composite2/1.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,80 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
-}
-int tint_mod_i32(int lhs, int rhs) {
-  int v_1 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_1) * v_1));
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  vec4 indexable[16] = vec4[16](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  int x_72 = 0;
-  int x_75 = 0;
-  vec2 x_55 = tint_symbol.xy;
-  vec2 x_59 = (x_55 / v.tint_symbol_3.resolution);
-  int v_2 = tint_f32_to_i32((x_59[0u] * vec4(vec4(0.0f, x_55, 0.5f)[3u], 10.0f, vec2(0.0f))[1u]));
-  int x_70 = (v_2 + (tint_f32_to_i32((x_59[1u] * 10.0f)) * 10));
-  x_72 = 100;
-  x_75 = 0;
-  {
-    while(true) {
-      int x_73 = 0;
-      int x_76 = 0;
-      if ((x_75 < x_70)) {
-      } else {
-        break;
-      }
-      {
-        x_73 = tint_div_i32(((4 * x_72) * (1000 - x_72)), 1000);
-        x_76 = (x_75 + 1);
-        x_72 = x_73;
-        x_75 = x_76;
-      }
-      continue;
-    }
-  }
-  indexable = vec4[16](vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(0.5f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 0.5f, 0.0f, 1.0f), vec4(0.5f, 0.5f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 0.5f, 1.0f), vec4(0.5f, 0.0f, 0.5f, 1.0f), vec4(0.0f, 0.5f, 0.5f, 1.0f), vec4(0.5f, 0.5f, 0.5f, 1.0f), vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(1.0f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 1.0f, 0.0f, 1.0f), vec4(1.0f, 1.0f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 1.0f, 1.0f), vec4(1.0f, 0.0f, 1.0f, 1.0f), vec4(0.0f, 1.0f, 1.0f, 1.0f), vec4(1.0f));
-  x_GLF_color = indexable[tint_mod_i32(x_72, 16)];
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:22: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-composite2/1.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-composite2/1.wgsl.expected.ir.glsl
deleted file mode 100644
index 923ec87..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-composite2/1.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,86 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
-}
-int tint_mod_i32(int lhs, int rhs) {
-  int v_1 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_1) * v_1));
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  vec4 indexable[16] = vec4[16](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  int x_72 = 0;
-  int x_72_phi = 0;
-  int x_75_phi = 0;
-  vec4 x_54 = tint_symbol;
-  vec2 x_55 = vec2(x_54[0u], x_54[1u]);
-  vec2 x_58 = v.tint_symbol_3.resolution;
-  vec2 x_59 = (x_55 / x_58);
-  int v_2 = tint_f32_to_i32((x_59[0u] * vec4(vec4(0.0f, x_55, 0.5f)[3u], 10.0f, vec2(0.0f))[1u]));
-  int x_70 = (v_2 + (tint_f32_to_i32((x_59[1u] * 10.0f)) * 10));
-  x_72_phi = 100;
-  x_75_phi = 0;
-  {
-    while(true) {
-      int x_73 = 0;
-      int x_76 = 0;
-      x_72 = x_72_phi;
-      int x_75 = x_75_phi;
-      if ((x_75 < x_70)) {
-      } else {
-        break;
-      }
-      {
-        x_73 = tint_div_i32(((4 * x_72) * (1000 - x_72)), 1000);
-        x_76 = (x_75 + 1);
-        x_72_phi = x_73;
-        x_75_phi = x_76;
-      }
-      continue;
-    }
-  }
-  indexable = vec4[16](vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(0.5f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 0.5f, 0.0f, 1.0f), vec4(0.5f, 0.5f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 0.5f, 1.0f), vec4(0.5f, 0.0f, 0.5f, 1.0f), vec4(0.0f, 0.5f, 0.5f, 1.0f), vec4(0.5f, 0.5f, 0.5f, 1.0f), vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(1.0f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 1.0f, 0.0f, 1.0f), vec4(1.0f, 1.0f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 1.0f, 1.0f), vec4(1.0f, 0.0f, 1.0f, 1.0f), vec4(0.0f, 1.0f, 1.0f, 1.0f), vec4(1.0f));
-  vec4 x_84 = indexable[tint_mod_i32(x_72, 16)];
-  x_GLF_color = x_84;
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:22: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-dead-break-and-unroll/1.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-dead-break-and-unroll/1.spvasm.expected.ir.glsl
deleted file mode 100644
index af48b8f..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-dead-break-and-unroll/1.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,304 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v_1;
-int map[256] = int[256](0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-vec4 x_GLF_color = vec4(0.0f);
-mat2x4 x_60 = mat2x4(vec4(0.0f), vec4(0.0f));
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_mod_i32(int lhs, int rhs) {
-  int v_2 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_2) * v_2));
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  vec2 pos = vec2(0.0f);
-  ivec2 ipos = ivec2(0);
-  int i = 0;
-  ivec2 p = ivec2(0);
-  bool canwalk = false;
-  int v = 0;
-  int directions = 0;
-  int j = 0;
-  int d = 0;
-  int x_68 = -242;
-  pos = (tint_symbol.xy / v_1.tint_symbol_3.resolution);
-  int v_3 = tint_f32_to_i32((pos.x * 16.0f));
-  ipos = ivec2(v_3, tint_f32_to_i32((pos.y * 16.0f)));
-  i = 0;
-  {
-    while(true) {
-      if ((i < 256)) {
-      } else {
-        break;
-      }
-      int x_86 = i;
-      map[x_86] = 0;
-      {
-        i = (i + 1);
-      }
-      continue;
-    }
-  }
-  p = ivec2(0);
-  canwalk = true;
-  v = 0;
-  {
-    while(true) {
-      bool x_110 = false;
-      bool x_111 = false;
-      bool x_130 = false;
-      bool x_131 = false;
-      bool x_150 = false;
-      bool x_151 = false;
-      bool x_171 = false;
-      bool x_172 = false;
-      v = (v + 1);
-      directions = 0;
-      bool x_98 = (p.x > 0);
-      x_111 = x_98;
-      if (x_98) {
-        x_110 = (map[((p.x - 2) + (p.y * 16))] == 0);
-        x_111 = x_110;
-      }
-      if (x_111) {
-        directions = (directions + 1);
-      }
-      bool x_118 = (p.y > 0);
-      x_131 = x_118;
-      if (x_118) {
-        x_130 = (map[(p.x + ((p.y - 2) * 16))] == 0);
-        x_131 = x_130;
-      }
-      if (x_131) {
-        directions = (directions + 1);
-      }
-      bool x_138 = (p.x < 14);
-      x_151 = x_138;
-      if (x_138) {
-        x_150 = (map[((p.x + 2) + (p.y * 16))] == 0);
-        x_151 = x_150;
-      }
-      if (x_151) {
-        directions = (directions + 1);
-      }
-      int x_156 = (256 - x_68);
-      bool x_159 = (p.y < 14);
-      x_172 = x_159;
-      if (x_159) {
-        x_171 = (map[(p.x + ((p.y + 2) * 16))] == 0);
-        x_172 = x_171;
-      }
-      if (x_172) {
-        directions = (directions + 1);
-      }
-      bool x_237 = false;
-      bool x_238 = false;
-      bool x_250 = false;
-      bool x_251 = false;
-      bool x_289 = false;
-      bool x_290 = false;
-      bool x_302 = false;
-      bool x_303 = false;
-      bool x_341 = false;
-      bool x_342 = false;
-      bool x_354 = false;
-      bool x_355 = false;
-      bool x_393 = false;
-      bool x_394 = false;
-      bool x_406 = false;
-      bool x_407 = false;
-      if ((directions == 0)) {
-        canwalk = false;
-        i = 0;
-        {
-          while(true) {
-            int x_186 = i;
-            if ((i < 8)) {
-            } else {
-              break;
-            }
-            j = 0;
-            int x_189 = (x_156 - x_186);
-            x_60 = mat2x4(vec4(0.0f), vec4(0.0f));
-            if (false) {
-              {
-                i = (i + 1);
-              }
-              continue;
-            }
-            {
-              while(true) {
-                if ((j < 8)) {
-                } else {
-                  break;
-                }
-                if ((map[((j * 2) + ((i * 2) * 16))] == 0)) {
-                  p[0u] = (j * 2);
-                  p[1u] = (i * 2);
-                  canwalk = true;
-                }
-                {
-                  j = (j + 1);
-                }
-                continue;
-              }
-            }
-            {
-              i = (i + 1);
-            }
-            continue;
-          }
-        }
-        int x_219 = p.x;
-        int x_221 = p.y;
-        map[(x_219 + (x_221 * 16))] = 1;
-      } else {
-        d = tint_mod_i32(v, directions);
-        v = (v + directions);
-        bool x_232 = (d >= 0);
-        x_238 = x_232;
-        if (x_232) {
-          x_237 = (p.x > 0);
-          x_238 = x_237;
-        }
-        x_251 = x_238;
-        if (x_238) {
-          x_250 = (map[((p.x - 2) + (p.y * 16))] == 0);
-          x_251 = x_250;
-        }
-        if (x_251) {
-          d = (d - 1);
-          int x_257 = p.x;
-          int x_259 = p.y;
-          map[(x_257 + (x_259 * 16))] = 1;
-          int x_264 = p.x;
-          int x_267 = p.y;
-          map[((x_264 - 1) + (x_267 * 16))] = 1;
-          int x_272 = p.x;
-          int x_275 = p.y;
-          map[((x_272 - 2) + (x_275 * 16))] = 1;
-          p[0u] = (p.x - 2);
-        }
-        bool x_284 = (d >= 0);
-        x_290 = x_284;
-        if (x_284) {
-          x_289 = (p.y > 0);
-          x_290 = x_289;
-        }
-        x_303 = x_290;
-        if (x_290) {
-          x_302 = (map[(p.x + ((p.y - 2) * 16))] == 0);
-          x_303 = x_302;
-        }
-        if (x_303) {
-          d = (d - 1);
-          int x_309 = p.x;
-          int x_311 = p.y;
-          map[(x_309 + (x_311 * 16))] = 1;
-          int x_316 = p.x;
-          int x_318 = p.y;
-          map[(x_316 + ((x_318 - 1) * 16))] = 1;
-          int x_324 = p.x;
-          int x_326 = p.y;
-          map[(x_324 + ((x_326 - 2) * 16))] = 1;
-          p[1u] = (p.y - 2);
-        }
-        bool x_336 = (d >= 0);
-        x_342 = x_336;
-        if (x_336) {
-          x_341 = (p.x < 14);
-          x_342 = x_341;
-        }
-        x_355 = x_342;
-        if (x_342) {
-          x_354 = (map[((p.x + 2) + (p.y * 16))] == 0);
-          x_355 = x_354;
-        }
-        if (x_355) {
-          d = (d - 1);
-          int x_361 = p.x;
-          int x_363 = p.y;
-          map[(x_361 + (x_363 * 16))] = 1;
-          int x_368 = p.x;
-          int x_371 = p.y;
-          map[((x_368 + 1) + (x_371 * 16))] = 1;
-          int x_376 = p.x;
-          int x_379 = p.y;
-          map[((x_376 + 2) + (x_379 * 16))] = 1;
-          p[0u] = (p.x + 2);
-        }
-        bool x_388 = (d >= 0);
-        x_394 = x_388;
-        if (x_388) {
-          x_393 = (p.y < 14);
-          x_394 = x_393;
-        }
-        x_407 = x_394;
-        if (x_394) {
-          x_406 = (map[(p.x + ((p.y + 2) * 16))] == 0);
-          x_407 = x_406;
-        }
-        if (x_407) {
-          d = (d - 1);
-          int x_413 = p.x;
-          int x_415 = p.y;
-          map[(x_413 + (x_415 * 16))] = 1;
-          int x_420 = p.x;
-          int x_422 = p.y;
-          map[(x_420 + ((x_422 + 1) * 16))] = 1;
-          int x_428 = p.x;
-          int x_430 = p.y;
-          map[(x_428 + ((x_430 + 2) * 16))] = 1;
-          p[1u] = (p.y + 2);
-        }
-      }
-      if ((map[((ipos.y * 16) + ipos.x)] == 1)) {
-        x_GLF_color = vec4(1.0f);
-        return;
-      }
-      {
-        bool x_450 = canwalk;
-        if (!(x_450)) { break; }
-      }
-      continue;
-    }
-  }
-  x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:24: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:24: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:24: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-dead-break-and-unroll/1.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-dead-break-and-unroll/1.wgsl.expected.ir.glsl
deleted file mode 100644
index ac266b1..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-dead-break-and-unroll/1.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,388 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v_1;
-int map[256] = int[256](0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-vec4 x_GLF_color = vec4(0.0f);
-mat2x4 x_60 = mat2x4(vec4(0.0f), vec4(0.0f));
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_mod_i32(int lhs, int rhs) {
-  int v_2 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_2) * v_2));
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  vec2 pos = vec2(0.0f);
-  ivec2 ipos = ivec2(0);
-  int i = 0;
-  ivec2 p = ivec2(0);
-  bool canwalk = false;
-  int v = 0;
-  int directions = 0;
-  int j = 0;
-  int d = 0;
-  vec4 x_63 = tint_symbol;
-  vec2 x_67 = v_1.tint_symbol_3.resolution;
-  int x_68 = -242;
-  pos = (vec2(x_63[0u], x_63[1u]) / x_67);
-  float x_71 = pos.x;
-  float x_75 = pos.y;
-  int v_3 = tint_f32_to_i32((x_71 * 16.0f));
-  ipos = ivec2(v_3, tint_f32_to_i32((x_75 * 16.0f)));
-  i = 0;
-  {
-    while(true) {
-      int x_83 = i;
-      if ((x_83 < 256)) {
-      } else {
-        break;
-      }
-      int x_86 = i;
-      map[x_86] = 0;
-      {
-        int x_88 = i;
-        i = (x_88 + 1);
-      }
-      continue;
-    }
-  }
-  p = ivec2(0);
-  canwalk = true;
-  v = 0;
-  {
-    while(true) {
-      bool x_110 = false;
-      bool x_130 = false;
-      bool x_150 = false;
-      bool x_171 = false;
-      bool x_111_phi = false;
-      bool x_131_phi = false;
-      bool x_151_phi = false;
-      bool x_172_phi = false;
-      int x_94 = v;
-      v = (x_94 + 1);
-      directions = 0;
-      int x_97 = p.x;
-      bool x_98 = (x_97 > 0);
-      x_111_phi = x_98;
-      if (x_98) {
-        int x_102 = p.x;
-        int x_105 = p.y;
-        int x_109 = map[((x_102 - 2) + (x_105 * 16))];
-        x_110 = (x_109 == 0);
-        x_111_phi = x_110;
-      }
-      bool x_111 = x_111_phi;
-      if (x_111) {
-        int x_114 = directions;
-        directions = (x_114 + 1);
-      }
-      int x_117 = p.y;
-      bool x_118 = (x_117 > 0);
-      x_131_phi = x_118;
-      if (x_118) {
-        int x_122 = p.x;
-        int x_124 = p.y;
-        int x_129 = map[(x_122 + ((x_124 - 2) * 16))];
-        x_130 = (x_129 == 0);
-        x_131_phi = x_130;
-      }
-      bool x_131 = x_131_phi;
-      if (x_131) {
-        int x_134 = directions;
-        directions = (x_134 + 1);
-      }
-      int x_137 = p.x;
-      bool x_138 = (x_137 < 14);
-      x_151_phi = x_138;
-      if (x_138) {
-        int x_142 = p.x;
-        int x_145 = p.y;
-        int x_149 = map[((x_142 + 2) + (x_145 * 16))];
-        x_150 = (x_149 == 0);
-        x_151_phi = x_150;
-      }
-      bool x_151 = x_151_phi;
-      if (x_151) {
-        int x_154 = directions;
-        directions = (x_154 + 1);
-      }
-      int x_156 = (256 - x_68);
-      int x_158 = p.y;
-      bool x_159 = (x_158 < 14);
-      x_172_phi = x_159;
-      if (x_159) {
-        int x_163 = p.x;
-        int x_165 = p.y;
-        int x_170 = map[(x_163 + ((x_165 + 2) * 16))];
-        x_171 = (x_170 == 0);
-        x_172_phi = x_171;
-      }
-      bool x_172 = x_172_phi;
-      if (x_172) {
-        int x_175 = directions;
-        directions = (x_175 + 1);
-      }
-      bool x_237 = false;
-      bool x_250 = false;
-      bool x_289 = false;
-      bool x_302 = false;
-      bool x_341 = false;
-      bool x_354 = false;
-      bool x_393 = false;
-      bool x_406 = false;
-      bool x_238_phi = false;
-      bool x_251_phi = false;
-      bool x_290_phi = false;
-      bool x_303_phi = false;
-      bool x_342_phi = false;
-      bool x_355_phi = false;
-      bool x_394_phi = false;
-      bool x_407_phi = false;
-      int x_177 = directions;
-      if ((x_177 == 0)) {
-        canwalk = false;
-        i = 0;
-        {
-          while(true) {
-            int x_186 = i;
-            if ((x_186 < 8)) {
-            } else {
-              break;
-            }
-            j = 0;
-            int x_189 = (x_156 - x_186);
-            x_60 = mat2x4(vec4(0.0f), vec4(0.0f));
-            if (false) {
-              {
-                int x_216 = i;
-                i = (x_216 + 1);
-              }
-              continue;
-            }
-            {
-              while(true) {
-                int x_194 = j;
-                if ((x_194 < 8)) {
-                } else {
-                  break;
-                }
-                int x_197 = j;
-                int x_199 = i;
-                int x_204 = map[((x_197 * 2) + ((x_199 * 2) * 16))];
-                if ((x_204 == 0)) {
-                  int x_208 = j;
-                  p[0u] = (x_208 * 2);
-                  int x_211 = i;
-                  p[1u] = (x_211 * 2);
-                  canwalk = true;
-                }
-                {
-                  int x_214 = j;
-                  j = (x_214 + 1);
-                }
-                continue;
-              }
-            }
-            {
-              int x_216 = i;
-              i = (x_216 + 1);
-            }
-            continue;
-          }
-        }
-        int x_219 = p.x;
-        int x_221 = p.y;
-        map[(x_219 + (x_221 * 16))] = 1;
-      } else {
-        int x_225 = v;
-        int x_226 = directions;
-        d = tint_mod_i32(x_225, x_226);
-        int x_228 = directions;
-        int x_229 = v;
-        v = (x_229 + x_228);
-        int x_231 = d;
-        bool x_232 = (x_231 >= 0);
-        x_238_phi = x_232;
-        if (x_232) {
-          int x_236 = p.x;
-          x_237 = (x_236 > 0);
-          x_238_phi = x_237;
-        }
-        bool x_238 = x_238_phi;
-        x_251_phi = x_238;
-        if (x_238) {
-          int x_242 = p.x;
-          int x_245 = p.y;
-          int x_249 = map[((x_242 - 2) + (x_245 * 16))];
-          x_250 = (x_249 == 0);
-          x_251_phi = x_250;
-        }
-        bool x_251 = x_251_phi;
-        if (x_251) {
-          int x_254 = d;
-          d = (x_254 - 1);
-          int x_257 = p.x;
-          int x_259 = p.y;
-          map[(x_257 + (x_259 * 16))] = 1;
-          int x_264 = p.x;
-          int x_267 = p.y;
-          map[((x_264 - 1) + (x_267 * 16))] = 1;
-          int x_272 = p.x;
-          int x_275 = p.y;
-          map[((x_272 - 2) + (x_275 * 16))] = 1;
-          int x_280 = p.x;
-          p[0u] = (x_280 - 2);
-        }
-        int x_283 = d;
-        bool x_284 = (x_283 >= 0);
-        x_290_phi = x_284;
-        if (x_284) {
-          int x_288 = p.y;
-          x_289 = (x_288 > 0);
-          x_290_phi = x_289;
-        }
-        bool x_290 = x_290_phi;
-        x_303_phi = x_290;
-        if (x_290) {
-          int x_294 = p.x;
-          int x_296 = p.y;
-          int x_301 = map[(x_294 + ((x_296 - 2) * 16))];
-          x_302 = (x_301 == 0);
-          x_303_phi = x_302;
-        }
-        bool x_303 = x_303_phi;
-        if (x_303) {
-          int x_306 = d;
-          d = (x_306 - 1);
-          int x_309 = p.x;
-          int x_311 = p.y;
-          map[(x_309 + (x_311 * 16))] = 1;
-          int x_316 = p.x;
-          int x_318 = p.y;
-          map[(x_316 + ((x_318 - 1) * 16))] = 1;
-          int x_324 = p.x;
-          int x_326 = p.y;
-          map[(x_324 + ((x_326 - 2) * 16))] = 1;
-          int x_332 = p.y;
-          p[1u] = (x_332 - 2);
-        }
-        int x_335 = d;
-        bool x_336 = (x_335 >= 0);
-        x_342_phi = x_336;
-        if (x_336) {
-          int x_340 = p.x;
-          x_341 = (x_340 < 14);
-          x_342_phi = x_341;
-        }
-        bool x_342 = x_342_phi;
-        x_355_phi = x_342;
-        if (x_342) {
-          int x_346 = p.x;
-          int x_349 = p.y;
-          int x_353 = map[((x_346 + 2) + (x_349 * 16))];
-          x_354 = (x_353 == 0);
-          x_355_phi = x_354;
-        }
-        bool x_355 = x_355_phi;
-        if (x_355) {
-          int x_358 = d;
-          d = (x_358 - 1);
-          int x_361 = p.x;
-          int x_363 = p.y;
-          map[(x_361 + (x_363 * 16))] = 1;
-          int x_368 = p.x;
-          int x_371 = p.y;
-          map[((x_368 + 1) + (x_371 * 16))] = 1;
-          int x_376 = p.x;
-          int x_379 = p.y;
-          map[((x_376 + 2) + (x_379 * 16))] = 1;
-          int x_384 = p.x;
-          p[0u] = (x_384 + 2);
-        }
-        int x_387 = d;
-        bool x_388 = (x_387 >= 0);
-        x_394_phi = x_388;
-        if (x_388) {
-          int x_392 = p.y;
-          x_393 = (x_392 < 14);
-          x_394_phi = x_393;
-        }
-        bool x_394 = x_394_phi;
-        x_407_phi = x_394;
-        if (x_394) {
-          int x_398 = p.x;
-          int x_400 = p.y;
-          int x_405 = map[(x_398 + ((x_400 + 2) * 16))];
-          x_406 = (x_405 == 0);
-          x_407_phi = x_406;
-        }
-        bool x_407 = x_407_phi;
-        if (x_407) {
-          int x_410 = d;
-          d = (x_410 - 1);
-          int x_413 = p.x;
-          int x_415 = p.y;
-          map[(x_413 + (x_415 * 16))] = 1;
-          int x_420 = p.x;
-          int x_422 = p.y;
-          map[(x_420 + ((x_422 + 1) * 16))] = 1;
-          int x_428 = p.x;
-          int x_430 = p.y;
-          map[(x_428 + ((x_430 + 2) * 16))] = 1;
-          int x_436 = p.y;
-          p[1u] = (x_436 + 2);
-        }
-      }
-      int x_440 = ipos.y;
-      int x_443 = ipos.x;
-      int x_446 = map[((x_440 * 16) + x_443)];
-      if ((x_446 == 1)) {
-        x_GLF_color = vec4(1.0f);
-        return;
-      }
-      {
-        bool x_450 = canwalk;
-        if (!(x_450)) { break; }
-      }
-      continue;
-    }
-  }
-  x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:24: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:24: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:24: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-declare-bvec4/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-declare-bvec4/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index 94f0b6c..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-declare-bvec4/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,114 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-bool collision_vf2_vf4_(inout vec2 pos, inout vec4 quad) {
-  if ((pos.x < quad.x)) {
-    return false;
-  }
-  if ((pos.y < quad.y)) {
-    return false;
-  }
-  if ((pos.x > (quad.x + quad.z))) {
-    return false;
-  }
-  if ((pos.y > (quad.y + quad.w))) {
-    return false;
-  }
-  return true;
-}
-int tint_mod_i32(int lhs, int rhs) {
-  int v_1 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_1) * v_1));
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-vec4 match_vf2_(inout vec2 pos_1) {
-  vec4 res = vec4(0.0f);
-  int i = 0;
-  vec2 param = vec2(0.0f);
-  vec4 param_1 = vec4(0.0f);
-  vec4 indexable[8] = vec4[8](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  vec4 indexable_1[8] = vec4[8](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  vec4 indexable_2[8] = vec4[8](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  vec4 indexable_3[16] = vec4[16](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  res = vec4(0.5f, 0.5f, 1.0f, 1.0f);
-  i = 0;
-  {
-    while(true) {
-      if ((i < 8)) {
-      } else {
-        break;
-      }
-      int x_155 = i;
-      param = pos_1;
-      indexable = vec4[8](vec4(4.0f, 4.0f, 20.0f, 4.0f), vec4(4.0f, 4.0f, 4.0f, 20.0f), vec4(4.0f, 20.0f, 20.0f, 4.0f), vec4(20.0f, 4.0f, 4.0f, 8.0f), vec4(8.0f, 6.0f, 4.0f, 2.0f), vec4(2.0f, 12.0f, 2.0f, 4.0f), vec4(16.0f, 2.0f, 4.0f, 4.0f), vec4(12.0f, 22.0f, 4.0f, 4.0f));
-      param_1 = indexable[x_155];
-      bool x_159 = collision_vf2_vf4_(param, param_1);
-      if (x_159) {
-        int x_162 = i;
-        indexable_1 = vec4[8](vec4(4.0f, 4.0f, 20.0f, 4.0f), vec4(4.0f, 4.0f, 4.0f, 20.0f), vec4(4.0f, 20.0f, 20.0f, 4.0f), vec4(20.0f, 4.0f, 4.0f, 8.0f), vec4(8.0f, 6.0f, 4.0f, 2.0f), vec4(2.0f, 12.0f, 2.0f, 4.0f), vec4(16.0f, 2.0f, 4.0f, 4.0f), vec4(12.0f, 22.0f, 4.0f, 4.0f));
-        float x_164 = indexable_1[x_162].x;
-        int x_166 = i;
-        indexable_2 = vec4[8](vec4(4.0f, 4.0f, 20.0f, 4.0f), vec4(4.0f, 4.0f, 4.0f, 20.0f), vec4(4.0f, 20.0f, 20.0f, 4.0f), vec4(20.0f, 4.0f, 4.0f, 8.0f), vec4(8.0f, 6.0f, 4.0f, 2.0f), vec4(2.0f, 12.0f, 2.0f, 4.0f), vec4(16.0f, 2.0f, 4.0f, 4.0f), vec4(12.0f, 22.0f, 4.0f, 4.0f));
-        float x_168 = indexable_2[x_166].y;
-        int x_171 = i;
-        indexable_3 = vec4[16](vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(0.5f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 0.5f, 0.0f, 1.0f), vec4(0.5f, 0.5f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 0.5f, 1.0f), vec4(0.5f, 0.0f, 0.5f, 1.0f), vec4(0.0f, 0.5f, 0.5f, 1.0f), vec4(0.5f, 0.5f, 0.5f, 1.0f), vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(1.0f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 1.0f, 0.0f, 1.0f), vec4(1.0f, 1.0f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 1.0f, 1.0f), vec4(1.0f, 0.0f, 1.0f, 1.0f), vec4(0.0f, 1.0f, 1.0f, 1.0f), vec4(1.0f));
-        int v_2 = tint_f32_to_i32(x_164);
-        res = indexable_3[tint_mod_i32((((v_2 * tint_f32_to_i32(x_168)) + (x_171 * 9)) + 11), 16)];
-      }
-      {
-        i = (i + 1);
-      }
-      continue;
-    }
-  }
-  vec4 x_180 = res;
-  return x_180;
-}
-void main_1() {
-  vec2 lin = vec2(0.0f);
-  vec2 param_2 = vec2(0.0f);
-  lin = (tint_symbol.xy / v.tint_symbol_3.resolution);
-  lin = floor((lin * 32.0f));
-  param_2 = lin;
-  vec4 x_111 = match_vf2_(param_2);
-  x_GLF_color = x_111;
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:37: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:37: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:37: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-declare-bvec4/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-declare-bvec4/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index 7ad5043..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-declare-bvec4/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,133 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-bool collision_vf2_vf4_(inout vec2 pos, inout vec4 quad) {
-  float x_114 = pos.x;
-  float x_116 = quad.x;
-  if ((x_114 < x_116)) {
-    return false;
-  }
-  float x_121 = pos.y;
-  float x_123 = quad.y;
-  if ((x_121 < x_123)) {
-    return false;
-  }
-  float x_128 = pos.x;
-  float x_130 = quad.x;
-  float x_132 = quad.z;
-  if ((x_128 > (x_130 + x_132))) {
-    return false;
-  }
-  float x_138 = pos.y;
-  float x_140 = quad.y;
-  float x_142 = quad.w;
-  if ((x_138 > (x_140 + x_142))) {
-    return false;
-  }
-  return true;
-}
-int tint_mod_i32(int lhs, int rhs) {
-  int v_1 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_1) * v_1));
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-vec4 match_vf2_(inout vec2 pos_1) {
-  vec4 res = vec4(0.0f);
-  int i = 0;
-  vec2 param = vec2(0.0f);
-  vec4 param_1 = vec4(0.0f);
-  vec4 indexable[8] = vec4[8](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  vec4 indexable_1[8] = vec4[8](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  vec4 indexable_2[8] = vec4[8](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  vec4 indexable_3[16] = vec4[16](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  res = vec4(0.5f, 0.5f, 1.0f, 1.0f);
-  i = 0;
-  {
-    while(true) {
-      int x_152 = i;
-      if ((x_152 < 8)) {
-      } else {
-        break;
-      }
-      int x_155 = i;
-      vec2 x_156 = pos_1;
-      param = x_156;
-      indexable = vec4[8](vec4(4.0f, 4.0f, 20.0f, 4.0f), vec4(4.0f, 4.0f, 4.0f, 20.0f), vec4(4.0f, 20.0f, 20.0f, 4.0f), vec4(20.0f, 4.0f, 4.0f, 8.0f), vec4(8.0f, 6.0f, 4.0f, 2.0f), vec4(2.0f, 12.0f, 2.0f, 4.0f), vec4(16.0f, 2.0f, 4.0f, 4.0f), vec4(12.0f, 22.0f, 4.0f, 4.0f));
-      vec4 x_158 = indexable[x_155];
-      param_1 = x_158;
-      bool x_159 = collision_vf2_vf4_(param, param_1);
-      if (x_159) {
-        int x_162 = i;
-        indexable_1 = vec4[8](vec4(4.0f, 4.0f, 20.0f, 4.0f), vec4(4.0f, 4.0f, 4.0f, 20.0f), vec4(4.0f, 20.0f, 20.0f, 4.0f), vec4(20.0f, 4.0f, 4.0f, 8.0f), vec4(8.0f, 6.0f, 4.0f, 2.0f), vec4(2.0f, 12.0f, 2.0f, 4.0f), vec4(16.0f, 2.0f, 4.0f, 4.0f), vec4(12.0f, 22.0f, 4.0f, 4.0f));
-        float x_164 = indexable_1[x_162].x;
-        int x_166 = i;
-        indexable_2 = vec4[8](vec4(4.0f, 4.0f, 20.0f, 4.0f), vec4(4.0f, 4.0f, 4.0f, 20.0f), vec4(4.0f, 20.0f, 20.0f, 4.0f), vec4(20.0f, 4.0f, 4.0f, 8.0f), vec4(8.0f, 6.0f, 4.0f, 2.0f), vec4(2.0f, 12.0f, 2.0f, 4.0f), vec4(16.0f, 2.0f, 4.0f, 4.0f), vec4(12.0f, 22.0f, 4.0f, 4.0f));
-        float x_168 = indexable_2[x_166].y;
-        int x_171 = i;
-        indexable_3 = vec4[16](vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(0.5f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 0.5f, 0.0f, 1.0f), vec4(0.5f, 0.5f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 0.5f, 1.0f), vec4(0.5f, 0.0f, 0.5f, 1.0f), vec4(0.0f, 0.5f, 0.5f, 1.0f), vec4(0.5f, 0.5f, 0.5f, 1.0f), vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(1.0f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 1.0f, 0.0f, 1.0f), vec4(1.0f, 1.0f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 1.0f, 1.0f), vec4(1.0f, 0.0f, 1.0f, 1.0f), vec4(0.0f, 1.0f, 1.0f, 1.0f), vec4(1.0f));
-        int v_2 = tint_f32_to_i32(x_164);
-        vec4 x_177 = indexable_3[tint_mod_i32((((v_2 * tint_f32_to_i32(x_168)) + (x_171 * 9)) + 11), 16)];
-        res = x_177;
-      }
-      {
-        int x_178 = i;
-        i = (x_178 + 1);
-      }
-      continue;
-    }
-  }
-  vec4 x_180 = res;
-  return x_180;
-}
-void main_1() {
-  vec2 lin = vec2(0.0f);
-  vec2 param_2 = vec2(0.0f);
-  vec4 x_102 = tint_symbol;
-  vec2 x_105 = v.tint_symbol_3.resolution;
-  lin = (vec2(x_102[0u], x_102[1u]) / x_105);
-  vec2 x_107 = lin;
-  lin = floor((x_107 * 32.0f));
-  vec2 x_110 = lin;
-  param_2 = x_110;
-  vec4 x_111 = match_vf2_(param_2);
-  x_GLF_color = x_111;
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:47: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:47: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:47: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-declare-bvec4/1.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-declare-bvec4/1.spvasm.expected.ir.glsl
deleted file mode 100644
index 803652a..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-declare-bvec4/1.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,115 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-bool collision_vf2_vf4_(inout vec2 pos, inout vec4 quad) {
-  bvec4 x_116 = bvec4(false);
-  if ((pos.x < quad.x)) {
-    return false;
-  }
-  if ((pos.y < quad.y)) {
-    return false;
-  }
-  if ((pos.x > (quad.x + quad.z))) {
-    return false;
-  }
-  if ((pos.y > (quad.y + quad.w))) {
-    return false;
-  }
-  return true;
-}
-int tint_mod_i32(int lhs, int rhs) {
-  int v_1 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_1) * v_1));
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-vec4 match_vf2_(inout vec2 pos_1) {
-  vec4 res = vec4(0.0f);
-  int i = 0;
-  vec2 param = vec2(0.0f);
-  vec4 param_1 = vec4(0.0f);
-  vec4 indexable[8] = vec4[8](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  vec4 indexable_1[8] = vec4[8](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  vec4 indexable_2[8] = vec4[8](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  vec4 indexable_3[16] = vec4[16](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  res = vec4(0.5f, 0.5f, 1.0f, 1.0f);
-  i = 0;
-  {
-    while(true) {
-      if ((i < 8)) {
-      } else {
-        break;
-      }
-      int x_159 = i;
-      param = pos_1;
-      indexable = vec4[8](vec4(4.0f, 4.0f, 20.0f, 4.0f), vec4(4.0f, 4.0f, 4.0f, 20.0f), vec4(4.0f, 20.0f, 20.0f, 4.0f), vec4(20.0f, 4.0f, 4.0f, 8.0f), vec4(8.0f, 6.0f, 4.0f, 2.0f), vec4(2.0f, 12.0f, 2.0f, 4.0f), vec4(16.0f, 2.0f, 4.0f, 4.0f), vec4(12.0f, 22.0f, 4.0f, 4.0f));
-      param_1 = indexable[x_159];
-      bool x_163 = collision_vf2_vf4_(param, param_1);
-      if (x_163) {
-        int x_166 = i;
-        indexable_1 = vec4[8](vec4(4.0f, 4.0f, 20.0f, 4.0f), vec4(4.0f, 4.0f, 4.0f, 20.0f), vec4(4.0f, 20.0f, 20.0f, 4.0f), vec4(20.0f, 4.0f, 4.0f, 8.0f), vec4(8.0f, 6.0f, 4.0f, 2.0f), vec4(2.0f, 12.0f, 2.0f, 4.0f), vec4(16.0f, 2.0f, 4.0f, 4.0f), vec4(12.0f, 22.0f, 4.0f, 4.0f));
-        float x_168 = indexable_1[x_166].x;
-        int x_170 = i;
-        indexable_2 = vec4[8](vec4(4.0f, 4.0f, 20.0f, 4.0f), vec4(4.0f, 4.0f, 4.0f, 20.0f), vec4(4.0f, 20.0f, 20.0f, 4.0f), vec4(20.0f, 4.0f, 4.0f, 8.0f), vec4(8.0f, 6.0f, 4.0f, 2.0f), vec4(2.0f, 12.0f, 2.0f, 4.0f), vec4(16.0f, 2.0f, 4.0f, 4.0f), vec4(12.0f, 22.0f, 4.0f, 4.0f));
-        float x_172 = indexable_2[x_170].y;
-        int x_175 = i;
-        indexable_3 = vec4[16](vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(0.5f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 0.5f, 0.0f, 1.0f), vec4(0.5f, 0.5f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 0.5f, 1.0f), vec4(0.5f, 0.0f, 0.5f, 1.0f), vec4(0.0f, 0.5f, 0.5f, 1.0f), vec4(0.5f, 0.5f, 0.5f, 1.0f), vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(1.0f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 1.0f, 0.0f, 1.0f), vec4(1.0f, 1.0f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 1.0f, 1.0f), vec4(1.0f, 0.0f, 1.0f, 1.0f), vec4(0.0f, 1.0f, 1.0f, 1.0f), vec4(1.0f));
-        int v_2 = tint_f32_to_i32(x_168);
-        res = indexable_3[tint_mod_i32((((v_2 * tint_f32_to_i32(x_172)) + (x_175 * 9)) + 11), 16)];
-      }
-      {
-        i = (i + 1);
-      }
-      continue;
-    }
-  }
-  vec4 x_184 = res;
-  return x_184;
-}
-void main_1() {
-  vec2 lin = vec2(0.0f);
-  vec2 param_2 = vec2(0.0f);
-  lin = (tint_symbol.xy / v.tint_symbol_3.resolution);
-  lin = floor((lin * 32.0f));
-  param_2 = lin;
-  vec4 x_114 = match_vf2_(param_2);
-  x_GLF_color = x_114;
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:38: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:38: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:38: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-declare-bvec4/1.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-declare-bvec4/1.wgsl.expected.ir.glsl
deleted file mode 100644
index dd1cacb..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-declare-bvec4/1.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,134 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-bool collision_vf2_vf4_(inout vec2 pos, inout vec4 quad) {
-  bvec4 x_116 = bvec4(false);
-  float x_118 = pos.x;
-  float x_120 = quad.x;
-  if ((x_118 < x_120)) {
-    return false;
-  }
-  float x_125 = pos.y;
-  float x_127 = quad.y;
-  if ((x_125 < x_127)) {
-    return false;
-  }
-  float x_132 = pos.x;
-  float x_134 = quad.x;
-  float x_136 = quad.z;
-  if ((x_132 > (x_134 + x_136))) {
-    return false;
-  }
-  float x_142 = pos.y;
-  float x_144 = quad.y;
-  float x_146 = quad.w;
-  if ((x_142 > (x_144 + x_146))) {
-    return false;
-  }
-  return true;
-}
-int tint_mod_i32(int lhs, int rhs) {
-  int v_1 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_1) * v_1));
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-vec4 match_vf2_(inout vec2 pos_1) {
-  vec4 res = vec4(0.0f);
-  int i = 0;
-  vec2 param = vec2(0.0f);
-  vec4 param_1 = vec4(0.0f);
-  vec4 indexable[8] = vec4[8](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  vec4 indexable_1[8] = vec4[8](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  vec4 indexable_2[8] = vec4[8](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  vec4 indexable_3[16] = vec4[16](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  res = vec4(0.5f, 0.5f, 1.0f, 1.0f);
-  i = 0;
-  {
-    while(true) {
-      int x_156 = i;
-      if ((x_156 < 8)) {
-      } else {
-        break;
-      }
-      int x_159 = i;
-      vec2 x_160 = pos_1;
-      param = x_160;
-      indexable = vec4[8](vec4(4.0f, 4.0f, 20.0f, 4.0f), vec4(4.0f, 4.0f, 4.0f, 20.0f), vec4(4.0f, 20.0f, 20.0f, 4.0f), vec4(20.0f, 4.0f, 4.0f, 8.0f), vec4(8.0f, 6.0f, 4.0f, 2.0f), vec4(2.0f, 12.0f, 2.0f, 4.0f), vec4(16.0f, 2.0f, 4.0f, 4.0f), vec4(12.0f, 22.0f, 4.0f, 4.0f));
-      vec4 x_162 = indexable[x_159];
-      param_1 = x_162;
-      bool x_163 = collision_vf2_vf4_(param, param_1);
-      if (x_163) {
-        int x_166 = i;
-        indexable_1 = vec4[8](vec4(4.0f, 4.0f, 20.0f, 4.0f), vec4(4.0f, 4.0f, 4.0f, 20.0f), vec4(4.0f, 20.0f, 20.0f, 4.0f), vec4(20.0f, 4.0f, 4.0f, 8.0f), vec4(8.0f, 6.0f, 4.0f, 2.0f), vec4(2.0f, 12.0f, 2.0f, 4.0f), vec4(16.0f, 2.0f, 4.0f, 4.0f), vec4(12.0f, 22.0f, 4.0f, 4.0f));
-        float x_168 = indexable_1[x_166].x;
-        int x_170 = i;
-        indexable_2 = vec4[8](vec4(4.0f, 4.0f, 20.0f, 4.0f), vec4(4.0f, 4.0f, 4.0f, 20.0f), vec4(4.0f, 20.0f, 20.0f, 4.0f), vec4(20.0f, 4.0f, 4.0f, 8.0f), vec4(8.0f, 6.0f, 4.0f, 2.0f), vec4(2.0f, 12.0f, 2.0f, 4.0f), vec4(16.0f, 2.0f, 4.0f, 4.0f), vec4(12.0f, 22.0f, 4.0f, 4.0f));
-        float x_172 = indexable_2[x_170].y;
-        int x_175 = i;
-        indexable_3 = vec4[16](vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(0.5f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 0.5f, 0.0f, 1.0f), vec4(0.5f, 0.5f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 0.5f, 1.0f), vec4(0.5f, 0.0f, 0.5f, 1.0f), vec4(0.0f, 0.5f, 0.5f, 1.0f), vec4(0.5f, 0.5f, 0.5f, 1.0f), vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(1.0f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 1.0f, 0.0f, 1.0f), vec4(1.0f, 1.0f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 1.0f, 1.0f), vec4(1.0f, 0.0f, 1.0f, 1.0f), vec4(0.0f, 1.0f, 1.0f, 1.0f), vec4(1.0f));
-        int v_2 = tint_f32_to_i32(x_168);
-        vec4 x_181 = indexable_3[tint_mod_i32((((v_2 * tint_f32_to_i32(x_172)) + (x_175 * 9)) + 11), 16)];
-        res = x_181;
-      }
-      {
-        int x_182 = i;
-        i = (x_182 + 1);
-      }
-      continue;
-    }
-  }
-  vec4 x_184 = res;
-  return x_184;
-}
-void main_1() {
-  vec2 lin = vec2(0.0f);
-  vec2 param_2 = vec2(0.0f);
-  vec4 x_105 = tint_symbol;
-  vec2 x_108 = v.tint_symbol_3.resolution;
-  lin = (vec2(x_105[0u], x_105[1u]) / x_108);
-  vec2 x_110 = lin;
-  lin = floor((x_110 * 32.0f));
-  vec2 x_113 = lin;
-  param_2 = x_113;
-  vec4 x_114 = match_vf2_(param_2);
-  x_GLF_color = x_114;
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:48: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:48: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:48: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-double-branch-to-same-block/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-double-branch-to-same-block/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index dcb631d..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-double-branch-to-same-block/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,298 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 injectionSwitch;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-int data[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-int temp[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 tint_symbol = vec4(0.0f);
-vec4 x_GLF_color = vec4(0.0f);
-bool continue_execution = true;
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-void merge_i1_i1_i1_(inout int f, inout int mid, inout int to) {
-  int k = 0;
-  int i = 0;
-  int j = 0;
-  int i_1 = 0;
-  k = f;
-  i = f;
-  j = (mid + 1);
-  {
-    while(true) {
-      if (((i <= mid) & (j <= to))) {
-      } else {
-        break;
-      }
-      if ((data[i] < data[j])) {
-        int x_280 = k;
-        k = (k + 1);
-        int x_282 = i;
-        i = (i + 1);
-        temp[x_280] = data[x_282];
-      } else {
-        int x_287 = k;
-        k = (k + 1);
-        int x_289 = j;
-        j = (j + 1);
-        temp[x_287] = data[x_289];
-      }
-      {
-      }
-      continue;
-    }
-  }
-  {
-    while(true) {
-      if (((i < 10) & (i <= mid))) {
-      } else {
-        break;
-      }
-      int x_305 = k;
-      k = (k + 1);
-      int x_307 = i;
-      i = (i + 1);
-      temp[x_305] = data[x_307];
-      {
-      }
-      continue;
-    }
-  }
-  i_1 = f;
-  {
-    while(true) {
-      if ((i_1 <= to)) {
-      } else {
-        break;
-      }
-      int x_321 = i_1;
-      data[x_321] = temp[i_1];
-      {
-        i_1 = (i_1 + 1);
-      }
-      continue;
-    }
-  }
-}
-void mergeSort_() {
-  int low = 0;
-  int high = 0;
-  int m = 0;
-  int i_2 = 0;
-  int f_1 = 0;
-  int mid_1 = 0;
-  int to_1 = 0;
-  int param = 0;
-  int param_1 = 0;
-  int param_2 = 0;
-  low = 0;
-  high = 9;
-  m = 1;
-  {
-    while(true) {
-      if ((m <= high)) {
-      } else {
-        break;
-      }
-      i_2 = low;
-      {
-        while(true) {
-          if ((i_2 < high)) {
-          } else {
-            break;
-          }
-          f_1 = i_2;
-          mid_1 = ((i_2 + m) - 1);
-          to_1 = min(((i_2 + (2 * m)) - 1), high);
-          param = f_1;
-          param_1 = mid_1;
-          param_2 = to_1;
-          merge_i1_i1_i1_(param, param_1, param_2);
-          {
-            i_2 = (i_2 + (2 * m));
-          }
-          continue;
-        }
-      }
-      {
-        m = (2 * m);
-      }
-      continue;
-    }
-  }
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  int i_3 = 0;
-  int j_1 = 0;
-  float grey = 0.0f;
-  i_3 = tint_f32_to_i32(v.tint_symbol_3.injectionSwitch.x);
-  {
-    while(true) {
-      int x_93 = i_3;
-      switch(x_93) {
-        case 9:
-        {
-          int x_123 = i_3;
-          data[x_123] = -5;
-          break;
-        }
-        case 8:
-        {
-          int x_121 = i_3;
-          data[x_121] = -4;
-          break;
-        }
-        case 7:
-        {
-          int x_119 = i_3;
-          data[x_119] = -3;
-          break;
-        }
-        case 6:
-        {
-          int x_117 = i_3;
-          data[x_117] = -2;
-          break;
-        }
-        case 5:
-        {
-          int x_115 = i_3;
-          data[x_115] = -1;
-          break;
-        }
-        case 4:
-        {
-          int x_113 = i_3;
-          data[x_113] = 0;
-          break;
-        }
-        case 3:
-        {
-          int x_111 = i_3;
-          data[x_111] = 1;
-          break;
-        }
-        case 2:
-        {
-          int x_109 = i_3;
-          data[x_109] = 2;
-          break;
-        }
-        case 1:
-        {
-          int x_107 = i_3;
-          data[x_107] = 3;
-          break;
-        }
-        case 0:
-        {
-          int x_105 = i_3;
-          data[x_105] = 4;
-          break;
-        }
-        default:
-        {
-          break;
-        }
-      }
-      i_3 = (i_3 + 1);
-      {
-        int x_127 = i_3;
-        if (!((x_127 < 10))) { break; }
-      }
-      continue;
-    }
-  }
-  j_1 = 0;
-  {
-    while(true) {
-      if ((j_1 < 10)) {
-      } else {
-        break;
-      }
-      int x_136 = j_1;
-      temp[x_136] = data[j_1];
-      {
-        j_1 = (j_1 + 1);
-      }
-      continue;
-    }
-  }
-  mergeSort_();
-  if ((tint_f32_to_i32(tint_symbol.y) < 30)) {
-    grey = (0.5f + (float(data[0]) / 10.0f));
-  } else {
-    if ((tint_f32_to_i32(tint_symbol.y) < 60)) {
-      grey = (0.5f + (float(data[1]) / 10.0f));
-    } else {
-      if ((tint_f32_to_i32(tint_symbol.y) < 90)) {
-        grey = (0.5f + (float(data[2]) / 10.0f));
-      } else {
-        if ((tint_f32_to_i32(tint_symbol.y) < 120)) {
-          grey = (0.5f + (float(data[3]) / 10.0f));
-        } else {
-          if ((tint_f32_to_i32(tint_symbol.y) < 150)) {
-            continue_execution = false;
-          } else {
-            if ((tint_f32_to_i32(tint_symbol.y) < 180)) {
-              grey = (0.5f + (float(data[5]) / 10.0f));
-            } else {
-              if ((tint_f32_to_i32(tint_symbol.y) < 210)) {
-                grey = (0.5f + (float(data[6]) / 10.0f));
-              } else {
-                if ((tint_f32_to_i32(tint_symbol.y) < 240)) {
-                  grey = (0.5f + (float(data[7]) / 10.0f));
-                } else {
-                  if ((tint_f32_to_i32(tint_symbol.y) < 270)) {
-                    grey = (0.5f + (float(data[8]) / 10.0f));
-                  } else {
-                    continue_execution = false;
-                  }
-                }
-              }
-            }
-          }
-        }
-      }
-    }
-  }
-  vec3 x_248 = vec3(grey);
-  x_GLF_color = vec4(x_248[0u], x_248[1u], x_248[2u], 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out v_1 = main_out(x_GLF_color);
-  if (!(continue_execution)) {
-    discard;
-  }
-  return v_1;
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:34: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:34: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-double-branch-to-same-block/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-double-branch-to-same-block/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index 6a3334e..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-double-branch-to-same-block/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,362 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 injectionSwitch;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-int data[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-int temp[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 tint_symbol = vec4(0.0f);
-vec4 x_GLF_color = vec4(0.0f);
-bool continue_execution = true;
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-void merge_i1_i1_i1_(inout int f, inout int mid, inout int to) {
-  int k = 0;
-  int i = 0;
-  int j = 0;
-  int i_1 = 0;
-  int x_254 = f;
-  k = x_254;
-  int x_255 = f;
-  i = x_255;
-  int x_256 = mid;
-  j = (x_256 + 1);
-  {
-    while(true) {
-      int x_262 = i;
-      int x_263 = mid;
-      int x_265 = j;
-      int x_266 = to;
-      if (((x_262 <= x_263) & (x_265 <= x_266))) {
-      } else {
-        break;
-      }
-      int x_270 = i;
-      int x_272 = data[x_270];
-      int x_273 = j;
-      int x_275 = data[x_273];
-      if ((x_272 < x_275)) {
-        int x_280 = k;
-        k = (x_280 + 1);
-        int x_282 = i;
-        i = (x_282 + 1);
-        int x_285 = data[x_282];
-        temp[x_280] = x_285;
-      } else {
-        int x_287 = k;
-        k = (x_287 + 1);
-        int x_289 = j;
-        j = (x_289 + 1);
-        int x_292 = data[x_289];
-        temp[x_287] = x_292;
-      }
-      {
-      }
-      continue;
-    }
-  }
-  {
-    while(true) {
-      int x_298 = i;
-      int x_300 = i;
-      int x_301 = mid;
-      if (((x_298 < 10) & (x_300 <= x_301))) {
-      } else {
-        break;
-      }
-      int x_305 = k;
-      k = (x_305 + 1);
-      int x_307 = i;
-      i = (x_307 + 1);
-      int x_310 = data[x_307];
-      temp[x_305] = x_310;
-      {
-      }
-      continue;
-    }
-  }
-  int x_312 = f;
-  i_1 = x_312;
-  {
-    while(true) {
-      int x_317 = i_1;
-      int x_318 = to;
-      if ((x_317 <= x_318)) {
-      } else {
-        break;
-      }
-      int x_321 = i_1;
-      int x_322 = i_1;
-      int x_324 = temp[x_322];
-      data[x_321] = x_324;
-      {
-        int x_326 = i_1;
-        i_1 = (x_326 + 1);
-      }
-      continue;
-    }
-  }
-}
-void mergeSort_() {
-  int low = 0;
-  int high = 0;
-  int m = 0;
-  int i_2 = 0;
-  int f_1 = 0;
-  int mid_1 = 0;
-  int to_1 = 0;
-  int param = 0;
-  int param_1 = 0;
-  int param_2 = 0;
-  low = 0;
-  high = 9;
-  m = 1;
-  {
-    while(true) {
-      int x_333 = m;
-      int x_334 = high;
-      if ((x_333 <= x_334)) {
-      } else {
-        break;
-      }
-      int x_337 = low;
-      i_2 = x_337;
-      {
-        while(true) {
-          int x_342 = i_2;
-          int x_343 = high;
-          if ((x_342 < x_343)) {
-          } else {
-            break;
-          }
-          int x_346 = i_2;
-          f_1 = x_346;
-          int x_347 = i_2;
-          int x_348 = m;
-          mid_1 = ((x_347 + x_348) - 1);
-          int x_351 = i_2;
-          int x_352 = m;
-          int x_356 = high;
-          to_1 = min(((x_351 + (2 * x_352)) - 1), x_356);
-          int x_358 = f_1;
-          param = x_358;
-          int x_359 = mid_1;
-          param_1 = x_359;
-          int x_360 = to_1;
-          param_2 = x_360;
-          merge_i1_i1_i1_(param, param_1, param_2);
-          {
-            int x_362 = m;
-            int x_364 = i_2;
-            i_2 = (x_364 + (2 * x_362));
-          }
-          continue;
-        }
-      }
-      {
-        int x_366 = m;
-        m = (2 * x_366);
-      }
-      continue;
-    }
-  }
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  int i_3 = 0;
-  int j_1 = 0;
-  float grey = 0.0f;
-  float x_87 = v.tint_symbol_3.injectionSwitch.x;
-  i_3 = tint_f32_to_i32(x_87);
-  {
-    while(true) {
-      int x_93 = i_3;
-      switch(x_93) {
-        case 9:
-        {
-          int x_123 = i_3;
-          data[x_123] = -5;
-          break;
-        }
-        case 8:
-        {
-          int x_121 = i_3;
-          data[x_121] = -4;
-          break;
-        }
-        case 7:
-        {
-          int x_119 = i_3;
-          data[x_119] = -3;
-          break;
-        }
-        case 6:
-        {
-          int x_117 = i_3;
-          data[x_117] = -2;
-          break;
-        }
-        case 5:
-        {
-          int x_115 = i_3;
-          data[x_115] = -1;
-          break;
-        }
-        case 4:
-        {
-          int x_113 = i_3;
-          data[x_113] = 0;
-          break;
-        }
-        case 3:
-        {
-          int x_111 = i_3;
-          data[x_111] = 1;
-          break;
-        }
-        case 2:
-        {
-          int x_109 = i_3;
-          data[x_109] = 2;
-          break;
-        }
-        case 1:
-        {
-          int x_107 = i_3;
-          data[x_107] = 3;
-          break;
-        }
-        case 0:
-        {
-          int x_105 = i_3;
-          data[x_105] = 4;
-          break;
-        }
-        default:
-        {
-          break;
-        }
-      }
-      int x_125 = i_3;
-      i_3 = (x_125 + 1);
-      {
-        int x_127 = i_3;
-        if (!((x_127 < 10))) { break; }
-      }
-      continue;
-    }
-  }
-  j_1 = 0;
-  {
-    while(true) {
-      int x_133 = j_1;
-      if ((x_133 < 10)) {
-      } else {
-        break;
-      }
-      int x_136 = j_1;
-      int x_137 = j_1;
-      int x_139 = data[x_137];
-      temp[x_136] = x_139;
-      {
-        int x_141 = j_1;
-        j_1 = (x_141 + 1);
-      }
-      continue;
-    }
-  }
-  mergeSort_();
-  float x_145 = tint_symbol.y;
-  if ((tint_f32_to_i32(x_145) < 30)) {
-    int x_152 = data[0];
-    grey = (0.5f + (float(x_152) / 10.0f));
-  } else {
-    float x_157 = tint_symbol.y;
-    if ((tint_f32_to_i32(x_157) < 60)) {
-      int x_164 = data[1];
-      grey = (0.5f + (float(x_164) / 10.0f));
-    } else {
-      float x_169 = tint_symbol.y;
-      if ((tint_f32_to_i32(x_169) < 90)) {
-        int x_176 = data[2];
-        grey = (0.5f + (float(x_176) / 10.0f));
-      } else {
-        float x_181 = tint_symbol.y;
-        if ((tint_f32_to_i32(x_181) < 120)) {
-          int x_188 = data[3];
-          grey = (0.5f + (float(x_188) / 10.0f));
-        } else {
-          float x_193 = tint_symbol.y;
-          if ((tint_f32_to_i32(x_193) < 150)) {
-            continue_execution = false;
-          } else {
-            float x_200 = tint_symbol.y;
-            if ((tint_f32_to_i32(x_200) < 180)) {
-              int x_207 = data[5];
-              grey = (0.5f + (float(x_207) / 10.0f));
-            } else {
-              float x_212 = tint_symbol.y;
-              if ((tint_f32_to_i32(x_212) < 210)) {
-                int x_219 = data[6];
-                grey = (0.5f + (float(x_219) / 10.0f));
-              } else {
-                float x_224 = tint_symbol.y;
-                if ((tint_f32_to_i32(x_224) < 240)) {
-                  int x_231 = data[7];
-                  grey = (0.5f + (float(x_231) / 10.0f));
-                } else {
-                  float x_236 = tint_symbol.y;
-                  if ((tint_f32_to_i32(x_236) < 270)) {
-                    int x_243 = data[8];
-                    grey = (0.5f + (float(x_243) / 10.0f));
-                  } else {
-                    continue_execution = false;
-                  }
-                }
-              }
-            }
-          }
-        }
-      }
-    }
-  }
-  float x_247 = grey;
-  vec3 x_248 = vec3(x_247, x_247, x_247);
-  x_GLF_color = vec4(x_248[0u], x_248[1u], x_248[2u], 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out v_1 = main_out(x_GLF_color);
-  if (!(continue_execution)) {
-    discard;
-  }
-  return v_1;
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:41: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:41: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-double-branch-to-same-block/1.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-double-branch-to-same-block/1.spvasm.expected.ir.glsl
deleted file mode 100644
index 3f5a62d..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-double-branch-to-same-block/1.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,311 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 injectionSwitch;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-int data[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-int temp[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 tint_symbol = vec4(0.0f);
-vec4 x_GLF_color = vec4(0.0f);
-bool continue_execution = true;
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-void merge_i1_i1_i1_(inout int f, inout int mid, inout int to) {
-  int k = 0;
-  int i = 0;
-  int j = 0;
-  int i_1 = 0;
-  k = f;
-  i = f;
-  j = (mid + 1);
-  {
-    while(true) {
-      if (((i <= mid) & (j <= to))) {
-      } else {
-        break;
-      }
-      if ((data[i] < data[j])) {
-        int x_281 = k;
-        k = (k + 1);
-        int x_283 = i;
-        i = (i + 1);
-        temp[x_281] = data[x_283];
-      } else {
-        int x_288 = k;
-        k = (k + 1);
-        int x_290 = j;
-        j = (j + 1);
-        temp[x_288] = data[x_290];
-      }
-      {
-      }
-      continue;
-    }
-  }
-  {
-    while(true) {
-      if (((i < 10) & (i <= mid))) {
-      } else {
-        break;
-      }
-      int x_306 = k;
-      k = (k + 1);
-      int x_308 = i;
-      i = (i + 1);
-      temp[x_306] = data[x_308];
-      {
-      }
-      continue;
-    }
-  }
-  i_1 = f;
-  {
-    while(true) {
-      if ((i_1 <= to)) {
-      } else {
-        break;
-      }
-      int x_322 = i_1;
-      data[x_322] = temp[i_1];
-      {
-        i_1 = (i_1 + 1);
-      }
-      continue;
-    }
-  }
-}
-void mergeSort_() {
-  int low = 0;
-  int high = 0;
-  int m = 0;
-  int i_2 = 0;
-  int f_1 = 0;
-  int mid_1 = 0;
-  int to_1 = 0;
-  int param = 0;
-  int param_1 = 0;
-  int param_2 = 0;
-  low = 0;
-  high = 9;
-  m = 1;
-  {
-    while(true) {
-      if ((m <= high)) {
-      } else {
-        break;
-      }
-      i_2 = low;
-      {
-        while(true) {
-          if ((i_2 < high)) {
-          } else {
-            break;
-          }
-          f_1 = i_2;
-          mid_1 = ((i_2 + m) - 1);
-          to_1 = min(((i_2 + (2 * m)) - 1), high);
-          param = f_1;
-          param_1 = mid_1;
-          param_2 = to_1;
-          merge_i1_i1_i1_(param, param_1, param_2);
-          {
-            i_2 = (i_2 + (2 * m));
-          }
-          continue;
-        }
-      }
-      {
-        m = (2 * m);
-      }
-      continue;
-    }
-  }
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  int i_3 = 0;
-  int j_1 = 0;
-  float grey = 0.0f;
-  i_3 = tint_f32_to_i32(v.tint_symbol_3.injectionSwitch.x);
-  {
-    while(true) {
-      int x_94 = i_3;
-      bool tint_continue = false;
-      switch(x_94) {
-        case 9:
-        {
-          int x_124 = i_3;
-          data[x_124] = -5;
-          if (true) {
-          } else {
-            tint_continue = true;
-            break;
-          }
-          break;
-        }
-        case 8:
-        {
-          int x_122 = i_3;
-          data[x_122] = -4;
-          break;
-        }
-        case 7:
-        {
-          int x_120 = i_3;
-          data[x_120] = -3;
-          break;
-        }
-        case 6:
-        {
-          int x_118 = i_3;
-          data[x_118] = -2;
-          break;
-        }
-        case 5:
-        {
-          int x_116 = i_3;
-          data[x_116] = -1;
-          break;
-        }
-        case 4:
-        {
-          int x_114 = i_3;
-          data[x_114] = 0;
-          break;
-        }
-        case 3:
-        {
-          int x_112 = i_3;
-          data[x_112] = 1;
-          break;
-        }
-        case 2:
-        {
-          int x_110 = i_3;
-          data[x_110] = 2;
-          break;
-        }
-        case 1:
-        {
-          int x_108 = i_3;
-          data[x_108] = 3;
-          break;
-        }
-        case 0:
-        {
-          int x_106 = i_3;
-          data[x_106] = 4;
-          break;
-        }
-        default:
-        {
-          break;
-        }
-      }
-      if (tint_continue) {
-        {
-          int x_128 = i_3;
-          if (!((x_128 < 10))) { break; }
-        }
-        continue;
-      }
-      i_3 = (i_3 + 1);
-      {
-        int x_128 = i_3;
-        if (!((x_128 < 10))) { break; }
-      }
-      continue;
-    }
-  }
-  j_1 = 0;
-  {
-    while(true) {
-      if ((j_1 < 10)) {
-      } else {
-        break;
-      }
-      int x_137 = j_1;
-      temp[x_137] = data[j_1];
-      {
-        j_1 = (j_1 + 1);
-      }
-      continue;
-    }
-  }
-  mergeSort_();
-  if ((tint_f32_to_i32(tint_symbol.y) < 30)) {
-    grey = (0.5f + (float(data[0]) / 10.0f));
-  } else {
-    if ((tint_f32_to_i32(tint_symbol.y) < 60)) {
-      grey = (0.5f + (float(data[1]) / 10.0f));
-    } else {
-      if ((tint_f32_to_i32(tint_symbol.y) < 90)) {
-        grey = (0.5f + (float(data[2]) / 10.0f));
-      } else {
-        if ((tint_f32_to_i32(tint_symbol.y) < 120)) {
-          grey = (0.5f + (float(data[3]) / 10.0f));
-        } else {
-          if ((tint_f32_to_i32(tint_symbol.y) < 150)) {
-            continue_execution = false;
-          } else {
-            if ((tint_f32_to_i32(tint_symbol.y) < 180)) {
-              grey = (0.5f + (float(data[5]) / 10.0f));
-            } else {
-              if ((tint_f32_to_i32(tint_symbol.y) < 210)) {
-                grey = (0.5f + (float(data[6]) / 10.0f));
-              } else {
-                if ((tint_f32_to_i32(tint_symbol.y) < 240)) {
-                  grey = (0.5f + (float(data[7]) / 10.0f));
-                } else {
-                  if ((tint_f32_to_i32(tint_symbol.y) < 270)) {
-                    grey = (0.5f + (float(data[8]) / 10.0f));
-                  } else {
-                    continue_execution = false;
-                  }
-                }
-              }
-            }
-          }
-        }
-      }
-    }
-  }
-  vec3 x_249 = vec3(grey);
-  x_GLF_color = vec4(x_249[0u], x_249[1u], x_249[2u], 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out v_1 = main_out(x_GLF_color);
-  if (!(continue_execution)) {
-    discard;
-  }
-  return v_1;
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:34: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:34: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-double-branch-to-same-block/1.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-double-branch-to-same-block/1.wgsl.expected.ir.glsl
deleted file mode 100644
index c2a0643..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-double-branch-to-same-block/1.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,375 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 injectionSwitch;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-int data[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-int temp[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 tint_symbol = vec4(0.0f);
-vec4 x_GLF_color = vec4(0.0f);
-bool continue_execution = true;
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-void merge_i1_i1_i1_(inout int f, inout int mid, inout int to) {
-  int k = 0;
-  int i = 0;
-  int j = 0;
-  int i_1 = 0;
-  int x_255 = f;
-  k = x_255;
-  int x_256 = f;
-  i = x_256;
-  int x_257 = mid;
-  j = (x_257 + 1);
-  {
-    while(true) {
-      int x_263 = i;
-      int x_264 = mid;
-      int x_266 = j;
-      int x_267 = to;
-      if (((x_263 <= x_264) & (x_266 <= x_267))) {
-      } else {
-        break;
-      }
-      int x_271 = i;
-      int x_273 = data[x_271];
-      int x_274 = j;
-      int x_276 = data[x_274];
-      if ((x_273 < x_276)) {
-        int x_281 = k;
-        k = (x_281 + 1);
-        int x_283 = i;
-        i = (x_283 + 1);
-        int x_286 = data[x_283];
-        temp[x_281] = x_286;
-      } else {
-        int x_288 = k;
-        k = (x_288 + 1);
-        int x_290 = j;
-        j = (x_290 + 1);
-        int x_293 = data[x_290];
-        temp[x_288] = x_293;
-      }
-      {
-      }
-      continue;
-    }
-  }
-  {
-    while(true) {
-      int x_299 = i;
-      int x_301 = i;
-      int x_302 = mid;
-      if (((x_299 < 10) & (x_301 <= x_302))) {
-      } else {
-        break;
-      }
-      int x_306 = k;
-      k = (x_306 + 1);
-      int x_308 = i;
-      i = (x_308 + 1);
-      int x_311 = data[x_308];
-      temp[x_306] = x_311;
-      {
-      }
-      continue;
-    }
-  }
-  int x_313 = f;
-  i_1 = x_313;
-  {
-    while(true) {
-      int x_318 = i_1;
-      int x_319 = to;
-      if ((x_318 <= x_319)) {
-      } else {
-        break;
-      }
-      int x_322 = i_1;
-      int x_323 = i_1;
-      int x_325 = temp[x_323];
-      data[x_322] = x_325;
-      {
-        int x_327 = i_1;
-        i_1 = (x_327 + 1);
-      }
-      continue;
-    }
-  }
-}
-void mergeSort_() {
-  int low = 0;
-  int high = 0;
-  int m = 0;
-  int i_2 = 0;
-  int f_1 = 0;
-  int mid_1 = 0;
-  int to_1 = 0;
-  int param = 0;
-  int param_1 = 0;
-  int param_2 = 0;
-  low = 0;
-  high = 9;
-  m = 1;
-  {
-    while(true) {
-      int x_334 = m;
-      int x_335 = high;
-      if ((x_334 <= x_335)) {
-      } else {
-        break;
-      }
-      int x_338 = low;
-      i_2 = x_338;
-      {
-        while(true) {
-          int x_343 = i_2;
-          int x_344 = high;
-          if ((x_343 < x_344)) {
-          } else {
-            break;
-          }
-          int x_347 = i_2;
-          f_1 = x_347;
-          int x_348 = i_2;
-          int x_349 = m;
-          mid_1 = ((x_348 + x_349) - 1);
-          int x_352 = i_2;
-          int x_353 = m;
-          int x_357 = high;
-          to_1 = min(((x_352 + (2 * x_353)) - 1), x_357);
-          int x_359 = f_1;
-          param = x_359;
-          int x_360 = mid_1;
-          param_1 = x_360;
-          int x_361 = to_1;
-          param_2 = x_361;
-          merge_i1_i1_i1_(param, param_1, param_2);
-          {
-            int x_363 = m;
-            int x_365 = i_2;
-            i_2 = (x_365 + (2 * x_363));
-          }
-          continue;
-        }
-      }
-      {
-        int x_367 = m;
-        m = (2 * x_367);
-      }
-      continue;
-    }
-  }
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  int i_3 = 0;
-  int j_1 = 0;
-  float grey = 0.0f;
-  float x_88 = v.tint_symbol_3.injectionSwitch.x;
-  i_3 = tint_f32_to_i32(x_88);
-  {
-    while(true) {
-      int x_94 = i_3;
-      bool tint_continue = false;
-      switch(x_94) {
-        case 9:
-        {
-          int x_124 = i_3;
-          data[x_124] = -5;
-          if (true) {
-          } else {
-            tint_continue = true;
-            break;
-          }
-          break;
-        }
-        case 8:
-        {
-          int x_122 = i_3;
-          data[x_122] = -4;
-          break;
-        }
-        case 7:
-        {
-          int x_120 = i_3;
-          data[x_120] = -3;
-          break;
-        }
-        case 6:
-        {
-          int x_118 = i_3;
-          data[x_118] = -2;
-          break;
-        }
-        case 5:
-        {
-          int x_116 = i_3;
-          data[x_116] = -1;
-          break;
-        }
-        case 4:
-        {
-          int x_114 = i_3;
-          data[x_114] = 0;
-          break;
-        }
-        case 3:
-        {
-          int x_112 = i_3;
-          data[x_112] = 1;
-          break;
-        }
-        case 2:
-        {
-          int x_110 = i_3;
-          data[x_110] = 2;
-          break;
-        }
-        case 1:
-        {
-          int x_108 = i_3;
-          data[x_108] = 3;
-          break;
-        }
-        case 0:
-        {
-          int x_106 = i_3;
-          data[x_106] = 4;
-          break;
-        }
-        default:
-        {
-          break;
-        }
-      }
-      if (tint_continue) {
-        {
-          int x_128 = i_3;
-          if (!((x_128 < 10))) { break; }
-        }
-        continue;
-      }
-      int x_126 = i_3;
-      i_3 = (x_126 + 1);
-      {
-        int x_128 = i_3;
-        if (!((x_128 < 10))) { break; }
-      }
-      continue;
-    }
-  }
-  j_1 = 0;
-  {
-    while(true) {
-      int x_134 = j_1;
-      if ((x_134 < 10)) {
-      } else {
-        break;
-      }
-      int x_137 = j_1;
-      int x_138 = j_1;
-      int x_140 = data[x_138];
-      temp[x_137] = x_140;
-      {
-        int x_142 = j_1;
-        j_1 = (x_142 + 1);
-      }
-      continue;
-    }
-  }
-  mergeSort_();
-  float x_146 = tint_symbol.y;
-  if ((tint_f32_to_i32(x_146) < 30)) {
-    int x_153 = data[0];
-    grey = (0.5f + (float(x_153) / 10.0f));
-  } else {
-    float x_158 = tint_symbol.y;
-    if ((tint_f32_to_i32(x_158) < 60)) {
-      int x_165 = data[1];
-      grey = (0.5f + (float(x_165) / 10.0f));
-    } else {
-      float x_170 = tint_symbol.y;
-      if ((tint_f32_to_i32(x_170) < 90)) {
-        int x_177 = data[2];
-        grey = (0.5f + (float(x_177) / 10.0f));
-      } else {
-        float x_182 = tint_symbol.y;
-        if ((tint_f32_to_i32(x_182) < 120)) {
-          int x_189 = data[3];
-          grey = (0.5f + (float(x_189) / 10.0f));
-        } else {
-          float x_194 = tint_symbol.y;
-          if ((tint_f32_to_i32(x_194) < 150)) {
-            continue_execution = false;
-          } else {
-            float x_201 = tint_symbol.y;
-            if ((tint_f32_to_i32(x_201) < 180)) {
-              int x_208 = data[5];
-              grey = (0.5f + (float(x_208) / 10.0f));
-            } else {
-              float x_213 = tint_symbol.y;
-              if ((tint_f32_to_i32(x_213) < 210)) {
-                int x_220 = data[6];
-                grey = (0.5f + (float(x_220) / 10.0f));
-              } else {
-                float x_225 = tint_symbol.y;
-                if ((tint_f32_to_i32(x_225) < 240)) {
-                  int x_232 = data[7];
-                  grey = (0.5f + (float(x_232) / 10.0f));
-                } else {
-                  float x_237 = tint_symbol.y;
-                  if ((tint_f32_to_i32(x_237) < 270)) {
-                    int x_244 = data[8];
-                    grey = (0.5f + (float(x_244) / 10.0f));
-                  } else {
-                    continue_execution = false;
-                  }
-                }
-              }
-            }
-          }
-        }
-      }
-    }
-  }
-  float x_248 = grey;
-  vec3 x_249 = vec3(x_248, x_248, x_248);
-  x_GLF_color = vec4(x_249[0u], x_249[1u], x_249[2u], 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out v_1 = main_out(x_GLF_color);
-  if (!(continue_execution)) {
-    discard;
-  }
-  return v_1;
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:41: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:41: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-double-branch-to-same-block3/1.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-double-branch-to-same-block3/1.spvasm.expected.ir.glsl
deleted file mode 100644
index 6e24368..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-double-branch-to-same-block3/1.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,304 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 injectionSwitch;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-int data[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-int temp[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 tint_symbol = vec4(0.0f);
-vec4 x_GLF_color = vec4(0.0f);
-bool continue_execution = true;
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-void merge_i1_i1_i1_(inout int f, inout int mid, inout int to) {
-  int k = 0;
-  int i = 0;
-  int j = 0;
-  int i_1 = 0;
-  k = f;
-  i = f;
-  j = (mid + 1);
-  {
-    while(true) {
-      if (((i <= mid) & (j <= to))) {
-      } else {
-        break;
-      }
-      if ((data[i] < data[j])) {
-        int x_282 = k;
-        k = (k + 1);
-        int x_284 = i;
-        i = (i + 1);
-        temp[x_282] = data[x_284];
-      } else {
-        int x_289 = k;
-        k = (k + 1);
-        int x_291 = j;
-        j = (j + 1);
-        temp[x_289] = data[x_291];
-      }
-      {
-      }
-      continue;
-    }
-  }
-  {
-    while(true) {
-      if (true) {
-      } else {
-        {
-        }
-        continue;
-      }
-      if (((i < 10) & (i <= mid))) {
-      } else {
-        break;
-      }
-      int x_309 = k;
-      k = (k + 1);
-      int x_311 = i;
-      i = (i + 1);
-      temp[x_309] = data[x_311];
-      {
-      }
-      continue;
-    }
-  }
-  i_1 = f;
-  {
-    while(true) {
-      if ((i_1 <= to)) {
-      } else {
-        break;
-      }
-      int x_325 = i_1;
-      data[x_325] = temp[i_1];
-      {
-        i_1 = (i_1 + 1);
-      }
-      continue;
-    }
-  }
-}
-void mergeSort_() {
-  int low = 0;
-  int high = 0;
-  int m = 0;
-  int i_2 = 0;
-  int f_1 = 0;
-  int mid_1 = 0;
-  int to_1 = 0;
-  int param = 0;
-  int param_1 = 0;
-  int param_2 = 0;
-  low = 0;
-  high = 9;
-  m = 1;
-  {
-    while(true) {
-      if ((m <= high)) {
-      } else {
-        break;
-      }
-      i_2 = low;
-      {
-        while(true) {
-          if ((i_2 < high)) {
-          } else {
-            break;
-          }
-          f_1 = i_2;
-          mid_1 = ((i_2 + m) - 1);
-          to_1 = min(((i_2 + (2 * m)) - 1), high);
-          param = f_1;
-          param_1 = mid_1;
-          param_2 = to_1;
-          merge_i1_i1_i1_(param, param_1, param_2);
-          {
-            i_2 = (i_2 + (2 * m));
-          }
-          continue;
-        }
-      }
-      {
-        m = (2 * m);
-      }
-      continue;
-    }
-  }
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  int i_3 = 0;
-  int j_1 = 0;
-  float grey = 0.0f;
-  i_3 = tint_f32_to_i32(v.tint_symbol_3.injectionSwitch.x);
-  {
-    while(true) {
-      int x_95 = i_3;
-      switch(x_95) {
-        case 9:
-        {
-          int x_125 = i_3;
-          data[x_125] = -5;
-          break;
-        }
-        case 8:
-        {
-          int x_123 = i_3;
-          data[x_123] = -4;
-          break;
-        }
-        case 7:
-        {
-          int x_121 = i_3;
-          data[x_121] = -3;
-          break;
-        }
-        case 6:
-        {
-          int x_119 = i_3;
-          data[x_119] = -2;
-          break;
-        }
-        case 5:
-        {
-          int x_117 = i_3;
-          data[x_117] = -1;
-          break;
-        }
-        case 4:
-        {
-          int x_115 = i_3;
-          data[x_115] = 0;
-          break;
-        }
-        case 3:
-        {
-          int x_113 = i_3;
-          data[x_113] = 1;
-          break;
-        }
-        case 2:
-        {
-          int x_111 = i_3;
-          data[x_111] = 2;
-          break;
-        }
-        case 1:
-        {
-          int x_109 = i_3;
-          data[x_109] = 3;
-          break;
-        }
-        case 0:
-        {
-          int x_107 = i_3;
-          data[x_107] = 4;
-          break;
-        }
-        default:
-        {
-          break;
-        }
-      }
-      i_3 = (i_3 + 1);
-      {
-        int x_129 = i_3;
-        if (!((x_129 < 10))) { break; }
-      }
-      continue;
-    }
-  }
-  j_1 = 0;
-  {
-    while(true) {
-      if ((j_1 < 10)) {
-      } else {
-        break;
-      }
-      int x_138 = j_1;
-      temp[x_138] = data[j_1];
-      {
-        j_1 = (j_1 + 1);
-      }
-      continue;
-    }
-  }
-  mergeSort_();
-  if ((tint_f32_to_i32(tint_symbol.y) < 30)) {
-    grey = (0.5f + (float(data[0]) / 10.0f));
-  } else {
-    if ((tint_f32_to_i32(tint_symbol.y) < 60)) {
-      grey = (0.5f + (float(data[1]) / 10.0f));
-    } else {
-      if ((tint_f32_to_i32(tint_symbol.y) < 90)) {
-        grey = (0.5f + (float(data[2]) / 10.0f));
-      } else {
-        if ((tint_f32_to_i32(tint_symbol.y) < 120)) {
-          grey = (0.5f + (float(data[3]) / 10.0f));
-        } else {
-          if ((tint_f32_to_i32(tint_symbol.y) < 150)) {
-            continue_execution = false;
-          } else {
-            if ((tint_f32_to_i32(tint_symbol.y) < 180)) {
-              grey = (0.5f + (float(data[5]) / 10.0f));
-            } else {
-              if ((tint_f32_to_i32(tint_symbol.y) < 210)) {
-                grey = (0.5f + (float(data[6]) / 10.0f));
-              } else {
-                if ((tint_f32_to_i32(tint_symbol.y) < 240)) {
-                  grey = (0.5f + (float(data[7]) / 10.0f));
-                } else {
-                  if ((tint_f32_to_i32(tint_symbol.y) < 270)) {
-                    grey = (0.5f + (float(data[8]) / 10.0f));
-                  } else {
-                    continue_execution = false;
-                  }
-                }
-              }
-            }
-          }
-        }
-      }
-    }
-  }
-  vec3 x_250 = vec3(grey);
-  x_GLF_color = vec4(x_250[0u], x_250[1u], x_250[2u], 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out v_1 = main_out(x_GLF_color);
-  if (!(continue_execution)) {
-    discard;
-  }
-  return v_1;
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:34: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:34: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-double-branch-to-same-block3/1.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-double-branch-to-same-block3/1.wgsl.expected.ir.glsl
deleted file mode 100644
index a9f19c8..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-double-branch-to-same-block3/1.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,368 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 injectionSwitch;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-int data[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-int temp[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 tint_symbol = vec4(0.0f);
-vec4 x_GLF_color = vec4(0.0f);
-bool continue_execution = true;
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-void merge_i1_i1_i1_(inout int f, inout int mid, inout int to) {
-  int k = 0;
-  int i = 0;
-  int j = 0;
-  int i_1 = 0;
-  int x_256 = f;
-  k = x_256;
-  int x_257 = f;
-  i = x_257;
-  int x_258 = mid;
-  j = (x_258 + 1);
-  {
-    while(true) {
-      int x_264 = i;
-      int x_265 = mid;
-      int x_267 = j;
-      int x_268 = to;
-      if (((x_264 <= x_265) & (x_267 <= x_268))) {
-      } else {
-        break;
-      }
-      int x_272 = i;
-      int x_274 = data[x_272];
-      int x_275 = j;
-      int x_277 = data[x_275];
-      if ((x_274 < x_277)) {
-        int x_282 = k;
-        k = (x_282 + 1);
-        int x_284 = i;
-        i = (x_284 + 1);
-        int x_287 = data[x_284];
-        temp[x_282] = x_287;
-      } else {
-        int x_289 = k;
-        k = (x_289 + 1);
-        int x_291 = j;
-        j = (x_291 + 1);
-        int x_294 = data[x_291];
-        temp[x_289] = x_294;
-      }
-      {
-      }
-      continue;
-    }
-  }
-  {
-    while(true) {
-      if (true) {
-      } else {
-        {
-        }
-        continue;
-      }
-      int x_301 = i;
-      int x_303 = i;
-      int x_304 = mid;
-      if (((x_301 < 10) & (x_303 <= x_304))) {
-      } else {
-        break;
-      }
-      int x_309 = k;
-      k = (x_309 + 1);
-      int x_311 = i;
-      i = (x_311 + 1);
-      int x_314 = data[x_311];
-      temp[x_309] = x_314;
-      {
-      }
-      continue;
-    }
-  }
-  int x_316 = f;
-  i_1 = x_316;
-  {
-    while(true) {
-      int x_321 = i_1;
-      int x_322 = to;
-      if ((x_321 <= x_322)) {
-      } else {
-        break;
-      }
-      int x_325 = i_1;
-      int x_326 = i_1;
-      int x_328 = temp[x_326];
-      data[x_325] = x_328;
-      {
-        int x_330 = i_1;
-        i_1 = (x_330 + 1);
-      }
-      continue;
-    }
-  }
-}
-void mergeSort_() {
-  int low = 0;
-  int high = 0;
-  int m = 0;
-  int i_2 = 0;
-  int f_1 = 0;
-  int mid_1 = 0;
-  int to_1 = 0;
-  int param = 0;
-  int param_1 = 0;
-  int param_2 = 0;
-  low = 0;
-  high = 9;
-  m = 1;
-  {
-    while(true) {
-      int x_337 = m;
-      int x_338 = high;
-      if ((x_337 <= x_338)) {
-      } else {
-        break;
-      }
-      int x_341 = low;
-      i_2 = x_341;
-      {
-        while(true) {
-          int x_346 = i_2;
-          int x_347 = high;
-          if ((x_346 < x_347)) {
-          } else {
-            break;
-          }
-          int x_350 = i_2;
-          f_1 = x_350;
-          int x_351 = i_2;
-          int x_352 = m;
-          mid_1 = ((x_351 + x_352) - 1);
-          int x_355 = i_2;
-          int x_356 = m;
-          int x_360 = high;
-          to_1 = min(((x_355 + (2 * x_356)) - 1), x_360);
-          int x_362 = f_1;
-          param = x_362;
-          int x_363 = mid_1;
-          param_1 = x_363;
-          int x_364 = to_1;
-          param_2 = x_364;
-          merge_i1_i1_i1_(param, param_1, param_2);
-          {
-            int x_366 = m;
-            int x_368 = i_2;
-            i_2 = (x_368 + (2 * x_366));
-          }
-          continue;
-        }
-      }
-      {
-        int x_370 = m;
-        m = (2 * x_370);
-      }
-      continue;
-    }
-  }
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  int i_3 = 0;
-  int j_1 = 0;
-  float grey = 0.0f;
-  float x_89 = v.tint_symbol_3.injectionSwitch.x;
-  i_3 = tint_f32_to_i32(x_89);
-  {
-    while(true) {
-      int x_95 = i_3;
-      switch(x_95) {
-        case 9:
-        {
-          int x_125 = i_3;
-          data[x_125] = -5;
-          break;
-        }
-        case 8:
-        {
-          int x_123 = i_3;
-          data[x_123] = -4;
-          break;
-        }
-        case 7:
-        {
-          int x_121 = i_3;
-          data[x_121] = -3;
-          break;
-        }
-        case 6:
-        {
-          int x_119 = i_3;
-          data[x_119] = -2;
-          break;
-        }
-        case 5:
-        {
-          int x_117 = i_3;
-          data[x_117] = -1;
-          break;
-        }
-        case 4:
-        {
-          int x_115 = i_3;
-          data[x_115] = 0;
-          break;
-        }
-        case 3:
-        {
-          int x_113 = i_3;
-          data[x_113] = 1;
-          break;
-        }
-        case 2:
-        {
-          int x_111 = i_3;
-          data[x_111] = 2;
-          break;
-        }
-        case 1:
-        {
-          int x_109 = i_3;
-          data[x_109] = 3;
-          break;
-        }
-        case 0:
-        {
-          int x_107 = i_3;
-          data[x_107] = 4;
-          break;
-        }
-        default:
-        {
-          break;
-        }
-      }
-      int x_127 = i_3;
-      i_3 = (x_127 + 1);
-      {
-        int x_129 = i_3;
-        if (!((x_129 < 10))) { break; }
-      }
-      continue;
-    }
-  }
-  j_1 = 0;
-  {
-    while(true) {
-      int x_135 = j_1;
-      if ((x_135 < 10)) {
-      } else {
-        break;
-      }
-      int x_138 = j_1;
-      int x_139 = j_1;
-      int x_141 = data[x_139];
-      temp[x_138] = x_141;
-      {
-        int x_143 = j_1;
-        j_1 = (x_143 + 1);
-      }
-      continue;
-    }
-  }
-  mergeSort_();
-  float x_147 = tint_symbol.y;
-  if ((tint_f32_to_i32(x_147) < 30)) {
-    int x_154 = data[0];
-    grey = (0.5f + (float(x_154) / 10.0f));
-  } else {
-    float x_159 = tint_symbol.y;
-    if ((tint_f32_to_i32(x_159) < 60)) {
-      int x_166 = data[1];
-      grey = (0.5f + (float(x_166) / 10.0f));
-    } else {
-      float x_171 = tint_symbol.y;
-      if ((tint_f32_to_i32(x_171) < 90)) {
-        int x_178 = data[2];
-        grey = (0.5f + (float(x_178) / 10.0f));
-      } else {
-        float x_183 = tint_symbol.y;
-        if ((tint_f32_to_i32(x_183) < 120)) {
-          int x_190 = data[3];
-          grey = (0.5f + (float(x_190) / 10.0f));
-        } else {
-          float x_195 = tint_symbol.y;
-          if ((tint_f32_to_i32(x_195) < 150)) {
-            continue_execution = false;
-          } else {
-            float x_202 = tint_symbol.y;
-            if ((tint_f32_to_i32(x_202) < 180)) {
-              int x_209 = data[5];
-              grey = (0.5f + (float(x_209) / 10.0f));
-            } else {
-              float x_214 = tint_symbol.y;
-              if ((tint_f32_to_i32(x_214) < 210)) {
-                int x_221 = data[6];
-                grey = (0.5f + (float(x_221) / 10.0f));
-              } else {
-                float x_226 = tint_symbol.y;
-                if ((tint_f32_to_i32(x_226) < 240)) {
-                  int x_233 = data[7];
-                  grey = (0.5f + (float(x_233) / 10.0f));
-                } else {
-                  float x_238 = tint_symbol.y;
-                  if ((tint_f32_to_i32(x_238) < 270)) {
-                    int x_245 = data[8];
-                    grey = (0.5f + (float(x_245) / 10.0f));
-                  } else {
-                    continue_execution = false;
-                  }
-                }
-              }
-            }
-          }
-        }
-      }
-    }
-  }
-  float x_249 = grey;
-  vec3 x_250 = vec3(x_249, x_249, x_249);
-  x_GLF_color = vec4(x_250[0u], x_250[1u], x_250[2u], 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out v_1 = main_out(x_GLF_color);
-  if (!(continue_execution)) {
-    discard;
-  }
-  return v_1;
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:41: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:41: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-null-in-phi-and-unroll/1.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-null-in-phi-and-unroll/1.spvasm.expected.ir.glsl
deleted file mode 100644
index 58c3131..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-null-in-phi-and-unroll/1.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,119 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_mod_i32(int lhs, int rhs) {
-  int v_1 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_1) * v_1));
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  vec4 x_77[8] = vec4[8](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  vec4 x_78[8] = vec4[8](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  vec4 x_79[8] = vec4[8](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  vec4 x_80[16] = vec4[16](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  vec4 x_89 = vec4(0.0f);
-  int x_92 = 0;
-  vec2 x_87 = floor(((tint_symbol.xy / v.tint_symbol_3.resolution) * 32.0f));
-  x_89 = vec4(0.5f, 0.5f, 1.0f, 1.0f);
-  x_92 = 0;
-  {
-    while(true) {
-      bool x_121 = false;
-      vec4 x_136 = vec4(0.0f);
-      vec4 x_90 = vec4(0.0f);
-      int x_93 = 0;
-      if ((x_92 < 8)) {
-      } else {
-        break;
-      }
-      vec4 x_98 = vec4(0.0f);
-      x_77 = vec4[8](vec4(4.0f, 4.0f, 20.0f, 4.0f), vec4(4.0f, 4.0f, 4.0f, 20.0f), vec4(4.0f, 20.0f, 20.0f, 4.0f), vec4(20.0f, 4.0f, 4.0f, 8.0f), vec4(8.0f, 6.0f, 4.0f, 2.0f), vec4(2.0f, 12.0f, 2.0f, 4.0f), vec4(16.0f, 2.0f, 4.0f, 4.0f), vec4(12.0f, 22.0f, 4.0f, 4.0f));
-      x_98 = x_77[x_92];
-      switch(0u) {
-        default:
-        {
-          float x_101 = x_87[0u];
-          float x_102 = x_98.x;
-          if ((x_101 < x_102)) {
-            x_121 = false;
-            break;
-          }
-          float x_106 = x_87[1u];
-          float x_107 = x_98.y;
-          if ((x_106 < x_107)) {
-            x_121 = false;
-            break;
-          }
-          if ((x_101 > (x_102 + x_98.z))) {
-            x_121 = false;
-            break;
-          }
-          if ((x_106 > (x_107 + x_98.w))) {
-            x_121 = false;
-            break;
-          }
-          x_121 = true;
-          break;
-        }
-      }
-      x_90 = x_89;
-      if (x_121) {
-        x_78 = vec4[8](vec4(4.0f, 4.0f, 20.0f, 4.0f), vec4(4.0f, 4.0f, 4.0f, 20.0f), vec4(4.0f, 20.0f, 20.0f, 4.0f), vec4(20.0f, 4.0f, 4.0f, 8.0f), vec4(8.0f, 6.0f, 4.0f, 2.0f), vec4(2.0f, 12.0f, 2.0f, 4.0f), vec4(16.0f, 2.0f, 4.0f, 4.0f), vec4(12.0f, 22.0f, 4.0f, 4.0f));
-        float x_125 = x_78[x_92].x;
-        x_79 = vec4[8](vec4(4.0f, 4.0f, 20.0f, 4.0f), vec4(4.0f, 4.0f, 4.0f, 20.0f), vec4(4.0f, 20.0f, 20.0f, 4.0f), vec4(20.0f, 4.0f, 4.0f, 8.0f), vec4(8.0f, 6.0f, 4.0f, 2.0f), vec4(2.0f, 12.0f, 2.0f, 4.0f), vec4(16.0f, 2.0f, 4.0f, 4.0f), vec4(12.0f, 22.0f, 4.0f, 4.0f));
-        float x_128 = x_79[x_92].y;
-        x_80 = vec4[16](vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(0.5f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 0.5f, 0.0f, 1.0f), vec4(0.5f, 0.5f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 0.5f, 1.0f), vec4(0.5f, 0.0f, 0.5f, 1.0f), vec4(0.0f, 0.5f, 0.5f, 1.0f), vec4(0.5f, 0.5f, 0.5f, 1.0f), vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(1.0f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 1.0f, 0.0f, 1.0f), vec4(1.0f, 1.0f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 1.0f, 1.0f), vec4(1.0f, 0.0f, 1.0f, 1.0f), vec4(0.0f, 1.0f, 1.0f, 1.0f), vec4(1.0f));
-        int v_2 = tint_f32_to_i32(x_125);
-        int v_3 = (v_2 * tint_f32_to_i32(x_128));
-        x_136 = x_80[tint_mod_i32(((v_3 + (x_92 * 9)) + 11), 16)];
-        x_90 = x_136;
-      }
-      {
-        x_93 = (x_92 + 1);
-        x_89 = x_90;
-        x_92 = x_93;
-      }
-      continue;
-    }
-  }
-  x_GLF_color = x_89;
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:22: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-null-in-phi-and-unroll/1.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-null-in-phi-and-unroll/1.wgsl.expected.ir.glsl
deleted file mode 100644
index 0fd9ed0..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-null-in-phi-and-unroll/1.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,125 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_mod_i32(int lhs, int rhs) {
-  int v_1 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_1) * v_1));
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  vec4 x_77[8] = vec4[8](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  vec4 x_78[8] = vec4[8](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  vec4 x_79[8] = vec4[8](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  vec4 x_80[16] = vec4[16](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  vec4 x_89 = vec4(0.0f);
-  vec4 x_89_phi = vec4(0.0f);
-  int x_92_phi = 0;
-  vec4 x_81 = tint_symbol;
-  vec2 x_84 = v.tint_symbol_3.resolution;
-  vec2 x_87 = floor(((vec2(x_81[0u], x_81[1u]) / x_84) * 32.0f));
-  x_89_phi = vec4(0.5f, 0.5f, 1.0f, 1.0f);
-  x_92_phi = 0;
-  {
-    while(true) {
-      vec4 x_136 = vec4(0.0f);
-      int x_93 = 0;
-      bool x_121_phi = false;
-      vec4 x_90_phi = vec4(0.0f);
-      x_89 = x_89_phi;
-      int x_92 = x_92_phi;
-      if ((x_92 < 8)) {
-      } else {
-        break;
-      }
-      vec4 x_98 = vec4(0.0f);
-      x_77 = vec4[8](vec4(4.0f, 4.0f, 20.0f, 4.0f), vec4(4.0f, 4.0f, 4.0f, 20.0f), vec4(4.0f, 20.0f, 20.0f, 4.0f), vec4(20.0f, 4.0f, 4.0f, 8.0f), vec4(8.0f, 6.0f, 4.0f, 2.0f), vec4(2.0f, 12.0f, 2.0f, 4.0f), vec4(16.0f, 2.0f, 4.0f, 4.0f), vec4(12.0f, 22.0f, 4.0f, 4.0f));
-      x_98 = x_77[x_92];
-      switch(0u) {
-        default:
-        {
-          float x_101 = x_87[0u];
-          float x_102 = x_98.x;
-          if ((x_101 < x_102)) {
-            x_121_phi = false;
-            break;
-          }
-          float x_106 = x_87[1u];
-          float x_107 = x_98.y;
-          if ((x_106 < x_107)) {
-            x_121_phi = false;
-            break;
-          }
-          if ((x_101 > (x_102 + x_98.z))) {
-            x_121_phi = false;
-            break;
-          }
-          if ((x_106 > (x_107 + x_98.w))) {
-            x_121_phi = false;
-            break;
-          }
-          x_121_phi = true;
-          break;
-        }
-      }
-      bool x_121 = x_121_phi;
-      x_90_phi = x_89;
-      if (x_121) {
-        x_78 = vec4[8](vec4(4.0f, 4.0f, 20.0f, 4.0f), vec4(4.0f, 4.0f, 4.0f, 20.0f), vec4(4.0f, 20.0f, 20.0f, 4.0f), vec4(20.0f, 4.0f, 4.0f, 8.0f), vec4(8.0f, 6.0f, 4.0f, 2.0f), vec4(2.0f, 12.0f, 2.0f, 4.0f), vec4(16.0f, 2.0f, 4.0f, 4.0f), vec4(12.0f, 22.0f, 4.0f, 4.0f));
-        float x_125 = x_78[x_92].x;
-        x_79 = vec4[8](vec4(4.0f, 4.0f, 20.0f, 4.0f), vec4(4.0f, 4.0f, 4.0f, 20.0f), vec4(4.0f, 20.0f, 20.0f, 4.0f), vec4(20.0f, 4.0f, 4.0f, 8.0f), vec4(8.0f, 6.0f, 4.0f, 2.0f), vec4(2.0f, 12.0f, 2.0f, 4.0f), vec4(16.0f, 2.0f, 4.0f, 4.0f), vec4(12.0f, 22.0f, 4.0f, 4.0f));
-        float x_128 = x_79[x_92].y;
-        x_80 = vec4[16](vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(0.5f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 0.5f, 0.0f, 1.0f), vec4(0.5f, 0.5f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 0.5f, 1.0f), vec4(0.5f, 0.0f, 0.5f, 1.0f), vec4(0.0f, 0.5f, 0.5f, 1.0f), vec4(0.5f, 0.5f, 0.5f, 1.0f), vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(1.0f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 1.0f, 0.0f, 1.0f), vec4(1.0f, 1.0f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 1.0f, 1.0f), vec4(1.0f, 0.0f, 1.0f, 1.0f), vec4(0.0f, 1.0f, 1.0f, 1.0f), vec4(1.0f));
-        int v_2 = tint_f32_to_i32(x_125);
-        x_136 = x_80[tint_mod_i32((((v_2 * tint_f32_to_i32(x_128)) + (x_92 * 9)) + 11), 16)];
-        x_90_phi = x_136;
-      }
-      vec4 x_90 = x_90_phi;
-      {
-        x_93 = (x_92 + 1);
-        x_89_phi = x_90;
-        x_92_phi = x_93;
-      }
-      continue;
-    }
-  }
-  x_GLF_color = x_89;
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:22: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-bifurcation-Os-mutate-var-vector-shuffle/1.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-bifurcation-Os-mutate-var-vector-shuffle/1.spvasm.expected.ir.glsl
deleted file mode 100644
index a3ca880..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-bifurcation-Os-mutate-var-vector-shuffle/1.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,83 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
-}
-int tint_mod_i32(int lhs, int rhs) {
-  int v_1 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_1) * v_1));
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  vec4 indexable[16] = vec4[16](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  int x_69 = 0;
-  int x_72 = 0;
-  vec2 x_59 = (tint_symbol.xy / v.tint_symbol_3.resolution);
-  int v_2 = tint_f32_to_i32((x_59[0u] * 10.0f));
-  int x_67 = (v_2 + (tint_f32_to_i32((x_59[1u] * 10.0f)) * 10));
-  x_69 = 100;
-  x_72 = 0;
-  {
-    while(true) {
-      int x_70 = 0;
-      int x_73 = 0;
-      if ((x_72 < x_67)) {
-      } else {
-        break;
-      }
-      {
-        x_70 = tint_div_i32(((4 * x_69) * (1000 - x_69)), 1000);
-        x_73 = (x_72 + 1);
-        x_69 = x_70;
-        x_72 = x_73;
-      }
-      continue;
-    }
-  }
-  indexable = vec4[16](vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(0.5f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 0.5f, 0.0f, 1.0f), vec4(0.5f, 0.5f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 0.5f, 1.0f), vec4(0.5f, 0.0f, 0.5f, 1.0f), vec4(0.0f, 0.5f, 0.5f, 1.0f), vec4(0.5f, 0.5f, 0.5f, 1.0f), vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(1.0f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 1.0f, 0.0f, 1.0f), vec4(1.0f, 1.0f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 1.0f, 1.0f), vec4(1.0f, 0.0f, 1.0f, 1.0f), vec4(0.0f, 1.0f, 1.0f, 1.0f), vec4(1.0f));
-  vec4 x_80[16] = indexable;
-  indexable = vec4[16](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  indexable = x_80;
-  vec2 x_81 = vec2(1.0f, 0.5f);
-  x_GLF_color = indexable[tint_mod_i32(x_69, 16)];
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:22: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-bifurcation-Os-mutate-var-vector-shuffle/1.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-bifurcation-Os-mutate-var-vector-shuffle/1.wgsl.expected.ir.glsl
deleted file mode 100644
index 958e731..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-bifurcation-Os-mutate-var-vector-shuffle/1.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,89 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
-}
-int tint_mod_i32(int lhs, int rhs) {
-  int v_1 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_1) * v_1));
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  vec4 indexable[16] = vec4[16](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  int x_69 = 0;
-  int x_69_phi = 0;
-  int x_72_phi = 0;
-  vec4 x_55 = tint_symbol;
-  vec2 x_58 = v.tint_symbol_3.resolution;
-  vec2 x_59 = (vec2(x_55[0u], x_55[1u]) / x_58);
-  int v_2 = tint_f32_to_i32((x_59[0u] * 10.0f));
-  int x_67 = (v_2 + (tint_f32_to_i32((x_59[1u] * 10.0f)) * 10));
-  x_69_phi = 100;
-  x_72_phi = 0;
-  {
-    while(true) {
-      int x_70 = 0;
-      int x_73 = 0;
-      x_69 = x_69_phi;
-      int x_72 = x_72_phi;
-      if ((x_72 < x_67)) {
-      } else {
-        break;
-      }
-      {
-        x_70 = tint_div_i32(((4 * x_69) * (1000 - x_69)), 1000);
-        x_73 = (x_72 + 1);
-        x_69_phi = x_70;
-        x_72_phi = x_73;
-      }
-      continue;
-    }
-  }
-  indexable = vec4[16](vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(0.5f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 0.5f, 0.0f, 1.0f), vec4(0.5f, 0.5f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 0.5f, 1.0f), vec4(0.5f, 0.0f, 0.5f, 1.0f), vec4(0.0f, 0.5f, 0.5f, 1.0f), vec4(0.5f, 0.5f, 0.5f, 1.0f), vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(1.0f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 1.0f, 0.0f, 1.0f), vec4(1.0f, 1.0f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 1.0f, 1.0f), vec4(1.0f, 0.0f, 1.0f, 1.0f), vec4(0.0f, 1.0f, 1.0f, 1.0f), vec4(1.0f));
-  vec4 x_80[16] = indexable;
-  indexable = vec4[16](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  indexable = x_80;
-  vec2 x_81 = vec2(1.0f, 0.5f);
-  vec4 x_83 = indexable[tint_mod_i32(x_69, 16)];
-  x_GLF_color = x_83;
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:22: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-bifurcation-Os-mutate-var-vector-shuffle/2.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-bifurcation-Os-mutate-var-vector-shuffle/2.spvasm.expected.ir.glsl
deleted file mode 100644
index 8e2d8a4..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-bifurcation-Os-mutate-var-vector-shuffle/2.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,80 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
-}
-int tint_mod_i32(int lhs, int rhs) {
-  int v_1 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_1) * v_1));
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  vec4 indexable[16] = vec4[16](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  int x_69 = 0;
-  int x_72 = 0;
-  vec2 x_59 = (tint_symbol.xy / v.tint_symbol_3.resolution);
-  int v_2 = tint_f32_to_i32((x_59[0u] * 10.0f));
-  int x_67 = (v_2 + (tint_f32_to_i32((x_59[1u] * 10.0f)) * 10));
-  x_69 = 100;
-  x_72 = 0;
-  {
-    while(true) {
-      int x_70 = 0;
-      int x_73 = 0;
-      if ((x_72 < x_67)) {
-      } else {
-        break;
-      }
-      {
-        x_70 = tint_div_i32(((4 * x_69) * (1000 - x_69)), 1000);
-        x_73 = (x_72 + 1);
-        x_69 = x_70;
-        x_72 = x_73;
-      }
-      continue;
-    }
-  }
-  indexable = vec4[16](vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(0.5f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 0.5f, 0.0f, 1.0f), vec4(0.5f, 0.5f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 0.5f, 1.0f), vec4(0.5f, 0.0f, 0.5f, 1.0f), vec4(0.0f, 0.5f, 0.5f, 1.0f), vec4(0.5f, 0.5f, 0.5f, 1.0f), vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(1.0f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 1.0f, 0.0f, 1.0f), vec4(1.0f, 1.0f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 1.0f, 1.0f), vec4(1.0f, 0.0f, 1.0f, 1.0f), vec4(0.0f, 1.0f, 1.0f, 1.0f), vec4(1.0f));
-  vec2 x_80 = vec2(1.0f, 0.5f);
-  x_GLF_color = indexable[tint_mod_i32(x_69, 16)];
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:22: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-bifurcation-Os-mutate-var-vector-shuffle/2.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-bifurcation-Os-mutate-var-vector-shuffle/2.wgsl.expected.ir.glsl
deleted file mode 100644
index bb43391..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-bifurcation-Os-mutate-var-vector-shuffle/2.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,86 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
-}
-int tint_mod_i32(int lhs, int rhs) {
-  int v_1 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_1) * v_1));
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  vec4 indexable[16] = vec4[16](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  int x_69 = 0;
-  int x_69_phi = 0;
-  int x_72_phi = 0;
-  vec4 x_55 = tint_symbol;
-  vec2 x_58 = v.tint_symbol_3.resolution;
-  vec2 x_59 = (vec2(x_55[0u], x_55[1u]) / x_58);
-  int v_2 = tint_f32_to_i32((x_59[0u] * 10.0f));
-  int x_67 = (v_2 + (tint_f32_to_i32((x_59[1u] * 10.0f)) * 10));
-  x_69_phi = 100;
-  x_72_phi = 0;
-  {
-    while(true) {
-      int x_70 = 0;
-      int x_73 = 0;
-      x_69 = x_69_phi;
-      int x_72 = x_72_phi;
-      if ((x_72 < x_67)) {
-      } else {
-        break;
-      }
-      {
-        x_70 = tint_div_i32(((4 * x_69) * (1000 - x_69)), 1000);
-        x_73 = (x_72 + 1);
-        x_69_phi = x_70;
-        x_72_phi = x_73;
-      }
-      continue;
-    }
-  }
-  indexable = vec4[16](vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(0.5f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 0.5f, 0.0f, 1.0f), vec4(0.5f, 0.5f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 0.5f, 1.0f), vec4(0.5f, 0.0f, 0.5f, 1.0f), vec4(0.0f, 0.5f, 0.5f, 1.0f), vec4(0.5f, 0.5f, 0.5f, 1.0f), vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(1.0f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 1.0f, 0.0f, 1.0f), vec4(1.0f, 1.0f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 1.0f, 1.0f), vec4(1.0f, 0.0f, 1.0f, 1.0f), vec4(0.0f, 1.0f, 1.0f, 1.0f), vec4(1.0f));
-  vec2 x_80 = vec2(1.0f, 0.5f);
-  vec4 x_82 = indexable[tint_mod_i32(x_69, 16)];
-  x_GLF_color = x_82;
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:22: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-collatz-O-mutate-composite-construct-extract/0.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-collatz-O-mutate-composite-construct-extract/0.spvasm.expected.ir.glsl
deleted file mode 100644
index 9e753f2..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-collatz-O-mutate-composite-construct-extract/0.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,85 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
-}
-int tint_mod_i32(int lhs, int rhs) {
-  int v_1 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_1) * v_1));
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  vec4 indexable[16] = vec4[16](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  int x_65 = 0;
-  int x_68 = 0;
-  vec2 x_57 = floor(((tint_symbol.xy / v.tint_symbol_3.resolution) * 8.0f));
-  int v_2 = (tint_f32_to_i32(x_57[0u]) * 8);
-  int x_63 = (v_2 + tint_f32_to_i32(x_57[1u]));
-  x_65 = 0;
-  x_68 = x_63;
-  {
-    while(true) {
-      int x_79 = 0;
-      int x_80 = 0;
-      int x_69 = 0;
-      if ((x_68 > 1)) {
-      } else {
-        break;
-      }
-      if (((x_68 & 1) == 1)) {
-        x_79 = ((3 * x_68) + 1);
-        x_69 = x_79;
-      } else {
-        x_80 = tint_div_i32(x_68, 2);
-        x_69 = x_80;
-      }
-      {
-        x_65 = (x_65 + 1);
-        x_68 = x_69;
-      }
-      continue;
-    }
-  }
-  indexable = vec4[16](vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(0.5f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 0.5f, 0.0f, 1.0f), vec4(0.5f, 0.5f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 0.5f, 1.0f), vec4(0.5f, 0.0f, 0.5f, 1.0f), vec4(0.0f, 0.5f, 0.5f, 1.0f), vec4(0.5f, 0.5f, 0.5f, 1.0f), vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(1.0f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 1.0f, 0.0f, 1.0f), vec4(1.0f, 1.0f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 1.0f, 1.0f), vec4(1.0f, 0.0f, 1.0f, 1.0f), vec4(0.0f, 1.0f, 1.0f, 1.0f), vec4(1.0f));
-  x_GLF_color = indexable[tint_mod_i32(x_65, 16)];
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:22: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-collatz-O-mutate-composite-construct-extract/0.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-collatz-O-mutate-composite-construct-extract/0.wgsl.expected.ir.glsl
deleted file mode 100644
index f78204a..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-collatz-O-mutate-composite-construct-extract/0.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,92 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
-}
-int tint_mod_i32(int lhs, int rhs) {
-  int v_1 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_1) * v_1));
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  vec4 indexable[16] = vec4[16](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  int x_65 = 0;
-  int x_65_phi = 0;
-  int x_68_phi = 0;
-  vec4 x_51 = tint_symbol;
-  vec2 x_54 = v.tint_symbol_3.resolution;
-  vec2 x_57 = floor(((vec2(x_51[0u], x_51[1u]) / x_54) * 8.0f));
-  int v_2 = (tint_f32_to_i32(x_57[0u]) * 8);
-  int x_63 = (v_2 + tint_f32_to_i32(x_57[1u]));
-  x_65_phi = 0;
-  x_68_phi = x_63;
-  {
-    while(true) {
-      int x_79 = 0;
-      int x_80 = 0;
-      int x_69_phi = 0;
-      x_65 = x_65_phi;
-      int x_68 = x_68_phi;
-      if ((x_68 > 1)) {
-      } else {
-        break;
-      }
-      if (((x_68 & 1) == 1)) {
-        x_79 = ((3 * x_68) + 1);
-        x_69_phi = x_79;
-      } else {
-        x_80 = tint_div_i32(x_68, 2);
-        x_69_phi = x_80;
-      }
-      int x_69 = x_69_phi;
-      {
-        x_65_phi = (x_65 + 1);
-        x_68_phi = x_69;
-      }
-      continue;
-    }
-  }
-  indexable = vec4[16](vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(0.5f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 0.5f, 0.0f, 1.0f), vec4(0.5f, 0.5f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 0.5f, 1.0f), vec4(0.5f, 0.0f, 0.5f, 1.0f), vec4(0.0f, 0.5f, 0.5f, 1.0f), vec4(0.5f, 0.5f, 0.5f, 1.0f), vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(1.0f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 1.0f, 0.0f, 1.0f), vec4(1.0f, 1.0f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 1.0f, 1.0f), vec4(1.0f, 0.0f, 1.0f, 1.0f), vec4(0.0f, 1.0f, 1.0f, 1.0f), vec4(1.0f));
-  vec4 x_83 = indexable[tint_mod_i32(x_65, 16)];
-  x_GLF_color = x_83;
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:22: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-collatz-O-mutate-composite-construct-extract/1.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-collatz-O-mutate-composite-construct-extract/1.spvasm.expected.ir.glsl
deleted file mode 100644
index d5fd75f..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-collatz-O-mutate-composite-construct-extract/1.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,94 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
-}
-int tint_mod_i32(int lhs, int rhs) {
-  int v_1 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_1) * v_1));
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  vec4 indexable[16] = vec4[16](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  int x_71 = 0;
-  int x_74 = 0;
-  vec4 x_54 = tint_symbol;
-  vec2 x_55 = tint_symbol.xy;
-  vec2 x_61 = ((x_55 / v.tint_symbol_3.resolution) * 8.0f);
-  vec2 x_62 = floor(x_61);
-  int v_2 = (tint_f32_to_i32(x_62[0u]) * 8);
-  int x_69 = (v_2 + tint_f32_to_i32(x_62[1u]));
-  x_71 = 0;
-  x_74 = x_69;
-  {
-    while(true) {
-      int x_85 = 0;
-      int x_86 = 0;
-      int x_75 = 0;
-      if ((x_74 > 1)) {
-      } else {
-        break;
-      }
-      if (((x_74 & 1) == 1)) {
-        x_85 = ((3 * x_74) + 1);
-        x_75 = x_85;
-      } else {
-        x_86 = tint_div_i32(x_74, 2);
-        x_75 = x_86;
-      }
-      {
-        x_71 = (x_71 + 1);
-        x_74 = x_75;
-      }
-      continue;
-    }
-  }
-  indexable = vec4[16](vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(0.5f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 0.5f, 0.0f, 1.0f), vec4(0.5f, 0.5f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 0.5f, 1.0f), vec4(0.5f, 0.0f, 0.5f, 1.0f), vec4(0.0f, 0.5f, 0.5f, 1.0f), vec4(0.5f, 0.5f, 0.5f, 1.0f), vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(1.0f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 1.0f, 0.0f, 1.0f), vec4(1.0f, 1.0f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 1.0f, 1.0f), vec4(1.0f, 0.0f, 1.0f, 1.0f), vec4(0.0f, 1.0f, 1.0f, 1.0f), vec4(1.0f));
-  vec4 x_88[16] = indexable;
-  indexable = vec4[16](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  indexable = x_88;
-  vec4 x_89 = vec4[16](vec4(0.0f, 0.0f, 0.5f, 1.0f), vec4(1.0f, 0.0f, 1.0f, 1.0f), vec4(0.0f, 0.5f, 0.5f, 1.0f), vec4(0.0f, 1.0f, 1.0f, 1.0f), vec4(1.0f), vec4(0.0f, 0.5f, 0.5f, 1.0f), vec4(0.0f, 0.5f, 0.5f, 1.0f), vec4(0.5f, 0.0f, 0.5f, 1.0f), vec4(1.0f, 1.0f, 0.0f, 1.0f), x_54, vec4(0.0f, 0.0f, 0.5f, 1.0f), vec4(0.5f, 0.5f, 0.0f, 1.0f), vec4(0.0f, 0.5f, 0.0f, 1.0f), vec4(0.5f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 1.0f, 0.0f, 1.0f), vec4(1.0f, 0.0f, 0.0f, 1.0f))[1u];
-  vec4 v_3 = vec4(0.0f, 8.0f, x_55);
-  vec4 x_90[16] = vec4[16](vec4(0.5f, 0.0f, 0.5f, 1.0f), vec4(0.5f, 0.0f, 0.5f, 1.0f), vec4(0.0f, 1.0f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(0.5f, 0.0f, 0.5f, 1.0f), vec4(0.5f, 0.5f, 0.5f, 1.0f), vec4(1.0f, 0.0f, 1.0f, 1.0f), vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 1.0f, 0.0f, 1.0f), v_3, vec4(0.0f, 0.0f, 0.5f, 1.0f), vec4(0.0f, 0.5f, 0.5f, 1.0f), vec4(0.5f, 0.0f, 0.5f, 1.0f), vec4(1.0f, 1.0f, 0.0f, 1.0f), vec4(1.0f, 0.0f, 1.0f, 1.0f), vec4(x_61, 0.5f, 1.0f));
-  x_GLF_color = indexable[tint_mod_i32(x_71, 16)];
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:22: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-collatz-O-mutate-composite-construct-extract/1.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-collatz-O-mutate-composite-construct-extract/1.wgsl.expected.ir.glsl
deleted file mode 100644
index 4e6f7e5..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-collatz-O-mutate-composite-construct-extract/1.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,100 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
-}
-int tint_mod_i32(int lhs, int rhs) {
-  int v_1 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_1) * v_1));
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  vec4 indexable[16] = vec4[16](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  int x_71 = 0;
-  int x_71_phi = 0;
-  int x_74_phi = 0;
-  vec4 x_54 = tint_symbol;
-  vec2 x_55 = vec2(x_54[0u], x_54[1u]);
-  vec2 x_58 = v.tint_symbol_3.resolution;
-  vec2 x_61 = ((x_55 / x_58) * 8.0f);
-  vec2 x_62 = floor(x_61);
-  int v_2 = (tint_f32_to_i32(x_62[0u]) * 8);
-  int x_69 = (v_2 + tint_f32_to_i32(x_62[1u]));
-  x_71_phi = 0;
-  x_74_phi = x_69;
-  {
-    while(true) {
-      int x_85 = 0;
-      int x_86 = 0;
-      int x_75_phi = 0;
-      x_71 = x_71_phi;
-      int x_74 = x_74_phi;
-      if ((x_74 > 1)) {
-      } else {
-        break;
-      }
-      if (((x_74 & 1) == 1)) {
-        x_85 = ((3 * x_74) + 1);
-        x_75_phi = x_85;
-      } else {
-        x_86 = tint_div_i32(x_74, 2);
-        x_75_phi = x_86;
-      }
-      int x_75 = x_75_phi;
-      {
-        x_71_phi = (x_71 + 1);
-        x_74_phi = x_75;
-      }
-      continue;
-    }
-  }
-  indexable = vec4[16](vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(0.5f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 0.5f, 0.0f, 1.0f), vec4(0.5f, 0.5f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 0.5f, 1.0f), vec4(0.5f, 0.0f, 0.5f, 1.0f), vec4(0.0f, 0.5f, 0.5f, 1.0f), vec4(0.5f, 0.5f, 0.5f, 1.0f), vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(1.0f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 1.0f, 0.0f, 1.0f), vec4(1.0f, 1.0f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 1.0f, 1.0f), vec4(1.0f, 0.0f, 1.0f, 1.0f), vec4(0.0f, 1.0f, 1.0f, 1.0f), vec4(1.0f));
-  vec4 x_88[16] = indexable;
-  indexable = vec4[16](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  indexable = x_88;
-  vec4 x_89 = vec4[16](vec4(0.0f, 0.0f, 0.5f, 1.0f), vec4(1.0f, 0.0f, 1.0f, 1.0f), vec4(0.0f, 0.5f, 0.5f, 1.0f), vec4(0.0f, 1.0f, 1.0f, 1.0f), vec4(1.0f), vec4(0.0f, 0.5f, 0.5f, 1.0f), vec4(0.0f, 0.5f, 0.5f, 1.0f), vec4(0.5f, 0.0f, 0.5f, 1.0f), vec4(1.0f, 1.0f, 0.0f, 1.0f), x_54, vec4(0.0f, 0.0f, 0.5f, 1.0f), vec4(0.5f, 0.5f, 0.0f, 1.0f), vec4(0.0f, 0.5f, 0.0f, 1.0f), vec4(0.5f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 1.0f, 0.0f, 1.0f), vec4(1.0f, 0.0f, 0.0f, 1.0f))[1u];
-  vec4 v_3 = vec4(0.0f, 8.0f, x_55);
-  vec4 x_90[16] = vec4[16](vec4(0.5f, 0.0f, 0.5f, 1.0f), vec4(0.5f, 0.0f, 0.5f, 1.0f), vec4(0.0f, 1.0f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(0.5f, 0.0f, 0.5f, 1.0f), vec4(0.5f, 0.5f, 0.5f, 1.0f), vec4(1.0f, 0.0f, 1.0f, 1.0f), vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 1.0f, 0.0f, 1.0f), v_3, vec4(0.0f, 0.0f, 0.5f, 1.0f), vec4(0.0f, 0.5f, 0.5f, 1.0f), vec4(0.5f, 0.0f, 0.5f, 1.0f), vec4(1.0f, 1.0f, 0.0f, 1.0f), vec4(1.0f, 0.0f, 1.0f, 1.0f), vec4(x_61, 0.5f, 1.0f));
-  vec4 x_92 = indexable[tint_mod_i32(x_71, 16)];
-  x_GLF_color = x_92;
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:22: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-colorgrid-modulo-O-move-block-down/1.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-colorgrid-modulo-O-move-block-down/1.spvasm.expected.ir.glsl
deleted file mode 100644
index 1683196..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-colorgrid-modulo-O-move-block-down/1.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,201 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 tint_symbol = vec4(0.0f);
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_mod_i32(int lhs, int rhs) {
-  int v_1 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_1) * v_1));
-}
-void main_1() {
-  vec3 c = vec3(0.0f);
-  float x_51 = 0.0f;
-  float x_55 = 0.0f;
-  int x_58 = 0;
-  float x_56 = 0.0f;
-  float x_81 = 0.0f;
-  float x_82 = 0.0f;
-  bool x_83 = false;
-  float x_85 = 0.0f;
-  float x_118 = 0.0f;
-  float x_119 = 0.0f;
-  float x_122 = 0.0f;
-  int x_129 = 0;
-  c = vec3(7.0f, 8.0f, 9.0f);
-  float x_49 = round((v.tint_symbol_3.resolution.x * 0.125f));
-  x_51 = tint_symbol.x;
-  switch(0u) {
-    default:
-    {
-      x_55 = -0.5f;
-      x_58 = 1;
-      {
-        while(true) {
-          float x_68 = 0.0f;
-          float x_76 = 0.0f;
-          int x_59 = 0;
-          x_81 = 0.0f;
-          x_82 = x_55;
-          x_83 = false;
-          if ((x_58 < 800)) {
-          } else {
-            break;
-          }
-          float x_75 = 0.0f;
-          if ((tint_mod_i32(x_58, 32) == 0)) {
-            x_68 = (x_55 + 0.40000000596046447754f);
-            x_56 = x_68;
-          } else {
-            x_76 = x_55;
-            float v_2 = float(x_58);
-            float v_3 = round(x_49);
-            float v_4 = float(x_58);
-            if (((v_2 - (v_3 * floor((v_4 / round(x_49))))) <= 0.00999999977648258209f)) {
-              x_75 = (x_55 + 100.0f);
-              x_76 = x_75;
-            }
-            x_56 = x_76;
-          }
-          float v_5 = float(x_58);
-          if ((v_5 >= x_51)) {
-            x_81 = x_56;
-            x_82 = x_56;
-            x_83 = true;
-            break;
-          }
-          {
-            x_59 = (x_58 + 1);
-            x_55 = x_56;
-            x_58 = x_59;
-          }
-          continue;
-        }
-      }
-      x_85 = x_81;
-      if (x_83) {
-        break;
-      }
-      x_85 = x_82;
-      break;
-    }
-  }
-  float x_88 = 0.0f;
-  float x_92 = 0.0f;
-  int x_95 = 0;
-  float x_93 = 0.0f;
-  bool x_120 = false;
-  c[0u] = x_85;
-  x_88 = tint_symbol.y;
-  switch(0u) {
-    default:
-    {
-      x_92 = -0.5f;
-      x_95 = 1;
-      {
-        while(true) {
-          float x_113 = 0.0f;
-          float x_112 = 0.0f;
-          int x_96 = 0;
-          x_118 = 0.0f;
-          x_119 = x_92;
-          x_120 = false;
-          if ((x_95 < 800)) {
-          } else {
-            break;
-          }
-          float x_111 = 0.0f;
-          if ((tint_mod_i32(x_95, 32) == 0)) {
-            x_113 = (x_92 + 0.40000000596046447754f);
-            x_93 = x_113;
-          } else {
-            x_112 = x_92;
-            float v_6 = float(x_95);
-            float v_7 = round(x_49);
-            float v_8 = float(x_95);
-            if (((v_6 - (v_7 * floor((v_8 / round(x_49))))) <= 0.00999999977648258209f)) {
-              x_111 = (x_92 + 100.0f);
-              x_112 = x_111;
-            }
-            x_93 = x_112;
-          }
-          float v_9 = float(x_95);
-          if ((v_9 >= x_88)) {
-            x_118 = x_93;
-            x_119 = x_93;
-            x_120 = true;
-            break;
-          }
-          {
-            x_96 = (x_95 + 1);
-            x_92 = x_93;
-            x_95 = x_96;
-          }
-          continue;
-        }
-      }
-      x_122 = x_118;
-      if (x_120) {
-        break;
-      }
-      x_122 = x_119;
-      break;
-    }
-  }
-  c[1u] = x_122;
-  c[2u] = (c.x + c.y);
-  x_129 = 0;
-  {
-    while(true) {
-      int x_130 = 0;
-      if ((x_129 < 3)) {
-      } else {
-        break;
-      }
-      if ((c[x_129] >= 1.0f)) {
-        c[x_129] = (c[x_129] * c[x_129]);
-      }
-      {
-        x_130 = (x_129 + 1);
-        x_129 = x_130;
-      }
-      continue;
-    }
-  }
-  vec3 x_145 = normalize(abs(c));
-  x_GLF_color = vec4(x_145[0u], x_145[1u], x_145[2u], 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:22: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-colorgrid-modulo-O-move-block-down/1.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-colorgrid-modulo-O-move-block-down/1.wgsl.expected.ir.glsl
deleted file mode 100644
index d4a8a27..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-colorgrid-modulo-O-move-block-down/1.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,235 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 tint_symbol = vec4(0.0f);
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_mod_i32(int lhs, int rhs) {
-  int v_1 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_1) * v_1));
-}
-void main_1() {
-  vec3 c = vec3(0.0f);
-  float x_51 = 0.0f;
-  float x_55 = 0.0f;
-  float x_56 = 0.0f;
-  float x_81 = 0.0f;
-  float x_82 = 0.0f;
-  float x_118 = 0.0f;
-  float x_119 = 0.0f;
-  float x_55_phi = 0.0f;
-  int x_58_phi = 0;
-  float x_81_phi = 0.0f;
-  float x_82_phi = 0.0f;
-  bool x_83_phi = false;
-  float x_85_phi = 0.0f;
-  float x_122_phi = 0.0f;
-  int x_129_phi = 0;
-  c = vec3(7.0f, 8.0f, 9.0f);
-  float x_47 = v.tint_symbol_3.resolution.x;
-  float x_49 = round((x_47 * 0.125f));
-  x_51 = tint_symbol.x;
-  switch(0u) {
-    default:
-    {
-      x_55_phi = -0.5f;
-      x_58_phi = 1;
-      {
-        while(true) {
-          float x_68 = 0.0f;
-          float x_76 = 0.0f;
-          int x_59 = 0;
-          float x_56_phi = 0.0f;
-          x_55 = x_55_phi;
-          int x_58 = x_58_phi;
-          x_81_phi = 0.0f;
-          x_82_phi = x_55;
-          x_83_phi = false;
-          if ((x_58 < 800)) {
-          } else {
-            break;
-          }
-          float x_75 = 0.0f;
-          float x_76_phi = 0.0f;
-          if ((tint_mod_i32(x_58, 32) == 0)) {
-            x_68 = (x_55 + 0.40000000596046447754f);
-            x_56_phi = x_68;
-          } else {
-            x_76_phi = x_55;
-            float v_2 = float(x_58);
-            float v_3 = round(x_49);
-            float v_4 = float(x_58);
-            if (((v_2 - (v_3 * floor((v_4 / round(x_49))))) <= 0.00999999977648258209f)) {
-              x_75 = (x_55 + 100.0f);
-              x_76_phi = x_75;
-            }
-            x_76 = x_76_phi;
-            x_56_phi = x_76;
-          }
-          x_56 = x_56_phi;
-          float v_5 = float(x_58);
-          if ((v_5 >= x_51)) {
-            x_81_phi = x_56;
-            x_82_phi = x_56;
-            x_83_phi = true;
-            break;
-          }
-          {
-            x_59 = (x_58 + 1);
-            x_55_phi = x_56;
-            x_58_phi = x_59;
-          }
-          continue;
-        }
-      }
-      x_81 = x_81_phi;
-      x_82 = x_82_phi;
-      bool x_83 = x_83_phi;
-      x_85_phi = x_81;
-      if (x_83) {
-        break;
-      }
-      x_85_phi = x_82;
-      break;
-    }
-  }
-  float x_88 = 0.0f;
-  float x_92 = 0.0f;
-  float x_93 = 0.0f;
-  float x_92_phi = 0.0f;
-  int x_95_phi = 0;
-  float x_118_phi = 0.0f;
-  float x_119_phi = 0.0f;
-  bool x_120_phi = false;
-  float x_85 = x_85_phi;
-  c[0u] = x_85;
-  x_88 = tint_symbol.y;
-  switch(0u) {
-    default:
-    {
-      x_92_phi = -0.5f;
-      x_95_phi = 1;
-      {
-        while(true) {
-          float x_113 = 0.0f;
-          float x_112 = 0.0f;
-          int x_96 = 0;
-          float x_93_phi = 0.0f;
-          x_92 = x_92_phi;
-          int x_95 = x_95_phi;
-          x_118_phi = 0.0f;
-          x_119_phi = x_92;
-          x_120_phi = false;
-          if ((x_95 < 800)) {
-          } else {
-            break;
-          }
-          float x_111 = 0.0f;
-          float x_112_phi = 0.0f;
-          if ((tint_mod_i32(x_95, 32) == 0)) {
-            x_113 = (x_92 + 0.40000000596046447754f);
-            x_93_phi = x_113;
-          } else {
-            x_112_phi = x_92;
-            float v_6 = float(x_95);
-            float v_7 = round(x_49);
-            float v_8 = float(x_95);
-            if (((v_6 - (v_7 * floor((v_8 / round(x_49))))) <= 0.00999999977648258209f)) {
-              x_111 = (x_92 + 100.0f);
-              x_112_phi = x_111;
-            }
-            x_112 = x_112_phi;
-            x_93_phi = x_112;
-          }
-          x_93 = x_93_phi;
-          float v_9 = float(x_95);
-          if ((v_9 >= x_88)) {
-            x_118_phi = x_93;
-            x_119_phi = x_93;
-            x_120_phi = true;
-            break;
-          }
-          {
-            x_96 = (x_95 + 1);
-            x_92_phi = x_93;
-            x_95_phi = x_96;
-          }
-          continue;
-        }
-      }
-      x_118 = x_118_phi;
-      x_119 = x_119_phi;
-      bool x_120 = x_120_phi;
-      x_122_phi = x_118;
-      if (x_120) {
-        break;
-      }
-      x_122_phi = x_119;
-      break;
-    }
-  }
-  float x_122 = x_122_phi;
-  c[1u] = x_122;
-  float x_124 = c.x;
-  float x_125 = c.y;
-  c[2u] = (x_124 + x_125);
-  x_129_phi = 0;
-  {
-    while(true) {
-      int x_130 = 0;
-      int x_129 = x_129_phi;
-      if ((x_129 < 3)) {
-      } else {
-        break;
-      }
-      float x_136 = c[x_129];
-      if ((x_136 >= 1.0f)) {
-        float x_140 = c[x_129];
-        float x_141 = c[x_129];
-        c[x_129] = (x_140 * x_141);
-      }
-      {
-        x_130 = (x_129 + 1);
-        x_129_phi = x_130;
-      }
-      continue;
-    }
-  }
-  vec3 x_143 = c;
-  vec3 x_145 = normalize(abs(x_143));
-  x_GLF_color = vec4(x_145[0u], x_145[1u], x_145[2u], 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:22: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-maze-flatten-copy-composite/1.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-maze-flatten-copy-composite/1.spvasm.expected.ir.glsl
deleted file mode 100644
index 30d99f2..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-maze-flatten-copy-composite/1.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,335 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v_1;
-int map[256] = int[256](0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_mod_i32(int lhs, int rhs) {
-  int v_2 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_2) * v_2));
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  vec2 pos = vec2(0.0f);
-  ivec2 ipos = ivec2(0);
-  int i = 0;
-  ivec2 p = ivec2(0);
-  bool canwalk = false;
-  int v = 0;
-  int directions = 0;
-  int j = 0;
-  int d = 0;
-  pos = (tint_symbol.xy / v_1.tint_symbol_3.resolution);
-  int v_3 = tint_f32_to_i32((pos.x * 16.0f));
-  ipos = ivec2(v_3, tint_f32_to_i32((pos.y * 16.0f)));
-  i = 0;
-  {
-    while(true) {
-      if ((i < 256)) {
-      } else {
-        break;
-      }
-      int x_80 = i;
-      map[x_80] = 0;
-      {
-        i = (i + 1);
-      }
-      continue;
-    }
-  }
-  p = ivec2(0);
-  canwalk = true;
-  v = 0;
-  {
-    while(true) {
-      bool x_104 = false;
-      bool x_105 = false;
-      bool x_124 = false;
-      bool x_125 = false;
-      bool x_144 = false;
-      bool x_145 = false;
-      bool x_164 = false;
-      bool x_165 = false;
-      v = (v + 1);
-      directions = 0;
-      bool x_92 = (p.x > 0);
-      x_105 = x_92;
-      if (x_92) {
-        x_104 = (map[((p.x - 2) + (p.y * 16))] == 0);
-        x_105 = x_104;
-      }
-      if (x_105) {
-        directions = (directions + 1);
-      }
-      bool x_112 = (p.y > 0);
-      x_125 = x_112;
-      if (x_112) {
-        x_124 = (map[(p.x + ((p.y - 2) * 16))] == 0);
-        x_125 = x_124;
-      }
-      if (x_125) {
-        directions = (directions + 1);
-      }
-      bool x_132 = (p.x < 14);
-      x_145 = x_132;
-      if (x_132) {
-        x_144 = (map[((p.x + 2) + (p.y * 16))] == 0);
-        x_145 = x_144;
-      }
-      if (x_145) {
-        directions = (directions + 1);
-      }
-      bool x_152 = (p.y < 14);
-      x_165 = x_152;
-      if (x_152) {
-        x_164 = (map[(p.x + ((p.y + 2) * 16))] == 0);
-        x_165 = x_164;
-      }
-      if (x_165) {
-        directions = (directions + 1);
-      }
-      bool x_229 = false;
-      bool x_230 = false;
-      bool x_242 = false;
-      bool x_243 = false;
-      bool x_281 = false;
-      bool x_282 = false;
-      int x_288 = 0;
-      int x_289 = 0;
-      int x_290 = 0;
-      int x_295 = 0;
-      int x_296 = 0;
-      int x_297 = 0;
-      int x_303[256] = int[256](0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-      int x_304[256] = int[256](0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-      int x_305[256] = int[256](0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-      int x_315 = 0;
-      int x_316 = 0;
-      int x_317 = 0;
-      bool x_359 = false;
-      bool x_360 = false;
-      bool x_372 = false;
-      bool x_373 = false;
-      bool x_411 = false;
-      bool x_412 = false;
-      bool x_424 = false;
-      bool x_425 = false;
-      if ((directions == 0)) {
-        canwalk = false;
-        i = 0;
-        {
-          while(true) {
-            if ((i < 8)) {
-            } else {
-              break;
-            }
-            j = 0;
-            {
-              while(true) {
-                if ((j < 8)) {
-                } else {
-                  break;
-                }
-                if ((map[((j * 2) + ((i * 2) * 16))] == 0)) {
-                  p[0u] = (j * 2);
-                  p[1u] = (i * 2);
-                  canwalk = true;
-                }
-                {
-                  j = (j + 1);
-                }
-                continue;
-              }
-            }
-            {
-              i = (i + 1);
-            }
-            continue;
-          }
-        }
-        int x_211 = p.x;
-        int x_213 = p.y;
-        map[(x_211 + (x_213 * 16))] = 1;
-      } else {
-        d = tint_mod_i32(v, directions);
-        v = (v + directions);
-        bool x_224 = (d >= 0);
-        x_230 = x_224;
-        if (x_224) {
-          x_229 = (p.x > 0);
-          x_230 = x_229;
-        }
-        x_243 = x_230;
-        if (x_230) {
-          x_242 = (map[((p.x - 2) + (p.y * 16))] == 0);
-          x_243 = x_242;
-        }
-        if (x_243) {
-          d = (d - 1);
-          int x_249 = p.x;
-          int x_251 = p.y;
-          map[(x_249 + (x_251 * 16))] = 1;
-          int x_256 = p.x;
-          int x_259 = p.y;
-          map[((x_256 - 1) + (x_259 * 16))] = 1;
-          int x_264 = p.x;
-          int x_267 = p.y;
-          map[((x_264 - 2) + (x_267 * 16))] = 1;
-          p[0u] = (p.x - 2);
-        }
-        bool x_276 = (d >= 0);
-        x_282 = x_276;
-        if (x_276) {
-          x_281 = (p.y > 0);
-          x_282 = x_281;
-        }
-        if (x_282) {
-          x_288 = p.x;
-          x_290 = x_288;
-        } else {
-          x_289 = 0;
-          x_290 = x_289;
-        }
-        if (x_282) {
-          x_295 = p.y;
-          x_297 = x_295;
-        } else {
-          x_296 = 0;
-          x_297 = x_296;
-        }
-        int x_299 = ((x_297 - 2) * 16);
-        if (x_282) {
-          x_303 = map;
-          x_305 = x_303;
-        } else {
-          x_304 = int[256](0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-          x_305 = x_304;
-        }
-        if (x_282) {
-          map = int[256](0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-        }
-        if (x_282) {
-          map = x_305;
-        }
-        if (x_282) {
-          x_315 = map[(x_290 + x_299)];
-          x_317 = x_315;
-        } else {
-          x_316 = 0;
-          x_317 = x_316;
-        }
-        if (((x_282) ? ((x_317 == 0)) : (x_282))) {
-          d = (d - 1);
-          int x_326 = p.x;
-          int x_328 = p.y;
-          map[(x_326 + (x_328 * 16))] = 1;
-          int x_333 = p.x;
-          int x_335 = p.y;
-          map[(x_333 + ((x_335 - 1) * 16))] = 1;
-          int x_341 = p.x;
-          int x_343 = p.y;
-          int x_345[256] = map;
-          map = int[256](0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-          map = x_345;
-          map[(x_341 + ((x_343 - 2) * 16))] = 1;
-          p[1u] = (p.y - 2);
-        }
-        bool x_354 = (d >= 0);
-        x_360 = x_354;
-        if (x_354) {
-          x_359 = (p.x < 14);
-          x_360 = x_359;
-        }
-        x_373 = x_360;
-        if (x_360) {
-          x_372 = (map[((p.x + 2) + (p.y * 16))] == 0);
-          x_373 = x_372;
-        }
-        if (x_373) {
-          d = (d - 1);
-          int x_379 = p.x;
-          int x_381 = p.y;
-          map[(x_379 + (x_381 * 16))] = 1;
-          int x_386 = p.x;
-          int x_389 = p.y;
-          map[((x_386 + 1) + (x_389 * 16))] = 1;
-          int x_394 = p.x;
-          int x_397 = p.y;
-          map[((x_394 + 2) + (x_397 * 16))] = 1;
-          p[0u] = (p.x + 2);
-        }
-        bool x_406 = (d >= 0);
-        x_412 = x_406;
-        if (x_406) {
-          x_411 = (p.y < 14);
-          x_412 = x_411;
-        }
-        x_425 = x_412;
-        if (x_412) {
-          x_424 = (map[(p.x + ((p.y + 2) * 16))] == 0);
-          x_425 = x_424;
-        }
-        if (x_425) {
-          d = (d - 1);
-          int x_431 = p.x;
-          int x_433 = p.y;
-          map[(x_431 + (x_433 * 16))] = 1;
-          int x_438 = p.x;
-          int x_440 = p.y;
-          map[(x_438 + ((x_440 + 1) * 16))] = 1;
-          int x_446 = p.x;
-          int x_448 = p.y;
-          map[(x_446 + ((x_448 + 2) * 16))] = 1;
-          p[1u] = (p.y + 2);
-        }
-      }
-      if ((map[((ipos.y * 16) + ipos.x)] == 1)) {
-        x_GLF_color = vec4(1.0f);
-        return;
-      }
-      {
-        bool x_468 = canwalk;
-        if (!(x_468)) { break; }
-      }
-      continue;
-    }
-  }
-  x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:23: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:23: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:23: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-maze-flatten-copy-composite/1.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-maze-flatten-copy-composite/1.wgsl.expected.ir.glsl
deleted file mode 100644
index cfed6fb..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-maze-flatten-copy-composite/1.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,420 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v_1;
-int map[256] = int[256](0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_mod_i32(int lhs, int rhs) {
-  int v_2 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_2) * v_2));
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  vec2 pos = vec2(0.0f);
-  ivec2 ipos = ivec2(0);
-  int i = 0;
-  ivec2 p = ivec2(0);
-  bool canwalk = false;
-  int v = 0;
-  int directions = 0;
-  int j = 0;
-  int d = 0;
-  vec4 x_59 = tint_symbol;
-  vec2 x_62 = v_1.tint_symbol_3.resolution;
-  pos = (vec2(x_59[0u], x_59[1u]) / x_62);
-  float x_65 = pos.x;
-  float x_69 = pos.y;
-  int v_3 = tint_f32_to_i32((x_65 * 16.0f));
-  ipos = ivec2(v_3, tint_f32_to_i32((x_69 * 16.0f)));
-  i = 0;
-  {
-    while(true) {
-      int x_77 = i;
-      if ((x_77 < 256)) {
-      } else {
-        break;
-      }
-      int x_80 = i;
-      map[x_80] = 0;
-      {
-        int x_82 = i;
-        i = (x_82 + 1);
-      }
-      continue;
-    }
-  }
-  p = ivec2(0);
-  canwalk = true;
-  v = 0;
-  {
-    while(true) {
-      bool x_104 = false;
-      bool x_124 = false;
-      bool x_144 = false;
-      bool x_164 = false;
-      bool x_105_phi = false;
-      bool x_125_phi = false;
-      bool x_145_phi = false;
-      bool x_165_phi = false;
-      int x_88 = v;
-      v = (x_88 + 1);
-      directions = 0;
-      int x_91 = p.x;
-      bool x_92 = (x_91 > 0);
-      x_105_phi = x_92;
-      if (x_92) {
-        int x_96 = p.x;
-        int x_99 = p.y;
-        int x_103 = map[((x_96 - 2) + (x_99 * 16))];
-        x_104 = (x_103 == 0);
-        x_105_phi = x_104;
-      }
-      bool x_105 = x_105_phi;
-      if (x_105) {
-        int x_108 = directions;
-        directions = (x_108 + 1);
-      }
-      int x_111 = p.y;
-      bool x_112 = (x_111 > 0);
-      x_125_phi = x_112;
-      if (x_112) {
-        int x_116 = p.x;
-        int x_118 = p.y;
-        int x_123 = map[(x_116 + ((x_118 - 2) * 16))];
-        x_124 = (x_123 == 0);
-        x_125_phi = x_124;
-      }
-      bool x_125 = x_125_phi;
-      if (x_125) {
-        int x_128 = directions;
-        directions = (x_128 + 1);
-      }
-      int x_131 = p.x;
-      bool x_132 = (x_131 < 14);
-      x_145_phi = x_132;
-      if (x_132) {
-        int x_136 = p.x;
-        int x_139 = p.y;
-        int x_143 = map[((x_136 + 2) + (x_139 * 16))];
-        x_144 = (x_143 == 0);
-        x_145_phi = x_144;
-      }
-      bool x_145 = x_145_phi;
-      if (x_145) {
-        int x_148 = directions;
-        directions = (x_148 + 1);
-      }
-      int x_151 = p.y;
-      bool x_152 = (x_151 < 14);
-      x_165_phi = x_152;
-      if (x_152) {
-        int x_156 = p.x;
-        int x_158 = p.y;
-        int x_163 = map[(x_156 + ((x_158 + 2) * 16))];
-        x_164 = (x_163 == 0);
-        x_165_phi = x_164;
-      }
-      bool x_165 = x_165_phi;
-      if (x_165) {
-        int x_168 = directions;
-        directions = (x_168 + 1);
-      }
-      bool x_229 = false;
-      bool x_242 = false;
-      bool x_281 = false;
-      int x_288 = 0;
-      int x_289 = 0;
-      int x_295 = 0;
-      int x_296 = 0;
-      int x_303[256] = int[256](0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-      int x_304[256] = int[256](0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-      int x_315 = 0;
-      int x_316 = 0;
-      bool x_359 = false;
-      bool x_372 = false;
-      bool x_411 = false;
-      bool x_424 = false;
-      bool x_230_phi = false;
-      bool x_243_phi = false;
-      bool x_282_phi = false;
-      int x_290_phi = 0;
-      int x_297_phi = 0;
-      int x_305_phi[256] = int[256](0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-      int x_317_phi = 0;
-      bool x_360_phi = false;
-      bool x_373_phi = false;
-      bool x_412_phi = false;
-      bool x_425_phi = false;
-      int x_170 = directions;
-      if ((x_170 == 0)) {
-        canwalk = false;
-        i = 0;
-        {
-          while(true) {
-            int x_179 = i;
-            if ((x_179 < 8)) {
-            } else {
-              break;
-            }
-            j = 0;
-            {
-              while(true) {
-                int x_186 = j;
-                if ((x_186 < 8)) {
-                } else {
-                  break;
-                }
-                int x_189 = j;
-                int x_191 = i;
-                int x_196 = map[((x_189 * 2) + ((x_191 * 2) * 16))];
-                if ((x_196 == 0)) {
-                  int x_200 = j;
-                  p[0u] = (x_200 * 2);
-                  int x_203 = i;
-                  p[1u] = (x_203 * 2);
-                  canwalk = true;
-                }
-                {
-                  int x_206 = j;
-                  j = (x_206 + 1);
-                }
-                continue;
-              }
-            }
-            {
-              int x_208 = i;
-              i = (x_208 + 1);
-            }
-            continue;
-          }
-        }
-        int x_211 = p.x;
-        int x_213 = p.y;
-        map[(x_211 + (x_213 * 16))] = 1;
-      } else {
-        int x_217 = v;
-        int x_218 = directions;
-        d = tint_mod_i32(x_217, x_218);
-        int x_220 = directions;
-        int x_221 = v;
-        v = (x_221 + x_220);
-        int x_223 = d;
-        bool x_224 = (x_223 >= 0);
-        x_230_phi = x_224;
-        if (x_224) {
-          int x_228 = p.x;
-          x_229 = (x_228 > 0);
-          x_230_phi = x_229;
-        }
-        bool x_230 = x_230_phi;
-        x_243_phi = x_230;
-        if (x_230) {
-          int x_234 = p.x;
-          int x_237 = p.y;
-          int x_241 = map[((x_234 - 2) + (x_237 * 16))];
-          x_242 = (x_241 == 0);
-          x_243_phi = x_242;
-        }
-        bool x_243 = x_243_phi;
-        if (x_243) {
-          int x_246 = d;
-          d = (x_246 - 1);
-          int x_249 = p.x;
-          int x_251 = p.y;
-          map[(x_249 + (x_251 * 16))] = 1;
-          int x_256 = p.x;
-          int x_259 = p.y;
-          map[((x_256 - 1) + (x_259 * 16))] = 1;
-          int x_264 = p.x;
-          int x_267 = p.y;
-          map[((x_264 - 2) + (x_267 * 16))] = 1;
-          int x_272 = p.x;
-          p[0u] = (x_272 - 2);
-        }
-        int x_275 = d;
-        bool x_276 = (x_275 >= 0);
-        x_282_phi = x_276;
-        if (x_276) {
-          int x_280 = p.y;
-          x_281 = (x_280 > 0);
-          x_282_phi = x_281;
-        }
-        bool x_282 = x_282_phi;
-        if (x_282) {
-          x_288 = p.x;
-          x_290_phi = x_288;
-        } else {
-          x_289 = 0;
-          x_290_phi = x_289;
-        }
-        int x_290 = x_290_phi;
-        if (x_282) {
-          x_295 = p.y;
-          x_297_phi = x_295;
-        } else {
-          x_296 = 0;
-          x_297_phi = x_296;
-        }
-        int x_297 = x_297_phi;
-        int x_299 = ((x_297 - 2) * 16);
-        if (x_282) {
-          x_303 = map;
-          x_305_phi = x_303;
-        } else {
-          x_304 = int[256](0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-          x_305_phi = x_304;
-        }
-        int x_305[256] = x_305_phi;
-        if (x_282) {
-          map = int[256](0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-        }
-        if (x_282) {
-          map = x_305;
-        }
-        if (x_282) {
-          x_315 = map[(x_290 + x_299)];
-          x_317_phi = x_315;
-        } else {
-          x_316 = 0;
-          x_317_phi = x_316;
-        }
-        int x_317 = x_317_phi;
-        bool x_318 = (x_317 == 0);
-        if (((x_282) ? (x_318) : (x_282))) {
-          int x_323 = d;
-          d = (x_323 - 1);
-          int x_326 = p.x;
-          int x_328 = p.y;
-          map[(x_326 + (x_328 * 16))] = 1;
-          int x_333 = p.x;
-          int x_335 = p.y;
-          map[(x_333 + ((x_335 - 1) * 16))] = 1;
-          int x_341 = p.x;
-          int x_343 = p.y;
-          int x_345[256] = map;
-          map = int[256](0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-          map = x_345;
-          map[(x_341 + ((x_343 - 2) * 16))] = 1;
-          int x_350 = p.y;
-          p[1u] = (x_350 - 2);
-        }
-        int x_353 = d;
-        bool x_354 = (x_353 >= 0);
-        x_360_phi = x_354;
-        if (x_354) {
-          int x_358 = p.x;
-          x_359 = (x_358 < 14);
-          x_360_phi = x_359;
-        }
-        bool x_360 = x_360_phi;
-        x_373_phi = x_360;
-        if (x_360) {
-          int x_364 = p.x;
-          int x_367 = p.y;
-          int x_371 = map[((x_364 + 2) + (x_367 * 16))];
-          x_372 = (x_371 == 0);
-          x_373_phi = x_372;
-        }
-        bool x_373 = x_373_phi;
-        if (x_373) {
-          int x_376 = d;
-          d = (x_376 - 1);
-          int x_379 = p.x;
-          int x_381 = p.y;
-          map[(x_379 + (x_381 * 16))] = 1;
-          int x_386 = p.x;
-          int x_389 = p.y;
-          map[((x_386 + 1) + (x_389 * 16))] = 1;
-          int x_394 = p.x;
-          int x_397 = p.y;
-          map[((x_394 + 2) + (x_397 * 16))] = 1;
-          int x_402 = p.x;
-          p[0u] = (x_402 + 2);
-        }
-        int x_405 = d;
-        bool x_406 = (x_405 >= 0);
-        x_412_phi = x_406;
-        if (x_406) {
-          int x_410 = p.y;
-          x_411 = (x_410 < 14);
-          x_412_phi = x_411;
-        }
-        bool x_412 = x_412_phi;
-        x_425_phi = x_412;
-        if (x_412) {
-          int x_416 = p.x;
-          int x_418 = p.y;
-          int x_423 = map[(x_416 + ((x_418 + 2) * 16))];
-          x_424 = (x_423 == 0);
-          x_425_phi = x_424;
-        }
-        bool x_425 = x_425_phi;
-        if (x_425) {
-          int x_428 = d;
-          d = (x_428 - 1);
-          int x_431 = p.x;
-          int x_433 = p.y;
-          map[(x_431 + (x_433 * 16))] = 1;
-          int x_438 = p.x;
-          int x_440 = p.y;
-          map[(x_438 + ((x_440 + 1) * 16))] = 1;
-          int x_446 = p.x;
-          int x_448 = p.y;
-          map[(x_446 + ((x_448 + 2) * 16))] = 1;
-          int x_454 = p.y;
-          p[1u] = (x_454 + 2);
-        }
-      }
-      int x_458 = ipos.y;
-      int x_461 = ipos.x;
-      int x_464 = map[((x_458 * 16) + x_461)];
-      if ((x_464 == 1)) {
-        x_GLF_color = vec4(1.0f);
-        return;
-      }
-      {
-        bool x_468 = canwalk;
-        if (!(x_468)) { break; }
-      }
-      continue;
-    }
-  }
-  x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:23: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:23: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:23: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-maze-flatten-copy-composite/2.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-maze-flatten-copy-composite/2.spvasm.expected.ir.glsl
deleted file mode 100644
index 22c8487..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-maze-flatten-copy-composite/2.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,300 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v_1;
-int map[256] = int[256](0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_mod_i32(int lhs, int rhs) {
-  int v_2 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_2) * v_2));
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  vec2 pos = vec2(0.0f);
-  ivec2 ipos = ivec2(0);
-  int i = 0;
-  ivec2 p = ivec2(0);
-  bool canwalk = false;
-  int v = 0;
-  int directions = 0;
-  int j = 0;
-  int d = 0;
-  pos = (tint_symbol.xy / v_1.tint_symbol_3.resolution);
-  int v_3 = tint_f32_to_i32((pos.x * 16.0f));
-  ipos = ivec2(v_3, tint_f32_to_i32((pos.y * 16.0f)));
-  i = 0;
-  {
-    while(true) {
-      if ((i < 256)) {
-      } else {
-        break;
-      }
-      int x_80 = i;
-      map[x_80] = 0;
-      {
-        i = (i + 1);
-      }
-      continue;
-    }
-  }
-  p = ivec2(0);
-  canwalk = true;
-  v = 0;
-  {
-    while(true) {
-      bool x_104 = false;
-      bool x_105 = false;
-      bool x_124 = false;
-      bool x_125 = false;
-      bool x_144 = false;
-      bool x_145 = false;
-      bool x_164 = false;
-      bool x_165 = false;
-      v = (v + 1);
-      directions = 0;
-      bool x_92 = (p.x > 0);
-      x_105 = x_92;
-      if (x_92) {
-        x_104 = (map[((p.x - 2) + (p.y * 16))] == 0);
-        x_105 = x_104;
-      }
-      if (x_105) {
-        directions = (directions + 1);
-      }
-      bool x_112 = (p.y > 0);
-      x_125 = x_112;
-      if (x_112) {
-        x_124 = (map[(p.x + ((p.y - 2) * 16))] == 0);
-        x_125 = x_124;
-      }
-      if (x_125) {
-        directions = (directions + 1);
-      }
-      bool x_132 = (p.x < 14);
-      x_145 = x_132;
-      if (x_132) {
-        x_144 = (map[((p.x + 2) + (p.y * 16))] == 0);
-        x_145 = x_144;
-      }
-      if (x_145) {
-        directions = (directions + 1);
-      }
-      bool x_152 = (p.y < 14);
-      x_165 = x_152;
-      if (x_152) {
-        x_164 = (map[(p.x + ((p.y + 2) * 16))] == 0);
-        x_165 = x_164;
-      }
-      if (x_165) {
-        directions = (directions + 1);
-      }
-      bool x_229 = false;
-      bool x_230 = false;
-      bool x_242 = false;
-      bool x_243 = false;
-      bool x_281 = false;
-      bool x_282 = false;
-      bool x_295 = false;
-      bool x_296 = false;
-      bool x_335 = false;
-      bool x_336 = false;
-      bool x_348 = false;
-      bool x_349 = false;
-      bool x_387 = false;
-      bool x_388 = false;
-      bool x_400 = false;
-      bool x_401 = false;
-      if ((directions == 0)) {
-        canwalk = false;
-        i = 0;
-        {
-          while(true) {
-            if ((i < 8)) {
-            } else {
-              break;
-            }
-            j = 0;
-            {
-              while(true) {
-                if ((j < 8)) {
-                } else {
-                  break;
-                }
-                if ((map[((j * 2) + ((i * 2) * 16))] == 0)) {
-                  p[0u] = (j * 2);
-                  p[1u] = (i * 2);
-                  canwalk = true;
-                }
-                {
-                  j = (j + 1);
-                }
-                continue;
-              }
-            }
-            {
-              i = (i + 1);
-            }
-            continue;
-          }
-        }
-        int x_211 = p.x;
-        int x_213 = p.y;
-        map[(x_211 + (x_213 * 16))] = 1;
-      } else {
-        d = tint_mod_i32(v, directions);
-        v = (v + directions);
-        bool x_224 = (d >= 0);
-        x_230 = x_224;
-        if (x_224) {
-          x_229 = (p.x > 0);
-          x_230 = x_229;
-        }
-        x_243 = x_230;
-        if (x_230) {
-          x_242 = (map[((p.x - 2) + (p.y * 16))] == 0);
-          x_243 = x_242;
-        }
-        if (x_243) {
-          d = (d - 1);
-          int x_249 = p.x;
-          int x_251 = p.y;
-          map[(x_249 + (x_251 * 16))] = 1;
-          int x_256 = p.x;
-          int x_259 = p.y;
-          map[((x_256 - 1) + (x_259 * 16))] = 1;
-          int x_264 = p.x;
-          int x_267 = p.y;
-          map[((x_264 - 2) + (x_267 * 16))] = 1;
-          p[0u] = (p.x - 2);
-        }
-        bool x_276 = (d >= 0);
-        x_282 = x_276;
-        if (x_276) {
-          x_281 = (p.y > 0);
-          x_282 = x_281;
-        }
-        x_296 = x_282;
-        if (x_282) {
-          int x_286 = p.x;
-          int x_288 = p.y;
-          int x_291[256] = map;
-          map = int[256](0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-          map = x_291;
-          x_295 = (map[(x_286 + ((x_288 - 2) * 16))] == 0);
-          x_296 = x_295;
-        }
-        if (x_296) {
-          d = (d - 1);
-          int x_302 = p.x;
-          int x_304 = p.y;
-          map[(x_302 + (x_304 * 16))] = 1;
-          int x_309 = p.x;
-          int x_311 = p.y;
-          map[(x_309 + ((x_311 - 1) * 16))] = 1;
-          int x_317 = p.x;
-          int x_319 = p.y;
-          int x_321[256] = map;
-          map = int[256](0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-          map = x_321;
-          map[(x_317 + ((x_319 - 2) * 16))] = 1;
-          p[1u] = (p.y - 2);
-        }
-        bool x_330 = (d >= 0);
-        x_336 = x_330;
-        if (x_330) {
-          x_335 = (p.x < 14);
-          x_336 = x_335;
-        }
-        x_349 = x_336;
-        if (x_336) {
-          x_348 = (map[((p.x + 2) + (p.y * 16))] == 0);
-          x_349 = x_348;
-        }
-        if (x_349) {
-          d = (d - 1);
-          int x_355 = p.x;
-          int x_357 = p.y;
-          map[(x_355 + (x_357 * 16))] = 1;
-          int x_362 = p.x;
-          int x_365 = p.y;
-          map[((x_362 + 1) + (x_365 * 16))] = 1;
-          int x_370 = p.x;
-          int x_373 = p.y;
-          map[((x_370 + 2) + (x_373 * 16))] = 1;
-          p[0u] = (p.x + 2);
-        }
-        bool x_382 = (d >= 0);
-        x_388 = x_382;
-        if (x_382) {
-          x_387 = (p.y < 14);
-          x_388 = x_387;
-        }
-        x_401 = x_388;
-        if (x_388) {
-          x_400 = (map[(p.x + ((p.y + 2) * 16))] == 0);
-          x_401 = x_400;
-        }
-        if (x_401) {
-          d = (d - 1);
-          int x_407 = p.x;
-          int x_409 = p.y;
-          map[(x_407 + (x_409 * 16))] = 1;
-          int x_414 = p.x;
-          int x_416 = p.y;
-          map[(x_414 + ((x_416 + 1) * 16))] = 1;
-          int x_422 = p.x;
-          int x_424 = p.y;
-          map[(x_422 + ((x_424 + 2) * 16))] = 1;
-          p[1u] = (p.y + 2);
-        }
-      }
-      if ((map[((ipos.y * 16) + ipos.x)] == 1)) {
-        x_GLF_color = vec4(1.0f);
-        return;
-      }
-      {
-        bool x_444 = canwalk;
-        if (!(x_444)) { break; }
-      }
-      continue;
-    }
-  }
-  x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:23: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:23: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:23: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-maze-flatten-copy-composite/2.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-maze-flatten-copy-composite/2.wgsl.expected.ir.glsl
deleted file mode 100644
index 4493c6b..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-maze-flatten-copy-composite/2.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,382 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v_1;
-int map[256] = int[256](0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_mod_i32(int lhs, int rhs) {
-  int v_2 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_2) * v_2));
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  vec2 pos = vec2(0.0f);
-  ivec2 ipos = ivec2(0);
-  int i = 0;
-  ivec2 p = ivec2(0);
-  bool canwalk = false;
-  int v = 0;
-  int directions = 0;
-  int j = 0;
-  int d = 0;
-  vec4 x_59 = tint_symbol;
-  vec2 x_62 = v_1.tint_symbol_3.resolution;
-  pos = (vec2(x_59[0u], x_59[1u]) / x_62);
-  float x_65 = pos.x;
-  float x_69 = pos.y;
-  int v_3 = tint_f32_to_i32((x_65 * 16.0f));
-  ipos = ivec2(v_3, tint_f32_to_i32((x_69 * 16.0f)));
-  i = 0;
-  {
-    while(true) {
-      int x_77 = i;
-      if ((x_77 < 256)) {
-      } else {
-        break;
-      }
-      int x_80 = i;
-      map[x_80] = 0;
-      {
-        int x_82 = i;
-        i = (x_82 + 1);
-      }
-      continue;
-    }
-  }
-  p = ivec2(0);
-  canwalk = true;
-  v = 0;
-  {
-    while(true) {
-      bool x_104 = false;
-      bool x_124 = false;
-      bool x_144 = false;
-      bool x_164 = false;
-      bool x_105_phi = false;
-      bool x_125_phi = false;
-      bool x_145_phi = false;
-      bool x_165_phi = false;
-      int x_88 = v;
-      v = (x_88 + 1);
-      directions = 0;
-      int x_91 = p.x;
-      bool x_92 = (x_91 > 0);
-      x_105_phi = x_92;
-      if (x_92) {
-        int x_96 = p.x;
-        int x_99 = p.y;
-        int x_103 = map[((x_96 - 2) + (x_99 * 16))];
-        x_104 = (x_103 == 0);
-        x_105_phi = x_104;
-      }
-      bool x_105 = x_105_phi;
-      if (x_105) {
-        int x_108 = directions;
-        directions = (x_108 + 1);
-      }
-      int x_111 = p.y;
-      bool x_112 = (x_111 > 0);
-      x_125_phi = x_112;
-      if (x_112) {
-        int x_116 = p.x;
-        int x_118 = p.y;
-        int x_123 = map[(x_116 + ((x_118 - 2) * 16))];
-        x_124 = (x_123 == 0);
-        x_125_phi = x_124;
-      }
-      bool x_125 = x_125_phi;
-      if (x_125) {
-        int x_128 = directions;
-        directions = (x_128 + 1);
-      }
-      int x_131 = p.x;
-      bool x_132 = (x_131 < 14);
-      x_145_phi = x_132;
-      if (x_132) {
-        int x_136 = p.x;
-        int x_139 = p.y;
-        int x_143 = map[((x_136 + 2) + (x_139 * 16))];
-        x_144 = (x_143 == 0);
-        x_145_phi = x_144;
-      }
-      bool x_145 = x_145_phi;
-      if (x_145) {
-        int x_148 = directions;
-        directions = (x_148 + 1);
-      }
-      int x_151 = p.y;
-      bool x_152 = (x_151 < 14);
-      x_165_phi = x_152;
-      if (x_152) {
-        int x_156 = p.x;
-        int x_158 = p.y;
-        int x_163 = map[(x_156 + ((x_158 + 2) * 16))];
-        x_164 = (x_163 == 0);
-        x_165_phi = x_164;
-      }
-      bool x_165 = x_165_phi;
-      if (x_165) {
-        int x_168 = directions;
-        directions = (x_168 + 1);
-      }
-      bool x_229 = false;
-      bool x_242 = false;
-      bool x_281 = false;
-      bool x_295 = false;
-      bool x_335 = false;
-      bool x_348 = false;
-      bool x_387 = false;
-      bool x_400 = false;
-      bool x_230_phi = false;
-      bool x_243_phi = false;
-      bool x_282_phi = false;
-      bool x_296_phi = false;
-      bool x_336_phi = false;
-      bool x_349_phi = false;
-      bool x_388_phi = false;
-      bool x_401_phi = false;
-      int x_170 = directions;
-      if ((x_170 == 0)) {
-        canwalk = false;
-        i = 0;
-        {
-          while(true) {
-            int x_179 = i;
-            if ((x_179 < 8)) {
-            } else {
-              break;
-            }
-            j = 0;
-            {
-              while(true) {
-                int x_186 = j;
-                if ((x_186 < 8)) {
-                } else {
-                  break;
-                }
-                int x_189 = j;
-                int x_191 = i;
-                int x_196 = map[((x_189 * 2) + ((x_191 * 2) * 16))];
-                if ((x_196 == 0)) {
-                  int x_200 = j;
-                  p[0u] = (x_200 * 2);
-                  int x_203 = i;
-                  p[1u] = (x_203 * 2);
-                  canwalk = true;
-                }
-                {
-                  int x_206 = j;
-                  j = (x_206 + 1);
-                }
-                continue;
-              }
-            }
-            {
-              int x_208 = i;
-              i = (x_208 + 1);
-            }
-            continue;
-          }
-        }
-        int x_211 = p.x;
-        int x_213 = p.y;
-        map[(x_211 + (x_213 * 16))] = 1;
-      } else {
-        int x_217 = v;
-        int x_218 = directions;
-        d = tint_mod_i32(x_217, x_218);
-        int x_220 = directions;
-        int x_221 = v;
-        v = (x_221 + x_220);
-        int x_223 = d;
-        bool x_224 = (x_223 >= 0);
-        x_230_phi = x_224;
-        if (x_224) {
-          int x_228 = p.x;
-          x_229 = (x_228 > 0);
-          x_230_phi = x_229;
-        }
-        bool x_230 = x_230_phi;
-        x_243_phi = x_230;
-        if (x_230) {
-          int x_234 = p.x;
-          int x_237 = p.y;
-          int x_241 = map[((x_234 - 2) + (x_237 * 16))];
-          x_242 = (x_241 == 0);
-          x_243_phi = x_242;
-        }
-        bool x_243 = x_243_phi;
-        if (x_243) {
-          int x_246 = d;
-          d = (x_246 - 1);
-          int x_249 = p.x;
-          int x_251 = p.y;
-          map[(x_249 + (x_251 * 16))] = 1;
-          int x_256 = p.x;
-          int x_259 = p.y;
-          map[((x_256 - 1) + (x_259 * 16))] = 1;
-          int x_264 = p.x;
-          int x_267 = p.y;
-          map[((x_264 - 2) + (x_267 * 16))] = 1;
-          int x_272 = p.x;
-          p[0u] = (x_272 - 2);
-        }
-        int x_275 = d;
-        bool x_276 = (x_275 >= 0);
-        x_282_phi = x_276;
-        if (x_276) {
-          int x_280 = p.y;
-          x_281 = (x_280 > 0);
-          x_282_phi = x_281;
-        }
-        bool x_282 = x_282_phi;
-        x_296_phi = x_282;
-        if (x_282) {
-          int x_286 = p.x;
-          int x_288 = p.y;
-          int x_291[256] = map;
-          map = int[256](0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-          map = x_291;
-          int x_294 = map[(x_286 + ((x_288 - 2) * 16))];
-          x_295 = (x_294 == 0);
-          x_296_phi = x_295;
-        }
-        bool x_296 = x_296_phi;
-        if (x_296) {
-          int x_299 = d;
-          d = (x_299 - 1);
-          int x_302 = p.x;
-          int x_304 = p.y;
-          map[(x_302 + (x_304 * 16))] = 1;
-          int x_309 = p.x;
-          int x_311 = p.y;
-          map[(x_309 + ((x_311 - 1) * 16))] = 1;
-          int x_317 = p.x;
-          int x_319 = p.y;
-          int x_321[256] = map;
-          map = int[256](0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-          map = x_321;
-          map[(x_317 + ((x_319 - 2) * 16))] = 1;
-          int x_326 = p.y;
-          p[1u] = (x_326 - 2);
-        }
-        int x_329 = d;
-        bool x_330 = (x_329 >= 0);
-        x_336_phi = x_330;
-        if (x_330) {
-          int x_334 = p.x;
-          x_335 = (x_334 < 14);
-          x_336_phi = x_335;
-        }
-        bool x_336 = x_336_phi;
-        x_349_phi = x_336;
-        if (x_336) {
-          int x_340 = p.x;
-          int x_343 = p.y;
-          int x_347 = map[((x_340 + 2) + (x_343 * 16))];
-          x_348 = (x_347 == 0);
-          x_349_phi = x_348;
-        }
-        bool x_349 = x_349_phi;
-        if (x_349) {
-          int x_352 = d;
-          d = (x_352 - 1);
-          int x_355 = p.x;
-          int x_357 = p.y;
-          map[(x_355 + (x_357 * 16))] = 1;
-          int x_362 = p.x;
-          int x_365 = p.y;
-          map[((x_362 + 1) + (x_365 * 16))] = 1;
-          int x_370 = p.x;
-          int x_373 = p.y;
-          map[((x_370 + 2) + (x_373 * 16))] = 1;
-          int x_378 = p.x;
-          p[0u] = (x_378 + 2);
-        }
-        int x_381 = d;
-        bool x_382 = (x_381 >= 0);
-        x_388_phi = x_382;
-        if (x_382) {
-          int x_386 = p.y;
-          x_387 = (x_386 < 14);
-          x_388_phi = x_387;
-        }
-        bool x_388 = x_388_phi;
-        x_401_phi = x_388;
-        if (x_388) {
-          int x_392 = p.x;
-          int x_394 = p.y;
-          int x_399 = map[(x_392 + ((x_394 + 2) * 16))];
-          x_400 = (x_399 == 0);
-          x_401_phi = x_400;
-        }
-        bool x_401 = x_401_phi;
-        if (x_401) {
-          int x_404 = d;
-          d = (x_404 - 1);
-          int x_407 = p.x;
-          int x_409 = p.y;
-          map[(x_407 + (x_409 * 16))] = 1;
-          int x_414 = p.x;
-          int x_416 = p.y;
-          map[(x_414 + ((x_416 + 1) * 16))] = 1;
-          int x_422 = p.x;
-          int x_424 = p.y;
-          map[(x_422 + ((x_424 + 2) * 16))] = 1;
-          int x_430 = p.y;
-          p[1u] = (x_430 + 2);
-        }
-      }
-      int x_434 = ipos.y;
-      int x_437 = ipos.x;
-      int x_440 = map[((x_434 * 16) + x_437)];
-      if ((x_440 == 1)) {
-        x_GLF_color = vec4(1.0f);
-        return;
-      }
-      {
-        bool x_444 = canwalk;
-        if (!(x_444)) { break; }
-      }
-      continue;
-    }
-  }
-  x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:23: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:23: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:23: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-O-prop-up-mutate-var/1.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-O-prop-up-mutate-var/1.spvasm.expected.ir.glsl
deleted file mode 100644
index a8d347b..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-O-prop-up-mutate-var/1.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,350 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 injectionSwitch;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 tint_symbol = vec4(0.0f);
-vec4 x_GLF_color = vec4(0.0f);
-bool continue_execution = true;
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  int temp[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-  int data[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-  int x_63 = 0;
-  int x_103 = 0;
-  int x_112 = 0;
-  float x_190 = 0.0f;
-  float x_262 = 0.0f;
-  float x_263 = 0.0f;
-  x_63 = tint_f32_to_i32(v.tint_symbol_3.injectionSwitch.x);
-  {
-    while(true) {
-      int x_100 = 0;
-      int x_98 = 0;
-      int x_96 = 0;
-      int x_94 = 0;
-      int x_92 = 0;
-      int x_90 = 0;
-      int x_88 = 0;
-      int x_86 = 0;
-      int x_84 = 0;
-      int x_82 = 0;
-      int x_64 = 0;
-      int x_68[10] = data;
-      data = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-      data = x_68;
-      x_64 = (x_63 + 1);
-      switch(x_63) {
-        case 9:
-        {
-          data[x_63] = -5;
-          x_100 = (x_63 + 1);
-          x_64 = x_100;
-          break;
-        }
-        case 8:
-        {
-          data[x_63] = -4;
-          x_98 = (x_63 + 1);
-          x_64 = x_98;
-          break;
-        }
-        case 7:
-        {
-          data[x_63] = -3;
-          x_96 = (x_63 + 1);
-          x_64 = x_96;
-          break;
-        }
-        case 6:
-        {
-          data[x_63] = -2;
-          x_94 = (x_63 + 1);
-          x_64 = x_94;
-          break;
-        }
-        case 5:
-        {
-          data[x_63] = -1;
-          x_92 = (x_63 + 1);
-          x_64 = x_92;
-          break;
-        }
-        case 4:
-        {
-          data[x_63] = 0;
-          x_90 = (x_63 + 1);
-          x_64 = x_90;
-          break;
-        }
-        case 3:
-        {
-          data[x_63] = 1;
-          x_88 = (x_63 + 1);
-          x_64 = x_88;
-          break;
-        }
-        case 2:
-        {
-          data[x_63] = 2;
-          x_86 = (x_63 + 1);
-          x_64 = x_86;
-          break;
-        }
-        case 1:
-        {
-          data[x_63] = 3;
-          x_84 = (x_63 + 1);
-          x_64 = x_84;
-          break;
-        }
-        case 0:
-        {
-          data[x_63] = 4;
-          x_82 = (x_63 + 1);
-          x_64 = x_82;
-          break;
-        }
-        default:
-        {
-          break;
-        }
-      }
-      {
-        x_63 = x_64;
-        if (!((x_64 < 10))) { break; }
-      }
-      continue;
-    }
-  }
-  x_103 = 0;
-  {
-    while(true) {
-      int x_104 = 0;
-      if ((x_103 < 10)) {
-      } else {
-        break;
-      }
-      {
-        temp[x_103] = data[x_103];
-        x_104 = (x_103 + 1);
-        x_103 = x_104;
-      }
-      continue;
-    }
-  }
-  x_112 = 1;
-  {
-    while(true) {
-      int x_119 = 0;
-      int x_113 = 0;
-      if ((x_112 <= 9)) {
-      } else {
-        break;
-      }
-      x_119 = 0;
-      {
-        while(true) {
-          int x_131 = 0;
-          int x_134 = 0;
-          int x_136 = 0;
-          int x_158 = 0;
-          int x_161 = 0;
-          int x_171 = 0;
-          if ((x_119 < 9)) {
-          } else {
-            break;
-          }
-          int x_125 = (x_119 + x_112);
-          int x_126 = (x_125 - 1);
-          int x_120 = (x_119 + (2 * x_112));
-          int x_129 = min((x_120 - 1), 9);
-          x_131 = x_119;
-          x_134 = x_125;
-          x_136 = x_119;
-          {
-            while(true) {
-              int x_151 = 0;
-              int x_154 = 0;
-              int x_135 = 0;
-              int x_137 = 0;
-              if (((x_136 <= x_126) & (x_134 <= x_129))) {
-              } else {
-                break;
-              }
-              int x_143_save = x_136;
-              int x_145_save = x_134;
-              int x_132 = (x_131 + 1);
-              if ((data[x_136] < data[x_134])) {
-                x_151 = (x_136 + 1);
-                temp[x_131] = data[x_143_save];
-                x_135 = x_134;
-                x_137 = x_151;
-              } else {
-                x_154 = (x_134 + 1);
-                temp[x_131] = data[x_145_save];
-                x_135 = x_154;
-                x_137 = x_136;
-              }
-              {
-                x_131 = x_132;
-                x_134 = x_135;
-                x_136 = x_137;
-              }
-              continue;
-            }
-          }
-          x_158 = x_131;
-          x_161 = x_136;
-          {
-            while(true) {
-              int x_159 = 0;
-              int x_162 = 0;
-              if (((x_161 < 10) & (x_161 <= x_126))) {
-              } else {
-                break;
-              }
-              {
-                x_159 = (x_158 + 1);
-                x_162 = (x_161 + 1);
-                temp[x_158] = data[x_161];
-                x_158 = x_159;
-                x_161 = x_162;
-              }
-              continue;
-            }
-          }
-          x_171 = x_119;
-          {
-            while(true) {
-              int x_172 = 0;
-              if ((x_171 <= x_129)) {
-              } else {
-                break;
-              }
-              {
-                data[x_171] = temp[x_171];
-                x_172 = (x_171 + 1);
-                x_171 = x_172;
-              }
-              continue;
-            }
-          }
-          {
-            x_119 = x_120;
-          }
-          continue;
-        }
-      }
-      {
-        x_113 = (2 * x_112);
-        x_112 = x_113;
-      }
-      continue;
-    }
-  }
-  int x_181 = 0;
-  float x_199 = 0.0f;
-  float x_261 = 0.0f;
-  x_181 = tint_f32_to_i32(tint_symbol.y);
-  if ((x_181 < 30)) {
-    x_190 = (0.5f + (float(data[0]) * 0.10000000149011611938f));
-    x_263 = x_190;
-  } else {
-    float x_208 = 0.0f;
-    float x_260 = 0.0f;
-    if ((x_181 < 60)) {
-      x_199 = (0.5f + (float(data[1]) * 0.10000000149011611938f));
-      x_262 = x_199;
-    } else {
-      float x_217 = 0.0f;
-      float x_259 = 0.0f;
-      if ((x_181 < 90)) {
-        x_208 = (0.5f + (float(data[2]) * 0.10000000149011611938f));
-        x_261 = x_208;
-      } else {
-        if ((x_181 < 120)) {
-          x_217 = (0.5f + (float(data[3]) * 0.10000000149011611938f));
-          x_260 = x_217;
-        } else {
-          float x_230 = 0.0f;
-          float x_258 = 0.0f;
-          if ((x_181 < 150)) {
-            continue_execution = false;
-          } else {
-            float x_239 = 0.0f;
-            float x_257 = 0.0f;
-            if ((x_181 < 180)) {
-              x_230 = (0.5f + (float(data[5]) * 0.10000000149011611938f));
-              x_259 = x_230;
-            } else {
-              float x_248 = 0.0f;
-              float x_256 = 0.0f;
-              if ((x_181 < 210)) {
-                x_239 = (0.5f + (float(data[6]) * 0.10000000149011611938f));
-                x_258 = x_239;
-              } else {
-                if ((x_181 < 240)) {
-                  x_248 = (0.5f + (float(data[7]) * 0.10000000149011611938f));
-                  x_257 = x_248;
-                } else {
-                  if ((x_181 < 270)) {
-                  } else {
-                    continue_execution = false;
-                  }
-                  x_256 = (0.5f + (float(data[8]) * 0.10000000149011611938f));
-                  x_257 = x_256;
-                }
-                x_258 = x_257;
-              }
-              x_259 = x_258;
-            }
-          }
-          x_260 = x_259;
-        }
-        x_261 = x_260;
-      }
-      x_262 = x_261;
-    }
-    x_263 = x_262;
-  }
-  x_GLF_color = vec4(x_263, x_263, x_263, 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out v_1 = main_out(x_GLF_color);
-  if (!(continue_execution)) {
-    discard;
-  }
-  return v_1;
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:186: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:186: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-O-prop-up-mutate-var/1.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-O-prop-up-mutate-var/1.wgsl.expected.ir.glsl
deleted file mode 100644
index 9bd5cb8..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-O-prop-up-mutate-var/1.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,397 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 injectionSwitch;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 tint_symbol = vec4(0.0f);
-vec4 x_GLF_color = vec4(0.0f);
-bool continue_execution = true;
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  int temp[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-  int data[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-  float x_190 = 0.0f;
-  float x_262 = 0.0f;
-  int x_63_phi = 0;
-  int x_103_phi = 0;
-  int x_112_phi = 0;
-  float x_263_phi = 0.0f;
-  float x_60 = v.tint_symbol_3.injectionSwitch.x;
-  int x_61 = tint_f32_to_i32(x_60);
-  x_63_phi = x_61;
-  {
-    while(true) {
-      int x_100 = 0;
-      int x_98 = 0;
-      int x_96 = 0;
-      int x_94 = 0;
-      int x_92 = 0;
-      int x_90 = 0;
-      int x_88 = 0;
-      int x_86 = 0;
-      int x_84 = 0;
-      int x_82 = 0;
-      int x_64_phi = 0;
-      int x_63 = x_63_phi;
-      int x_68[10] = data;
-      data = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-      data = x_68;
-      int x_69 = (x_63 + 1);
-      x_64_phi = x_69;
-      switch(x_63) {
-        case 9:
-        {
-          data[x_63] = -5;
-          x_100 = (x_63 + 1);
-          x_64_phi = x_100;
-          break;
-        }
-        case 8:
-        {
-          data[x_63] = -4;
-          x_98 = (x_63 + 1);
-          x_64_phi = x_98;
-          break;
-        }
-        case 7:
-        {
-          data[x_63] = -3;
-          x_96 = (x_63 + 1);
-          x_64_phi = x_96;
-          break;
-        }
-        case 6:
-        {
-          data[x_63] = -2;
-          x_94 = (x_63 + 1);
-          x_64_phi = x_94;
-          break;
-        }
-        case 5:
-        {
-          data[x_63] = -1;
-          x_92 = (x_63 + 1);
-          x_64_phi = x_92;
-          break;
-        }
-        case 4:
-        {
-          data[x_63] = 0;
-          x_90 = (x_63 + 1);
-          x_64_phi = x_90;
-          break;
-        }
-        case 3:
-        {
-          data[x_63] = 1;
-          x_88 = (x_63 + 1);
-          x_64_phi = x_88;
-          break;
-        }
-        case 2:
-        {
-          data[x_63] = 2;
-          x_86 = (x_63 + 1);
-          x_64_phi = x_86;
-          break;
-        }
-        case 1:
-        {
-          data[x_63] = 3;
-          x_84 = (x_63 + 1);
-          x_64_phi = x_84;
-          break;
-        }
-        case 0:
-        {
-          data[x_63] = 4;
-          x_82 = (x_63 + 1);
-          x_64_phi = x_82;
-          break;
-        }
-        default:
-        {
-          break;
-        }
-      }
-      int x_64 = x_64_phi;
-      {
-        x_63_phi = x_64;
-        if (!((x_64 < 10))) { break; }
-      }
-      continue;
-    }
-  }
-  x_103_phi = 0;
-  {
-    while(true) {
-      int x_104 = 0;
-      int x_103 = x_103_phi;
-      if ((x_103 < 10)) {
-      } else {
-        break;
-      }
-      {
-        int x_109 = data[x_103];
-        temp[x_103] = x_109;
-        x_104 = (x_103 + 1);
-        x_103_phi = x_104;
-      }
-      continue;
-    }
-  }
-  x_112_phi = 1;
-  {
-    while(true) {
-      int x_113 = 0;
-      int x_119_phi = 0;
-      int x_112 = x_112_phi;
-      if ((x_112 <= 9)) {
-      } else {
-        break;
-      }
-      x_119_phi = 0;
-      {
-        while(true) {
-          int x_131 = 0;
-          int x_136 = 0;
-          int x_131_phi = 0;
-          int x_134_phi = 0;
-          int x_136_phi = 0;
-          int x_158_phi = 0;
-          int x_161_phi = 0;
-          int x_171_phi = 0;
-          int x_119 = x_119_phi;
-          if ((x_119 < 9)) {
-          } else {
-            break;
-          }
-          int x_125 = (x_119 + x_112);
-          int x_126 = (x_125 - 1);
-          int x_120 = (x_119 + (2 * x_112));
-          int x_129 = min((x_120 - 1), 9);
-          x_131_phi = x_119;
-          x_134_phi = x_125;
-          x_136_phi = x_119;
-          {
-            while(true) {
-              int x_151 = 0;
-              int x_154 = 0;
-              int x_135_phi = 0;
-              int x_137_phi = 0;
-              x_131 = x_131_phi;
-              int x_134 = x_134_phi;
-              x_136 = x_136_phi;
-              if (((x_136 <= x_126) & (x_134 <= x_129))) {
-              } else {
-                break;
-              }
-              int x_143_save = x_136;
-              int x_144 = data[x_143_save];
-              int x_145_save = x_134;
-              int x_146 = data[x_145_save];
-              int x_132 = (x_131 + 1);
-              if ((x_144 < x_146)) {
-                x_151 = (x_136 + 1);
-                int x_152 = data[x_143_save];
-                temp[x_131] = x_152;
-                x_135_phi = x_134;
-                x_137_phi = x_151;
-              } else {
-                x_154 = (x_134 + 1);
-                int x_155 = data[x_145_save];
-                temp[x_131] = x_155;
-                x_135_phi = x_154;
-                x_137_phi = x_136;
-              }
-              int x_135 = x_135_phi;
-              int x_137 = x_137_phi;
-              {
-                x_131_phi = x_132;
-                x_134_phi = x_135;
-                x_136_phi = x_137;
-              }
-              continue;
-            }
-          }
-          x_158_phi = x_131;
-          x_161_phi = x_136;
-          {
-            while(true) {
-              int x_159 = 0;
-              int x_162 = 0;
-              int x_158 = x_158_phi;
-              int x_161 = x_161_phi;
-              if (((x_161 < 10) & (x_161 <= x_126))) {
-              } else {
-                break;
-              }
-              {
-                x_159 = (x_158 + 1);
-                x_162 = (x_161 + 1);
-                int x_168 = data[x_161];
-                temp[x_158] = x_168;
-                x_158_phi = x_159;
-                x_161_phi = x_162;
-              }
-              continue;
-            }
-          }
-          x_171_phi = x_119;
-          {
-            while(true) {
-              int x_172 = 0;
-              int x_171 = x_171_phi;
-              if ((x_171 <= x_129)) {
-              } else {
-                break;
-              }
-              {
-                int x_177 = temp[x_171];
-                data[x_171] = x_177;
-                x_172 = (x_171 + 1);
-                x_171_phi = x_172;
-              }
-              continue;
-            }
-          }
-          {
-            x_119_phi = x_120;
-          }
-          continue;
-        }
-      }
-      {
-        x_113 = (2 * x_112);
-        x_112_phi = x_113;
-      }
-      continue;
-    }
-  }
-  int x_181 = 0;
-  float x_199 = 0.0f;
-  float x_261 = 0.0f;
-  float x_262_phi = 0.0f;
-  float x_180 = tint_symbol.y;
-  x_181 = tint_f32_to_i32(x_180);
-  if ((x_181 < 30)) {
-    int x_187 = data[0];
-    x_190 = (0.5f + (float(x_187) * 0.10000000149011611938f));
-    x_263_phi = x_190;
-  } else {
-    float x_208 = 0.0f;
-    float x_260 = 0.0f;
-    float x_261_phi = 0.0f;
-    if ((x_181 < 60)) {
-      int x_196 = data[1];
-      x_199 = (0.5f + (float(x_196) * 0.10000000149011611938f));
-      x_262_phi = x_199;
-    } else {
-      float x_217 = 0.0f;
-      float x_259 = 0.0f;
-      float x_260_phi = 0.0f;
-      if ((x_181 < 90)) {
-        int x_205 = data[2];
-        x_208 = (0.5f + (float(x_205) * 0.10000000149011611938f));
-        x_261_phi = x_208;
-      } else {
-        if ((x_181 < 120)) {
-          int x_214 = data[3];
-          x_217 = (0.5f + (float(x_214) * 0.10000000149011611938f));
-          x_260_phi = x_217;
-        } else {
-          float x_230 = 0.0f;
-          float x_258 = 0.0f;
-          float x_259_phi = 0.0f;
-          if ((x_181 < 150)) {
-            continue_execution = false;
-          } else {
-            float x_239 = 0.0f;
-            float x_257 = 0.0f;
-            float x_258_phi = 0.0f;
-            if ((x_181 < 180)) {
-              int x_227 = data[5];
-              x_230 = (0.5f + (float(x_227) * 0.10000000149011611938f));
-              x_259_phi = x_230;
-            } else {
-              float x_248 = 0.0f;
-              float x_256 = 0.0f;
-              float x_257_phi = 0.0f;
-              if ((x_181 < 210)) {
-                int x_236 = data[6];
-                x_239 = (0.5f + (float(x_236) * 0.10000000149011611938f));
-                x_258_phi = x_239;
-              } else {
-                if ((x_181 < 240)) {
-                  int x_245 = data[7];
-                  x_248 = (0.5f + (float(x_245) * 0.10000000149011611938f));
-                  x_257_phi = x_248;
-                } else {
-                  if ((x_181 < 270)) {
-                  } else {
-                    continue_execution = false;
-                  }
-                  int x_253 = data[8];
-                  x_256 = (0.5f + (float(x_253) * 0.10000000149011611938f));
-                  x_257_phi = x_256;
-                }
-                x_257 = x_257_phi;
-                x_258_phi = x_257;
-              }
-              x_258 = x_258_phi;
-              x_259_phi = x_258;
-            }
-            x_259 = x_259_phi;
-          }
-          x_260_phi = x_259;
-        }
-        x_260 = x_260_phi;
-        x_261_phi = x_260;
-      }
-      x_261 = x_261_phi;
-      x_262_phi = x_261;
-    }
-    x_262 = x_262_phi;
-    x_263_phi = x_262;
-  }
-  float x_263 = x_263_phi;
-  x_GLF_color = vec4(x_263, x_263, x_263, 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out v_1 = main_out(x_GLF_color);
-  if (!(continue_execution)) {
-    discard;
-  }
-  return v_1;
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:200: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:200: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-O-prop-up-mutate-var/2.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-O-prop-up-mutate-var/2.spvasm.expected.ir.glsl
deleted file mode 100644
index 7c221b4..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-O-prop-up-mutate-var/2.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,347 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 injectionSwitch;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 tint_symbol = vec4(0.0f);
-vec4 x_GLF_color = vec4(0.0f);
-bool continue_execution = true;
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  int temp[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-  int data[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-  int x_63 = 0;
-  int x_102 = 0;
-  int x_111 = 0;
-  float x_189 = 0.0f;
-  float x_261 = 0.0f;
-  float x_262 = 0.0f;
-  x_63 = tint_f32_to_i32(v.tint_symbol_3.injectionSwitch.x);
-  {
-    while(true) {
-      int x_99 = 0;
-      int x_97 = 0;
-      int x_95 = 0;
-      int x_93 = 0;
-      int x_91 = 0;
-      int x_89 = 0;
-      int x_87 = 0;
-      int x_85 = 0;
-      int x_83 = 0;
-      int x_81 = 0;
-      int x_64 = 0;
-      x_64 = (x_63 + 1);
-      switch(x_63) {
-        case 9:
-        {
-          data[x_63] = -5;
-          x_99 = (x_63 + 1);
-          x_64 = x_99;
-          break;
-        }
-        case 8:
-        {
-          data[x_63] = -4;
-          x_97 = (x_63 + 1);
-          x_64 = x_97;
-          break;
-        }
-        case 7:
-        {
-          data[x_63] = -3;
-          x_95 = (x_63 + 1);
-          x_64 = x_95;
-          break;
-        }
-        case 6:
-        {
-          data[x_63] = -2;
-          x_93 = (x_63 + 1);
-          x_64 = x_93;
-          break;
-        }
-        case 5:
-        {
-          data[x_63] = -1;
-          x_91 = (x_63 + 1);
-          x_64 = x_91;
-          break;
-        }
-        case 4:
-        {
-          data[x_63] = 0;
-          x_89 = (x_63 + 1);
-          x_64 = x_89;
-          break;
-        }
-        case 3:
-        {
-          data[x_63] = 1;
-          x_87 = (x_63 + 1);
-          x_64 = x_87;
-          break;
-        }
-        case 2:
-        {
-          data[x_63] = 2;
-          x_85 = (x_63 + 1);
-          x_64 = x_85;
-          break;
-        }
-        case 1:
-        {
-          data[x_63] = 3;
-          x_83 = (x_63 + 1);
-          x_64 = x_83;
-          break;
-        }
-        case 0:
-        {
-          data[x_63] = 4;
-          x_81 = (x_63 + 1);
-          x_64 = x_81;
-          break;
-        }
-        default:
-        {
-          break;
-        }
-      }
-      {
-        x_63 = x_64;
-        if (!((x_64 < 10))) { break; }
-      }
-      continue;
-    }
-  }
-  x_102 = 0;
-  {
-    while(true) {
-      int x_103 = 0;
-      if ((x_102 < 10)) {
-      } else {
-        break;
-      }
-      {
-        temp[x_102] = data[x_102];
-        x_103 = (x_102 + 1);
-        x_102 = x_103;
-      }
-      continue;
-    }
-  }
-  x_111 = 1;
-  {
-    while(true) {
-      int x_118 = 0;
-      int x_112 = 0;
-      if ((x_111 <= 9)) {
-      } else {
-        break;
-      }
-      x_118 = 0;
-      {
-        while(true) {
-          int x_130 = 0;
-          int x_133 = 0;
-          int x_135 = 0;
-          int x_157 = 0;
-          int x_160 = 0;
-          int x_170 = 0;
-          if ((x_118 < 9)) {
-          } else {
-            break;
-          }
-          int x_124 = (x_118 + x_111);
-          int x_125 = (x_124 - 1);
-          int x_119 = (x_118 + (2 * x_111));
-          int x_128 = min((x_119 - 1), 9);
-          x_130 = x_118;
-          x_133 = x_124;
-          x_135 = x_118;
-          {
-            while(true) {
-              int x_150 = 0;
-              int x_153 = 0;
-              int x_134 = 0;
-              int x_136 = 0;
-              if (((x_135 <= x_125) & (x_133 <= x_128))) {
-              } else {
-                break;
-              }
-              int x_142_save = x_135;
-              int x_144_save = x_133;
-              int x_131 = (x_130 + 1);
-              if ((data[x_135] < data[x_133])) {
-                x_150 = (x_135 + 1);
-                temp[x_130] = data[x_142_save];
-                x_134 = x_133;
-                x_136 = x_150;
-              } else {
-                x_153 = (x_133 + 1);
-                temp[x_130] = data[x_144_save];
-                x_134 = x_153;
-                x_136 = x_135;
-              }
-              {
-                x_130 = x_131;
-                x_133 = x_134;
-                x_135 = x_136;
-              }
-              continue;
-            }
-          }
-          x_157 = x_130;
-          x_160 = x_135;
-          {
-            while(true) {
-              int x_158 = 0;
-              int x_161 = 0;
-              if (((x_160 < 10) & (x_160 <= x_125))) {
-              } else {
-                break;
-              }
-              {
-                x_158 = (x_157 + 1);
-                x_161 = (x_160 + 1);
-                temp[x_157] = data[x_160];
-                x_157 = x_158;
-                x_160 = x_161;
-              }
-              continue;
-            }
-          }
-          x_170 = x_118;
-          {
-            while(true) {
-              int x_171 = 0;
-              if ((x_170 <= x_128)) {
-              } else {
-                break;
-              }
-              {
-                data[x_170] = temp[x_170];
-                x_171 = (x_170 + 1);
-                x_170 = x_171;
-              }
-              continue;
-            }
-          }
-          {
-            x_118 = x_119;
-          }
-          continue;
-        }
-      }
-      {
-        x_112 = (2 * x_111);
-        x_111 = x_112;
-      }
-      continue;
-    }
-  }
-  int x_180 = 0;
-  float x_198 = 0.0f;
-  float x_260 = 0.0f;
-  x_180 = tint_f32_to_i32(tint_symbol.y);
-  if ((x_180 < 30)) {
-    x_189 = (0.5f + (float(data[0]) * 0.10000000149011611938f));
-    x_262 = x_189;
-  } else {
-    float x_207 = 0.0f;
-    float x_259 = 0.0f;
-    if ((x_180 < 60)) {
-      x_198 = (0.5f + (float(data[1]) * 0.10000000149011611938f));
-      x_261 = x_198;
-    } else {
-      float x_216 = 0.0f;
-      float x_258 = 0.0f;
-      if ((x_180 < 90)) {
-        x_207 = (0.5f + (float(data[2]) * 0.10000000149011611938f));
-        x_260 = x_207;
-      } else {
-        if ((x_180 < 120)) {
-          x_216 = (0.5f + (float(data[3]) * 0.10000000149011611938f));
-          x_259 = x_216;
-        } else {
-          float x_229 = 0.0f;
-          float x_257 = 0.0f;
-          if ((x_180 < 150)) {
-            continue_execution = false;
-          } else {
-            float x_238 = 0.0f;
-            float x_256 = 0.0f;
-            if ((x_180 < 180)) {
-              x_229 = (0.5f + (float(data[5]) * 0.10000000149011611938f));
-              x_258 = x_229;
-            } else {
-              float x_247 = 0.0f;
-              float x_255 = 0.0f;
-              if ((x_180 < 210)) {
-                x_238 = (0.5f + (float(data[6]) * 0.10000000149011611938f));
-                x_257 = x_238;
-              } else {
-                if ((x_180 < 240)) {
-                  x_247 = (0.5f + (float(data[7]) * 0.10000000149011611938f));
-                  x_256 = x_247;
-                } else {
-                  if ((x_180 < 270)) {
-                  } else {
-                    continue_execution = false;
-                  }
-                  x_255 = (0.5f + (float(data[8]) * 0.10000000149011611938f));
-                  x_256 = x_255;
-                }
-                x_257 = x_256;
-              }
-              x_258 = x_257;
-            }
-          }
-          x_259 = x_258;
-        }
-        x_260 = x_259;
-      }
-      x_261 = x_260;
-    }
-    x_262 = x_261;
-  }
-  x_GLF_color = vec4(x_262, x_262, x_262, 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out v_1 = main_out(x_GLF_color);
-  if (!(continue_execution)) {
-    discard;
-  }
-  return v_1;
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:183: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:183: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-O-prop-up-mutate-var/2.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-O-prop-up-mutate-var/2.wgsl.expected.ir.glsl
deleted file mode 100644
index 6f8de3c..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-O-prop-up-mutate-var/2.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,394 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 injectionSwitch;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 tint_symbol = vec4(0.0f);
-vec4 x_GLF_color = vec4(0.0f);
-bool continue_execution = true;
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  int temp[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-  int data[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-  float x_189 = 0.0f;
-  float x_261 = 0.0f;
-  int x_63_phi = 0;
-  int x_102_phi = 0;
-  int x_111_phi = 0;
-  float x_262_phi = 0.0f;
-  float x_60 = v.tint_symbol_3.injectionSwitch.x;
-  int x_61 = tint_f32_to_i32(x_60);
-  x_63_phi = x_61;
-  {
-    while(true) {
-      int x_99 = 0;
-      int x_97 = 0;
-      int x_95 = 0;
-      int x_93 = 0;
-      int x_91 = 0;
-      int x_89 = 0;
-      int x_87 = 0;
-      int x_85 = 0;
-      int x_83 = 0;
-      int x_81 = 0;
-      int x_64_phi = 0;
-      int x_63 = x_63_phi;
-      int x_68 = (x_63 + 1);
-      x_64_phi = x_68;
-      switch(x_63) {
-        case 9:
-        {
-          data[x_63] = -5;
-          x_99 = (x_63 + 1);
-          x_64_phi = x_99;
-          break;
-        }
-        case 8:
-        {
-          data[x_63] = -4;
-          x_97 = (x_63 + 1);
-          x_64_phi = x_97;
-          break;
-        }
-        case 7:
-        {
-          data[x_63] = -3;
-          x_95 = (x_63 + 1);
-          x_64_phi = x_95;
-          break;
-        }
-        case 6:
-        {
-          data[x_63] = -2;
-          x_93 = (x_63 + 1);
-          x_64_phi = x_93;
-          break;
-        }
-        case 5:
-        {
-          data[x_63] = -1;
-          x_91 = (x_63 + 1);
-          x_64_phi = x_91;
-          break;
-        }
-        case 4:
-        {
-          data[x_63] = 0;
-          x_89 = (x_63 + 1);
-          x_64_phi = x_89;
-          break;
-        }
-        case 3:
-        {
-          data[x_63] = 1;
-          x_87 = (x_63 + 1);
-          x_64_phi = x_87;
-          break;
-        }
-        case 2:
-        {
-          data[x_63] = 2;
-          x_85 = (x_63 + 1);
-          x_64_phi = x_85;
-          break;
-        }
-        case 1:
-        {
-          data[x_63] = 3;
-          x_83 = (x_63 + 1);
-          x_64_phi = x_83;
-          break;
-        }
-        case 0:
-        {
-          data[x_63] = 4;
-          x_81 = (x_63 + 1);
-          x_64_phi = x_81;
-          break;
-        }
-        default:
-        {
-          break;
-        }
-      }
-      int x_64 = x_64_phi;
-      {
-        x_63_phi = x_64;
-        if (!((x_64 < 10))) { break; }
-      }
-      continue;
-    }
-  }
-  x_102_phi = 0;
-  {
-    while(true) {
-      int x_103 = 0;
-      int x_102 = x_102_phi;
-      if ((x_102 < 10)) {
-      } else {
-        break;
-      }
-      {
-        int x_108 = data[x_102];
-        temp[x_102] = x_108;
-        x_103 = (x_102 + 1);
-        x_102_phi = x_103;
-      }
-      continue;
-    }
-  }
-  x_111_phi = 1;
-  {
-    while(true) {
-      int x_112 = 0;
-      int x_118_phi = 0;
-      int x_111 = x_111_phi;
-      if ((x_111 <= 9)) {
-      } else {
-        break;
-      }
-      x_118_phi = 0;
-      {
-        while(true) {
-          int x_130 = 0;
-          int x_135 = 0;
-          int x_130_phi = 0;
-          int x_133_phi = 0;
-          int x_135_phi = 0;
-          int x_157_phi = 0;
-          int x_160_phi = 0;
-          int x_170_phi = 0;
-          int x_118 = x_118_phi;
-          if ((x_118 < 9)) {
-          } else {
-            break;
-          }
-          int x_124 = (x_118 + x_111);
-          int x_125 = (x_124 - 1);
-          int x_119 = (x_118 + (2 * x_111));
-          int x_128 = min((x_119 - 1), 9);
-          x_130_phi = x_118;
-          x_133_phi = x_124;
-          x_135_phi = x_118;
-          {
-            while(true) {
-              int x_150 = 0;
-              int x_153 = 0;
-              int x_134_phi = 0;
-              int x_136_phi = 0;
-              x_130 = x_130_phi;
-              int x_133 = x_133_phi;
-              x_135 = x_135_phi;
-              if (((x_135 <= x_125) & (x_133 <= x_128))) {
-              } else {
-                break;
-              }
-              int x_142_save = x_135;
-              int x_143 = data[x_142_save];
-              int x_144_save = x_133;
-              int x_145 = data[x_144_save];
-              int x_131 = (x_130 + 1);
-              if ((x_143 < x_145)) {
-                x_150 = (x_135 + 1);
-                int x_151 = data[x_142_save];
-                temp[x_130] = x_151;
-                x_134_phi = x_133;
-                x_136_phi = x_150;
-              } else {
-                x_153 = (x_133 + 1);
-                int x_154 = data[x_144_save];
-                temp[x_130] = x_154;
-                x_134_phi = x_153;
-                x_136_phi = x_135;
-              }
-              int x_134 = x_134_phi;
-              int x_136 = x_136_phi;
-              {
-                x_130_phi = x_131;
-                x_133_phi = x_134;
-                x_135_phi = x_136;
-              }
-              continue;
-            }
-          }
-          x_157_phi = x_130;
-          x_160_phi = x_135;
-          {
-            while(true) {
-              int x_158 = 0;
-              int x_161 = 0;
-              int x_157 = x_157_phi;
-              int x_160 = x_160_phi;
-              if (((x_160 < 10) & (x_160 <= x_125))) {
-              } else {
-                break;
-              }
-              {
-                x_158 = (x_157 + 1);
-                x_161 = (x_160 + 1);
-                int x_167 = data[x_160];
-                temp[x_157] = x_167;
-                x_157_phi = x_158;
-                x_160_phi = x_161;
-              }
-              continue;
-            }
-          }
-          x_170_phi = x_118;
-          {
-            while(true) {
-              int x_171 = 0;
-              int x_170 = x_170_phi;
-              if ((x_170 <= x_128)) {
-              } else {
-                break;
-              }
-              {
-                int x_176 = temp[x_170];
-                data[x_170] = x_176;
-                x_171 = (x_170 + 1);
-                x_170_phi = x_171;
-              }
-              continue;
-            }
-          }
-          {
-            x_118_phi = x_119;
-          }
-          continue;
-        }
-      }
-      {
-        x_112 = (2 * x_111);
-        x_111_phi = x_112;
-      }
-      continue;
-    }
-  }
-  int x_180 = 0;
-  float x_198 = 0.0f;
-  float x_260 = 0.0f;
-  float x_261_phi = 0.0f;
-  float x_179 = tint_symbol.y;
-  x_180 = tint_f32_to_i32(x_179);
-  if ((x_180 < 30)) {
-    int x_186 = data[0];
-    x_189 = (0.5f + (float(x_186) * 0.10000000149011611938f));
-    x_262_phi = x_189;
-  } else {
-    float x_207 = 0.0f;
-    float x_259 = 0.0f;
-    float x_260_phi = 0.0f;
-    if ((x_180 < 60)) {
-      int x_195 = data[1];
-      x_198 = (0.5f + (float(x_195) * 0.10000000149011611938f));
-      x_261_phi = x_198;
-    } else {
-      float x_216 = 0.0f;
-      float x_258 = 0.0f;
-      float x_259_phi = 0.0f;
-      if ((x_180 < 90)) {
-        int x_204 = data[2];
-        x_207 = (0.5f + (float(x_204) * 0.10000000149011611938f));
-        x_260_phi = x_207;
-      } else {
-        if ((x_180 < 120)) {
-          int x_213 = data[3];
-          x_216 = (0.5f + (float(x_213) * 0.10000000149011611938f));
-          x_259_phi = x_216;
-        } else {
-          float x_229 = 0.0f;
-          float x_257 = 0.0f;
-          float x_258_phi = 0.0f;
-          if ((x_180 < 150)) {
-            continue_execution = false;
-          } else {
-            float x_238 = 0.0f;
-            float x_256 = 0.0f;
-            float x_257_phi = 0.0f;
-            if ((x_180 < 180)) {
-              int x_226 = data[5];
-              x_229 = (0.5f + (float(x_226) * 0.10000000149011611938f));
-              x_258_phi = x_229;
-            } else {
-              float x_247 = 0.0f;
-              float x_255 = 0.0f;
-              float x_256_phi = 0.0f;
-              if ((x_180 < 210)) {
-                int x_235 = data[6];
-                x_238 = (0.5f + (float(x_235) * 0.10000000149011611938f));
-                x_257_phi = x_238;
-              } else {
-                if ((x_180 < 240)) {
-                  int x_244 = data[7];
-                  x_247 = (0.5f + (float(x_244) * 0.10000000149011611938f));
-                  x_256_phi = x_247;
-                } else {
-                  if ((x_180 < 270)) {
-                  } else {
-                    continue_execution = false;
-                  }
-                  int x_252 = data[8];
-                  x_255 = (0.5f + (float(x_252) * 0.10000000149011611938f));
-                  x_256_phi = x_255;
-                }
-                x_256 = x_256_phi;
-                x_257_phi = x_256;
-              }
-              x_257 = x_257_phi;
-              x_258_phi = x_257;
-            }
-            x_258 = x_258_phi;
-          }
-          x_259_phi = x_258;
-        }
-        x_259 = x_259_phi;
-        x_260_phi = x_259;
-      }
-      x_260 = x_260_phi;
-      x_261_phi = x_260;
-    }
-    x_261 = x_261_phi;
-    x_262_phi = x_261;
-  }
-  float x_262 = x_262_phi;
-  x_GLF_color = vec4(x_262, x_262, x_262, 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out v_1 = main_out(x_GLF_color);
-  if (!(continue_execution)) {
-    discard;
-  }
-  return v_1;
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:197: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:197: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-dead-code/0.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-dead-code/0.spvasm.expected.ir.glsl
deleted file mode 100644
index 627a0ad..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-dead-code/0.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,298 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 injectionSwitch;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-int data[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-int temp[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 tint_symbol = vec4(0.0f);
-vec4 x_GLF_color = vec4(0.0f);
-bool continue_execution = true;
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-void merge_i1_i1_i1_(inout int f, inout int mid, inout int to) {
-  int k = 0;
-  int i = 0;
-  int j = 0;
-  int i_1 = 0;
-  k = f;
-  i = f;
-  j = (mid + 1);
-  {
-    while(true) {
-      if (((i <= mid) & (j <= to))) {
-      } else {
-        break;
-      }
-      if ((data[i] < data[j])) {
-        int x_277 = k;
-        k = (k + 1);
-        int x_279 = i;
-        i = (i + 1);
-        temp[x_277] = data[x_279];
-      } else {
-        int x_284 = k;
-        k = (k + 1);
-        int x_286 = j;
-        j = (j + 1);
-        temp[x_284] = data[x_286];
-      }
-      {
-      }
-      continue;
-    }
-  }
-  {
-    while(true) {
-      if (((i < 10) & (i <= mid))) {
-      } else {
-        break;
-      }
-      int x_302 = k;
-      k = (k + 1);
-      int x_304 = i;
-      i = (i + 1);
-      temp[x_302] = data[x_304];
-      {
-      }
-      continue;
-    }
-  }
-  i_1 = f;
-  {
-    while(true) {
-      if ((i_1 <= to)) {
-      } else {
-        break;
-      }
-      int x_318 = i_1;
-      data[x_318] = temp[i_1];
-      {
-        i_1 = (i_1 + 1);
-      }
-      continue;
-    }
-  }
-}
-void mergeSort_() {
-  int low = 0;
-  int high = 0;
-  int m = 0;
-  int i_2 = 0;
-  int f_1 = 0;
-  int mid_1 = 0;
-  int to_1 = 0;
-  int param = 0;
-  int param_1 = 0;
-  int param_2 = 0;
-  low = 0;
-  high = 9;
-  m = 1;
-  {
-    while(true) {
-      if ((m <= high)) {
-      } else {
-        break;
-      }
-      i_2 = low;
-      {
-        while(true) {
-          if ((i_2 < high)) {
-          } else {
-            break;
-          }
-          f_1 = i_2;
-          mid_1 = ((i_2 + m) - 1);
-          to_1 = min(((i_2 + (2 * m)) - 1), high);
-          param = f_1;
-          param_1 = mid_1;
-          param_2 = to_1;
-          merge_i1_i1_i1_(param, param_1, param_2);
-          {
-            i_2 = (i_2 + (2 * m));
-          }
-          continue;
-        }
-      }
-      {
-        m = (2 * m);
-      }
-      continue;
-    }
-  }
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  int i_3 = 0;
-  int j_1 = 0;
-  float grey = 0.0f;
-  i_3 = tint_f32_to_i32(v.tint_symbol_3.injectionSwitch.x);
-  {
-    while(true) {
-      int x_90 = i_3;
-      switch(x_90) {
-        case 9:
-        {
-          int x_120 = i_3;
-          data[x_120] = -5;
-          break;
-        }
-        case 8:
-        {
-          int x_118 = i_3;
-          data[x_118] = -4;
-          break;
-        }
-        case 7:
-        {
-          int x_116 = i_3;
-          data[x_116] = -3;
-          break;
-        }
-        case 6:
-        {
-          int x_114 = i_3;
-          data[x_114] = -2;
-          break;
-        }
-        case 5:
-        {
-          int x_112 = i_3;
-          data[x_112] = -1;
-          break;
-        }
-        case 4:
-        {
-          int x_110 = i_3;
-          data[x_110] = 0;
-          break;
-        }
-        case 3:
-        {
-          int x_108 = i_3;
-          data[x_108] = 1;
-          break;
-        }
-        case 2:
-        {
-          int x_106 = i_3;
-          data[x_106] = 2;
-          break;
-        }
-        case 1:
-        {
-          int x_104 = i_3;
-          data[x_104] = 3;
-          break;
-        }
-        case 0:
-        {
-          int x_102 = i_3;
-          data[x_102] = 4;
-          break;
-        }
-        default:
-        {
-          break;
-        }
-      }
-      i_3 = (i_3 + 1);
-      {
-        int x_124 = i_3;
-        if (!((x_124 < 10))) { break; }
-      }
-      continue;
-    }
-  }
-  j_1 = 0;
-  {
-    while(true) {
-      if ((j_1 < 10)) {
-      } else {
-        break;
-      }
-      int x_133 = j_1;
-      temp[x_133] = data[j_1];
-      {
-        j_1 = (j_1 + 1);
-      }
-      continue;
-    }
-  }
-  mergeSort_();
-  if ((tint_f32_to_i32(tint_symbol.y) < 30)) {
-    grey = (0.5f + (float(data[0]) / 10.0f));
-  } else {
-    if ((tint_f32_to_i32(tint_symbol.y) < 60)) {
-      grey = (0.5f + (float(data[1]) / 10.0f));
-    } else {
-      if ((tint_f32_to_i32(tint_symbol.y) < 90)) {
-        grey = (0.5f + (float(data[2]) / 10.0f));
-      } else {
-        if ((tint_f32_to_i32(tint_symbol.y) < 120)) {
-          grey = (0.5f + (float(data[3]) / 10.0f));
-        } else {
-          if ((tint_f32_to_i32(tint_symbol.y) < 150)) {
-            continue_execution = false;
-          } else {
-            if ((tint_f32_to_i32(tint_symbol.y) < 180)) {
-              grey = (0.5f + (float(data[5]) / 10.0f));
-            } else {
-              if ((tint_f32_to_i32(tint_symbol.y) < 210)) {
-                grey = (0.5f + (float(data[6]) / 10.0f));
-              } else {
-                if ((tint_f32_to_i32(tint_symbol.y) < 240)) {
-                  grey = (0.5f + (float(data[7]) / 10.0f));
-                } else {
-                  if ((tint_f32_to_i32(tint_symbol.y) < 270)) {
-                    grey = (0.5f + (float(data[8]) / 10.0f));
-                  } else {
-                    continue_execution = false;
-                  }
-                }
-              }
-            }
-          }
-        }
-      }
-    }
-  }
-  vec3 x_245 = vec3(grey);
-  x_GLF_color = vec4(x_245[0u], x_245[1u], x_245[2u], 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out v_1 = main_out(x_GLF_color);
-  if (!(continue_execution)) {
-    discard;
-  }
-  return v_1;
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:34: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:34: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-dead-code/0.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-dead-code/0.wgsl.expected.ir.glsl
deleted file mode 100644
index 543c040..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-dead-code/0.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,362 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 injectionSwitch;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-int data[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-int temp[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 tint_symbol = vec4(0.0f);
-vec4 x_GLF_color = vec4(0.0f);
-bool continue_execution = true;
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-void merge_i1_i1_i1_(inout int f, inout int mid, inout int to) {
-  int k = 0;
-  int i = 0;
-  int j = 0;
-  int i_1 = 0;
-  int x_251 = f;
-  k = x_251;
-  int x_252 = f;
-  i = x_252;
-  int x_253 = mid;
-  j = (x_253 + 1);
-  {
-    while(true) {
-      int x_259 = i;
-      int x_260 = mid;
-      int x_262 = j;
-      int x_263 = to;
-      if (((x_259 <= x_260) & (x_262 <= x_263))) {
-      } else {
-        break;
-      }
-      int x_267 = i;
-      int x_269 = data[x_267];
-      int x_270 = j;
-      int x_272 = data[x_270];
-      if ((x_269 < x_272)) {
-        int x_277 = k;
-        k = (x_277 + 1);
-        int x_279 = i;
-        i = (x_279 + 1);
-        int x_282 = data[x_279];
-        temp[x_277] = x_282;
-      } else {
-        int x_284 = k;
-        k = (x_284 + 1);
-        int x_286 = j;
-        j = (x_286 + 1);
-        int x_289 = data[x_286];
-        temp[x_284] = x_289;
-      }
-      {
-      }
-      continue;
-    }
-  }
-  {
-    while(true) {
-      int x_295 = i;
-      int x_297 = i;
-      int x_298 = mid;
-      if (((x_295 < 10) & (x_297 <= x_298))) {
-      } else {
-        break;
-      }
-      int x_302 = k;
-      k = (x_302 + 1);
-      int x_304 = i;
-      i = (x_304 + 1);
-      int x_307 = data[x_304];
-      temp[x_302] = x_307;
-      {
-      }
-      continue;
-    }
-  }
-  int x_309 = f;
-  i_1 = x_309;
-  {
-    while(true) {
-      int x_314 = i_1;
-      int x_315 = to;
-      if ((x_314 <= x_315)) {
-      } else {
-        break;
-      }
-      int x_318 = i_1;
-      int x_319 = i_1;
-      int x_321 = temp[x_319];
-      data[x_318] = x_321;
-      {
-        int x_323 = i_1;
-        i_1 = (x_323 + 1);
-      }
-      continue;
-    }
-  }
-}
-void mergeSort_() {
-  int low = 0;
-  int high = 0;
-  int m = 0;
-  int i_2 = 0;
-  int f_1 = 0;
-  int mid_1 = 0;
-  int to_1 = 0;
-  int param = 0;
-  int param_1 = 0;
-  int param_2 = 0;
-  low = 0;
-  high = 9;
-  m = 1;
-  {
-    while(true) {
-      int x_330 = m;
-      int x_331 = high;
-      if ((x_330 <= x_331)) {
-      } else {
-        break;
-      }
-      int x_334 = low;
-      i_2 = x_334;
-      {
-        while(true) {
-          int x_339 = i_2;
-          int x_340 = high;
-          if ((x_339 < x_340)) {
-          } else {
-            break;
-          }
-          int x_343 = i_2;
-          f_1 = x_343;
-          int x_344 = i_2;
-          int x_345 = m;
-          mid_1 = ((x_344 + x_345) - 1);
-          int x_348 = i_2;
-          int x_349 = m;
-          int x_353 = high;
-          to_1 = min(((x_348 + (2 * x_349)) - 1), x_353);
-          int x_355 = f_1;
-          param = x_355;
-          int x_356 = mid_1;
-          param_1 = x_356;
-          int x_357 = to_1;
-          param_2 = x_357;
-          merge_i1_i1_i1_(param, param_1, param_2);
-          {
-            int x_359 = m;
-            int x_361 = i_2;
-            i_2 = (x_361 + (2 * x_359));
-          }
-          continue;
-        }
-      }
-      {
-        int x_363 = m;
-        m = (2 * x_363);
-      }
-      continue;
-    }
-  }
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  int i_3 = 0;
-  int j_1 = 0;
-  float grey = 0.0f;
-  float x_84 = v.tint_symbol_3.injectionSwitch.x;
-  i_3 = tint_f32_to_i32(x_84);
-  {
-    while(true) {
-      int x_90 = i_3;
-      switch(x_90) {
-        case 9:
-        {
-          int x_120 = i_3;
-          data[x_120] = -5;
-          break;
-        }
-        case 8:
-        {
-          int x_118 = i_3;
-          data[x_118] = -4;
-          break;
-        }
-        case 7:
-        {
-          int x_116 = i_3;
-          data[x_116] = -3;
-          break;
-        }
-        case 6:
-        {
-          int x_114 = i_3;
-          data[x_114] = -2;
-          break;
-        }
-        case 5:
-        {
-          int x_112 = i_3;
-          data[x_112] = -1;
-          break;
-        }
-        case 4:
-        {
-          int x_110 = i_3;
-          data[x_110] = 0;
-          break;
-        }
-        case 3:
-        {
-          int x_108 = i_3;
-          data[x_108] = 1;
-          break;
-        }
-        case 2:
-        {
-          int x_106 = i_3;
-          data[x_106] = 2;
-          break;
-        }
-        case 1:
-        {
-          int x_104 = i_3;
-          data[x_104] = 3;
-          break;
-        }
-        case 0:
-        {
-          int x_102 = i_3;
-          data[x_102] = 4;
-          break;
-        }
-        default:
-        {
-          break;
-        }
-      }
-      int x_122 = i_3;
-      i_3 = (x_122 + 1);
-      {
-        int x_124 = i_3;
-        if (!((x_124 < 10))) { break; }
-      }
-      continue;
-    }
-  }
-  j_1 = 0;
-  {
-    while(true) {
-      int x_130 = j_1;
-      if ((x_130 < 10)) {
-      } else {
-        break;
-      }
-      int x_133 = j_1;
-      int x_134 = j_1;
-      int x_136 = data[x_134];
-      temp[x_133] = x_136;
-      {
-        int x_138 = j_1;
-        j_1 = (x_138 + 1);
-      }
-      continue;
-    }
-  }
-  mergeSort_();
-  float x_142 = tint_symbol.y;
-  if ((tint_f32_to_i32(x_142) < 30)) {
-    int x_149 = data[0];
-    grey = (0.5f + (float(x_149) / 10.0f));
-  } else {
-    float x_154 = tint_symbol.y;
-    if ((tint_f32_to_i32(x_154) < 60)) {
-      int x_161 = data[1];
-      grey = (0.5f + (float(x_161) / 10.0f));
-    } else {
-      float x_166 = tint_symbol.y;
-      if ((tint_f32_to_i32(x_166) < 90)) {
-        int x_173 = data[2];
-        grey = (0.5f + (float(x_173) / 10.0f));
-      } else {
-        float x_178 = tint_symbol.y;
-        if ((tint_f32_to_i32(x_178) < 120)) {
-          int x_185 = data[3];
-          grey = (0.5f + (float(x_185) / 10.0f));
-        } else {
-          float x_190 = tint_symbol.y;
-          if ((tint_f32_to_i32(x_190) < 150)) {
-            continue_execution = false;
-          } else {
-            float x_197 = tint_symbol.y;
-            if ((tint_f32_to_i32(x_197) < 180)) {
-              int x_204 = data[5];
-              grey = (0.5f + (float(x_204) / 10.0f));
-            } else {
-              float x_209 = tint_symbol.y;
-              if ((tint_f32_to_i32(x_209) < 210)) {
-                int x_216 = data[6];
-                grey = (0.5f + (float(x_216) / 10.0f));
-              } else {
-                float x_221 = tint_symbol.y;
-                if ((tint_f32_to_i32(x_221) < 240)) {
-                  int x_228 = data[7];
-                  grey = (0.5f + (float(x_228) / 10.0f));
-                } else {
-                  float x_233 = tint_symbol.y;
-                  if ((tint_f32_to_i32(x_233) < 270)) {
-                    int x_240 = data[8];
-                    grey = (0.5f + (float(x_240) / 10.0f));
-                  } else {
-                    continue_execution = false;
-                  }
-                }
-              }
-            }
-          }
-        }
-      }
-    }
-  }
-  float x_244 = grey;
-  vec3 x_245 = vec3(x_244, x_244, x_244);
-  x_GLF_color = vec4(x_245[0u], x_245[1u], x_245[2u], 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out v_1 = main_out(x_GLF_color);
-  if (!(continue_execution)) {
-    discard;
-  }
-  return v_1;
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:41: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:41: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-dead-code/1.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-dead-code/1.spvasm.expected.ir.glsl
deleted file mode 100644
index e3ac986..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-dead-code/1.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,312 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 injectionSwitch;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-int data[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-int temp[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 tint_symbol = vec4(0.0f);
-vec4 x_GLF_color = vec4(0.0f);
-bool continue_execution = true;
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-void merge_i1_i1_i1_(inout int f, inout int mid, inout int to) {
-  int k = 0;
-  int i = 0;
-  int j = 0;
-  int i_1 = 0;
-  k = f;
-  i = f;
-  j = (mid + 1);
-  {
-    while(true) {
-      if (((i <= mid) & (j <= to))) {
-      } else {
-        break;
-      }
-      if ((data[i] < data[j])) {
-        int x_288 = k;
-        k = (k + 1);
-        int x_290 = i;
-        i = (i + 1);
-        temp[x_288] = data[x_290];
-      } else {
-        int x_295 = k;
-        k = (k + 1);
-        int x_297 = j;
-        j = (j + 1);
-        temp[x_295] = data[x_297];
-      }
-      {
-      }
-      continue;
-    }
-  }
-  {
-    while(true) {
-      if (((i < 10) & (i <= mid))) {
-      } else {
-        break;
-      }
-      int x_313 = k;
-      k = (k + 1);
-      int x_315 = i;
-      i = (i + 1);
-      temp[x_313] = data[x_315];
-      {
-      }
-      continue;
-    }
-  }
-  i_1 = f;
-  {
-    while(true) {
-      if ((i_1 <= to)) {
-      } else {
-        break;
-      }
-      int x_329 = i_1;
-      data[x_329] = temp[i_1];
-      {
-        i_1 = (i_1 + 1);
-      }
-      continue;
-    }
-  }
-}
-void mergeSort_() {
-  int low = 0;
-  int high = 0;
-  int m = 0;
-  int i_2 = 0;
-  int f_1 = 0;
-  int mid_1 = 0;
-  int to_1 = 0;
-  int param = 0;
-  int param_1 = 0;
-  int param_2 = 0;
-  low = 0;
-  high = 9;
-  m = 1;
-  {
-    while(true) {
-      if ((m <= high)) {
-      } else {
-        break;
-      }
-      i_2 = low;
-      {
-        while(true) {
-          if ((i_2 < high)) {
-          } else {
-            break;
-          }
-          f_1 = i_2;
-          mid_1 = ((i_2 + m) - 1);
-          to_1 = min(((i_2 + (2 * m)) - 1), high);
-          param = f_1;
-          param_1 = mid_1;
-          param_2 = to_1;
-          merge_i1_i1_i1_(param, param_1, param_2);
-          {
-            i_2 = (i_2 + (2 * m));
-          }
-          continue;
-        }
-      }
-      {
-        m = (2 * m);
-      }
-      continue;
-    }
-  }
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  int i_3 = 0;
-  int j_1 = 0;
-  float grey = 0.0f;
-  i_3 = tint_f32_to_i32(v.tint_symbol_3.injectionSwitch.x);
-  {
-    while(true) {
-      int x_92 = i_3;
-      switch(x_92) {
-        case 9:
-        {
-          int x_122 = i_3;
-          data[x_122] = -5;
-          break;
-        }
-        case 8:
-        {
-          int x_120 = i_3;
-          data[x_120] = -4;
-          break;
-        }
-        case 7:
-        {
-          int x_118 = i_3;
-          data[x_118] = -3;
-          break;
-        }
-        case 6:
-        {
-          int x_116 = i_3;
-          data[x_116] = -2;
-          break;
-        }
-        case 5:
-        {
-          int x_114 = i_3;
-          data[x_114] = -1;
-          break;
-        }
-        case 4:
-        {
-          int x_112 = i_3;
-          data[x_112] = 0;
-          break;
-        }
-        case 3:
-        {
-          int x_110 = i_3;
-          data[x_110] = 1;
-          break;
-        }
-        case 2:
-        {
-          int x_108 = i_3;
-          data[x_108] = 2;
-          break;
-        }
-        case 1:
-        {
-          int x_106 = i_3;
-          data[x_106] = 3;
-          break;
-        }
-        case 0:
-        {
-          int x_104 = i_3;
-          data[x_104] = 4;
-          break;
-        }
-        default:
-        {
-          break;
-        }
-      }
-      i_3 = (i_3 + 1);
-      {
-        int x_126 = i_3;
-        if (!((x_126 < 10))) { break; }
-      }
-      continue;
-    }
-  }
-  j_1 = 0;
-  {
-    while(true) {
-      bool x_133 = (j_1 < 10);
-      if (!((v.tint_symbol_3.injectionSwitch.x <= 1.0f))) {
-        grey = 1.0f;
-      }
-      if (x_133) {
-      } else {
-        break;
-      }
-      int x_140 = j_1;
-      temp[x_140] = data[j_1];
-      {
-        j_1 = (j_1 + 1);
-      }
-      continue;
-    }
-  }
-  mergeSort_();
-  if ((tint_f32_to_i32(tint_symbol.y) < 30)) {
-    grey = (0.5f + (float(data[0]) / 10.0f));
-  } else {
-    if ((tint_f32_to_i32(tint_symbol.y) < 60)) {
-      grey = (0.5f + (float(data[1]) / 10.0f));
-    } else {
-      if ((tint_f32_to_i32(tint_symbol.y) < 90)) {
-        grey = (0.5f + (float(data[2]) / 10.0f));
-      } else {
-        if ((tint_f32_to_i32(tint_symbol.y) < 120)) {
-          grey = (0.5f + (float(data[3]) / 10.0f));
-        } else {
-          if ((tint_f32_to_i32(tint_symbol.y) < 150)) {
-            continue_execution = false;
-          } else {
-            if ((tint_f32_to_i32(tint_symbol.y) < 180)) {
-              grey = (0.5f + (float(data[5]) / 10.0f));
-            } else {
-              if ((tint_f32_to_i32(tint_symbol.y) < 210)) {
-                grey = (0.5f + (float(data[6]) / 10.0f));
-              } else {
-                if ((tint_f32_to_i32(tint_symbol.y) < 240)) {
-                  grey = (0.5f + (float(data[7]) / 10.0f));
-                } else {
-                  float x_240 = tint_symbol.y;
-                  bool guard233 = true;
-                  if ((tint_f32_to_i32(x_240) < 270)) {
-                    grey = (0.5f + (float(data[8]) / 10.0f));
-                    guard233 = false;
-                  } else {
-                    if (guard233) {
-                      if (!((0.0f < v.tint_symbol_3.injectionSwitch.y))) {
-                        guard233 = false;
-                      }
-                      if (guard233) {
-                        continue_execution = false;
-                      }
-                    }
-                  }
-                }
-              }
-            }
-          }
-        }
-      }
-    }
-  }
-  vec3 x_256 = vec3(grey);
-  x_GLF_color = vec4(x_256[0u], x_256[1u], x_256[2u], 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out v_1 = main_out(x_GLF_color);
-  if (!(continue_execution)) {
-    discard;
-  }
-  return v_1;
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:34: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:34: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-dead-code/1.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-dead-code/1.wgsl.expected.ir.glsl
deleted file mode 100644
index 1ff0032..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-dead-code/1.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,377 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 injectionSwitch;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-int data[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-int temp[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 tint_symbol = vec4(0.0f);
-vec4 x_GLF_color = vec4(0.0f);
-bool continue_execution = true;
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-void merge_i1_i1_i1_(inout int f, inout int mid, inout int to) {
-  int k = 0;
-  int i = 0;
-  int j = 0;
-  int i_1 = 0;
-  int x_262 = f;
-  k = x_262;
-  int x_263 = f;
-  i = x_263;
-  int x_264 = mid;
-  j = (x_264 + 1);
-  {
-    while(true) {
-      int x_270 = i;
-      int x_271 = mid;
-      int x_273 = j;
-      int x_274 = to;
-      if (((x_270 <= x_271) & (x_273 <= x_274))) {
-      } else {
-        break;
-      }
-      int x_278 = i;
-      int x_280 = data[x_278];
-      int x_281 = j;
-      int x_283 = data[x_281];
-      if ((x_280 < x_283)) {
-        int x_288 = k;
-        k = (x_288 + 1);
-        int x_290 = i;
-        i = (x_290 + 1);
-        int x_293 = data[x_290];
-        temp[x_288] = x_293;
-      } else {
-        int x_295 = k;
-        k = (x_295 + 1);
-        int x_297 = j;
-        j = (x_297 + 1);
-        int x_300 = data[x_297];
-        temp[x_295] = x_300;
-      }
-      {
-      }
-      continue;
-    }
-  }
-  {
-    while(true) {
-      int x_306 = i;
-      int x_308 = i;
-      int x_309 = mid;
-      if (((x_306 < 10) & (x_308 <= x_309))) {
-      } else {
-        break;
-      }
-      int x_313 = k;
-      k = (x_313 + 1);
-      int x_315 = i;
-      i = (x_315 + 1);
-      int x_318 = data[x_315];
-      temp[x_313] = x_318;
-      {
-      }
-      continue;
-    }
-  }
-  int x_320 = f;
-  i_1 = x_320;
-  {
-    while(true) {
-      int x_325 = i_1;
-      int x_326 = to;
-      if ((x_325 <= x_326)) {
-      } else {
-        break;
-      }
-      int x_329 = i_1;
-      int x_330 = i_1;
-      int x_332 = temp[x_330];
-      data[x_329] = x_332;
-      {
-        int x_334 = i_1;
-        i_1 = (x_334 + 1);
-      }
-      continue;
-    }
-  }
-}
-void mergeSort_() {
-  int low = 0;
-  int high = 0;
-  int m = 0;
-  int i_2 = 0;
-  int f_1 = 0;
-  int mid_1 = 0;
-  int to_1 = 0;
-  int param = 0;
-  int param_1 = 0;
-  int param_2 = 0;
-  low = 0;
-  high = 9;
-  m = 1;
-  {
-    while(true) {
-      int x_341 = m;
-      int x_342 = high;
-      if ((x_341 <= x_342)) {
-      } else {
-        break;
-      }
-      int x_345 = low;
-      i_2 = x_345;
-      {
-        while(true) {
-          int x_350 = i_2;
-          int x_351 = high;
-          if ((x_350 < x_351)) {
-          } else {
-            break;
-          }
-          int x_354 = i_2;
-          f_1 = x_354;
-          int x_355 = i_2;
-          int x_356 = m;
-          mid_1 = ((x_355 + x_356) - 1);
-          int x_359 = i_2;
-          int x_360 = m;
-          int x_364 = high;
-          to_1 = min(((x_359 + (2 * x_360)) - 1), x_364);
-          int x_366 = f_1;
-          param = x_366;
-          int x_367 = mid_1;
-          param_1 = x_367;
-          int x_368 = to_1;
-          param_2 = x_368;
-          merge_i1_i1_i1_(param, param_1, param_2);
-          {
-            int x_370 = m;
-            int x_372 = i_2;
-            i_2 = (x_372 + (2 * x_370));
-          }
-          continue;
-        }
-      }
-      {
-        int x_374 = m;
-        m = (2 * x_374);
-      }
-      continue;
-    }
-  }
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  int i_3 = 0;
-  int j_1 = 0;
-  float grey = 0.0f;
-  float x_86 = v.tint_symbol_3.injectionSwitch.x;
-  i_3 = tint_f32_to_i32(x_86);
-  {
-    while(true) {
-      int x_92 = i_3;
-      switch(x_92) {
-        case 9:
-        {
-          int x_122 = i_3;
-          data[x_122] = -5;
-          break;
-        }
-        case 8:
-        {
-          int x_120 = i_3;
-          data[x_120] = -4;
-          break;
-        }
-        case 7:
-        {
-          int x_118 = i_3;
-          data[x_118] = -3;
-          break;
-        }
-        case 6:
-        {
-          int x_116 = i_3;
-          data[x_116] = -2;
-          break;
-        }
-        case 5:
-        {
-          int x_114 = i_3;
-          data[x_114] = -1;
-          break;
-        }
-        case 4:
-        {
-          int x_112 = i_3;
-          data[x_112] = 0;
-          break;
-        }
-        case 3:
-        {
-          int x_110 = i_3;
-          data[x_110] = 1;
-          break;
-        }
-        case 2:
-        {
-          int x_108 = i_3;
-          data[x_108] = 2;
-          break;
-        }
-        case 1:
-        {
-          int x_106 = i_3;
-          data[x_106] = 3;
-          break;
-        }
-        case 0:
-        {
-          int x_104 = i_3;
-          data[x_104] = 4;
-          break;
-        }
-        default:
-        {
-          break;
-        }
-      }
-      int x_124 = i_3;
-      i_3 = (x_124 + 1);
-      {
-        int x_126 = i_3;
-        if (!((x_126 < 10))) { break; }
-      }
-      continue;
-    }
-  }
-  j_1 = 0;
-  {
-    while(true) {
-      int x_132 = j_1;
-      bool x_133 = (x_132 < 10);
-      float x_135 = v.tint_symbol_3.injectionSwitch.x;
-      if (!((x_135 <= 1.0f))) {
-        grey = 1.0f;
-      }
-      if (x_133) {
-      } else {
-        break;
-      }
-      int x_140 = j_1;
-      int x_141 = j_1;
-      int x_143 = data[x_141];
-      temp[x_140] = x_143;
-      {
-        int x_145 = j_1;
-        j_1 = (x_145 + 1);
-      }
-      continue;
-    }
-  }
-  mergeSort_();
-  float x_149 = tint_symbol.y;
-  if ((tint_f32_to_i32(x_149) < 30)) {
-    int x_156 = data[0];
-    grey = (0.5f + (float(x_156) / 10.0f));
-  } else {
-    float x_161 = tint_symbol.y;
-    if ((tint_f32_to_i32(x_161) < 60)) {
-      int x_168 = data[1];
-      grey = (0.5f + (float(x_168) / 10.0f));
-    } else {
-      float x_173 = tint_symbol.y;
-      if ((tint_f32_to_i32(x_173) < 90)) {
-        int x_180 = data[2];
-        grey = (0.5f + (float(x_180) / 10.0f));
-      } else {
-        float x_185 = tint_symbol.y;
-        if ((tint_f32_to_i32(x_185) < 120)) {
-          int x_192 = data[3];
-          grey = (0.5f + (float(x_192) / 10.0f));
-        } else {
-          float x_197 = tint_symbol.y;
-          if ((tint_f32_to_i32(x_197) < 150)) {
-            continue_execution = false;
-          } else {
-            float x_204 = tint_symbol.y;
-            if ((tint_f32_to_i32(x_204) < 180)) {
-              int x_211 = data[5];
-              grey = (0.5f + (float(x_211) / 10.0f));
-            } else {
-              float x_216 = tint_symbol.y;
-              if ((tint_f32_to_i32(x_216) < 210)) {
-                int x_223 = data[6];
-                grey = (0.5f + (float(x_223) / 10.0f));
-              } else {
-                float x_228 = tint_symbol.y;
-                if ((tint_f32_to_i32(x_228) < 240)) {
-                  int x_235 = data[7];
-                  grey = (0.5f + (float(x_235) / 10.0f));
-                } else {
-                  float x_240 = tint_symbol.y;
-                  bool guard233 = true;
-                  if ((tint_f32_to_i32(x_240) < 270)) {
-                    int x_247 = data[8];
-                    grey = (0.5f + (float(x_247) / 10.0f));
-                    guard233 = false;
-                  } else {
-                    if (guard233) {
-                      float x_252 = v.tint_symbol_3.injectionSwitch.y;
-                      if (!((0.0f < x_252))) {
-                        guard233 = false;
-                      }
-                      if (guard233) {
-                        continue_execution = false;
-                      }
-                    }
-                  }
-                }
-              }
-            }
-          }
-        }
-      }
-    }
-  }
-  float x_255 = grey;
-  vec3 x_256 = vec3(x_255, x_255, x_255);
-  x_GLF_color = vec4(x_256[0u], x_256[1u], x_256[2u], 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out v_1 = main_out(x_GLF_color);
-  if (!(continue_execution)) {
-    discard;
-  }
-  return v_1;
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:41: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:41: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-flatten-selection-dead-continues/1.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-flatten-selection-dead-continues/1.wgsl.expected.ir.glsl
deleted file mode 100644
index 3eca4f5..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-flatten-selection-dead-continues/1.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,482 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 injectionSwitch;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-int data[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-int temp[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 tint_symbol = vec4(0.0f);
-vec4 x_GLF_color = vec4(0.0f);
-bool continue_execution = true;
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-void merge_i1_i1_i1_(inout int f, inout int mid, inout int to) {
-  int k = 0;
-  int i = 0;
-  int j = 0;
-  int i_1 = 0;
-  int x_255 = f;
-  k = x_255;
-  int x_256 = f;
-  i = x_256;
-  int x_257 = mid;
-  j = (x_257 + 1);
-  {
-    while(true) {
-      int x_285 = 0;
-      int x_286 = 0;
-      int x_305 = 0;
-      int x_306 = 0;
-      int x_320 = 0;
-      int x_324 = 0;
-      int x_339 = 0;
-      int x_338 = 0;
-      int x_352 = 0;
-      int x_351 = 0;
-      int x_366 = 0;
-      int x_365 = 0;
-      int x_287_phi = 0;
-      int x_307_phi = 0;
-      int x_328_phi = 0;
-      int x_340_phi = 0;
-      int x_353_phi = 0;
-      int x_367_phi = 0;
-      float x_261 = v.tint_symbol_3.injectionSwitch.x;
-      if ((1.0f >= x_261)) {
-      } else {
-        {
-        }
-        continue;
-      }
-      int x_266 = i;
-      int x_267 = mid;
-      int x_269 = j;
-      int x_270 = to;
-      if (((x_266 <= x_267) & (x_269 <= x_270))) {
-      } else {
-        break;
-      }
-      int x_274 = i;
-      int x_276 = data[x_274];
-      int x_277 = j;
-      int x_279 = data[x_277];
-      bool x_280 = (x_276 < x_279);
-      if (x_280) {
-        x_285 = k;
-        x_287_phi = x_285;
-      } else {
-        x_286 = 0;
-        x_287_phi = x_286;
-      }
-      int x_287 = x_287_phi;
-      int x_288 = (x_287 + 1);
-      if (x_280) {
-        k = x_288;
-        float x_293 = v.tint_symbol_3.injectionSwitch.x;
-        if (!((1.0f <= x_293))) {
-        } else {
-          {
-          }
-          continue;
-        }
-      }
-      float x_297 = v.tint_symbol_3.injectionSwitch.y;
-      if ((x_297 >= 0.0f)) {
-      } else {
-        {
-        }
-        continue;
-      }
-      int x_300 = 0;
-      if (x_280) {
-        x_305 = i;
-        x_307_phi = x_305;
-      } else {
-        x_306 = 0;
-        x_307_phi = x_306;
-      }
-      int x_307 = x_307_phi;
-      int x_309 = ((x_280) ? (x_307) : (x_300));
-      if (x_280) {
-        i = (x_309 + 1);
-      }
-      int x_315 = 0;
-      if (x_280) {
-        x_320 = data[x_309];
-        float x_322 = v.tint_symbol_3.injectionSwitch.y;
-        x_328_phi = x_320;
-        if (!((0.0f <= x_322))) {
-          {
-          }
-          continue;
-        }
-      } else {
-        x_324 = 0;
-        float x_326 = v.tint_symbol_3.injectionSwitch.y;
-        x_328_phi = x_324;
-        if (!((x_326 < 0.0f))) {
-        } else {
-          {
-          }
-          continue;
-        }
-      }
-      int x_328 = x_328_phi;
-      if (x_280) {
-        temp[x_287] = ((x_280) ? (x_328) : (x_315));
-      }
-      if (x_280) {
-        x_339 = 0;
-        x_340_phi = x_339;
-      } else {
-        x_338 = k;
-        x_340_phi = x_338;
-      }
-      int x_340 = x_340_phi;
-      if (x_280) {
-      } else {
-        k = (x_340 + 1);
-      }
-      float x_345 = v.tint_symbol_3.injectionSwitch.x;
-      if (!((1.0f <= x_345))) {
-      } else {
-        {
-        }
-        continue;
-      }
-      if (x_280) {
-        x_352 = 0;
-        x_353_phi = x_352;
-      } else {
-        x_351 = j;
-        x_353_phi = x_351;
-      }
-      int x_353 = x_353_phi;
-      int x_355 = 0;
-      int x_357 = ((x_280) ? (x_355) : (x_353));
-      if (x_280) {
-      } else {
-        j = (x_357 + 1);
-      }
-      if (x_280) {
-        x_366 = 0;
-        x_367_phi = x_366;
-      } else {
-        x_365 = data[x_357];
-        x_367_phi = x_365;
-      }
-      int x_367 = x_367_phi;
-      if (x_280) {
-      } else {
-        temp[x_340] = x_367;
-      }
-      {
-      }
-      continue;
-    }
-  }
-  {
-    while(true) {
-      int x_376 = i;
-      int x_378 = i;
-      int x_379 = mid;
-      if (((x_376 < 10) & (x_378 <= x_379))) {
-      } else {
-        break;
-      }
-      int x_383 = k;
-      k = (x_383 + 1);
-      int x_385 = i;
-      i = (x_385 + 1);
-      int x_388 = data[x_385];
-      temp[x_383] = x_388;
-      {
-      }
-      continue;
-    }
-  }
-  int x_390 = f;
-  i_1 = x_390;
-  {
-    while(true) {
-      int x_395 = i_1;
-      int x_396 = to;
-      if ((x_395 <= x_396)) {
-      } else {
-        break;
-      }
-      int x_399 = i_1;
-      int x_400 = i_1;
-      int x_402 = temp[x_400];
-      data[x_399] = x_402;
-      {
-        int x_404 = i_1;
-        i_1 = (x_404 + 1);
-      }
-      continue;
-    }
-  }
-}
-void mergeSort_() {
-  int low = 0;
-  int high = 0;
-  int m = 0;
-  int i_2 = 0;
-  int f_1 = 0;
-  int mid_1 = 0;
-  int to_1 = 0;
-  int param = 0;
-  int param_1 = 0;
-  int param_2 = 0;
-  low = 0;
-  high = 9;
-  m = 1;
-  {
-    while(true) {
-      int x_411 = m;
-      int x_412 = high;
-      if ((x_411 <= x_412)) {
-      } else {
-        break;
-      }
-      int x_415 = low;
-      i_2 = x_415;
-      {
-        while(true) {
-          int x_420 = i_2;
-          int x_421 = high;
-          if ((x_420 < x_421)) {
-          } else {
-            break;
-          }
-          int x_424 = i_2;
-          f_1 = x_424;
-          int x_425 = i_2;
-          int x_426 = m;
-          mid_1 = ((x_425 + x_426) - 1);
-          int x_429 = i_2;
-          int x_430 = m;
-          int x_434 = high;
-          to_1 = min(((x_429 + (2 * x_430)) - 1), x_434);
-          int x_436 = f_1;
-          param = x_436;
-          int x_437 = mid_1;
-          param_1 = x_437;
-          int x_438 = to_1;
-          param_2 = x_438;
-          merge_i1_i1_i1_(param, param_1, param_2);
-          {
-            int x_440 = m;
-            int x_442 = i_2;
-            i_2 = (x_442 + (2 * x_440));
-          }
-          continue;
-        }
-      }
-      {
-        int x_444 = m;
-        m = (2 * x_444);
-      }
-      continue;
-    }
-  }
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  int i_3 = 0;
-  int j_1 = 0;
-  float grey = 0.0f;
-  float x_88 = v.tint_symbol_3.injectionSwitch.x;
-  i_3 = tint_f32_to_i32(x_88);
-  {
-    while(true) {
-      int x_94 = i_3;
-      switch(x_94) {
-        case 9:
-        {
-          int x_124 = i_3;
-          data[x_124] = -5;
-          break;
-        }
-        case 8:
-        {
-          int x_122 = i_3;
-          data[x_122] = -4;
-          break;
-        }
-        case 7:
-        {
-          int x_120 = i_3;
-          data[x_120] = -3;
-          break;
-        }
-        case 6:
-        {
-          int x_118 = i_3;
-          data[x_118] = -2;
-          break;
-        }
-        case 5:
-        {
-          int x_116 = i_3;
-          data[x_116] = -1;
-          break;
-        }
-        case 4:
-        {
-          int x_114 = i_3;
-          data[x_114] = 0;
-          break;
-        }
-        case 3:
-        {
-          int x_112 = i_3;
-          data[x_112] = 1;
-          break;
-        }
-        case 2:
-        {
-          int x_110 = i_3;
-          data[x_110] = 2;
-          break;
-        }
-        case 1:
-        {
-          int x_108 = i_3;
-          data[x_108] = 3;
-          break;
-        }
-        case 0:
-        {
-          int x_106 = i_3;
-          data[x_106] = 4;
-          break;
-        }
-        default:
-        {
-          break;
-        }
-      }
-      int x_126 = i_3;
-      i_3 = (x_126 + 1);
-      {
-        int x_128 = i_3;
-        if (!((x_128 < 10))) { break; }
-      }
-      continue;
-    }
-  }
-  j_1 = 0;
-  {
-    while(true) {
-      int x_134 = j_1;
-      if ((x_134 < 10)) {
-      } else {
-        break;
-      }
-      int x_137 = j_1;
-      int x_138 = j_1;
-      int x_140 = data[x_138];
-      temp[x_137] = x_140;
-      {
-        int x_142 = j_1;
-        j_1 = (x_142 + 1);
-      }
-      continue;
-    }
-  }
-  mergeSort_();
-  float x_146 = tint_symbol.y;
-  if ((tint_f32_to_i32(x_146) < 30)) {
-    int x_153 = data[0];
-    grey = (0.5f + (float(x_153) / 10.0f));
-  } else {
-    float x_158 = tint_symbol.y;
-    if ((tint_f32_to_i32(x_158) < 60)) {
-      int x_165 = data[1];
-      grey = (0.5f + (float(x_165) / 10.0f));
-    } else {
-      float x_170 = tint_symbol.y;
-      if ((tint_f32_to_i32(x_170) < 90)) {
-        int x_177 = data[2];
-        grey = (0.5f + (float(x_177) / 10.0f));
-      } else {
-        float x_182 = tint_symbol.y;
-        if ((tint_f32_to_i32(x_182) < 120)) {
-          int x_189 = data[3];
-          grey = (0.5f + (float(x_189) / 10.0f));
-        } else {
-          float x_194 = tint_symbol.y;
-          if ((tint_f32_to_i32(x_194) < 150)) {
-            continue_execution = false;
-          } else {
-            float x_201 = tint_symbol.y;
-            if ((tint_f32_to_i32(x_201) < 180)) {
-              int x_208 = data[5];
-              grey = (0.5f + (float(x_208) / 10.0f));
-            } else {
-              float x_213 = tint_symbol.y;
-              if ((tint_f32_to_i32(x_213) < 210)) {
-                int x_220 = data[6];
-                grey = (0.5f + (float(x_220) / 10.0f));
-              } else {
-                float x_225 = tint_symbol.y;
-                if ((tint_f32_to_i32(x_225) < 240)) {
-                  int x_232 = data[7];
-                  grey = (0.5f + (float(x_232) / 10.0f));
-                } else {
-                  float x_237 = tint_symbol.y;
-                  if ((tint_f32_to_i32(x_237) < 270)) {
-                    int x_244 = data[8];
-                    grey = (0.5f + (float(x_244) / 10.0f));
-                  } else {
-                    continue_execution = false;
-                  }
-                }
-              }
-            }
-          }
-        }
-      }
-    }
-  }
-  float x_248 = grey;
-  vec3 x_249 = vec3(x_248, x_248, x_248);
-  x_GLF_color = vec4(x_249[0u], x_249[1u], x_249[2u], 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out v_1 = main_out(x_GLF_color);
-  if (!(continue_execution)) {
-    discard;
-  }
-  return v_1;
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:66: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:66: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-flatten-selection-dead-continues/2-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-flatten-selection-dead-continues/2-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index 053275c..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-flatten-selection-dead-continues/2-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,481 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 injectionSwitch;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-int data[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-int temp[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 tint_symbol = vec4(0.0f);
-vec4 x_GLF_color = vec4(0.0f);
-bool continue_execution = true;
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-void merge_i1_i1_i1_(inout int f, inout int mid, inout int to) {
-  int k = 0;
-  int i = 0;
-  int j = 0;
-  int i_1 = 0;
-  int x_255 = f;
-  k = x_255;
-  int x_256 = f;
-  i = x_256;
-  int x_257 = mid;
-  j = (x_257 + 1);
-  {
-    while(true) {
-      int x_283 = 0;
-      int x_284 = 0;
-      int x_303 = 0;
-      int x_304 = 0;
-      int x_318 = 0;
-      int x_322 = 0;
-      int x_337 = 0;
-      int x_336 = 0;
-      int x_350 = 0;
-      int x_349 = 0;
-      int x_364 = 0;
-      int x_363 = 0;
-      int x_285_phi = 0;
-      int x_305_phi = 0;
-      int x_326_phi = 0;
-      int x_338_phi = 0;
-      int x_351_phi = 0;
-      int x_365_phi = 0;
-      if (true) {
-      } else {
-        {
-        }
-        continue;
-      }
-      int x_264 = i;
-      int x_265 = mid;
-      int x_267 = j;
-      int x_268 = to;
-      if (((x_264 <= x_265) & (x_267 <= x_268))) {
-      } else {
-        break;
-      }
-      int x_272 = i;
-      int x_274 = data[x_272];
-      int x_275 = j;
-      int x_277 = data[x_275];
-      bool x_278 = (x_274 < x_277);
-      if (x_278) {
-        x_283 = k;
-        x_285_phi = x_283;
-      } else {
-        x_284 = 0;
-        x_285_phi = x_284;
-      }
-      int x_285 = x_285_phi;
-      int x_286 = (x_285 + 1);
-      if (x_278) {
-        k = x_286;
-        float x_291 = v.tint_symbol_3.injectionSwitch.x;
-        if (!((1.0f <= x_291))) {
-        } else {
-          {
-          }
-          continue;
-        }
-      }
-      float x_295 = v.tint_symbol_3.injectionSwitch.y;
-      if ((x_295 >= 0.0f)) {
-      } else {
-        {
-        }
-        continue;
-      }
-      int x_298 = 0;
-      if (x_278) {
-        x_303 = i;
-        x_305_phi = x_303;
-      } else {
-        x_304 = 0;
-        x_305_phi = x_304;
-      }
-      int x_305 = x_305_phi;
-      int x_307 = ((x_278) ? (x_305) : (x_298));
-      if (x_278) {
-        i = (x_307 + 1);
-      }
-      int x_313 = 0;
-      if (x_278) {
-        x_318 = data[x_307];
-        float x_320 = v.tint_symbol_3.injectionSwitch.y;
-        x_326_phi = x_318;
-        if (!((0.0f <= x_320))) {
-          {
-          }
-          continue;
-        }
-      } else {
-        x_322 = 0;
-        float x_324 = v.tint_symbol_3.injectionSwitch.y;
-        x_326_phi = x_322;
-        if (!((x_324 < 0.0f))) {
-        } else {
-          {
-          }
-          continue;
-        }
-      }
-      int x_326 = x_326_phi;
-      if (x_278) {
-        temp[x_285] = ((x_278) ? (x_326) : (x_313));
-      }
-      if (x_278) {
-        x_337 = 0;
-        x_338_phi = x_337;
-      } else {
-        x_336 = k;
-        x_338_phi = x_336;
-      }
-      int x_338 = x_338_phi;
-      if (x_278) {
-      } else {
-        k = (x_338 + 1);
-      }
-      float x_343 = v.tint_symbol_3.injectionSwitch.x;
-      if (!((1.0f <= x_343))) {
-      } else {
-        {
-        }
-        continue;
-      }
-      if (x_278) {
-        x_350 = 0;
-        x_351_phi = x_350;
-      } else {
-        x_349 = j;
-        x_351_phi = x_349;
-      }
-      int x_351 = x_351_phi;
-      int x_353 = 0;
-      int x_355 = ((x_278) ? (x_353) : (x_351));
-      if (x_278) {
-      } else {
-        j = (x_355 + 1);
-      }
-      if (x_278) {
-        x_364 = 0;
-        x_365_phi = x_364;
-      } else {
-        x_363 = data[x_355];
-        x_365_phi = x_363;
-      }
-      int x_365 = x_365_phi;
-      if (x_278) {
-      } else {
-        temp[x_338] = x_365;
-      }
-      {
-      }
-      continue;
-    }
-  }
-  {
-    while(true) {
-      int x_374 = i;
-      int x_376 = i;
-      int x_377 = mid;
-      if (((x_374 < 10) & (x_376 <= x_377))) {
-      } else {
-        break;
-      }
-      int x_381 = k;
-      k = (x_381 + 1);
-      int x_383 = i;
-      i = (x_383 + 1);
-      int x_386 = data[x_383];
-      temp[x_381] = x_386;
-      {
-      }
-      continue;
-    }
-  }
-  int x_388 = f;
-  i_1 = x_388;
-  {
-    while(true) {
-      int x_393 = i_1;
-      int x_394 = to;
-      if ((x_393 <= x_394)) {
-      } else {
-        break;
-      }
-      int x_397 = i_1;
-      int x_398 = i_1;
-      int x_400 = temp[x_398];
-      data[x_397] = x_400;
-      {
-        int x_402 = i_1;
-        i_1 = (x_402 + 1);
-      }
-      continue;
-    }
-  }
-}
-void mergeSort_() {
-  int low = 0;
-  int high = 0;
-  int m = 0;
-  int i_2 = 0;
-  int f_1 = 0;
-  int mid_1 = 0;
-  int to_1 = 0;
-  int param = 0;
-  int param_1 = 0;
-  int param_2 = 0;
-  low = 0;
-  high = 9;
-  m = 1;
-  {
-    while(true) {
-      int x_409 = m;
-      int x_410 = high;
-      if ((x_409 <= x_410)) {
-      } else {
-        break;
-      }
-      int x_413 = low;
-      i_2 = x_413;
-      {
-        while(true) {
-          int x_418 = i_2;
-          int x_419 = high;
-          if ((x_418 < x_419)) {
-          } else {
-            break;
-          }
-          int x_422 = i_2;
-          f_1 = x_422;
-          int x_423 = i_2;
-          int x_424 = m;
-          mid_1 = ((x_423 + x_424) - 1);
-          int x_427 = i_2;
-          int x_428 = m;
-          int x_432 = high;
-          to_1 = min(((x_427 + (2 * x_428)) - 1), x_432);
-          int x_434 = f_1;
-          param = x_434;
-          int x_435 = mid_1;
-          param_1 = x_435;
-          int x_436 = to_1;
-          param_2 = x_436;
-          merge_i1_i1_i1_(param, param_1, param_2);
-          {
-            int x_438 = m;
-            int x_440 = i_2;
-            i_2 = (x_440 + (2 * x_438));
-          }
-          continue;
-        }
-      }
-      {
-        int x_442 = m;
-        m = (2 * x_442);
-      }
-      continue;
-    }
-  }
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  int i_3 = 0;
-  int j_1 = 0;
-  float grey = 0.0f;
-  float x_88 = v.tint_symbol_3.injectionSwitch.x;
-  i_3 = tint_f32_to_i32(x_88);
-  {
-    while(true) {
-      int x_94 = i_3;
-      switch(x_94) {
-        case 9:
-        {
-          int x_124 = i_3;
-          data[x_124] = -5;
-          break;
-        }
-        case 8:
-        {
-          int x_122 = i_3;
-          data[x_122] = -4;
-          break;
-        }
-        case 7:
-        {
-          int x_120 = i_3;
-          data[x_120] = -3;
-          break;
-        }
-        case 6:
-        {
-          int x_118 = i_3;
-          data[x_118] = -2;
-          break;
-        }
-        case 5:
-        {
-          int x_116 = i_3;
-          data[x_116] = -1;
-          break;
-        }
-        case 4:
-        {
-          int x_114 = i_3;
-          data[x_114] = 0;
-          break;
-        }
-        case 3:
-        {
-          int x_112 = i_3;
-          data[x_112] = 1;
-          break;
-        }
-        case 2:
-        {
-          int x_110 = i_3;
-          data[x_110] = 2;
-          break;
-        }
-        case 1:
-        {
-          int x_108 = i_3;
-          data[x_108] = 3;
-          break;
-        }
-        case 0:
-        {
-          int x_106 = i_3;
-          data[x_106] = 4;
-          break;
-        }
-        default:
-        {
-          break;
-        }
-      }
-      int x_126 = i_3;
-      i_3 = (x_126 + 1);
-      {
-        int x_128 = i_3;
-        if (!((x_128 < 10))) { break; }
-      }
-      continue;
-    }
-  }
-  j_1 = 0;
-  {
-    while(true) {
-      int x_134 = j_1;
-      if ((x_134 < 10)) {
-      } else {
-        break;
-      }
-      int x_137 = j_1;
-      int x_138 = j_1;
-      int x_140 = data[x_138];
-      temp[x_137] = x_140;
-      {
-        int x_142 = j_1;
-        j_1 = (x_142 + 1);
-      }
-      continue;
-    }
-  }
-  mergeSort_();
-  float x_146 = tint_symbol.y;
-  if ((tint_f32_to_i32(x_146) < 30)) {
-    int x_153 = data[0];
-    grey = (0.5f + (float(x_153) / 10.0f));
-  } else {
-    float x_158 = tint_symbol.y;
-    if ((tint_f32_to_i32(x_158) < 60)) {
-      int x_165 = data[1];
-      grey = (0.5f + (float(x_165) / 10.0f));
-    } else {
-      float x_170 = tint_symbol.y;
-      if ((tint_f32_to_i32(x_170) < 90)) {
-        int x_177 = data[2];
-        grey = (0.5f + (float(x_177) / 10.0f));
-      } else {
-        float x_182 = tint_symbol.y;
-        if ((tint_f32_to_i32(x_182) < 120)) {
-          int x_189 = data[3];
-          grey = (0.5f + (float(x_189) / 10.0f));
-        } else {
-          float x_194 = tint_symbol.y;
-          if ((tint_f32_to_i32(x_194) < 150)) {
-            continue_execution = false;
-          } else {
-            float x_201 = tint_symbol.y;
-            if ((tint_f32_to_i32(x_201) < 180)) {
-              int x_208 = data[5];
-              grey = (0.5f + (float(x_208) / 10.0f));
-            } else {
-              float x_213 = tint_symbol.y;
-              if ((tint_f32_to_i32(x_213) < 210)) {
-                int x_220 = data[6];
-                grey = (0.5f + (float(x_220) / 10.0f));
-              } else {
-                float x_225 = tint_symbol.y;
-                if ((tint_f32_to_i32(x_225) < 240)) {
-                  int x_232 = data[7];
-                  grey = (0.5f + (float(x_232) / 10.0f));
-                } else {
-                  float x_237 = tint_symbol.y;
-                  if ((tint_f32_to_i32(x_237) < 270)) {
-                    int x_244 = data[8];
-                    grey = (0.5f + (float(x_244) / 10.0f));
-                  } else {
-                    continue_execution = false;
-                  }
-                }
-              }
-            }
-          }
-        }
-      }
-    }
-  }
-  float x_248 = grey;
-  vec3 x_249 = vec3(x_248, x_248, x_248);
-  x_GLF_color = vec4(x_249[0u], x_249[1u], x_249[2u], 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out v_1 = main_out(x_GLF_color);
-  if (!(continue_execution)) {
-    discard;
-  }
-  return v_1;
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:65: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:65: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-func-inline-mutate-var/1.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-func-inline-mutate-var/1.spvasm.expected.ir.glsl
deleted file mode 100644
index 8f936a0..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-func-inline-mutate-var/1.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,300 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 injectionSwitch;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-int data[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-int temp[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 tint_symbol = vec4(0.0f);
-vec4 x_GLF_color = vec4(0.0f);
-bool continue_execution = true;
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-void merge_i1_i1_i1_(inout int f, inout int mid, inout int to) {
-  int k = 0;
-  int i = 0;
-  int j = 0;
-  int i_1 = 0;
-  k = f;
-  i = f;
-  j = (mid + 1);
-  {
-    while(true) {
-      if (((i <= mid) & (j <= to))) {
-      } else {
-        break;
-      }
-      if ((data[i] < data[j])) {
-        int x_329 = k;
-        k = (k + 1);
-        int x_331 = i;
-        i = (i + 1);
-        temp[x_329] = data[x_331];
-      } else {
-        int x_336 = k;
-        k = (k + 1);
-        int x_338 = j;
-        j = (j + 1);
-        temp[x_336] = data[x_338];
-      }
-      {
-      }
-      continue;
-    }
-  }
-  {
-    while(true) {
-      if (((i < 10) & (i <= mid))) {
-      } else {
-        break;
-      }
-      int x_354 = k;
-      k = (k + 1);
-      int x_356 = i;
-      i = (i + 1);
-      temp[x_354] = data[x_356];
-      {
-      }
-      continue;
-    }
-  }
-  i_1 = f;
-  {
-    while(true) {
-      if ((i_1 <= to)) {
-      } else {
-        break;
-      }
-      int x_370 = i_1;
-      data[x_370] = temp[i_1];
-      {
-        i_1 = (i_1 + 1);
-      }
-      continue;
-    }
-  }
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  int x_85 = 0;
-  int x_86 = 0;
-  int x_87 = 0;
-  int x_88 = 0;
-  int x_89 = 0;
-  int x_90 = 0;
-  int x_91 = 0;
-  int x_92 = 0;
-  int x_93 = 0;
-  int x_94 = 0;
-  int i_3 = 0;
-  int j_1 = 0;
-  float grey = 0.0f;
-  i_3 = tint_f32_to_i32(v.tint_symbol_3.injectionSwitch.x);
-  {
-    while(true) {
-      int x_102 = i_3;
-      switch(x_102) {
-        case 9:
-        {
-          int x_132 = i_3;
-          data[x_132] = -5;
-          break;
-        }
-        case 8:
-        {
-          int x_130 = i_3;
-          data[x_130] = -4;
-          break;
-        }
-        case 7:
-        {
-          int x_128 = i_3;
-          data[x_128] = -3;
-          break;
-        }
-        case 6:
-        {
-          int x_126 = i_3;
-          data[x_126] = -2;
-          break;
-        }
-        case 5:
-        {
-          int x_124 = i_3;
-          data[x_124] = -1;
-          break;
-        }
-        case 4:
-        {
-          int x_122 = i_3;
-          data[x_122] = 0;
-          break;
-        }
-        case 3:
-        {
-          int x_120 = i_3;
-          data[x_120] = 1;
-          break;
-        }
-        case 2:
-        {
-          int x_118 = i_3;
-          data[x_118] = 2;
-          break;
-        }
-        case 1:
-        {
-          int x_116 = i_3;
-          data[x_116] = 3;
-          break;
-        }
-        case 0:
-        {
-          int x_114 = i_3;
-          data[x_114] = 4;
-          break;
-        }
-        default:
-        {
-          break;
-        }
-      }
-      i_3 = (i_3 + 1);
-      {
-        int x_136 = i_3;
-        if (!((x_136 < 10))) { break; }
-      }
-      continue;
-    }
-  }
-  j_1 = 0;
-  {
-    while(true) {
-      if ((j_1 < 10)) {
-      } else {
-        break;
-      }
-      int x_145 = j_1;
-      temp[x_145] = data[j_1];
-      {
-        j_1 = (j_1 + 1);
-      }
-      continue;
-    }
-  }
-  x_94 = 0;
-  x_93 = 9;
-  x_92 = 1;
-  {
-    while(true) {
-      if ((x_92 <= x_93)) {
-      } else {
-        break;
-      }
-      x_91 = x_94;
-      {
-        while(true) {
-          if ((x_91 < x_93)) {
-          } else {
-            break;
-          }
-          x_90 = x_91;
-          int x_170 = x_91;
-          int x_171 = x_92;
-          int x_173[10] = data;
-          data = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-          data = x_173;
-          x_89 = ((x_170 + x_171) - 1);
-          x_88 = min(((x_91 + (2 * x_92)) - 1), x_93);
-          x_87 = x_90;
-          x_86 = x_89;
-          x_85 = x_88;
-          merge_i1_i1_i1_(x_87, x_86, x_85);
-          {
-            x_91 = (x_91 + (2 * x_92));
-          }
-          continue;
-        }
-      }
-      {
-        x_92 = (2 * x_92);
-      }
-      continue;
-    }
-  }
-  if ((tint_f32_to_i32(tint_symbol.y) < 30)) {
-    grey = (0.5f + (float(data[0]) / 10.0f));
-  } else {
-    if ((tint_f32_to_i32(tint_symbol.y) < 60)) {
-      grey = (0.5f + (float(data[1]) / 10.0f));
-    } else {
-      if ((tint_f32_to_i32(tint_symbol.y) < 90)) {
-        grey = (0.5f + (float(data[2]) / 10.0f));
-      } else {
-        if ((tint_f32_to_i32(tint_symbol.y) < 120)) {
-          grey = (0.5f + (float(data[3]) / 10.0f));
-        } else {
-          if ((tint_f32_to_i32(tint_symbol.y) < 150)) {
-            continue_execution = false;
-          } else {
-            if ((tint_f32_to_i32(tint_symbol.y) < 180)) {
-              grey = (0.5f + (float(data[5]) / 10.0f));
-            } else {
-              if ((tint_f32_to_i32(tint_symbol.y) < 210)) {
-                grey = (0.5f + (float(data[6]) / 10.0f));
-              } else {
-                if ((tint_f32_to_i32(tint_symbol.y) < 240)) {
-                  grey = (0.5f + (float(data[7]) / 10.0f));
-                } else {
-                  if ((tint_f32_to_i32(tint_symbol.y) < 270)) {
-                    grey = (0.5f + (float(data[8]) / 10.0f));
-                  } else {
-                    continue_execution = false;
-                  }
-                }
-              }
-            }
-          }
-        }
-      }
-    }
-  }
-  vec3 x_297 = vec3(grey);
-  x_GLF_color = vec4(x_297[0u], x_297[1u], x_297[2u], 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out v_1 = main_out(x_GLF_color);
-  if (!(continue_execution)) {
-    discard;
-  }
-  return v_1;
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:34: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:34: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-func-inline-mutate-var/1.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-func-inline-mutate-var/1.wgsl.expected.ir.glsl
deleted file mode 100644
index 87474e5..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-func-inline-mutate-var/1.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,362 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 injectionSwitch;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-int data[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-int temp[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 tint_symbol = vec4(0.0f);
-vec4 x_GLF_color = vec4(0.0f);
-bool continue_execution = true;
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-void merge_i1_i1_i1_(inout int f, inout int mid, inout int to) {
-  int k = 0;
-  int i = 0;
-  int j = 0;
-  int i_1 = 0;
-  int x_303 = f;
-  k = x_303;
-  int x_304 = f;
-  i = x_304;
-  int x_305 = mid;
-  j = (x_305 + 1);
-  {
-    while(true) {
-      int x_311 = i;
-      int x_312 = mid;
-      int x_314 = j;
-      int x_315 = to;
-      if (((x_311 <= x_312) & (x_314 <= x_315))) {
-      } else {
-        break;
-      }
-      int x_319 = i;
-      int x_321 = data[x_319];
-      int x_322 = j;
-      int x_324 = data[x_322];
-      if ((x_321 < x_324)) {
-        int x_329 = k;
-        k = (x_329 + 1);
-        int x_331 = i;
-        i = (x_331 + 1);
-        int x_334 = data[x_331];
-        temp[x_329] = x_334;
-      } else {
-        int x_336 = k;
-        k = (x_336 + 1);
-        int x_338 = j;
-        j = (x_338 + 1);
-        int x_341 = data[x_338];
-        temp[x_336] = x_341;
-      }
-      {
-      }
-      continue;
-    }
-  }
-  {
-    while(true) {
-      int x_347 = i;
-      int x_349 = i;
-      int x_350 = mid;
-      if (((x_347 < 10) & (x_349 <= x_350))) {
-      } else {
-        break;
-      }
-      int x_354 = k;
-      k = (x_354 + 1);
-      int x_356 = i;
-      i = (x_356 + 1);
-      int x_359 = data[x_356];
-      temp[x_354] = x_359;
-      {
-      }
-      continue;
-    }
-  }
-  int x_361 = f;
-  i_1 = x_361;
-  {
-    while(true) {
-      int x_366 = i_1;
-      int x_367 = to;
-      if ((x_366 <= x_367)) {
-      } else {
-        break;
-      }
-      int x_370 = i_1;
-      int x_371 = i_1;
-      int x_373 = temp[x_371];
-      data[x_370] = x_373;
-      {
-        int x_375 = i_1;
-        i_1 = (x_375 + 1);
-      }
-      continue;
-    }
-  }
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  int x_85 = 0;
-  int x_86 = 0;
-  int x_87 = 0;
-  int x_88 = 0;
-  int x_89 = 0;
-  int x_90 = 0;
-  int x_91 = 0;
-  int x_92 = 0;
-  int x_93 = 0;
-  int x_94 = 0;
-  int i_3 = 0;
-  int j_1 = 0;
-  float grey = 0.0f;
-  float x_96 = v.tint_symbol_3.injectionSwitch.x;
-  i_3 = tint_f32_to_i32(x_96);
-  {
-    while(true) {
-      int x_102 = i_3;
-      switch(x_102) {
-        case 9:
-        {
-          int x_132 = i_3;
-          data[x_132] = -5;
-          break;
-        }
-        case 8:
-        {
-          int x_130 = i_3;
-          data[x_130] = -4;
-          break;
-        }
-        case 7:
-        {
-          int x_128 = i_3;
-          data[x_128] = -3;
-          break;
-        }
-        case 6:
-        {
-          int x_126 = i_3;
-          data[x_126] = -2;
-          break;
-        }
-        case 5:
-        {
-          int x_124 = i_3;
-          data[x_124] = -1;
-          break;
-        }
-        case 4:
-        {
-          int x_122 = i_3;
-          data[x_122] = 0;
-          break;
-        }
-        case 3:
-        {
-          int x_120 = i_3;
-          data[x_120] = 1;
-          break;
-        }
-        case 2:
-        {
-          int x_118 = i_3;
-          data[x_118] = 2;
-          break;
-        }
-        case 1:
-        {
-          int x_116 = i_3;
-          data[x_116] = 3;
-          break;
-        }
-        case 0:
-        {
-          int x_114 = i_3;
-          data[x_114] = 4;
-          break;
-        }
-        default:
-        {
-          break;
-        }
-      }
-      int x_134 = i_3;
-      i_3 = (x_134 + 1);
-      {
-        int x_136 = i_3;
-        if (!((x_136 < 10))) { break; }
-      }
-      continue;
-    }
-  }
-  j_1 = 0;
-  {
-    while(true) {
-      int x_142 = j_1;
-      if ((x_142 < 10)) {
-      } else {
-        break;
-      }
-      int x_145 = j_1;
-      int x_146 = j_1;
-      int x_148 = data[x_146];
-      temp[x_145] = x_148;
-      {
-        int x_150 = j_1;
-        j_1 = (x_150 + 1);
-      }
-      continue;
-    }
-  }
-  x_94 = 0;
-  x_93 = 9;
-  x_92 = 1;
-  {
-    while(true) {
-      int x_156 = x_92;
-      int x_157 = x_93;
-      if ((x_156 <= x_157)) {
-      } else {
-        break;
-      }
-      int x_160 = x_94;
-      x_91 = x_160;
-      {
-        while(true) {
-          int x_165 = x_91;
-          int x_166 = x_93;
-          if ((x_165 < x_166)) {
-          } else {
-            break;
-          }
-          int x_169 = x_91;
-          x_90 = x_169;
-          int x_170 = x_91;
-          int x_171 = x_92;
-          int x_173[10] = data;
-          data = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-          data = x_173;
-          x_89 = ((x_170 + x_171) - 1);
-          int x_175 = x_91;
-          int x_176 = x_92;
-          int x_180 = x_93;
-          x_88 = min(((x_175 + (2 * x_176)) - 1), x_180);
-          int x_182 = x_90;
-          x_87 = x_182;
-          int x_183 = x_89;
-          x_86 = x_183;
-          int x_184 = x_88;
-          x_85 = x_184;
-          merge_i1_i1_i1_(x_87, x_86, x_85);
-          {
-            int x_186 = x_92;
-            int x_188 = x_91;
-            x_91 = (x_188 + (2 * x_186));
-          }
-          continue;
-        }
-      }
-      {
-        int x_190 = x_92;
-        x_92 = (2 * x_190);
-      }
-      continue;
-    }
-  }
-  float x_194 = tint_symbol.y;
-  if ((tint_f32_to_i32(x_194) < 30)) {
-    int x_201 = data[0];
-    grey = (0.5f + (float(x_201) / 10.0f));
-  } else {
-    float x_206 = tint_symbol.y;
-    if ((tint_f32_to_i32(x_206) < 60)) {
-      int x_213 = data[1];
-      grey = (0.5f + (float(x_213) / 10.0f));
-    } else {
-      float x_218 = tint_symbol.y;
-      if ((tint_f32_to_i32(x_218) < 90)) {
-        int x_225 = data[2];
-        grey = (0.5f + (float(x_225) / 10.0f));
-      } else {
-        float x_230 = tint_symbol.y;
-        if ((tint_f32_to_i32(x_230) < 120)) {
-          int x_237 = data[3];
-          grey = (0.5f + (float(x_237) / 10.0f));
-        } else {
-          float x_242 = tint_symbol.y;
-          if ((tint_f32_to_i32(x_242) < 150)) {
-            continue_execution = false;
-          } else {
-            float x_249 = tint_symbol.y;
-            if ((tint_f32_to_i32(x_249) < 180)) {
-              int x_256 = data[5];
-              grey = (0.5f + (float(x_256) / 10.0f));
-            } else {
-              float x_261 = tint_symbol.y;
-              if ((tint_f32_to_i32(x_261) < 210)) {
-                int x_268 = data[6];
-                grey = (0.5f + (float(x_268) / 10.0f));
-              } else {
-                float x_273 = tint_symbol.y;
-                if ((tint_f32_to_i32(x_273) < 240)) {
-                  int x_280 = data[7];
-                  grey = (0.5f + (float(x_280) / 10.0f));
-                } else {
-                  float x_285 = tint_symbol.y;
-                  if ((tint_f32_to_i32(x_285) < 270)) {
-                    int x_292 = data[8];
-                    grey = (0.5f + (float(x_292) / 10.0f));
-                  } else {
-                    continue_execution = false;
-                  }
-                }
-              }
-            }
-          }
-        }
-      }
-    }
-  }
-  float x_296 = grey;
-  vec3 x_297 = vec3(x_296, x_296, x_296);
-  x_GLF_color = vec4(x_297[0u], x_297[1u], x_297[2u], 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out v_1 = main_out(x_GLF_color);
-  if (!(continue_execution)) {
-    discard;
-  }
-  return v_1;
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:41: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:41: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-func-inline-mutate-var/2.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-func-inline-mutate-var/2.spvasm.expected.ir.glsl
deleted file mode 100644
index 0c149f9..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-func-inline-mutate-var/2.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,295 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 injectionSwitch;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-int data[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-int temp[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 tint_symbol = vec4(0.0f);
-vec4 x_GLF_color = vec4(0.0f);
-bool continue_execution = true;
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-void merge_i1_i1_i1_(inout int f, inout int mid, inout int to) {
-  int k = 0;
-  int i = 0;
-  int j = 0;
-  int i_1 = 0;
-  k = f;
-  i = f;
-  j = (mid + 1);
-  {
-    while(true) {
-      if (((i <= mid) & (j <= to))) {
-      } else {
-        break;
-      }
-      if ((data[i] < data[j])) {
-        int x_328 = k;
-        k = (k + 1);
-        int x_330 = i;
-        i = (i + 1);
-        temp[x_328] = data[x_330];
-      } else {
-        int x_335 = k;
-        k = (k + 1);
-        int x_337 = j;
-        j = (j + 1);
-        temp[x_335] = data[x_337];
-      }
-      {
-      }
-      continue;
-    }
-  }
-  {
-    while(true) {
-      if (((i < 10) & (i <= mid))) {
-      } else {
-        break;
-      }
-      int x_353 = k;
-      k = (k + 1);
-      int x_355 = i;
-      i = (i + 1);
-      temp[x_353] = data[x_355];
-      {
-      }
-      continue;
-    }
-  }
-  i_1 = f;
-  {
-    while(true) {
-      if ((i_1 <= to)) {
-      } else {
-        break;
-      }
-      int x_369 = i_1;
-      data[x_369] = temp[i_1];
-      {
-        i_1 = (i_1 + 1);
-      }
-      continue;
-    }
-  }
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  int x_85 = 0;
-  int x_86 = 0;
-  int x_87 = 0;
-  int x_88 = 0;
-  int x_89 = 0;
-  int x_90 = 0;
-  int x_91 = 0;
-  int x_92 = 0;
-  int x_93 = 0;
-  int x_94 = 0;
-  int i_3 = 0;
-  int j_1 = 0;
-  float grey = 0.0f;
-  i_3 = tint_f32_to_i32(v.tint_symbol_3.injectionSwitch.x);
-  {
-    while(true) {
-      int x_102 = i_3;
-      switch(x_102) {
-        case 9:
-        {
-          int x_132 = i_3;
-          data[x_132] = -5;
-          break;
-        }
-        case 8:
-        {
-          int x_130 = i_3;
-          data[x_130] = -4;
-          break;
-        }
-        case 7:
-        {
-          int x_128 = i_3;
-          data[x_128] = -3;
-          break;
-        }
-        case 6:
-        {
-          int x_126 = i_3;
-          data[x_126] = -2;
-          break;
-        }
-        case 5:
-        {
-          int x_124 = i_3;
-          data[x_124] = -1;
-          break;
-        }
-        case 4:
-        {
-          int x_122 = i_3;
-          data[x_122] = 0;
-          break;
-        }
-        case 3:
-        {
-          int x_120 = i_3;
-          data[x_120] = 1;
-          break;
-        }
-        case 2:
-        {
-          int x_118 = i_3;
-          data[x_118] = 2;
-          break;
-        }
-        case 1:
-        {
-          int x_116 = i_3;
-          data[x_116] = 3;
-          break;
-        }
-        case 0:
-        {
-          int x_114 = i_3;
-          data[x_114] = 4;
-          break;
-        }
-        default:
-        {
-          break;
-        }
-      }
-      i_3 = (i_3 + 1);
-      {
-        int x_136 = i_3;
-        if (!((x_136 < 10))) { break; }
-      }
-      continue;
-    }
-  }
-  j_1 = 0;
-  {
-    while(true) {
-      if ((j_1 < 10)) {
-      } else {
-        break;
-      }
-      int x_145 = j_1;
-      temp[x_145] = data[j_1];
-      {
-        j_1 = (j_1 + 1);
-      }
-      continue;
-    }
-  }
-  x_94 = 0;
-  x_93 = 9;
-  x_92 = 1;
-  {
-    while(true) {
-      if ((x_92 <= x_93)) {
-      } else {
-        break;
-      }
-      x_91 = x_94;
-      {
-        while(true) {
-          if ((x_91 < x_93)) {
-          } else {
-            break;
-          }
-          x_90 = x_91;
-          x_89 = ((x_91 + x_92) - 1);
-          x_88 = min(((x_91 + (2 * x_92)) - 1), x_93);
-          x_87 = x_90;
-          x_86 = x_89;
-          x_85 = x_88;
-          merge_i1_i1_i1_(x_87, x_86, x_85);
-          {
-            x_91 = (x_91 + (2 * x_92));
-          }
-          continue;
-        }
-      }
-      {
-        x_92 = (2 * x_92);
-      }
-      continue;
-    }
-  }
-  if ((tint_f32_to_i32(tint_symbol.y) < 30)) {
-    grey = (0.5f + (float(data[0]) / 10.0f));
-  } else {
-    if ((tint_f32_to_i32(tint_symbol.y) < 60)) {
-      grey = (0.5f + (float(data[1]) / 10.0f));
-    } else {
-      if ((tint_f32_to_i32(tint_symbol.y) < 90)) {
-        grey = (0.5f + (float(data[2]) / 10.0f));
-      } else {
-        if ((tint_f32_to_i32(tint_symbol.y) < 120)) {
-          grey = (0.5f + (float(data[3]) / 10.0f));
-        } else {
-          if ((tint_f32_to_i32(tint_symbol.y) < 150)) {
-            continue_execution = false;
-          } else {
-            if ((tint_f32_to_i32(tint_symbol.y) < 180)) {
-              grey = (0.5f + (float(data[5]) / 10.0f));
-            } else {
-              if ((tint_f32_to_i32(tint_symbol.y) < 210)) {
-                grey = (0.5f + (float(data[6]) / 10.0f));
-              } else {
-                if ((tint_f32_to_i32(tint_symbol.y) < 240)) {
-                  grey = (0.5f + (float(data[7]) / 10.0f));
-                } else {
-                  if ((tint_f32_to_i32(tint_symbol.y) < 270)) {
-                    grey = (0.5f + (float(data[8]) / 10.0f));
-                  } else {
-                    continue_execution = false;
-                  }
-                }
-              }
-            }
-          }
-        }
-      }
-    }
-  }
-  vec3 x_296 = vec3(grey);
-  x_GLF_color = vec4(x_296[0u], x_296[1u], x_296[2u], 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out v_1 = main_out(x_GLF_color);
-  if (!(continue_execution)) {
-    discard;
-  }
-  return v_1;
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:34: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:34: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-func-inline-mutate-var/2.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-func-inline-mutate-var/2.wgsl.expected.ir.glsl
deleted file mode 100644
index 5c84a36..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-func-inline-mutate-var/2.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,359 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 injectionSwitch;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-int data[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-int temp[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 tint_symbol = vec4(0.0f);
-vec4 x_GLF_color = vec4(0.0f);
-bool continue_execution = true;
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-void merge_i1_i1_i1_(inout int f, inout int mid, inout int to) {
-  int k = 0;
-  int i = 0;
-  int j = 0;
-  int i_1 = 0;
-  int x_302 = f;
-  k = x_302;
-  int x_303 = f;
-  i = x_303;
-  int x_304 = mid;
-  j = (x_304 + 1);
-  {
-    while(true) {
-      int x_310 = i;
-      int x_311 = mid;
-      int x_313 = j;
-      int x_314 = to;
-      if (((x_310 <= x_311) & (x_313 <= x_314))) {
-      } else {
-        break;
-      }
-      int x_318 = i;
-      int x_320 = data[x_318];
-      int x_321 = j;
-      int x_323 = data[x_321];
-      if ((x_320 < x_323)) {
-        int x_328 = k;
-        k = (x_328 + 1);
-        int x_330 = i;
-        i = (x_330 + 1);
-        int x_333 = data[x_330];
-        temp[x_328] = x_333;
-      } else {
-        int x_335 = k;
-        k = (x_335 + 1);
-        int x_337 = j;
-        j = (x_337 + 1);
-        int x_340 = data[x_337];
-        temp[x_335] = x_340;
-      }
-      {
-      }
-      continue;
-    }
-  }
-  {
-    while(true) {
-      int x_346 = i;
-      int x_348 = i;
-      int x_349 = mid;
-      if (((x_346 < 10) & (x_348 <= x_349))) {
-      } else {
-        break;
-      }
-      int x_353 = k;
-      k = (x_353 + 1);
-      int x_355 = i;
-      i = (x_355 + 1);
-      int x_358 = data[x_355];
-      temp[x_353] = x_358;
-      {
-      }
-      continue;
-    }
-  }
-  int x_360 = f;
-  i_1 = x_360;
-  {
-    while(true) {
-      int x_365 = i_1;
-      int x_366 = to;
-      if ((x_365 <= x_366)) {
-      } else {
-        break;
-      }
-      int x_369 = i_1;
-      int x_370 = i_1;
-      int x_372 = temp[x_370];
-      data[x_369] = x_372;
-      {
-        int x_374 = i_1;
-        i_1 = (x_374 + 1);
-      }
-      continue;
-    }
-  }
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  int x_85 = 0;
-  int x_86 = 0;
-  int x_87 = 0;
-  int x_88 = 0;
-  int x_89 = 0;
-  int x_90 = 0;
-  int x_91 = 0;
-  int x_92 = 0;
-  int x_93 = 0;
-  int x_94 = 0;
-  int i_3 = 0;
-  int j_1 = 0;
-  float grey = 0.0f;
-  float x_96 = v.tint_symbol_3.injectionSwitch.x;
-  i_3 = tint_f32_to_i32(x_96);
-  {
-    while(true) {
-      int x_102 = i_3;
-      switch(x_102) {
-        case 9:
-        {
-          int x_132 = i_3;
-          data[x_132] = -5;
-          break;
-        }
-        case 8:
-        {
-          int x_130 = i_3;
-          data[x_130] = -4;
-          break;
-        }
-        case 7:
-        {
-          int x_128 = i_3;
-          data[x_128] = -3;
-          break;
-        }
-        case 6:
-        {
-          int x_126 = i_3;
-          data[x_126] = -2;
-          break;
-        }
-        case 5:
-        {
-          int x_124 = i_3;
-          data[x_124] = -1;
-          break;
-        }
-        case 4:
-        {
-          int x_122 = i_3;
-          data[x_122] = 0;
-          break;
-        }
-        case 3:
-        {
-          int x_120 = i_3;
-          data[x_120] = 1;
-          break;
-        }
-        case 2:
-        {
-          int x_118 = i_3;
-          data[x_118] = 2;
-          break;
-        }
-        case 1:
-        {
-          int x_116 = i_3;
-          data[x_116] = 3;
-          break;
-        }
-        case 0:
-        {
-          int x_114 = i_3;
-          data[x_114] = 4;
-          break;
-        }
-        default:
-        {
-          break;
-        }
-      }
-      int x_134 = i_3;
-      i_3 = (x_134 + 1);
-      {
-        int x_136 = i_3;
-        if (!((x_136 < 10))) { break; }
-      }
-      continue;
-    }
-  }
-  j_1 = 0;
-  {
-    while(true) {
-      int x_142 = j_1;
-      if ((x_142 < 10)) {
-      } else {
-        break;
-      }
-      int x_145 = j_1;
-      int x_146 = j_1;
-      int x_148 = data[x_146];
-      temp[x_145] = x_148;
-      {
-        int x_150 = j_1;
-        j_1 = (x_150 + 1);
-      }
-      continue;
-    }
-  }
-  x_94 = 0;
-  x_93 = 9;
-  x_92 = 1;
-  {
-    while(true) {
-      int x_156 = x_92;
-      int x_157 = x_93;
-      if ((x_156 <= x_157)) {
-      } else {
-        break;
-      }
-      int x_160 = x_94;
-      x_91 = x_160;
-      {
-        while(true) {
-          int x_165 = x_91;
-          int x_166 = x_93;
-          if ((x_165 < x_166)) {
-          } else {
-            break;
-          }
-          int x_169 = x_91;
-          x_90 = x_169;
-          int x_170 = x_91;
-          int x_171 = x_92;
-          x_89 = ((x_170 + x_171) - 1);
-          int x_174 = x_91;
-          int x_175 = x_92;
-          int x_179 = x_93;
-          x_88 = min(((x_174 + (2 * x_175)) - 1), x_179);
-          int x_181 = x_90;
-          x_87 = x_181;
-          int x_182 = x_89;
-          x_86 = x_182;
-          int x_183 = x_88;
-          x_85 = x_183;
-          merge_i1_i1_i1_(x_87, x_86, x_85);
-          {
-            int x_185 = x_92;
-            int x_187 = x_91;
-            x_91 = (x_187 + (2 * x_185));
-          }
-          continue;
-        }
-      }
-      {
-        int x_189 = x_92;
-        x_92 = (2 * x_189);
-      }
-      continue;
-    }
-  }
-  float x_193 = tint_symbol.y;
-  if ((tint_f32_to_i32(x_193) < 30)) {
-    int x_200 = data[0];
-    grey = (0.5f + (float(x_200) / 10.0f));
-  } else {
-    float x_205 = tint_symbol.y;
-    if ((tint_f32_to_i32(x_205) < 60)) {
-      int x_212 = data[1];
-      grey = (0.5f + (float(x_212) / 10.0f));
-    } else {
-      float x_217 = tint_symbol.y;
-      if ((tint_f32_to_i32(x_217) < 90)) {
-        int x_224 = data[2];
-        grey = (0.5f + (float(x_224) / 10.0f));
-      } else {
-        float x_229 = tint_symbol.y;
-        if ((tint_f32_to_i32(x_229) < 120)) {
-          int x_236 = data[3];
-          grey = (0.5f + (float(x_236) / 10.0f));
-        } else {
-          float x_241 = tint_symbol.y;
-          if ((tint_f32_to_i32(x_241) < 150)) {
-            continue_execution = false;
-          } else {
-            float x_248 = tint_symbol.y;
-            if ((tint_f32_to_i32(x_248) < 180)) {
-              int x_255 = data[5];
-              grey = (0.5f + (float(x_255) / 10.0f));
-            } else {
-              float x_260 = tint_symbol.y;
-              if ((tint_f32_to_i32(x_260) < 210)) {
-                int x_267 = data[6];
-                grey = (0.5f + (float(x_267) / 10.0f));
-              } else {
-                float x_272 = tint_symbol.y;
-                if ((tint_f32_to_i32(x_272) < 240)) {
-                  int x_279 = data[7];
-                  grey = (0.5f + (float(x_279) / 10.0f));
-                } else {
-                  float x_284 = tint_symbol.y;
-                  if ((tint_f32_to_i32(x_284) < 270)) {
-                    int x_291 = data[8];
-                    grey = (0.5f + (float(x_291) / 10.0f));
-                  } else {
-                    continue_execution = false;
-                  }
-                }
-              }
-            }
-          }
-        }
-      }
-    }
-  }
-  float x_295 = grey;
-  vec3 x_296 = vec3(x_295, x_295, x_295);
-  x_GLF_color = vec4(x_296[0u], x_296[1u], x_296[2u], 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out v_1 = main_out(x_GLF_color);
-  if (!(continue_execution)) {
-    discard;
-  }
-  return v_1;
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:41: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:41: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-orbit-O-mutate-variable/0.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-orbit-O-mutate-variable/0.spvasm.expected.ir.glsl
deleted file mode 100644
index 3aad054..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-orbit-O-mutate-variable/0.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,121 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  vec4 indexable[16] = vec4[16](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  ivec2 x_77 = ivec2(0);
-  int x_80 = 0;
-  ivec2 x_110 = ivec2(0);
-  ivec2 x_111 = ivec2(0);
-  ivec2 x_113 = ivec2(0);
-  int x_116 = 0;
-  vec2 x_60 = (tint_symbol.xy / v.tint_symbol_3.resolution);
-  int x_63 = tint_f32_to_i32((x_60[0u] * 8.0f));
-  int x_66 = tint_f32_to_i32((x_60[1u] * 8.0f));
-  x_77 = ivec2(((((x_63 & 5) | (x_66 & 10)) * 8) + ((x_66 & 5) | (x_63 & 10))), 0);
-  x_80 = 0;
-  {
-    while(true) {
-      ivec2 x_91 = ivec2(0);
-      ivec2 x_92 = ivec2(0);
-      ivec2 x_99 = ivec2(0);
-      ivec2 x_100 = ivec2(0);
-      int x_81 = 0;
-      if ((x_80 < 100)) {
-      } else {
-        break;
-      }
-      x_92 = x_77;
-      if ((x_77.x > 0)) {
-        x_91 = x_77;
-        x_91[1u] = (x_77.y - 1);
-        x_92 = x_91;
-      }
-      x_100 = x_92;
-      if ((x_92.x < 0)) {
-        x_99 = x_92;
-        x_99[1u] = (x_92.y + 1);
-        x_100 = x_99;
-      }
-      ivec2 x_78_1 = x_100;
-      int v_1 = x_100.x;
-      x_78_1[0u] = (v_1 + tint_div_i32(x_100.y, 2));
-      ivec2 x_78 = x_78_1;
-      {
-        x_81 = (x_80 + 1);
-        x_77 = x_78;
-        x_80 = x_81;
-      }
-      continue;
-    }
-  }
-  int x_105 = x_77.x;
-  x_111 = x_77;
-  if ((x_105 < 0)) {
-    x_110 = ivec2(0);
-    x_110[0u] = -(x_105);
-    x_111 = x_110;
-  }
-  x_113 = x_111;
-  {
-    while(true) {
-      ivec2 x_114 = ivec2(0);
-      x_116 = x_113.x;
-      if ((x_116 > 15)) {
-      } else {
-        break;
-      }
-      {
-        x_114 = ivec2(0);
-        x_114[0u] = (x_116 - 16);
-        x_113 = x_114;
-      }
-      continue;
-    }
-  }
-  indexable = vec4[16](vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(0.5f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 0.5f, 0.0f, 1.0f), vec4(0.5f, 0.5f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 0.5f, 1.0f), vec4(0.5f, 0.0f, 0.5f, 1.0f), vec4(0.0f, 0.5f, 0.5f, 1.0f), vec4(0.5f, 0.5f, 0.5f, 1.0f), vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(1.0f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 1.0f, 0.0f, 1.0f), vec4(1.0f, 1.0f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 1.0f, 1.0f), vec4(1.0f, 0.0f, 1.0f, 1.0f), vec4(0.0f, 1.0f, 1.0f, 1.0f), vec4(1.0f));
-  x_GLF_color = indexable[x_116];
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:22: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-orbit-O-mutate-variable/0.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-orbit-O-mutate-variable/0.wgsl.expected.ir.glsl
deleted file mode 100644
index 93caf3c..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-orbit-O-mutate-variable/0.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,131 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  vec4 indexable[16] = vec4[16](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  ivec2 x_77 = ivec2(0);
-  ivec2 x_110 = ivec2(0);
-  int x_116 = 0;
-  ivec2 x_77_phi = ivec2(0);
-  int x_80_phi = 0;
-  ivec2 x_111_phi = ivec2(0);
-  ivec2 x_113_phi = ivec2(0);
-  vec4 x_56 = tint_symbol;
-  vec2 x_59 = v.tint_symbol_3.resolution;
-  vec2 x_60 = (vec2(x_56[0u], x_56[1u]) / x_59);
-  int x_63 = tint_f32_to_i32((x_60[0u] * 8.0f));
-  int x_66 = tint_f32_to_i32((x_60[1u] * 8.0f));
-  ivec2 x_75 = ivec2(((((x_63 & 5) | (x_66 & 10)) * 8) + ((x_66 & 5) | (x_63 & 10))), 0);
-  x_77_phi = x_75;
-  x_80_phi = 0;
-  {
-    while(true) {
-      ivec2 x_91 = ivec2(0);
-      ivec2 x_99 = ivec2(0);
-      int x_81 = 0;
-      ivec2 x_92_phi = ivec2(0);
-      ivec2 x_100_phi = ivec2(0);
-      x_77 = x_77_phi;
-      int x_80 = x_80_phi;
-      if ((x_80 < 100)) {
-      } else {
-        break;
-      }
-      x_92_phi = x_77;
-      if ((x_77.x > 0)) {
-        x_91 = x_77;
-        x_91[1u] = (x_77.y - 1);
-        x_92_phi = x_91;
-      }
-      ivec2 x_92 = x_92_phi;
-      x_100_phi = x_92;
-      if ((x_92[0u] < 0)) {
-        x_99 = x_92;
-        x_99[1u] = (x_92[1u] + 1);
-        x_100_phi = x_99;
-      }
-      ivec2 x_100 = x_100_phi;
-      ivec2 x_78_1 = x_100;
-      x_78_1[0u] = (x_100[0u] + tint_div_i32(x_100[1u], 2));
-      ivec2 x_78 = x_78_1;
-      {
-        x_81 = (x_80 + 1);
-        x_77_phi = x_78;
-        x_80_phi = x_81;
-      }
-      continue;
-    }
-  }
-  int x_105 = x_77.x;
-  x_111_phi = x_77;
-  if ((x_105 < 0)) {
-    x_110 = ivec2(0);
-    x_110[0u] = -(x_105);
-    x_111_phi = x_110;
-  }
-  ivec2 x_111 = x_111_phi;
-  x_113_phi = x_111;
-  {
-    while(true) {
-      ivec2 x_114 = ivec2(0);
-      ivec2 x_113 = x_113_phi;
-      x_116 = x_113[0u];
-      if ((x_116 > 15)) {
-      } else {
-        break;
-      }
-      {
-        x_114 = ivec2(0);
-        x_114[0u] = (x_116 - 16);
-        x_113_phi = x_114;
-      }
-      continue;
-    }
-  }
-  indexable = vec4[16](vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(0.5f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 0.5f, 0.0f, 1.0f), vec4(0.5f, 0.5f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 0.5f, 1.0f), vec4(0.5f, 0.0f, 0.5f, 1.0f), vec4(0.0f, 0.5f, 0.5f, 1.0f), vec4(0.5f, 0.5f, 0.5f, 1.0f), vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(1.0f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 1.0f, 0.0f, 1.0f), vec4(1.0f, 1.0f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 1.0f, 1.0f), vec4(1.0f, 0.0f, 1.0f, 1.0f), vec4(0.0f, 1.0f, 1.0f, 1.0f), vec4(1.0f));
-  vec4 x_121 = indexable[x_116];
-  x_GLF_color = x_121;
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:22: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-orbit-O-mutate-variable/1.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-orbit-O-mutate-variable/1.spvasm.expected.ir.glsl
deleted file mode 100644
index c81f791..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-orbit-O-mutate-variable/1.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,124 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  vec4 indexable[16] = vec4[16](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  ivec2 x_80 = ivec2(0);
-  int x_83 = 0;
-  ivec2 x_113 = ivec2(0);
-  ivec2 x_114 = ivec2(0);
-  ivec2 x_116 = ivec2(0);
-  int x_119 = 0;
-  vec2 x_63 = (tint_symbol.xy / v.tint_symbol_3.resolution);
-  int x_66 = tint_f32_to_i32((x_63[0u] * 8.0f));
-  int x_69 = tint_f32_to_i32((x_63[1u] * 8.0f));
-  x_80 = ivec2(((((x_66 & 5) | (x_69 & 10)) * 8) + ((x_69 & 5) | (x_66 & 10))), 0);
-  x_83 = 0;
-  {
-    while(true) {
-      ivec2 x_94 = ivec2(0);
-      ivec2 x_95 = ivec2(0);
-      ivec2 x_102 = ivec2(0);
-      ivec2 x_103 = ivec2(0);
-      int x_84 = 0;
-      if ((x_83 < 100)) {
-      } else {
-        break;
-      }
-      x_95 = x_80;
-      if ((x_80.x > 0)) {
-        x_94 = x_80;
-        x_94[1u] = (x_80.y - 1);
-        x_95 = x_94;
-      }
-      x_103 = x_95;
-      if ((x_95.x < 0)) {
-        x_102 = x_95;
-        x_102[1u] = (x_95.y + 1);
-        x_103 = x_102;
-      }
-      ivec2 x_81_1 = x_103;
-      int v_1 = x_103.x;
-      x_81_1[0u] = (v_1 + tint_div_i32(x_103.y, 2));
-      ivec2 x_81 = x_81_1;
-      {
-        x_84 = (x_83 + 1);
-        x_80 = x_81;
-        x_83 = x_84;
-      }
-      continue;
-    }
-  }
-  int x_108 = x_80.x;
-  x_114 = x_80;
-  if ((x_108 < 0)) {
-    x_113 = ivec2(0);
-    x_113[0u] = -(x_108);
-    x_114 = x_113;
-  }
-  x_116 = x_114;
-  {
-    while(true) {
-      ivec2 x_117 = ivec2(0);
-      x_119 = x_116.x;
-      if ((x_119 > 15)) {
-      } else {
-        break;
-      }
-      {
-        x_117 = ivec2(0);
-        x_117[0u] = (x_119 - 16);
-        x_116 = x_117;
-      }
-      continue;
-    }
-  }
-  indexable = vec4[16](vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(0.5f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 0.5f, 0.0f, 1.0f), vec4(0.5f, 0.5f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 0.5f, 1.0f), vec4(0.5f, 0.0f, 0.5f, 1.0f), vec4(0.0f, 0.5f, 0.5f, 1.0f), vec4(0.5f, 0.5f, 0.5f, 1.0f), vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(1.0f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 1.0f, 0.0f, 1.0f), vec4(1.0f, 1.0f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 1.0f, 1.0f), vec4(1.0f, 0.0f, 1.0f, 1.0f), vec4(0.0f, 1.0f, 1.0f, 1.0f), vec4(1.0f));
-  vec4 x_123[16] = indexable;
-  indexable = vec4[16](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  indexable = x_123;
-  x_GLF_color = indexable[x_119];
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:22: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-orbit-O-mutate-variable/1.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-orbit-O-mutate-variable/1.wgsl.expected.ir.glsl
deleted file mode 100644
index 277182d..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-orbit-O-mutate-variable/1.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,134 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  vec4 indexable[16] = vec4[16](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  ivec2 x_80 = ivec2(0);
-  ivec2 x_113 = ivec2(0);
-  int x_119 = 0;
-  ivec2 x_80_phi = ivec2(0);
-  int x_83_phi = 0;
-  ivec2 x_114_phi = ivec2(0);
-  ivec2 x_116_phi = ivec2(0);
-  vec4 x_59 = tint_symbol;
-  vec2 x_62 = v.tint_symbol_3.resolution;
-  vec2 x_63 = (vec2(x_59[0u], x_59[1u]) / x_62);
-  int x_66 = tint_f32_to_i32((x_63[0u] * 8.0f));
-  int x_69 = tint_f32_to_i32((x_63[1u] * 8.0f));
-  ivec2 x_78 = ivec2(((((x_66 & 5) | (x_69 & 10)) * 8) + ((x_69 & 5) | (x_66 & 10))), 0);
-  x_80_phi = x_78;
-  x_83_phi = 0;
-  {
-    while(true) {
-      ivec2 x_94 = ivec2(0);
-      ivec2 x_102 = ivec2(0);
-      int x_84 = 0;
-      ivec2 x_95_phi = ivec2(0);
-      ivec2 x_103_phi = ivec2(0);
-      x_80 = x_80_phi;
-      int x_83 = x_83_phi;
-      if ((x_83 < 100)) {
-      } else {
-        break;
-      }
-      x_95_phi = x_80;
-      if ((x_80.x > 0)) {
-        x_94 = x_80;
-        x_94[1u] = (x_80.y - 1);
-        x_95_phi = x_94;
-      }
-      ivec2 x_95 = x_95_phi;
-      x_103_phi = x_95;
-      if ((x_95[0u] < 0)) {
-        x_102 = x_95;
-        x_102[1u] = (x_95[1u] + 1);
-        x_103_phi = x_102;
-      }
-      ivec2 x_103 = x_103_phi;
-      ivec2 x_81_1 = x_103;
-      x_81_1[0u] = (x_103[0u] + tint_div_i32(x_103[1u], 2));
-      ivec2 x_81 = x_81_1;
-      {
-        x_84 = (x_83 + 1);
-        x_80_phi = x_81;
-        x_83_phi = x_84;
-      }
-      continue;
-    }
-  }
-  int x_108 = x_80.x;
-  x_114_phi = x_80;
-  if ((x_108 < 0)) {
-    x_113 = ivec2(0);
-    x_113[0u] = -(x_108);
-    x_114_phi = x_113;
-  }
-  ivec2 x_114 = x_114_phi;
-  x_116_phi = x_114;
-  {
-    while(true) {
-      ivec2 x_117 = ivec2(0);
-      ivec2 x_116 = x_116_phi;
-      x_119 = x_116[0u];
-      if ((x_119 > 15)) {
-      } else {
-        break;
-      }
-      {
-        x_117 = ivec2(0);
-        x_117[0u] = (x_119 - 16);
-        x_116_phi = x_117;
-      }
-      continue;
-    }
-  }
-  indexable = vec4[16](vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(0.5f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 0.5f, 0.0f, 1.0f), vec4(0.5f, 0.5f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 0.5f, 1.0f), vec4(0.5f, 0.0f, 0.5f, 1.0f), vec4(0.0f, 0.5f, 0.5f, 1.0f), vec4(0.5f, 0.5f, 0.5f, 1.0f), vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(1.0f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 1.0f, 0.0f, 1.0f), vec4(1.0f, 1.0f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 1.0f, 1.0f), vec4(1.0f, 0.0f, 1.0f, 1.0f), vec4(0.0f, 1.0f, 1.0f, 1.0f), vec4(1.0f));
-  vec4 x_123[16] = indexable;
-  indexable = vec4[16](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  indexable = x_123;
-  vec4 x_125 = indexable[x_119];
-  x_GLF_color = x_125;
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:22: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-orbit-Os-access-chain-mutate-pointer/0.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-orbit-Os-access-chain-mutate-pointer/0.spvasm.expected.ir.glsl
deleted file mode 100644
index 72022e7..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-orbit-Os-access-chain-mutate-pointer/0.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,121 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  vec4 indexable[16] = vec4[16](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  ivec2 x_76 = ivec2(0);
-  int x_79 = 0;
-  ivec2 x_109 = ivec2(0);
-  ivec2 x_110 = ivec2(0);
-  ivec2 x_112 = ivec2(0);
-  int x_115 = 0;
-  vec2 x_59 = (tint_symbol.xy / v.tint_symbol_3.resolution);
-  int x_62 = tint_f32_to_i32((x_59[0u] * 8.0f));
-  int x_65 = tint_f32_to_i32((x_59[1u] * 8.0f));
-  x_76 = ivec2(((((x_62 & 5) | (x_65 & 10)) * 8) + ((x_65 & 5) | (x_62 & 10))), 0);
-  x_79 = 0;
-  {
-    while(true) {
-      ivec2 x_90 = ivec2(0);
-      ivec2 x_91 = ivec2(0);
-      ivec2 x_98 = ivec2(0);
-      ivec2 x_99 = ivec2(0);
-      int x_80 = 0;
-      if ((x_79 < 100)) {
-      } else {
-        break;
-      }
-      x_91 = x_76;
-      if ((x_76.x > 0)) {
-        x_90 = x_76;
-        x_90[1u] = (x_76.y - 1);
-        x_91 = x_90;
-      }
-      x_99 = x_91;
-      if ((x_91.x < 0)) {
-        x_98 = x_91;
-        x_98[1u] = (x_91.y + 1);
-        x_99 = x_98;
-      }
-      ivec2 x_77_1 = x_99;
-      int v_1 = x_99.x;
-      x_77_1[0u] = (v_1 + tint_div_i32(x_99.y, 2));
-      ivec2 x_77 = x_77_1;
-      {
-        x_80 = (x_79 + 1);
-        x_76 = x_77;
-        x_79 = x_80;
-      }
-      continue;
-    }
-  }
-  int x_104 = x_76.x;
-  x_110 = x_76;
-  if ((x_104 < 0)) {
-    x_109 = x_76;
-    x_109[0u] = -(x_104);
-    x_110 = x_109;
-  }
-  x_112 = x_110;
-  {
-    while(true) {
-      ivec2 x_113 = ivec2(0);
-      x_115 = x_112.x;
-      if ((x_115 > 15)) {
-      } else {
-        break;
-      }
-      {
-        x_113 = x_112;
-        x_113[0u] = (x_115 - 16);
-        x_112 = x_113;
-      }
-      continue;
-    }
-  }
-  indexable = vec4[16](vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(0.5f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 0.5f, 0.0f, 1.0f), vec4(0.5f, 0.5f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 0.5f, 1.0f), vec4(0.5f, 0.0f, 0.5f, 1.0f), vec4(0.0f, 0.5f, 0.5f, 1.0f), vec4(0.5f, 0.5f, 0.5f, 1.0f), vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(1.0f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 1.0f, 0.0f, 1.0f), vec4(1.0f, 1.0f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 1.0f, 1.0f), vec4(1.0f, 0.0f, 1.0f, 1.0f), vec4(0.0f, 1.0f, 1.0f, 1.0f), vec4(1.0f));
-  x_GLF_color = indexable[x_115];
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:22: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-orbit-Os-access-chain-mutate-pointer/0.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-orbit-Os-access-chain-mutate-pointer/0.wgsl.expected.ir.glsl
deleted file mode 100644
index 6b36655..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-orbit-Os-access-chain-mutate-pointer/0.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,131 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  vec4 indexable[16] = vec4[16](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  ivec2 x_76 = ivec2(0);
-  ivec2 x_109 = ivec2(0);
-  int x_115 = 0;
-  ivec2 x_76_phi = ivec2(0);
-  int x_79_phi = 0;
-  ivec2 x_110_phi = ivec2(0);
-  ivec2 x_112_phi = ivec2(0);
-  vec4 x_55 = tint_symbol;
-  vec2 x_58 = v.tint_symbol_3.resolution;
-  vec2 x_59 = (vec2(x_55[0u], x_55[1u]) / x_58);
-  int x_62 = tint_f32_to_i32((x_59[0u] * 8.0f));
-  int x_65 = tint_f32_to_i32((x_59[1u] * 8.0f));
-  ivec2 x_74 = ivec2(((((x_62 & 5) | (x_65 & 10)) * 8) + ((x_65 & 5) | (x_62 & 10))), 0);
-  x_76_phi = x_74;
-  x_79_phi = 0;
-  {
-    while(true) {
-      ivec2 x_90 = ivec2(0);
-      ivec2 x_98 = ivec2(0);
-      int x_80 = 0;
-      ivec2 x_91_phi = ivec2(0);
-      ivec2 x_99_phi = ivec2(0);
-      x_76 = x_76_phi;
-      int x_79 = x_79_phi;
-      if ((x_79 < 100)) {
-      } else {
-        break;
-      }
-      x_91_phi = x_76;
-      if ((x_76.x > 0)) {
-        x_90 = x_76;
-        x_90[1u] = (x_76.y - 1);
-        x_91_phi = x_90;
-      }
-      ivec2 x_91 = x_91_phi;
-      x_99_phi = x_91;
-      if ((x_91[0u] < 0)) {
-        x_98 = x_91;
-        x_98[1u] = (x_91[1u] + 1);
-        x_99_phi = x_98;
-      }
-      ivec2 x_99 = x_99_phi;
-      ivec2 x_77_1 = x_99;
-      x_77_1[0u] = (x_99[0u] + tint_div_i32(x_99[1u], 2));
-      ivec2 x_77 = x_77_1;
-      {
-        x_80 = (x_79 + 1);
-        x_76_phi = x_77;
-        x_79_phi = x_80;
-      }
-      continue;
-    }
-  }
-  int x_104 = x_76.x;
-  x_110_phi = x_76;
-  if ((x_104 < 0)) {
-    x_109 = x_76;
-    x_109[0u] = -(x_104);
-    x_110_phi = x_109;
-  }
-  ivec2 x_110 = x_110_phi;
-  x_112_phi = x_110;
-  {
-    while(true) {
-      ivec2 x_113 = ivec2(0);
-      ivec2 x_112 = x_112_phi;
-      x_115 = x_112[0u];
-      if ((x_115 > 15)) {
-      } else {
-        break;
-      }
-      {
-        x_113 = x_112;
-        x_113[0u] = (x_115 - 16);
-        x_112_phi = x_113;
-      }
-      continue;
-    }
-  }
-  indexable = vec4[16](vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(0.5f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 0.5f, 0.0f, 1.0f), vec4(0.5f, 0.5f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 0.5f, 1.0f), vec4(0.5f, 0.0f, 0.5f, 1.0f), vec4(0.0f, 0.5f, 0.5f, 1.0f), vec4(0.5f, 0.5f, 0.5f, 1.0f), vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(1.0f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 1.0f, 0.0f, 1.0f), vec4(1.0f, 1.0f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 1.0f, 1.0f), vec4(1.0f, 0.0f, 1.0f, 1.0f), vec4(0.0f, 1.0f, 1.0f, 1.0f), vec4(1.0f));
-  vec4 x_120 = indexable[x_115];
-  x_GLF_color = x_120;
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:22: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-orbit-Os-access-chain-mutate-pointer/1.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-orbit-Os-access-chain-mutate-pointer/1.spvasm.expected.ir.glsl
deleted file mode 100644
index d0a044e..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-orbit-Os-access-chain-mutate-pointer/1.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,124 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  vec4 indexable[16] = vec4[16](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  ivec2 x_80 = ivec2(0);
-  int x_83 = 0;
-  ivec2 x_113 = ivec2(0);
-  ivec2 x_114 = ivec2(0);
-  ivec2 x_116 = ivec2(0);
-  int x_119 = 0;
-  vec2 x_62 = (tint_symbol.xy / v.tint_symbol_3.resolution);
-  int x_65 = tint_f32_to_i32((x_62[0u] * 8.0f));
-  int x_69 = tint_f32_to_i32((x_62[1u] * 8.0f));
-  x_80 = ivec2(((((x_65 & 5) | (x_69 & 10)) * 8) + ((x_69 & 5) | (x_65 & 10))), 0);
-  x_83 = 0;
-  {
-    while(true) {
-      ivec2 x_94 = ivec2(0);
-      ivec2 x_95 = ivec2(0);
-      ivec2 x_102 = ivec2(0);
-      ivec2 x_103 = ivec2(0);
-      int x_84 = 0;
-      if ((x_83 < 100)) {
-      } else {
-        break;
-      }
-      x_95 = x_80;
-      if ((x_80.x > 0)) {
-        x_94 = x_80;
-        x_94[1u] = (x_80.y - 1);
-        x_95 = x_94;
-      }
-      x_103 = x_95;
-      if ((x_95.x < 0)) {
-        x_102 = x_95;
-        x_102[1u] = (x_95.y + 1);
-        x_103 = x_102;
-      }
-      ivec2 x_81_1 = x_103;
-      int v_1 = x_103.x;
-      x_81_1[0u] = (v_1 + tint_div_i32(x_103.y, 2));
-      ivec2 x_81 = x_81_1;
-      {
-        x_84 = (x_83 + 1);
-        x_80 = x_81;
-        x_83 = x_84;
-      }
-      continue;
-    }
-  }
-  int x_108 = x_80.x;
-  x_114 = x_80;
-  if ((x_108 < 0)) {
-    x_113 = x_80;
-    x_113[0u] = -(x_108);
-    x_114 = x_113;
-  }
-  x_116 = x_114;
-  {
-    while(true) {
-      ivec2 x_117 = ivec2(0);
-      x_119 = x_116.x;
-      if ((x_119 > 15)) {
-      } else {
-        break;
-      }
-      {
-        x_117 = x_116;
-        x_117[0u] = (x_119 - 16);
-        x_116 = x_117;
-      }
-      continue;
-    }
-  }
-  indexable = vec4[16](vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(0.5f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 0.5f, 0.0f, 1.0f), vec4(0.5f, 0.5f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 0.5f, 1.0f), vec4(0.5f, 0.0f, 0.5f, 1.0f), vec4(0.0f, 0.5f, 0.5f, 1.0f), vec4(0.5f, 0.5f, 0.5f, 1.0f), vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(1.0f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 1.0f, 0.0f, 1.0f), vec4(1.0f, 1.0f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 1.0f, 1.0f), vec4(1.0f, 0.0f, 1.0f, 1.0f), vec4(0.0f, 1.0f, 1.0f, 1.0f), vec4(1.0f));
-  vec4 x_124[16] = indexable;
-  indexable = vec4[16](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  indexable = x_124;
-  x_GLF_color = indexable[x_119];
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:22: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-orbit-Os-access-chain-mutate-pointer/1.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-orbit-Os-access-chain-mutate-pointer/1.wgsl.expected.ir.glsl
deleted file mode 100644
index 4d18cf9..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-orbit-Os-access-chain-mutate-pointer/1.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,134 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  vec4 indexable[16] = vec4[16](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  ivec2 x_80 = ivec2(0);
-  ivec2 x_113 = ivec2(0);
-  int x_119 = 0;
-  ivec2 x_80_phi = ivec2(0);
-  int x_83_phi = 0;
-  ivec2 x_114_phi = ivec2(0);
-  ivec2 x_116_phi = ivec2(0);
-  vec4 x_58 = tint_symbol;
-  vec2 x_61 = v.tint_symbol_3.resolution;
-  vec2 x_62 = (vec2(x_58[0u], x_58[1u]) / x_61);
-  int x_65 = tint_f32_to_i32((x_62[0u] * 8.0f));
-  int x_69 = tint_f32_to_i32((x_62[1u] * 8.0f));
-  ivec2 x_78 = ivec2(((((x_65 & 5) | (x_69 & 10)) * 8) + ((x_69 & 5) | (x_65 & 10))), 0);
-  x_80_phi = x_78;
-  x_83_phi = 0;
-  {
-    while(true) {
-      ivec2 x_94 = ivec2(0);
-      ivec2 x_102 = ivec2(0);
-      int x_84 = 0;
-      ivec2 x_95_phi = ivec2(0);
-      ivec2 x_103_phi = ivec2(0);
-      x_80 = x_80_phi;
-      int x_83 = x_83_phi;
-      if ((x_83 < 100)) {
-      } else {
-        break;
-      }
-      x_95_phi = x_80;
-      if ((x_80.x > 0)) {
-        x_94 = x_80;
-        x_94[1u] = (x_80.y - 1);
-        x_95_phi = x_94;
-      }
-      ivec2 x_95 = x_95_phi;
-      x_103_phi = x_95;
-      if ((x_95[0u] < 0)) {
-        x_102 = x_95;
-        x_102[1u] = (x_95[1u] + 1);
-        x_103_phi = x_102;
-      }
-      ivec2 x_103 = x_103_phi;
-      ivec2 x_81_1 = x_103;
-      x_81_1[0u] = (x_103[0u] + tint_div_i32(x_103[1u], 2));
-      ivec2 x_81 = x_81_1;
-      {
-        x_84 = (x_83 + 1);
-        x_80_phi = x_81;
-        x_83_phi = x_84;
-      }
-      continue;
-    }
-  }
-  int x_108 = x_80.x;
-  x_114_phi = x_80;
-  if ((x_108 < 0)) {
-    x_113 = x_80;
-    x_113[0u] = -(x_108);
-    x_114_phi = x_113;
-  }
-  ivec2 x_114 = x_114_phi;
-  x_116_phi = x_114;
-  {
-    while(true) {
-      ivec2 x_117 = ivec2(0);
-      ivec2 x_116 = x_116_phi;
-      x_119 = x_116[0u];
-      if ((x_119 > 15)) {
-      } else {
-        break;
-      }
-      {
-        x_117 = x_116;
-        x_117[0u] = (x_119 - 16);
-        x_116_phi = x_117;
-      }
-      continue;
-    }
-  }
-  indexable = vec4[16](vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(0.5f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 0.5f, 0.0f, 1.0f), vec4(0.5f, 0.5f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 0.5f, 1.0f), vec4(0.5f, 0.0f, 0.5f, 1.0f), vec4(0.0f, 0.5f, 0.5f, 1.0f), vec4(0.5f, 0.5f, 0.5f, 1.0f), vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(1.0f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 1.0f, 0.0f, 1.0f), vec4(1.0f, 1.0f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 1.0f, 1.0f), vec4(1.0f, 0.0f, 1.0f, 1.0f), vec4(0.0f, 1.0f, 1.0f, 1.0f), vec4(1.0f));
-  vec4 x_124[16] = indexable;
-  indexable = vec4[16](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  indexable = x_124;
-  vec4 x_125 = indexable[x_119];
-  x_GLF_color = x_125;
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:22: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-orbit-Os-access-chain-mutate-pointer/2.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-orbit-Os-access-chain-mutate-pointer/2.spvasm.expected.ir.glsl
deleted file mode 100644
index fac3129..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-orbit-Os-access-chain-mutate-pointer/2.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,121 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  vec4 indexable[16] = vec4[16](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  ivec2 x_80 = ivec2(0);
-  int x_83 = 0;
-  ivec2 x_113 = ivec2(0);
-  ivec2 x_114 = ivec2(0);
-  ivec2 x_116 = ivec2(0);
-  int x_119 = 0;
-  vec2 x_62 = (tint_symbol.xy / v.tint_symbol_3.resolution);
-  int x_65 = tint_f32_to_i32((x_62[0u] * 8.0f));
-  int x_69 = tint_f32_to_i32((x_62[1u] * 8.0f));
-  x_80 = ivec2(((((x_65 & 5) | (x_69 & 10)) * 8) + ((x_69 & 5) | (x_65 & 10))), 0);
-  x_83 = 0;
-  {
-    while(true) {
-      ivec2 x_94 = ivec2(0);
-      ivec2 x_95 = ivec2(0);
-      ivec2 x_102 = ivec2(0);
-      ivec2 x_103 = ivec2(0);
-      int x_84 = 0;
-      if ((x_83 < 100)) {
-      } else {
-        break;
-      }
-      x_95 = x_80;
-      if ((x_80.x > 0)) {
-        x_94 = x_80;
-        x_94[1u] = (x_80.y - 1);
-        x_95 = x_94;
-      }
-      x_103 = x_95;
-      if ((x_95.x < 0)) {
-        x_102 = x_95;
-        x_102[1u] = (x_95.y + 1);
-        x_103 = x_102;
-      }
-      ivec2 x_81_1 = x_103;
-      int v_1 = x_103.x;
-      x_81_1[0u] = (v_1 + tint_div_i32(x_103.y, 2));
-      ivec2 x_81 = x_81_1;
-      {
-        x_84 = (x_83 + 1);
-        x_80 = x_81;
-        x_83 = x_84;
-      }
-      continue;
-    }
-  }
-  int x_108 = x_80.x;
-  x_114 = x_80;
-  if ((x_108 < 0)) {
-    x_113 = x_80;
-    x_113[0u] = -(x_108);
-    x_114 = x_113;
-  }
-  x_116 = x_114;
-  {
-    while(true) {
-      ivec2 x_117 = ivec2(0);
-      x_119 = x_116.x;
-      if ((x_119 > 15)) {
-      } else {
-        break;
-      }
-      {
-        x_117 = x_116;
-        x_117[0u] = (x_119 - 16);
-        x_116 = x_117;
-      }
-      continue;
-    }
-  }
-  indexable = vec4[16](vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(0.5f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 0.5f, 0.0f, 1.0f), vec4(0.5f, 0.5f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 0.5f, 1.0f), vec4(0.5f, 0.0f, 0.5f, 1.0f), vec4(0.0f, 0.5f, 0.5f, 1.0f), vec4(0.5f, 0.5f, 0.5f, 1.0f), vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(1.0f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 1.0f, 0.0f, 1.0f), vec4(1.0f, 1.0f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 1.0f, 1.0f), vec4(1.0f, 0.0f, 1.0f, 1.0f), vec4(0.0f, 1.0f, 1.0f, 1.0f), vec4(1.0f));
-  x_GLF_color = indexable[x_119];
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:22: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-orbit-Os-access-chain-mutate-pointer/2.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-orbit-Os-access-chain-mutate-pointer/2.wgsl.expected.ir.glsl
deleted file mode 100644
index 6f3d1c1..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-orbit-Os-access-chain-mutate-pointer/2.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,131 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  vec4 indexable[16] = vec4[16](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  ivec2 x_80 = ivec2(0);
-  ivec2 x_113 = ivec2(0);
-  int x_119 = 0;
-  ivec2 x_80_phi = ivec2(0);
-  int x_83_phi = 0;
-  ivec2 x_114_phi = ivec2(0);
-  ivec2 x_116_phi = ivec2(0);
-  vec4 x_58 = tint_symbol;
-  vec2 x_61 = v.tint_symbol_3.resolution;
-  vec2 x_62 = (vec2(x_58[0u], x_58[1u]) / x_61);
-  int x_65 = tint_f32_to_i32((x_62[0u] * 8.0f));
-  int x_69 = tint_f32_to_i32((x_62[1u] * 8.0f));
-  ivec2 x_78 = ivec2(((((x_65 & 5) | (x_69 & 10)) * 8) + ((x_69 & 5) | (x_65 & 10))), 0);
-  x_80_phi = x_78;
-  x_83_phi = 0;
-  {
-    while(true) {
-      ivec2 x_94 = ivec2(0);
-      ivec2 x_102 = ivec2(0);
-      int x_84 = 0;
-      ivec2 x_95_phi = ivec2(0);
-      ivec2 x_103_phi = ivec2(0);
-      x_80 = x_80_phi;
-      int x_83 = x_83_phi;
-      if ((x_83 < 100)) {
-      } else {
-        break;
-      }
-      x_95_phi = x_80;
-      if ((x_80.x > 0)) {
-        x_94 = x_80;
-        x_94[1u] = (x_80.y - 1);
-        x_95_phi = x_94;
-      }
-      ivec2 x_95 = x_95_phi;
-      x_103_phi = x_95;
-      if ((x_95[0u] < 0)) {
-        x_102 = x_95;
-        x_102[1u] = (x_95[1u] + 1);
-        x_103_phi = x_102;
-      }
-      ivec2 x_103 = x_103_phi;
-      ivec2 x_81_1 = x_103;
-      x_81_1[0u] = (x_103[0u] + tint_div_i32(x_103[1u], 2));
-      ivec2 x_81 = x_81_1;
-      {
-        x_84 = (x_83 + 1);
-        x_80_phi = x_81;
-        x_83_phi = x_84;
-      }
-      continue;
-    }
-  }
-  int x_108 = x_80.x;
-  x_114_phi = x_80;
-  if ((x_108 < 0)) {
-    x_113 = x_80;
-    x_113[0u] = -(x_108);
-    x_114_phi = x_113;
-  }
-  ivec2 x_114 = x_114_phi;
-  x_116_phi = x_114;
-  {
-    while(true) {
-      ivec2 x_117 = ivec2(0);
-      ivec2 x_116 = x_116_phi;
-      x_119 = x_116[0u];
-      if ((x_119 > 15)) {
-      } else {
-        break;
-      }
-      {
-        x_117 = x_116;
-        x_117[0u] = (x_119 - 16);
-        x_116_phi = x_117;
-      }
-      continue;
-    }
-  }
-  indexable = vec4[16](vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(0.5f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 0.5f, 0.0f, 1.0f), vec4(0.5f, 0.5f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 0.5f, 1.0f), vec4(0.5f, 0.0f, 0.5f, 1.0f), vec4(0.0f, 0.5f, 0.5f, 1.0f), vec4(0.5f, 0.5f, 0.5f, 1.0f), vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(1.0f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 1.0f, 0.0f, 1.0f), vec4(1.0f, 1.0f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 1.0f, 1.0f), vec4(1.0f, 0.0f, 1.0f, 1.0f), vec4(0.0f, 1.0f, 1.0f, 1.0f), vec4(1.0f));
-  vec4 x_124 = indexable[x_119];
-  x_GLF_color = x_124;
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:22: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-rects-Os-mutate-var-push-through-var/1.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-rects-Os-mutate-var-push-through-var/1.spvasm.expected.ir.glsl
deleted file mode 100644
index cfcc356..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-rects-Os-mutate-var-push-through-var/1.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,125 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_mod_i32(int lhs, int rhs) {
-  int v_1 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_1) * v_1));
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  vec4 x_81[8] = vec4[8](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  vec4 x_82[8] = vec4[8](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  vec4 x_83[8] = vec4[8](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  vec4 x_84[8] = vec4[8](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  vec4 x_85[16] = vec4[16](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  vec4 x_95 = vec4(0.0f);
-  int x_98 = 0;
-  x_81 = vec4[8](vec4(4.0f, 4.0f, 20.0f, 4.0f), vec4(4.0f, 4.0f, 4.0f, 20.0f), vec4(4.0f, 20.0f, 20.0f, 4.0f), vec4(20.0f, 4.0f, 4.0f, 8.0f), vec4(8.0f, 6.0f, 4.0f, 2.0f), vec4(2.0f, 12.0f, 2.0f, 4.0f), vec4(16.0f, 2.0f, 4.0f, 4.0f), vec4(12.0f, 22.0f, 4.0f, 4.0f));
-  vec4 x_86[8] = x_81;
-  vec2 x_93 = floor(((tint_symbol.xy / v.tint_symbol_3.resolution) * 32.0f));
-  x_95 = vec4(0.5f, 0.5f, 1.0f, 1.0f);
-  x_98 = 0;
-  {
-    while(true) {
-      bool x_127 = false;
-      vec4 x_143 = vec4(0.0f);
-      vec4 x_96 = vec4(0.0f);
-      int x_99 = 0;
-      if ((x_98 < 8)) {
-      } else {
-        break;
-      }
-      vec4 x_104 = vec4(0.0f);
-      x_82 = x_86;
-      x_104 = x_82[x_98];
-      switch(0u) {
-        default:
-        {
-          float x_107 = x_93[0u];
-          float x_108 = x_104.x;
-          if ((x_107 < x_108)) {
-            x_127 = false;
-            break;
-          }
-          float x_112 = x_93[1u];
-          float x_113 = x_104.y;
-          if ((x_112 < x_113)) {
-            x_127 = false;
-            break;
-          }
-          if ((x_107 > (x_108 + x_104.z))) {
-            x_127 = false;
-            break;
-          }
-          if ((x_112 > (x_113 + x_104.w))) {
-            x_127 = false;
-            break;
-          }
-          x_127 = true;
-          break;
-        }
-      }
-      x_96 = x_95;
-      if (x_127) {
-        x_83 = vec4[8](vec4(4.0f, 4.0f, 20.0f, 4.0f), vec4(4.0f, 4.0f, 4.0f, 20.0f), vec4(4.0f, 20.0f, 20.0f, 4.0f), vec4(20.0f, 4.0f, 4.0f, 8.0f), vec4(8.0f, 6.0f, 4.0f, 2.0f), vec4(2.0f, 12.0f, 2.0f, 4.0f), vec4(16.0f, 2.0f, 4.0f, 4.0f), vec4(12.0f, 22.0f, 4.0f, 4.0f));
-        float x_131 = x_83[x_98].x;
-        x_84 = vec4[8](vec4(4.0f, 4.0f, 20.0f, 4.0f), vec4(4.0f, 4.0f, 4.0f, 20.0f), vec4(4.0f, 20.0f, 20.0f, 4.0f), vec4(20.0f, 4.0f, 4.0f, 8.0f), vec4(8.0f, 6.0f, 4.0f, 2.0f), vec4(2.0f, 12.0f, 2.0f, 4.0f), vec4(16.0f, 2.0f, 4.0f, 4.0f), vec4(12.0f, 22.0f, 4.0f, 4.0f));
-        float x_134 = x_84[x_98].y;
-        vec4 x_135[8] = x_81;
-        x_81 = vec4[8](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-        x_81 = x_135;
-        x_85 = vec4[16](vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(0.5f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 0.5f, 0.0f, 1.0f), vec4(0.5f, 0.5f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 0.5f, 1.0f), vec4(0.5f, 0.0f, 0.5f, 1.0f), vec4(0.0f, 0.5f, 0.5f, 1.0f), vec4(0.5f, 0.5f, 0.5f, 1.0f), vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(1.0f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 1.0f, 0.0f, 1.0f), vec4(1.0f, 1.0f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 1.0f, 1.0f), vec4(1.0f, 0.0f, 1.0f, 1.0f), vec4(0.0f, 1.0f, 1.0f, 1.0f), vec4(1.0f));
-        int v_2 = tint_f32_to_i32(x_131);
-        int v_3 = (v_2 * tint_f32_to_i32(x_134));
-        x_143 = x_85[tint_mod_i32(((v_3 + (x_98 * 9)) + 11), 16)];
-        x_96 = x_143;
-      }
-      {
-        x_99 = (x_98 + 1);
-        x_95 = x_96;
-        x_98 = x_99;
-      }
-      continue;
-    }
-  }
-  x_GLF_color = x_95;
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:22: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-rects-Os-mutate-var-push-through-var/1.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-rects-Os-mutate-var-push-through-var/1.wgsl.expected.ir.glsl
deleted file mode 100644
index a21ee5a..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-rects-Os-mutate-var-push-through-var/1.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,131 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_mod_i32(int lhs, int rhs) {
-  int v_1 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_1) * v_1));
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  vec4 x_81[8] = vec4[8](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  vec4 x_82[8] = vec4[8](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  vec4 x_83[8] = vec4[8](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  vec4 x_84[8] = vec4[8](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  vec4 x_85[16] = vec4[16](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  vec4 x_95 = vec4(0.0f);
-  vec4 x_95_phi = vec4(0.0f);
-  int x_98_phi = 0;
-  x_81 = vec4[8](vec4(4.0f, 4.0f, 20.0f, 4.0f), vec4(4.0f, 4.0f, 4.0f, 20.0f), vec4(4.0f, 20.0f, 20.0f, 4.0f), vec4(20.0f, 4.0f, 4.0f, 8.0f), vec4(8.0f, 6.0f, 4.0f, 2.0f), vec4(2.0f, 12.0f, 2.0f, 4.0f), vec4(16.0f, 2.0f, 4.0f, 4.0f), vec4(12.0f, 22.0f, 4.0f, 4.0f));
-  vec4 x_86[8] = x_81;
-  vec4 x_87 = tint_symbol;
-  vec2 x_90 = v.tint_symbol_3.resolution;
-  vec2 x_93 = floor(((vec2(x_87[0u], x_87[1u]) / x_90) * 32.0f));
-  x_95_phi = vec4(0.5f, 0.5f, 1.0f, 1.0f);
-  x_98_phi = 0;
-  {
-    while(true) {
-      vec4 x_143 = vec4(0.0f);
-      int x_99 = 0;
-      bool x_127_phi = false;
-      vec4 x_96_phi = vec4(0.0f);
-      x_95 = x_95_phi;
-      int x_98 = x_98_phi;
-      if ((x_98 < 8)) {
-      } else {
-        break;
-      }
-      vec4 x_104 = vec4(0.0f);
-      x_82 = x_86;
-      x_104 = x_82[x_98];
-      switch(0u) {
-        default:
-        {
-          float x_107 = x_93[0u];
-          float x_108 = x_104.x;
-          if ((x_107 < x_108)) {
-            x_127_phi = false;
-            break;
-          }
-          float x_112 = x_93[1u];
-          float x_113 = x_104.y;
-          if ((x_112 < x_113)) {
-            x_127_phi = false;
-            break;
-          }
-          if ((x_107 > (x_108 + x_104.z))) {
-            x_127_phi = false;
-            break;
-          }
-          if ((x_112 > (x_113 + x_104.w))) {
-            x_127_phi = false;
-            break;
-          }
-          x_127_phi = true;
-          break;
-        }
-      }
-      bool x_127 = x_127_phi;
-      x_96_phi = x_95;
-      if (x_127) {
-        x_83 = vec4[8](vec4(4.0f, 4.0f, 20.0f, 4.0f), vec4(4.0f, 4.0f, 4.0f, 20.0f), vec4(4.0f, 20.0f, 20.0f, 4.0f), vec4(20.0f, 4.0f, 4.0f, 8.0f), vec4(8.0f, 6.0f, 4.0f, 2.0f), vec4(2.0f, 12.0f, 2.0f, 4.0f), vec4(16.0f, 2.0f, 4.0f, 4.0f), vec4(12.0f, 22.0f, 4.0f, 4.0f));
-        float x_131 = x_83[x_98].x;
-        x_84 = vec4[8](vec4(4.0f, 4.0f, 20.0f, 4.0f), vec4(4.0f, 4.0f, 4.0f, 20.0f), vec4(4.0f, 20.0f, 20.0f, 4.0f), vec4(20.0f, 4.0f, 4.0f, 8.0f), vec4(8.0f, 6.0f, 4.0f, 2.0f), vec4(2.0f, 12.0f, 2.0f, 4.0f), vec4(16.0f, 2.0f, 4.0f, 4.0f), vec4(12.0f, 22.0f, 4.0f, 4.0f));
-        float x_134 = x_84[x_98].y;
-        vec4 x_135[8] = x_81;
-        x_81 = vec4[8](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-        x_81 = x_135;
-        x_85 = vec4[16](vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(0.5f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 0.5f, 0.0f, 1.0f), vec4(0.5f, 0.5f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 0.5f, 1.0f), vec4(0.5f, 0.0f, 0.5f, 1.0f), vec4(0.0f, 0.5f, 0.5f, 1.0f), vec4(0.5f, 0.5f, 0.5f, 1.0f), vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(1.0f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 1.0f, 0.0f, 1.0f), vec4(1.0f, 1.0f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 1.0f, 1.0f), vec4(1.0f, 0.0f, 1.0f, 1.0f), vec4(0.0f, 1.0f, 1.0f, 1.0f), vec4(1.0f));
-        int v_2 = tint_f32_to_i32(x_131);
-        x_143 = x_85[tint_mod_i32((((v_2 * tint_f32_to_i32(x_134)) + (x_98 * 9)) + 11), 16)];
-        x_96_phi = x_143;
-      }
-      vec4 x_96 = x_96_phi;
-      {
-        x_99 = (x_98 + 1);
-        x_95_phi = x_96;
-        x_98_phi = x_99;
-      }
-      continue;
-    }
-  }
-  x_GLF_color = x_95;
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:22: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-rects-Os-mutate-var-push-through-var/2.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-rects-Os-mutate-var-push-through-var/2.spvasm.expected.ir.glsl
deleted file mode 100644
index 58706d3..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-rects-Os-mutate-var-push-through-var/2.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,122 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_mod_i32(int lhs, int rhs) {
-  int v_1 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_1) * v_1));
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  vec4 x_81[8] = vec4[8](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  vec4 x_82[8] = vec4[8](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  vec4 x_83[8] = vec4[8](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  vec4 x_84[8] = vec4[8](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  vec4 x_85[16] = vec4[16](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  vec4 x_95 = vec4(0.0f);
-  int x_98 = 0;
-  x_81 = vec4[8](vec4(4.0f, 4.0f, 20.0f, 4.0f), vec4(4.0f, 4.0f, 4.0f, 20.0f), vec4(4.0f, 20.0f, 20.0f, 4.0f), vec4(20.0f, 4.0f, 4.0f, 8.0f), vec4(8.0f, 6.0f, 4.0f, 2.0f), vec4(2.0f, 12.0f, 2.0f, 4.0f), vec4(16.0f, 2.0f, 4.0f, 4.0f), vec4(12.0f, 22.0f, 4.0f, 4.0f));
-  vec4 x_86[8] = x_81;
-  vec2 x_93 = floor(((tint_symbol.xy / v.tint_symbol_3.resolution) * 32.0f));
-  x_95 = vec4(0.5f, 0.5f, 1.0f, 1.0f);
-  x_98 = 0;
-  {
-    while(true) {
-      bool x_127 = false;
-      vec4 x_142 = vec4(0.0f);
-      vec4 x_96 = vec4(0.0f);
-      int x_99 = 0;
-      if ((x_98 < 8)) {
-      } else {
-        break;
-      }
-      vec4 x_104 = vec4(0.0f);
-      x_82 = x_86;
-      x_104 = x_82[x_98];
-      switch(0u) {
-        default:
-        {
-          float x_107 = x_93[0u];
-          float x_108 = x_104.x;
-          if ((x_107 < x_108)) {
-            x_127 = false;
-            break;
-          }
-          float x_112 = x_93[1u];
-          float x_113 = x_104.y;
-          if ((x_112 < x_113)) {
-            x_127 = false;
-            break;
-          }
-          if ((x_107 > (x_108 + x_104.z))) {
-            x_127 = false;
-            break;
-          }
-          if ((x_112 > (x_113 + x_104.w))) {
-            x_127 = false;
-            break;
-          }
-          x_127 = true;
-          break;
-        }
-      }
-      x_96 = x_95;
-      if (x_127) {
-        x_83 = vec4[8](vec4(4.0f, 4.0f, 20.0f, 4.0f), vec4(4.0f, 4.0f, 4.0f, 20.0f), vec4(4.0f, 20.0f, 20.0f, 4.0f), vec4(20.0f, 4.0f, 4.0f, 8.0f), vec4(8.0f, 6.0f, 4.0f, 2.0f), vec4(2.0f, 12.0f, 2.0f, 4.0f), vec4(16.0f, 2.0f, 4.0f, 4.0f), vec4(12.0f, 22.0f, 4.0f, 4.0f));
-        float x_131 = x_83[x_98].x;
-        x_84 = vec4[8](vec4(4.0f, 4.0f, 20.0f, 4.0f), vec4(4.0f, 4.0f, 4.0f, 20.0f), vec4(4.0f, 20.0f, 20.0f, 4.0f), vec4(20.0f, 4.0f, 4.0f, 8.0f), vec4(8.0f, 6.0f, 4.0f, 2.0f), vec4(2.0f, 12.0f, 2.0f, 4.0f), vec4(16.0f, 2.0f, 4.0f, 4.0f), vec4(12.0f, 22.0f, 4.0f, 4.0f));
-        float x_134 = x_84[x_98].y;
-        x_85 = vec4[16](vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(0.5f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 0.5f, 0.0f, 1.0f), vec4(0.5f, 0.5f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 0.5f, 1.0f), vec4(0.5f, 0.0f, 0.5f, 1.0f), vec4(0.0f, 0.5f, 0.5f, 1.0f), vec4(0.5f, 0.5f, 0.5f, 1.0f), vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(1.0f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 1.0f, 0.0f, 1.0f), vec4(1.0f, 1.0f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 1.0f, 1.0f), vec4(1.0f, 0.0f, 1.0f, 1.0f), vec4(0.0f, 1.0f, 1.0f, 1.0f), vec4(1.0f));
-        int v_2 = tint_f32_to_i32(x_131);
-        int v_3 = (v_2 * tint_f32_to_i32(x_134));
-        x_142 = x_85[tint_mod_i32(((v_3 + (x_98 * 9)) + 11), 16)];
-        x_96 = x_142;
-      }
-      {
-        x_99 = (x_98 + 1);
-        x_95 = x_96;
-        x_98 = x_99;
-      }
-      continue;
-    }
-  }
-  x_GLF_color = x_95;
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:22: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-rects-Os-mutate-var-push-through-var/2.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-rects-Os-mutate-var-push-through-var/2.wgsl.expected.ir.glsl
deleted file mode 100644
index 18b2b05..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/spv-stable-rects-Os-mutate-var-push-through-var/2.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,128 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_mod_i32(int lhs, int rhs) {
-  int v_1 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_1) * v_1));
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  vec4 x_81[8] = vec4[8](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  vec4 x_82[8] = vec4[8](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  vec4 x_83[8] = vec4[8](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  vec4 x_84[8] = vec4[8](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  vec4 x_85[16] = vec4[16](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  vec4 x_95 = vec4(0.0f);
-  vec4 x_95_phi = vec4(0.0f);
-  int x_98_phi = 0;
-  x_81 = vec4[8](vec4(4.0f, 4.0f, 20.0f, 4.0f), vec4(4.0f, 4.0f, 4.0f, 20.0f), vec4(4.0f, 20.0f, 20.0f, 4.0f), vec4(20.0f, 4.0f, 4.0f, 8.0f), vec4(8.0f, 6.0f, 4.0f, 2.0f), vec4(2.0f, 12.0f, 2.0f, 4.0f), vec4(16.0f, 2.0f, 4.0f, 4.0f), vec4(12.0f, 22.0f, 4.0f, 4.0f));
-  vec4 x_86[8] = x_81;
-  vec4 x_87 = tint_symbol;
-  vec2 x_90 = v.tint_symbol_3.resolution;
-  vec2 x_93 = floor(((vec2(x_87[0u], x_87[1u]) / x_90) * 32.0f));
-  x_95_phi = vec4(0.5f, 0.5f, 1.0f, 1.0f);
-  x_98_phi = 0;
-  {
-    while(true) {
-      vec4 x_142 = vec4(0.0f);
-      int x_99 = 0;
-      bool x_127_phi = false;
-      vec4 x_96_phi = vec4(0.0f);
-      x_95 = x_95_phi;
-      int x_98 = x_98_phi;
-      if ((x_98 < 8)) {
-      } else {
-        break;
-      }
-      vec4 x_104 = vec4(0.0f);
-      x_82 = x_86;
-      x_104 = x_82[x_98];
-      switch(0u) {
-        default:
-        {
-          float x_107 = x_93[0u];
-          float x_108 = x_104.x;
-          if ((x_107 < x_108)) {
-            x_127_phi = false;
-            break;
-          }
-          float x_112 = x_93[1u];
-          float x_113 = x_104.y;
-          if ((x_112 < x_113)) {
-            x_127_phi = false;
-            break;
-          }
-          if ((x_107 > (x_108 + x_104.z))) {
-            x_127_phi = false;
-            break;
-          }
-          if ((x_112 > (x_113 + x_104.w))) {
-            x_127_phi = false;
-            break;
-          }
-          x_127_phi = true;
-          break;
-        }
-      }
-      bool x_127 = x_127_phi;
-      x_96_phi = x_95;
-      if (x_127) {
-        x_83 = vec4[8](vec4(4.0f, 4.0f, 20.0f, 4.0f), vec4(4.0f, 4.0f, 4.0f, 20.0f), vec4(4.0f, 20.0f, 20.0f, 4.0f), vec4(20.0f, 4.0f, 4.0f, 8.0f), vec4(8.0f, 6.0f, 4.0f, 2.0f), vec4(2.0f, 12.0f, 2.0f, 4.0f), vec4(16.0f, 2.0f, 4.0f, 4.0f), vec4(12.0f, 22.0f, 4.0f, 4.0f));
-        float x_131 = x_83[x_98].x;
-        x_84 = vec4[8](vec4(4.0f, 4.0f, 20.0f, 4.0f), vec4(4.0f, 4.0f, 4.0f, 20.0f), vec4(4.0f, 20.0f, 20.0f, 4.0f), vec4(20.0f, 4.0f, 4.0f, 8.0f), vec4(8.0f, 6.0f, 4.0f, 2.0f), vec4(2.0f, 12.0f, 2.0f, 4.0f), vec4(16.0f, 2.0f, 4.0f, 4.0f), vec4(12.0f, 22.0f, 4.0f, 4.0f));
-        float x_134 = x_84[x_98].y;
-        x_85 = vec4[16](vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(0.5f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 0.5f, 0.0f, 1.0f), vec4(0.5f, 0.5f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 0.5f, 1.0f), vec4(0.5f, 0.0f, 0.5f, 1.0f), vec4(0.0f, 0.5f, 0.5f, 1.0f), vec4(0.5f, 0.5f, 0.5f, 1.0f), vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(1.0f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 1.0f, 0.0f, 1.0f), vec4(1.0f, 1.0f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 1.0f, 1.0f), vec4(1.0f, 0.0f, 1.0f, 1.0f), vec4(0.0f, 1.0f, 1.0f, 1.0f), vec4(1.0f));
-        int v_2 = tint_f32_to_i32(x_131);
-        x_142 = x_85[tint_mod_i32((((v_2 * tint_f32_to_i32(x_134)) + (x_98 * 9)) + 11), 16)];
-        x_96_phi = x_142;
-      }
-      vec4 x_96 = x_96_phi;
-      {
-        x_99 = (x_98 + 1);
-        x_95_phi = x_96;
-        x_98_phi = x_99;
-      }
-      continue;
-    }
-  }
-  x_GLF_color = x_95;
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:22: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/stable-collatz-push-constant-with-nested-min-max/0.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/stable-collatz-push-constant-with-nested-min-max/0.spvasm.expected.ir.glsl
deleted file mode 100644
index fd8c60b..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/stable-collatz-push-constant-with-nested-min-max/0.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,87 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v_2;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
-}
-int collatz_i1_(inout int v) {
-  int count = 0;
-  count = 0;
-  {
-    while(true) {
-      if ((v > 1)) {
-      } else {
-        break;
-      }
-      if (((v & 1) == 1)) {
-        v = ((3 * v) + 1);
-      } else {
-        v = tint_div_i32(v, 2);
-      }
-      count = (count + 1);
-      {
-      }
-      continue;
-    }
-  }
-  int x_105 = count;
-  return x_105;
-}
-int tint_mod_i32(int lhs, int rhs) {
-  int v_3 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_3) * v_3));
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  vec2 lin = vec2(0.0f);
-  int v_1 = 0;
-  int param = 0;
-  vec4 indexable[16] = vec4[16](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  lin = (tint_symbol.xy / v_2.tint_symbol_3.resolution);
-  lin = floor((lin * 8.0f));
-  int v_4 = (tint_f32_to_i32(lin.x) * 8);
-  v_1 = (v_4 + tint_f32_to_i32(lin.y));
-  param = v_1;
-  int x_80 = collatz_i1_(param);
-  indexable = vec4[16](vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(0.5f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 0.5f, 0.0f, 1.0f), vec4(0.5f, 0.5f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 0.5f, 1.0f), vec4(0.5f, 0.0f, 0.5f, 1.0f), vec4(0.0f, 0.5f, 0.5f, 1.0f), vec4(0.5f, 0.5f, 0.5f, 1.0f), vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(1.0f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 1.0f, 0.0f, 1.0f), vec4(1.0f, 1.0f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 1.0f, 1.0f), vec4(1.0f, 0.0f, 1.0f, 1.0f), vec4(0.0f, 1.0f, 1.0f, 1.0f), vec4(1.0f));
-  x_GLF_color = indexable[tint_mod_i32(x_80, 16)];
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:22: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/stable-collatz-push-constant-with-nested-min-max/0.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/stable-collatz-push-constant-with-nested-min-max/0.wgsl.expected.ir.glsl
deleted file mode 100644
index 07ddd95..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/stable-collatz-push-constant-with-nested-min-max/0.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,99 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v_2;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
-}
-int collatz_i1_(inout int v) {
-  int count = 0;
-  count = 0;
-  {
-    while(true) {
-      int x_89 = v;
-      if ((x_89 > 1)) {
-      } else {
-        break;
-      }
-      int x_92 = v;
-      if (((x_92 & 1) == 1)) {
-        int x_98 = v;
-        v = ((3 * x_98) + 1);
-      } else {
-        int x_101 = v;
-        v = tint_div_i32(x_101, 2);
-      }
-      int x_103 = count;
-      count = (x_103 + 1);
-      {
-      }
-      continue;
-    }
-  }
-  int x_105 = count;
-  return x_105;
-}
-int tint_mod_i32(int lhs, int rhs) {
-  int v_3 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_3) * v_3));
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  vec2 lin = vec2(0.0f);
-  int v_1 = 0;
-  int param = 0;
-  vec4 indexable[16] = vec4[16](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  vec4 x_63 = tint_symbol;
-  vec2 x_66 = v_2.tint_symbol_3.resolution;
-  lin = (vec2(x_63[0u], x_63[1u]) / x_66);
-  vec2 x_68 = lin;
-  lin = floor((x_68 * 8.0f));
-  float x_72 = lin.x;
-  float x_76 = lin.y;
-  int v_4 = (tint_f32_to_i32(x_72) * 8);
-  v_1 = (v_4 + tint_f32_to_i32(x_76));
-  int x_79 = v_1;
-  param = x_79;
-  int x_80 = collatz_i1_(param);
-  indexable = vec4[16](vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(0.5f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 0.5f, 0.0f, 1.0f), vec4(0.5f, 0.5f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 0.5f, 1.0f), vec4(0.5f, 0.0f, 0.5f, 1.0f), vec4(0.0f, 0.5f, 0.5f, 1.0f), vec4(0.5f, 0.5f, 0.5f, 1.0f), vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(1.0f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 1.0f, 0.0f, 1.0f), vec4(1.0f, 1.0f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 1.0f, 1.0f), vec4(1.0f, 0.0f, 1.0f, 1.0f), vec4(0.0f, 1.0f, 1.0f, 1.0f), vec4(1.0f));
-  vec4 x_83 = indexable[tint_mod_i32(x_80, 16)];
-  x_GLF_color = x_83;
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:22: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-double-always-false-discard/1.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-double-always-false-discard/1.spvasm.expected.ir.glsl
deleted file mode 100644
index 12bcc90..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-double-always-false-discard/1.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,223 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf1 {
-  vec2 injectionSwitch;
-};
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 1, std140)
-uniform tint_symbol_4_1_ubo {
-  buf1 tint_symbol_3;
-} v;
-layout(binding = 0, std140)
-uniform tint_symbol_6_1_ubo {
-  buf0 tint_symbol_5;
-} v_1;
-vec4 tint_symbol = vec4(0.0f);
-vec4 x_GLF_color = vec4(0.0f);
-bool continue_execution = true;
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_mod_i32(int lhs, int rhs) {
-  int v_2 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_2) * v_2));
-}
-void main_1() {
-  vec3 c = vec3(0.0f);
-  float x_54 = 0.0f;
-  float x_58 = 0.0f;
-  int x_61 = 0;
-  float x_59 = 0.0f;
-  float x_91 = 0.0f;
-  float x_92 = 0.0f;
-  bool x_93 = false;
-  float x_95 = 0.0f;
-  float x_135 = 0.0f;
-  float x_136 = 0.0f;
-  float x_139 = 0.0f;
-  int x_146 = 0;
-  c = vec3(7.0f, 8.0f, 9.0f);
-  float x_52 = round((v_1.tint_symbol_5.resolution.x * 0.125f));
-  x_54 = tint_symbol.x;
-  switch(0u) {
-    default:
-    {
-      x_58 = -0.5f;
-      x_61 = 1;
-      {
-        while(true) {
-          float x_71 = 0.0f;
-          float x_79 = 0.0f;
-          int x_62 = 0;
-          x_91 = 0.0f;
-          x_92 = x_58;
-          x_93 = false;
-          if ((x_61 < 800)) {
-          } else {
-            break;
-          }
-          float x_78 = 0.0f;
-          if ((tint_mod_i32(x_61, 32) == 0)) {
-            x_71 = (x_58 + 0.40000000596046447754f);
-            x_59 = x_71;
-          } else {
-            x_79 = x_58;
-            float v_3 = float(x_61);
-            float v_4 = round(x_52);
-            float v_5 = float(x_61);
-            if (((v_3 - (v_4 * floor((v_5 / round(x_52))))) <= 0.00999999977648258209f)) {
-              x_78 = (x_58 + 100.0f);
-              x_79 = x_78;
-            }
-            if ((v.tint_symbol_3.injectionSwitch.x > v.tint_symbol_3.injectionSwitch.y)) {
-              continue_execution = false;
-            }
-            x_59 = x_79;
-          }
-          float v_6 = float(x_61);
-          if ((v_6 >= x_54)) {
-            x_91 = x_59;
-            x_92 = x_59;
-            x_93 = true;
-            break;
-          }
-          {
-            x_62 = (x_61 + 1);
-            x_58 = x_59;
-            x_61 = x_62;
-          }
-          continue;
-        }
-      }
-      x_95 = x_91;
-      if (x_93) {
-        break;
-      }
-      x_95 = x_92;
-      break;
-    }
-  }
-  float x_98 = 0.0f;
-  float x_102 = 0.0f;
-  int x_105 = 0;
-  float x_103 = 0.0f;
-  bool x_137 = false;
-  c[0u] = x_95;
-  x_98 = tint_symbol.y;
-  switch(0u) {
-    default:
-    {
-      x_102 = -0.5f;
-      x_105 = 1;
-      {
-        while(true) {
-          float x_115 = 0.0f;
-          float x_123 = 0.0f;
-          int x_106 = 0;
-          x_135 = 0.0f;
-          x_136 = x_102;
-          x_137 = false;
-          if ((x_105 < 800)) {
-          } else {
-            break;
-          }
-          float x_122 = 0.0f;
-          if ((tint_mod_i32(x_105, 32) == 0)) {
-            x_115 = (x_102 + 0.40000000596046447754f);
-            x_103 = x_115;
-          } else {
-            x_123 = x_102;
-            float v_7 = float(x_105);
-            float v_8 = round(x_52);
-            float v_9 = float(x_105);
-            if (((v_7 - (v_8 * floor((v_9 / round(x_52))))) <= 0.00999999977648258209f)) {
-              x_122 = (x_102 + 100.0f);
-              x_123 = x_122;
-            }
-            if ((v.tint_symbol_3.injectionSwitch.x > v.tint_symbol_3.injectionSwitch.y)) {
-              continue_execution = false;
-            }
-            x_103 = x_123;
-          }
-          float v_10 = float(x_105);
-          if ((v_10 >= x_98)) {
-            x_135 = x_103;
-            x_136 = x_103;
-            x_137 = true;
-            break;
-          }
-          {
-            x_106 = (x_105 + 1);
-            x_102 = x_103;
-            x_105 = x_106;
-          }
-          continue;
-        }
-      }
-      x_139 = x_135;
-      if (x_137) {
-        break;
-      }
-      x_139 = x_136;
-      break;
-    }
-  }
-  c[1u] = x_139;
-  c[2u] = (c.x + c.y);
-  x_146 = 0;
-  {
-    while(true) {
-      int x_147 = 0;
-      if ((x_146 < 3)) {
-      } else {
-        break;
-      }
-      if ((c[x_146] >= 1.0f)) {
-        c[x_146] = (c[x_146] * c[x_146]);
-        if ((v.tint_symbol_3.injectionSwitch.x > v.tint_symbol_3.injectionSwitch.y)) {
-          continue_execution = false;
-        }
-      }
-      {
-        x_147 = (x_146 + 1);
-        x_146 = x_147;
-      }
-      continue;
-    }
-  }
-  vec3 x_169 = normalize(abs(c));
-  x_GLF_color = vec4(x_169[0u], x_169[1u], x_169[2u], 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out v_11 = main_out(x_GLF_color);
-  if (!(continue_execution)) {
-    discard;
-  }
-  return v_11;
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:31: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:31: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:31: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-double-always-false-discard/1.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-double-always-false-discard/1.wgsl.expected.ir.glsl
deleted file mode 100644
index b238585..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-double-always-false-discard/1.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,263 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf1 {
-  vec2 injectionSwitch;
-};
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 1, std140)
-uniform tint_symbol_4_1_ubo {
-  buf1 tint_symbol_3;
-} v;
-layout(binding = 0, std140)
-uniform tint_symbol_6_1_ubo {
-  buf0 tint_symbol_5;
-} v_1;
-vec4 tint_symbol = vec4(0.0f);
-vec4 x_GLF_color = vec4(0.0f);
-bool continue_execution = true;
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_mod_i32(int lhs, int rhs) {
-  int v_2 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_2) * v_2));
-}
-void main_1() {
-  vec3 c = vec3(0.0f);
-  float x_54 = 0.0f;
-  float x_58 = 0.0f;
-  float x_59 = 0.0f;
-  float x_91 = 0.0f;
-  float x_92 = 0.0f;
-  float x_135 = 0.0f;
-  float x_136 = 0.0f;
-  float x_58_phi = 0.0f;
-  int x_61_phi = 0;
-  float x_91_phi = 0.0f;
-  float x_92_phi = 0.0f;
-  bool x_93_phi = false;
-  float x_95_phi = 0.0f;
-  float x_139_phi = 0.0f;
-  int x_146_phi = 0;
-  c = vec3(7.0f, 8.0f, 9.0f);
-  float x_50 = v_1.tint_symbol_5.resolution.x;
-  float x_52 = round((x_50 * 0.125f));
-  x_54 = tint_symbol.x;
-  switch(0u) {
-    default:
-    {
-      x_58_phi = -0.5f;
-      x_61_phi = 1;
-      {
-        while(true) {
-          float x_71 = 0.0f;
-          float x_79 = 0.0f;
-          int x_62 = 0;
-          float x_59_phi = 0.0f;
-          x_58 = x_58_phi;
-          int x_61 = x_61_phi;
-          x_91_phi = 0.0f;
-          x_92_phi = x_58;
-          x_93_phi = false;
-          if ((x_61 < 800)) {
-          } else {
-            break;
-          }
-          float x_78 = 0.0f;
-          float x_79_phi = 0.0f;
-          if ((tint_mod_i32(x_61, 32) == 0)) {
-            x_71 = (x_58 + 0.40000000596046447754f);
-            x_59_phi = x_71;
-          } else {
-            x_79_phi = x_58;
-            float v_3 = float(x_61);
-            float v_4 = round(x_52);
-            float v_5 = float(x_61);
-            if (((v_3 - (v_4 * floor((v_5 / round(x_52))))) <= 0.00999999977648258209f)) {
-              x_78 = (x_58 + 100.0f);
-              x_79_phi = x_78;
-            }
-            x_79 = x_79_phi;
-            float x_81 = v.tint_symbol_3.injectionSwitch.x;
-            float x_83 = v.tint_symbol_3.injectionSwitch.y;
-            if ((x_81 > x_83)) {
-              continue_execution = false;
-            }
-            x_59_phi = x_79;
-          }
-          x_59 = x_59_phi;
-          float v_6 = float(x_61);
-          if ((v_6 >= x_54)) {
-            x_91_phi = x_59;
-            x_92_phi = x_59;
-            x_93_phi = true;
-            break;
-          }
-          {
-            x_62 = (x_61 + 1);
-            x_58_phi = x_59;
-            x_61_phi = x_62;
-          }
-          continue;
-        }
-      }
-      x_91 = x_91_phi;
-      x_92 = x_92_phi;
-      bool x_93 = x_93_phi;
-      x_95_phi = x_91;
-      if (x_93) {
-        break;
-      }
-      x_95_phi = x_92;
-      break;
-    }
-  }
-  float x_98 = 0.0f;
-  float x_102 = 0.0f;
-  float x_103 = 0.0f;
-  float x_102_phi = 0.0f;
-  int x_105_phi = 0;
-  float x_135_phi = 0.0f;
-  float x_136_phi = 0.0f;
-  bool x_137_phi = false;
-  float x_95 = x_95_phi;
-  c[0u] = x_95;
-  x_98 = tint_symbol.y;
-  switch(0u) {
-    default:
-    {
-      x_102_phi = -0.5f;
-      x_105_phi = 1;
-      {
-        while(true) {
-          float x_115 = 0.0f;
-          float x_123 = 0.0f;
-          int x_106 = 0;
-          float x_103_phi = 0.0f;
-          x_102 = x_102_phi;
-          int x_105 = x_105_phi;
-          x_135_phi = 0.0f;
-          x_136_phi = x_102;
-          x_137_phi = false;
-          if ((x_105 < 800)) {
-          } else {
-            break;
-          }
-          float x_122 = 0.0f;
-          float x_123_phi = 0.0f;
-          if ((tint_mod_i32(x_105, 32) == 0)) {
-            x_115 = (x_102 + 0.40000000596046447754f);
-            x_103_phi = x_115;
-          } else {
-            x_123_phi = x_102;
-            float v_7 = float(x_105);
-            float v_8 = round(x_52);
-            float v_9 = float(x_105);
-            if (((v_7 - (v_8 * floor((v_9 / round(x_52))))) <= 0.00999999977648258209f)) {
-              x_122 = (x_102 + 100.0f);
-              x_123_phi = x_122;
-            }
-            x_123 = x_123_phi;
-            float x_125 = v.tint_symbol_3.injectionSwitch.x;
-            float x_127 = v.tint_symbol_3.injectionSwitch.y;
-            if ((x_125 > x_127)) {
-              continue_execution = false;
-            }
-            x_103_phi = x_123;
-          }
-          x_103 = x_103_phi;
-          float v_10 = float(x_105);
-          if ((v_10 >= x_98)) {
-            x_135_phi = x_103;
-            x_136_phi = x_103;
-            x_137_phi = true;
-            break;
-          }
-          {
-            x_106 = (x_105 + 1);
-            x_102_phi = x_103;
-            x_105_phi = x_106;
-          }
-          continue;
-        }
-      }
-      x_135 = x_135_phi;
-      x_136 = x_136_phi;
-      bool x_137 = x_137_phi;
-      x_139_phi = x_135;
-      if (x_137) {
-        break;
-      }
-      x_139_phi = x_136;
-      break;
-    }
-  }
-  float x_139 = x_139_phi;
-  c[1u] = x_139;
-  float x_141 = c.x;
-  float x_142 = c.y;
-  c[2u] = (x_141 + x_142);
-  x_146_phi = 0;
-  {
-    while(true) {
-      int x_147 = 0;
-      int x_146 = x_146_phi;
-      if ((x_146 < 3)) {
-      } else {
-        break;
-      }
-      float x_153 = c[x_146];
-      if ((x_153 >= 1.0f)) {
-        float x_157 = c[x_146];
-        float x_158 = c[x_146];
-        c[x_146] = (x_157 * x_158);
-        float x_161 = v.tint_symbol_3.injectionSwitch.x;
-        float x_163 = v.tint_symbol_3.injectionSwitch.y;
-        if ((x_161 > x_163)) {
-          continue_execution = false;
-        }
-      }
-      {
-        x_147 = (x_146 + 1);
-        x_146_phi = x_147;
-      }
-      continue;
-    }
-  }
-  vec3 x_167 = c;
-  vec3 x_169 = normalize(abs(x_167));
-  x_GLF_color = vec4(x_169[0u], x_169[1u], x_169[2u], 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out v_11 = main_out(x_GLF_color);
-  if (!(continue_execution)) {
-    discard;
-  }
-  return v_11;
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:31: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:31: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:31: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-float-mat-determinant-clamp/0.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-float-mat-determinant-clamp/0.spvasm.expected.ir.glsl
deleted file mode 100644
index 03592ba..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-float-mat-determinant-clamp/0.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,119 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 tint_symbol = vec4(0.0f);
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_mod_i32(int lhs, int rhs) {
-  int v_1 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_1) * v_1));
-}
-float compute_value_f1_f1_(inout float limit, inout float thirty_two) {
-  float result = 0.0f;
-  int i = 0;
-  result = -0.5f;
-  i = 1;
-  {
-    while(true) {
-      if ((i < 800)) {
-      } else {
-        break;
-      }
-      if ((tint_mod_i32(i, 32) == 0)) {
-        result = (result + 0.40000000596046447754f);
-      } else {
-        float x_124 = thirty_two;
-        float v_2 = float(i);
-        float v_3 = round(x_124);
-        float v_4 = float(i);
-        if (((v_2 - (v_3 * floor((v_4 / round(x_124))))) <= 0.00999999977648258209f)) {
-          result = (result + 100.0f);
-        }
-      }
-      float v_5 = float(i);
-      if ((v_5 >= limit)) {
-        float x_138 = result;
-        return x_138;
-      }
-      {
-        i = (i + 1);
-      }
-      continue;
-    }
-  }
-  float x_141 = result;
-  return x_141;
-}
-void main_1() {
-  vec3 c = vec3(0.0f);
-  float thirty_two_1 = 0.0f;
-  float param = 0.0f;
-  float param_1 = 0.0f;
-  float param_2 = 0.0f;
-  float param_3 = 0.0f;
-  int i_1 = 0;
-  c = vec3(7.0f, 8.0f, 9.0f);
-  thirty_two_1 = round((v.tint_symbol_3.resolution.x / 8.0f));
-  param = tint_symbol.x;
-  param_1 = thirty_two_1;
-  float x_62 = compute_value_f1_f1_(param, param_1);
-  c[0u] = x_62;
-  param_2 = tint_symbol.y;
-  param_3 = thirty_two_1;
-  float x_67 = compute_value_f1_f1_(param_2, param_3);
-  c[1u] = x_67;
-  c[2u] = (c.x + c.y);
-  i_1 = 0;
-  {
-    while(true) {
-      if ((i_1 < 3)) {
-      } else {
-        break;
-      }
-      if ((c[i_1] >= 1.0f)) {
-        int x_88 = i_1;
-        c[x_88] = (c[i_1] * c[i_1]);
-      }
-      {
-        i_1 = (i_1 + 1);
-      }
-      continue;
-    }
-  }
-  vec3 x_101 = normalize(abs(c));
-  x_GLF_color = vec4(x_101[0u], x_101[1u], x_101[2u], 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:22: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-float-mat-determinant-clamp/0.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-float-mat-determinant-clamp/0.wgsl.expected.ir.glsl
deleted file mode 100644
index 5db33d8..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-float-mat-determinant-clamp/0.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,142 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 tint_symbol = vec4(0.0f);
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_mod_i32(int lhs, int rhs) {
-  int v_1 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_1) * v_1));
-}
-float compute_value_f1_f1_(inout float limit, inout float thirty_two) {
-  float result = 0.0f;
-  int i = 0;
-  result = -0.5f;
-  i = 1;
-  {
-    while(true) {
-      int x_111 = i;
-      if ((x_111 < 800)) {
-      } else {
-        break;
-      }
-      int x_114 = i;
-      if ((tint_mod_i32(x_114, 32) == 0)) {
-        float x_120 = result;
-        result = (x_120 + 0.40000000596046447754f);
-      } else {
-        int x_122 = i;
-        float x_124 = thirty_two;
-        float v_2 = float(x_122);
-        float v_3 = round(x_124);
-        float v_4 = float(x_122);
-        if (((v_2 - (v_3 * floor((v_4 / round(x_124))))) <= 0.00999999977648258209f)) {
-          float x_130 = result;
-          result = (x_130 + 100.0f);
-        }
-      }
-      int x_132 = i;
-      float x_134 = limit;
-      if ((float(x_132) >= x_134)) {
-        float x_138 = result;
-        return x_138;
-      }
-      {
-        int x_139 = i;
-        i = (x_139 + 1);
-      }
-      continue;
-    }
-  }
-  float x_141 = result;
-  return x_141;
-}
-void main_1() {
-  vec3 c = vec3(0.0f);
-  float thirty_two_1 = 0.0f;
-  float param = 0.0f;
-  float param_1 = 0.0f;
-  float param_2 = 0.0f;
-  float param_3 = 0.0f;
-  int i_1 = 0;
-  c = vec3(7.0f, 8.0f, 9.0f);
-  float x_56 = v.tint_symbol_3.resolution.x;
-  thirty_two_1 = round((x_56 / 8.0f));
-  float x_60 = tint_symbol.x;
-  param = x_60;
-  float x_61 = thirty_two_1;
-  param_1 = x_61;
-  float x_62 = compute_value_f1_f1_(param, param_1);
-  c[0u] = x_62;
-  float x_65 = tint_symbol.y;
-  param_2 = x_65;
-  float x_66 = thirty_two_1;
-  param_3 = x_66;
-  float x_67 = compute_value_f1_f1_(param_2, param_3);
-  c[1u] = x_67;
-  float x_70 = c.x;
-  float x_72 = c.y;
-  c[2u] = (x_70 + x_72);
-  i_1 = 0;
-  {
-    while(true) {
-      int x_79 = i_1;
-      if ((x_79 < 3)) {
-      } else {
-        break;
-      }
-      int x_82 = i_1;
-      float x_84 = c[x_82];
-      if ((x_84 >= 1.0f)) {
-        int x_88 = i_1;
-        int x_89 = i_1;
-        float x_91 = c[x_89];
-        int x_92 = i_1;
-        float x_94 = c[x_92];
-        c[x_88] = (x_91 * x_94);
-      }
-      {
-        int x_97 = i_1;
-        i_1 = (x_97 + 1);
-      }
-      continue;
-    }
-  }
-  vec3 x_99 = c;
-  vec3 x_101 = normalize(abs(x_99));
-  x_GLF_color = vec4(x_101[0u], x_101[1u], x_101[2u], 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:22: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-injected-conditional-true/1.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-injected-conditional-true/1.spvasm.expected.ir.glsl
deleted file mode 100644
index 215d4ae..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-injected-conditional-true/1.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,133 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct buf1 {
-  vec2 injectionSwitch;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 tint_symbol = vec4(0.0f);
-vec4 x_GLF_color = vec4(0.0f);
-layout(binding = 1, std140)
-uniform tint_symbol_6_1_ubo {
-  buf1 tint_symbol_5;
-} v_1;
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_mod_i32(int lhs, int rhs) {
-  int v_2 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_2) * v_2));
-}
-float compute_value_f1_f1_(inout float limit, inout float thirty_two) {
-  float result = 0.0f;
-  int i = 0;
-  result = -0.5f;
-  i = 1;
-  {
-    while(true) {
-      if ((i < 800)) {
-      } else {
-        break;
-      }
-      if ((tint_mod_i32(i, 32) == 0)) {
-        result = (result + 0.40000000596046447754f);
-      } else {
-        float x_138 = thirty_two;
-        float v_3 = float(i);
-        float v_4 = round(x_138);
-        float v_5 = float(i);
-        if (((v_3 - (v_4 * floor((v_5 / round(x_138))))) <= 0.00999999977648258209f)) {
-          result = (result + 100.0f);
-        }
-      }
-      float v_6 = float(i);
-      if ((v_6 >= limit)) {
-        float x_152 = result;
-        return x_152;
-      }
-      {
-        i = (i + 1);
-      }
-      continue;
-    }
-  }
-  float x_155 = result;
-  return x_155;
-}
-void main_1() {
-  vec3 c = vec3(0.0f);
-  float thirty_two_1 = 0.0f;
-  float param = 0.0f;
-  float param_1 = 0.0f;
-  float param_2 = 0.0f;
-  float param_3 = 0.0f;
-  int i_1 = 0;
-  vec3 x_58 = vec3(0.0f);
-  c = vec3(7.0f, 8.0f, 9.0f);
-  thirty_two_1 = round((v.tint_symbol_3.resolution.x / 8.0f));
-  param = tint_symbol.x;
-  param_1 = thirty_two_1;
-  float x_66 = compute_value_f1_f1_(param, param_1);
-  c[0u] = x_66;
-  param_2 = tint_symbol.y;
-  param_3 = thirty_two_1;
-  float x_71 = compute_value_f1_f1_(param_2, param_3);
-  c[1u] = x_71;
-  c[2u] = (c.x + c.y);
-  i_1 = 0;
-  {
-    while(true) {
-      if ((i_1 < 3)) {
-      } else {
-        break;
-      }
-      if ((c[i_1] >= 1.0f)) {
-        int x_92 = i_1;
-        c[x_92] = (c[i_1] * c[i_1]);
-      }
-      {
-        i_1 = (i_1 + 1);
-      }
-      continue;
-    }
-  }
-  if ((v_1.tint_symbol_5.injectionSwitch.x < v_1.tint_symbol_5.injectionSwitch.y)) {
-    x_58 = abs(c);
-  } else {
-    x_58 = c;
-  }
-  vec3 x_115 = normalize(x_58);
-  x_GLF_color = vec4(x_115[0u], x_115[1u], x_115[2u], 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:30: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:30: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:30: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-injected-conditional-true/1.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-injected-conditional-true/1.wgsl.expected.ir.glsl
deleted file mode 100644
index dc00d09..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-injected-conditional-true/1.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,160 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct buf1 {
-  vec2 injectionSwitch;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 tint_symbol = vec4(0.0f);
-vec4 x_GLF_color = vec4(0.0f);
-layout(binding = 1, std140)
-uniform tint_symbol_6_1_ubo {
-  buf1 tint_symbol_5;
-} v_1;
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_mod_i32(int lhs, int rhs) {
-  int v_2 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_2) * v_2));
-}
-float compute_value_f1_f1_(inout float limit, inout float thirty_two) {
-  float result = 0.0f;
-  int i = 0;
-  result = -0.5f;
-  i = 1;
-  {
-    while(true) {
-      int x_125 = i;
-      if ((x_125 < 800)) {
-      } else {
-        break;
-      }
-      int x_128 = i;
-      if ((tint_mod_i32(x_128, 32) == 0)) {
-        float x_134 = result;
-        result = (x_134 + 0.40000000596046447754f);
-      } else {
-        int x_136 = i;
-        float x_138 = thirty_two;
-        float v_3 = float(x_136);
-        float v_4 = round(x_138);
-        float v_5 = float(x_136);
-        if (((v_3 - (v_4 * floor((v_5 / round(x_138))))) <= 0.00999999977648258209f)) {
-          float x_144 = result;
-          result = (x_144 + 100.0f);
-        }
-      }
-      int x_146 = i;
-      float x_148 = limit;
-      if ((float(x_146) >= x_148)) {
-        float x_152 = result;
-        return x_152;
-      }
-      {
-        int x_153 = i;
-        i = (x_153 + 1);
-      }
-      continue;
-    }
-  }
-  float x_155 = result;
-  return x_155;
-}
-void main_1() {
-  vec3 c = vec3(0.0f);
-  float thirty_two_1 = 0.0f;
-  float param = 0.0f;
-  float param_1 = 0.0f;
-  float param_2 = 0.0f;
-  float param_3 = 0.0f;
-  int i_1 = 0;
-  vec3 x_58 = vec3(0.0f);
-  c = vec3(7.0f, 8.0f, 9.0f);
-  float x_60 = v.tint_symbol_3.resolution.x;
-  thirty_two_1 = round((x_60 / 8.0f));
-  float x_64 = tint_symbol.x;
-  param = x_64;
-  float x_65 = thirty_two_1;
-  param_1 = x_65;
-  float x_66 = compute_value_f1_f1_(param, param_1);
-  c[0u] = x_66;
-  float x_69 = tint_symbol.y;
-  param_2 = x_69;
-  float x_70 = thirty_two_1;
-  param_3 = x_70;
-  float x_71 = compute_value_f1_f1_(param_2, param_3);
-  c[1u] = x_71;
-  float x_74 = c.x;
-  float x_76 = c.y;
-  c[2u] = (x_74 + x_76);
-  i_1 = 0;
-  {
-    while(true) {
-      int x_83 = i_1;
-      if ((x_83 < 3)) {
-      } else {
-        break;
-      }
-      int x_86 = i_1;
-      float x_88 = c[x_86];
-      if ((x_88 >= 1.0f)) {
-        int x_92 = i_1;
-        int x_93 = i_1;
-        float x_95 = c[x_93];
-        int x_96 = i_1;
-        float x_98 = c[x_96];
-        c[x_92] = (x_95 * x_98);
-      }
-      {
-        int x_101 = i_1;
-        i_1 = (x_101 + 1);
-      }
-      continue;
-    }
-  }
-  float x_104 = v_1.tint_symbol_5.injectionSwitch.x;
-  float x_106 = v_1.tint_symbol_5.injectionSwitch.y;
-  if ((x_104 < x_106)) {
-    vec3 x_111 = c;
-    x_58 = abs(x_111);
-  } else {
-    vec3 x_113 = c;
-    x_58 = x_113;
-  }
-  vec3 x_114 = x_58;
-  vec3 x_115 = normalize(x_114);
-  x_GLF_color = vec4(x_115[0u], x_115[1u], x_115[2u], 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:30: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:30: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:30: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index 67ad5d5..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,128 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 tint_symbol = vec4(0.0f);
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_mod_i32(int lhs, int rhs) {
-  int v_1 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_1) * v_1));
-}
-float compute_value_f1_f1_(inout float limit, inout float thirty_two) {
-  float x_91 = 0.0f;
-  int x_94 = 0;
-  x_91 = -0.5f;
-  x_94 = 1;
-  {
-    while(true) {
-      float x_104 = 0.0f;
-      float x_113 = 0.0f;
-      float x_92 = 0.0f;
-      int x_95 = 0;
-      if ((x_94 < 800)) {
-      } else {
-        break;
-      }
-      float x_112 = 0.0f;
-      if ((tint_mod_i32(x_94, 32) == 0)) {
-        x_104 = (x_91 + 0.40000000596046447754f);
-        x_92 = x_104;
-      } else {
-        float x_106 = thirty_two;
-        x_113 = x_91;
-        float v_2 = float(x_94);
-        float v_3 = round(x_106);
-        float v_4 = float(x_94);
-        if (((v_2 - (v_3 * floor((v_4 / round(x_106))))) <= 0.00999999977648258209f)) {
-          x_112 = (x_91 + 100.0f);
-          x_113 = x_112;
-        }
-        x_92 = x_113;
-      }
-      float v_5 = float(x_94);
-      if ((v_5 >= limit)) {
-        return x_92;
-      }
-      {
-        x_95 = (x_94 + 1);
-        x_91 = x_92;
-        x_94 = x_95;
-      }
-      continue;
-    }
-  }
-  return x_91;
-}
-void main_1() {
-  vec3 c = vec3(0.0f);
-  float param = 0.0f;
-  float param_1 = 0.0f;
-  float param_2 = 0.0f;
-  float param_3 = 0.0f;
-  int x_68 = 0;
-  c = vec3(7.0f, 8.0f, 9.0f);
-  float x_54 = round((v.tint_symbol_3.resolution.x * 0.125f));
-  param = tint_symbol.x;
-  param_1 = x_54;
-  float x_57 = compute_value_f1_f1_(param, param_1);
-  c[0u] = x_57;
-  param_2 = tint_symbol.y;
-  param_3 = x_54;
-  float x_61 = compute_value_f1_f1_(param_2, param_3);
-  c[1u] = x_61;
-  c[2u] = (c.x + c.y);
-  x_68 = 0;
-  {
-    while(true) {
-      int x_69 = 0;
-      if ((x_68 < 3)) {
-      } else {
-        break;
-      }
-      if ((c[x_68] >= 1.0f)) {
-        c[x_68] = (c[x_68] * c[x_68]);
-      }
-      {
-        x_69 = (x_68 + 1);
-        x_68 = x_69;
-      }
-      continue;
-    }
-  }
-  vec3 x_84 = normalize(abs(c));
-  x_GLF_color = vec4(x_84[0u], x_84[1u], x_84[2u], 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:22: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index f0050a5..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,145 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 tint_symbol = vec4(0.0f);
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_mod_i32(int lhs, int rhs) {
-  int v_1 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_1) * v_1));
-}
-float compute_value_f1_f1_(inout float limit, inout float thirty_two) {
-  float x_91 = 0.0f;
-  float x_91_phi = 0.0f;
-  int x_94_phi = 0;
-  x_91_phi = -0.5f;
-  x_94_phi = 1;
-  {
-    while(true) {
-      float x_104 = 0.0f;
-      float x_113 = 0.0f;
-      int x_95 = 0;
-      float x_92_phi = 0.0f;
-      x_91 = x_91_phi;
-      int x_94 = x_94_phi;
-      if ((x_94 < 800)) {
-      } else {
-        break;
-      }
-      float x_112 = 0.0f;
-      float x_113_phi = 0.0f;
-      if ((tint_mod_i32(x_94, 32) == 0)) {
-        x_104 = (x_91 + 0.40000000596046447754f);
-        x_92_phi = x_104;
-      } else {
-        float x_106 = thirty_two;
-        x_113_phi = x_91;
-        float v_2 = float(x_94);
-        float v_3 = round(x_106);
-        float v_4 = float(x_94);
-        if (((v_2 - (v_3 * floor((v_4 / round(x_106))))) <= 0.00999999977648258209f)) {
-          x_112 = (x_91 + 100.0f);
-          x_113_phi = x_112;
-        }
-        x_113 = x_113_phi;
-        x_92_phi = x_113;
-      }
-      float x_92 = 0.0f;
-      x_92 = x_92_phi;
-      float x_115 = limit;
-      if ((float(x_94) >= x_115)) {
-        return x_92;
-      }
-      {
-        x_95 = (x_94 + 1);
-        x_91_phi = x_92;
-        x_94_phi = x_95;
-      }
-      continue;
-    }
-  }
-  return x_91;
-}
-void main_1() {
-  vec3 c = vec3(0.0f);
-  float param = 0.0f;
-  float param_1 = 0.0f;
-  float param_2 = 0.0f;
-  float param_3 = 0.0f;
-  int x_68_phi = 0;
-  c = vec3(7.0f, 8.0f, 9.0f);
-  float x_52 = v.tint_symbol_3.resolution.x;
-  float x_54 = round((x_52 * 0.125f));
-  float x_56 = tint_symbol.x;
-  param = x_56;
-  param_1 = x_54;
-  float x_57 = compute_value_f1_f1_(param, param_1);
-  c[0u] = x_57;
-  float x_60 = tint_symbol.y;
-  param_2 = x_60;
-  param_3 = x_54;
-  float x_61 = compute_value_f1_f1_(param_2, param_3);
-  c[1u] = x_61;
-  float x_63 = c.x;
-  float x_64 = c.y;
-  c[2u] = (x_63 + x_64);
-  x_68_phi = 0;
-  {
-    while(true) {
-      int x_69 = 0;
-      int x_68 = x_68_phi;
-      if ((x_68 < 3)) {
-      } else {
-        break;
-      }
-      float x_75 = c[x_68];
-      if ((x_75 >= 1.0f)) {
-        float x_79 = c[x_68];
-        float x_80 = c[x_68];
-        c[x_68] = (x_79 * x_80);
-      }
-      {
-        x_69 = (x_68 + 1);
-        x_68_phi = x_69;
-      }
-      continue;
-    }
-  }
-  vec3 x_82 = c;
-  vec3 x_84 = normalize(abs(x_82));
-  x_GLF_color = vec4(x_84[0u], x_84[1u], x_84[2u], 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:22: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/1.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/1.spvasm.expected.ir.glsl
deleted file mode 100644
index fe50311..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/1.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,147 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct buf1 {
-  vec2 injectionSwitch;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 1, std140)
-uniform tint_symbol_6_1_ubo {
-  buf1 tint_symbol_5;
-} v_1;
-vec4 x_GLF_color = vec4(0.0f);
-bool continue_execution = true;
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_mod_i32(int lhs, int rhs) {
-  int v_2 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_2) * v_2));
-}
-float compute_value_f1_f1_(inout float limit, inout float thirty_two) {
-  float x_104 = 0.0f;
-  int x_107 = 0;
-  x_104 = -0.5f;
-  x_107 = 1;
-  {
-    while(true) {
-      float x_126 = 0.0f;
-      float x_125 = 0.0f;
-      float x_105 = 0.0f;
-      int x_108 = 0;
-      if ((x_107 < 800)) {
-      } else {
-        break;
-      }
-      float x_124 = 0.0f;
-      if ((tint_mod_i32(x_107, 32) == 0)) {
-        x_126 = (x_104 + 0.40000000596046447754f);
-        x_105 = x_126;
-      } else {
-        float x_118 = thirty_two;
-        x_125 = x_104;
-        float v_3 = float(x_107);
-        float v_4 = round(x_118);
-        float v_5 = float(x_107);
-        if (((v_3 - (v_4 * floor((v_5 / round(x_118))))) <= 0.00999999977648258209f)) {
-          x_124 = (x_104 + 100.0f);
-          x_125 = x_124;
-        }
-        x_105 = x_125;
-      }
-      float v_6 = float(x_107);
-      if ((v_6 >= limit)) {
-        return x_105;
-      }
-      {
-        x_108 = (x_107 + 1);
-        x_104 = x_105;
-        x_107 = x_108;
-      }
-      continue;
-    }
-  }
-  return x_104;
-}
-void main_1() {
-  vec3 c = vec3(0.0f);
-  float param = 0.0f;
-  float param_1 = 0.0f;
-  float param_2 = 0.0f;
-  float param_3 = 0.0f;
-  vec3 x_54 = vec3(0.0f);
-  int x_74 = 0;
-  c = vec3(7.0f, 8.0f, 9.0f);
-  float x_58 = round((v.tint_symbol_3.resolution.x * 0.125f));
-  param = tint_symbol.x;
-  param_1 = x_58;
-  float x_61 = compute_value_f1_f1_(param, param_1);
-  c[0u] = x_61;
-  param_2 = tint_symbol.y;
-  param_3 = x_58;
-  float x_65 = compute_value_f1_f1_(param_2, param_3);
-  c[1u] = x_65;
-  float x_67 = c.x;
-  x_54 = c;
-  c[2u] = (x_67 + x_54.y);
-  x_74 = 0;
-  {
-    while(true) {
-      int x_75 = 0;
-      if ((x_74 < 3)) {
-      } else {
-        break;
-      }
-      if ((c[x_74] >= 1.0f)) {
-        if ((v_1.tint_symbol_5.injectionSwitch.x > v_1.tint_symbol_5.injectionSwitch.y)) {
-          continue_execution = false;
-        }
-        c[x_74] = (c[x_74] * c[x_74]);
-      }
-      {
-        x_75 = (x_74 + 1);
-        x_74 = x_75;
-      }
-      continue;
-    }
-  }
-  vec3 x_97 = normalize(abs(c));
-  x_GLF_color = vec4(x_97[0u], x_97[1u], x_97[2u], 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out v_7 = main_out(x_GLF_color);
-  if (!(continue_execution)) {
-    discard;
-  }
-  return v_7;
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:31: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:31: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:31: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/1.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/1.wgsl.expected.ir.glsl
deleted file mode 100644
index 6fa9032..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/1.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,166 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct buf1 {
-  vec2 injectionSwitch;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 1, std140)
-uniform tint_symbol_6_1_ubo {
-  buf1 tint_symbol_5;
-} v_1;
-vec4 x_GLF_color = vec4(0.0f);
-bool continue_execution = true;
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_mod_i32(int lhs, int rhs) {
-  int v_2 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_2) * v_2));
-}
-float compute_value_f1_f1_(inout float limit, inout float thirty_two) {
-  float x_104 = 0.0f;
-  float x_104_phi = 0.0f;
-  int x_107_phi = 0;
-  x_104_phi = -0.5f;
-  x_107_phi = 1;
-  {
-    while(true) {
-      float x_126 = 0.0f;
-      float x_125 = 0.0f;
-      int x_108 = 0;
-      float x_105_phi = 0.0f;
-      x_104 = x_104_phi;
-      int x_107 = x_107_phi;
-      if ((x_107 < 800)) {
-      } else {
-        break;
-      }
-      float x_124 = 0.0f;
-      float x_125_phi = 0.0f;
-      if ((tint_mod_i32(x_107, 32) == 0)) {
-        x_126 = (x_104 + 0.40000000596046447754f);
-        x_105_phi = x_126;
-      } else {
-        float x_118 = thirty_two;
-        x_125_phi = x_104;
-        float v_3 = float(x_107);
-        float v_4 = round(x_118);
-        float v_5 = float(x_107);
-        if (((v_3 - (v_4 * floor((v_5 / round(x_118))))) <= 0.00999999977648258209f)) {
-          x_124 = (x_104 + 100.0f);
-          x_125_phi = x_124;
-        }
-        x_125 = x_125_phi;
-        x_105_phi = x_125;
-      }
-      float x_105 = 0.0f;
-      x_105 = x_105_phi;
-      float x_128 = limit;
-      if ((float(x_107) >= x_128)) {
-        return x_105;
-      }
-      {
-        x_108 = (x_107 + 1);
-        x_104_phi = x_105;
-        x_107_phi = x_108;
-      }
-      continue;
-    }
-  }
-  return x_104;
-}
-void main_1() {
-  vec3 c = vec3(0.0f);
-  float param = 0.0f;
-  float param_1 = 0.0f;
-  float param_2 = 0.0f;
-  float param_3 = 0.0f;
-  vec3 x_54 = vec3(0.0f);
-  int x_74_phi = 0;
-  c = vec3(7.0f, 8.0f, 9.0f);
-  float x_56 = v.tint_symbol_3.resolution.x;
-  float x_58 = round((x_56 * 0.125f));
-  float x_60 = tint_symbol.x;
-  param = x_60;
-  param_1 = x_58;
-  float x_61 = compute_value_f1_f1_(param, param_1);
-  c[0u] = x_61;
-  float x_64 = tint_symbol.y;
-  param_2 = x_64;
-  param_3 = x_58;
-  float x_65 = compute_value_f1_f1_(param_2, param_3);
-  c[1u] = x_65;
-  float x_67 = c.x;
-  vec3 x_68 = c;
-  x_54 = x_68;
-  float x_70 = x_54.y;
-  c[2u] = (x_67 + x_70);
-  x_74_phi = 0;
-  {
-    while(true) {
-      int x_75 = 0;
-      int x_74 = x_74_phi;
-      if ((x_74 < 3)) {
-      } else {
-        break;
-      }
-      float x_81 = c[x_74];
-      if ((x_81 >= 1.0f)) {
-        float x_86 = v_1.tint_symbol_5.injectionSwitch.x;
-        float x_88 = v_1.tint_symbol_5.injectionSwitch.y;
-        if ((x_86 > x_88)) {
-          continue_execution = false;
-        }
-        float x_92 = c[x_74];
-        float x_93 = c[x_74];
-        c[x_74] = (x_92 * x_93);
-      }
-      {
-        x_75 = (x_74 + 1);
-        x_74_phi = x_75;
-      }
-      continue;
-    }
-  }
-  vec3 x_95 = c;
-  vec3 x_97 = normalize(abs(x_95));
-  x_GLF_color = vec4(x_97[0u], x_97[1u], x_97[2u], 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out v_6 = main_out(x_GLF_color);
-  if (!(continue_execution)) {
-    discard;
-  }
-  return v_6;
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:31: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:31: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:31: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-simple-loop/1.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-simple-loop/1.spvasm.expected.ir.glsl
deleted file mode 100644
index 72804f9..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-simple-loop/1.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,151 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct buf1 {
-  vec2 injectionSwitch;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 1, std140)
-uniform tint_symbol_6_1_ubo {
-  buf1 tint_symbol_5;
-} v_1;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_mod_i32(int lhs, int rhs) {
-  int v_2 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_2) * v_2));
-}
-float compute_value_f1_f1_(inout float limit, inout float thirty_two) {
-  float result = 0.0f;
-  int i = 0;
-  result = -0.5f;
-  i = 1;
-  {
-    while(true) {
-      if ((i < 800)) {
-      } else {
-        break;
-      }
-      if ((tint_mod_i32(i, 32) == 0)) {
-        result = (result + 0.40000000596046447754f);
-      } else {
-        float x_157 = thirty_two;
-        float v_3 = float(i);
-        float v_4 = round(x_157);
-        float v_5 = float(i);
-        if (((v_3 - (v_4 * floor((v_5 / round(x_157))))) <= 0.00999999977648258209f)) {
-          result = (result + 100.0f);
-        }
-      }
-      float v_6 = float(i);
-      if ((v_6 >= limit)) {
-        float x_171 = result;
-        return x_171;
-      }
-      {
-        i = (i + 1);
-      }
-      continue;
-    }
-  }
-  float x_174 = result;
-  return x_174;
-}
-void main_1() {
-  vec3 c = vec3(0.0f);
-  float thirty_two_1 = 0.0f;
-  float param = 0.0f;
-  float param_1 = 0.0f;
-  float param_2 = 0.0f;
-  float param_3 = 0.0f;
-  vec3 x_61 = vec3(0.0f);
-  int i_1 = 0;
-  float j = 0.0f;
-  c = vec3(7.0f, 8.0f, 9.0f);
-  thirty_two_1 = round((v.tint_symbol_3.resolution.x / 8.0f));
-  param = tint_symbol.x;
-  param_1 = thirty_two_1;
-  float x_69 = compute_value_f1_f1_(param, param_1);
-  c[0u] = x_69;
-  param_2 = tint_symbol.y;
-  param_3 = thirty_two_1;
-  float x_74 = compute_value_f1_f1_(param_2, param_3);
-  c[1u] = x_74;
-  float x_77 = c.x;
-  if (true) {
-    x_61 = c;
-  } else {
-    x_61 = (c * v_1.tint_symbol_5.injectionSwitch.x);
-  }
-  c[2u] = (x_77 + x_61.y);
-  i_1 = 0;
-  {
-    while(true) {
-      if ((i_1 < 3)) {
-      } else {
-        break;
-      }
-      if ((c[i_1] >= 1.0f)) {
-        int x_103 = i_1;
-        c[x_103] = (c[i_1] * c[i_1]);
-      }
-      j = 0.0f;
-      {
-        while(true) {
-          if ((v_1.tint_symbol_5.injectionSwitch.x > v_1.tint_symbol_5.injectionSwitch.y)) {
-          } else {
-            break;
-          }
-          if ((j >= v_1.tint_symbol_5.injectionSwitch.x)) {
-            break;
-          }
-          j = (j + 1.0f);
-          {
-          }
-          continue;
-        }
-      }
-      {
-        i_1 = (i_1 + 1);
-      }
-      continue;
-    }
-  }
-  vec3 x_134 = normalize(abs(c));
-  x_GLF_color = vec4(x_134[0u], x_134[1u], x_134[2u], 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:30: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:30: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:30: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-simple-loop/1.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-simple-loop/1.wgsl.expected.ir.glsl
deleted file mode 100644
index ad34daa..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-simple-loop/1.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,181 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct buf1 {
-  vec2 injectionSwitch;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 1, std140)
-uniform tint_symbol_6_1_ubo {
-  buf1 tint_symbol_5;
-} v_1;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_mod_i32(int lhs, int rhs) {
-  int v_2 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_2) * v_2));
-}
-float compute_value_f1_f1_(inout float limit, inout float thirty_two) {
-  float result = 0.0f;
-  int i = 0;
-  result = -0.5f;
-  i = 1;
-  {
-    while(true) {
-      int x_144 = i;
-      if ((x_144 < 800)) {
-      } else {
-        break;
-      }
-      int x_147 = i;
-      if ((tint_mod_i32(x_147, 32) == 0)) {
-        float x_153 = result;
-        result = (x_153 + 0.40000000596046447754f);
-      } else {
-        int x_155 = i;
-        float x_157 = thirty_two;
-        float v_3 = float(x_155);
-        float v_4 = round(x_157);
-        float v_5 = float(x_155);
-        if (((v_3 - (v_4 * floor((v_5 / round(x_157))))) <= 0.00999999977648258209f)) {
-          float x_163 = result;
-          result = (x_163 + 100.0f);
-        }
-      }
-      int x_165 = i;
-      float x_167 = limit;
-      if ((float(x_165) >= x_167)) {
-        float x_171 = result;
-        return x_171;
-      }
-      {
-        int x_172 = i;
-        i = (x_172 + 1);
-      }
-      continue;
-    }
-  }
-  float x_174 = result;
-  return x_174;
-}
-void main_1() {
-  vec3 c = vec3(0.0f);
-  float thirty_two_1 = 0.0f;
-  float param = 0.0f;
-  float param_1 = 0.0f;
-  float param_2 = 0.0f;
-  float param_3 = 0.0f;
-  vec3 x_61 = vec3(0.0f);
-  int i_1 = 0;
-  float j = 0.0f;
-  c = vec3(7.0f, 8.0f, 9.0f);
-  float x_63 = v.tint_symbol_3.resolution.x;
-  thirty_two_1 = round((x_63 / 8.0f));
-  float x_67 = tint_symbol.x;
-  param = x_67;
-  float x_68 = thirty_two_1;
-  param_1 = x_68;
-  float x_69 = compute_value_f1_f1_(param, param_1);
-  c[0u] = x_69;
-  float x_72 = tint_symbol.y;
-  param_2 = x_72;
-  float x_73 = thirty_two_1;
-  param_3 = x_73;
-  float x_74 = compute_value_f1_f1_(param_2, param_3);
-  c[1u] = x_74;
-  float x_77 = c.x;
-  if (true) {
-    vec3 x_81 = c;
-    x_61 = x_81;
-  } else {
-    vec3 x_82 = c;
-    float x_84 = v_1.tint_symbol_5.injectionSwitch.x;
-    x_61 = (x_82 * x_84);
-  }
-  float x_87 = x_61.y;
-  c[2u] = (x_77 + x_87);
-  i_1 = 0;
-  {
-    while(true) {
-      int x_94 = i_1;
-      if ((x_94 < 3)) {
-      } else {
-        break;
-      }
-      int x_97 = i_1;
-      float x_99 = c[x_97];
-      if ((x_99 >= 1.0f)) {
-        int x_103 = i_1;
-        int x_104 = i_1;
-        float x_106 = c[x_104];
-        int x_107 = i_1;
-        float x_109 = c[x_107];
-        c[x_103] = (x_106 * x_109);
-      }
-      j = 0.0f;
-      {
-        while(true) {
-          float x_117 = v_1.tint_symbol_5.injectionSwitch.x;
-          float x_119 = v_1.tint_symbol_5.injectionSwitch.y;
-          if ((x_117 > x_119)) {
-          } else {
-            break;
-          }
-          float x_122 = j;
-          float x_124 = v_1.tint_symbol_5.injectionSwitch.x;
-          if ((x_122 >= x_124)) {
-            break;
-          }
-          float x_128 = j;
-          j = (x_128 + 1.0f);
-          {
-          }
-          continue;
-        }
-      }
-      {
-        int x_130 = i_1;
-        i_1 = (x_130 + 1);
-      }
-      continue;
-    }
-  }
-  vec3 x_132 = c;
-  vec3 x_134 = normalize(abs(x_132));
-  x_GLF_color = vec4(x_134[0u], x_134[1u], x_134[2u], 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:30: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:30: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:30: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-vec3-values-from-matrix/1.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-vec3-values-from-matrix/1.spvasm.expected.ir.glsl
deleted file mode 100644
index f580d9e..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-vec3-values-from-matrix/1.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,125 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 tint_symbol = vec4(0.0f);
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_mod_i32(int lhs, int rhs) {
-  int v_1 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_1) * v_1));
-}
-float compute_value_f1_f1_(inout float limit, inout float thirty_two) {
-  float result = 0.0f;
-  int i = 0;
-  result = -0.5f;
-  i = 1;
-  {
-    while(true) {
-      if ((i < 800)) {
-      } else {
-        break;
-      }
-      if ((tint_mod_i32(i, 32) == 0)) {
-        result = (result + 0.40000000596046447754f);
-      } else {
-        float x_149 = thirty_two;
-        float v_2 = float(i);
-        float v_3 = round(x_149);
-        float v_4 = float(i);
-        if (((v_2 - (v_3 * floor((v_4 / round(x_149))))) <= 0.00999999977648258209f)) {
-          result = (result + 100.0f);
-        }
-      }
-      float v_5 = float(i);
-      if ((v_5 >= limit)) {
-        float x_163 = result;
-        return x_163;
-      }
-      {
-        i = (i + 1);
-      }
-      continue;
-    }
-  }
-  float x_166 = result;
-  return x_166;
-}
-void main_1() {
-  vec3 c = vec3(0.0f);
-  float thirty_two_1 = 0.0f;
-  float param = 0.0f;
-  float param_1 = 0.0f;
-  float param_2 = 0.0f;
-  float param_3 = 0.0f;
-  int i_1 = 0;
-  c = vec3(7.0f, 8.0f, 9.0f);
-  thirty_two_1 = round((v.tint_symbol_3.resolution.x / 8.0f));
-  param = tint_symbol.x;
-  param_1 = thirty_two_1;
-  float x_69 = compute_value_f1_f1_(param, param_1);
-  c[0u] = x_69;
-  param_2 = tint_symbol.y;
-  param_3 = thirty_two_1;
-  float x_74 = compute_value_f1_f1_(param_2, param_3);
-  c[1u] = x_74;
-  vec2 v_6 = vec2(c.x, c.y);
-  mat4x2 x_87 = mat4x2(v_6, vec2(c.z, 1.0f), vec2(1.0f, 0.0f), vec2(1.0f, 0.0f));
-  float v_7 = (c * mat3(vec3(1.0f, 0.0f, 0.0f), vec3(0.0f, 1.0f, 0.0f), vec3(0.0f, 0.0f, 1.0f)))[0u];
-  c[2u] = (v_7 + vec3(x_87[0u][0u], x_87[0u][1u], x_87[1u][0u])[1u]);
-  i_1 = 0;
-  {
-    while(true) {
-      if ((i_1 < 3)) {
-      } else {
-        break;
-      }
-      if ((c[i_1] >= 1.0f)) {
-        int x_108 = i_1;
-        c[x_108] = (c[i_1] * c[i_1]);
-        if ((tint_symbol.y < 0.0f)) {
-          break;
-        }
-      }
-      {
-        i_1 = (i_1 + 1);
-      }
-      continue;
-    }
-  }
-  vec3 x_126 = normalize(abs(c));
-  x_GLF_color = vec4(x_126[0u], x_126[1u], x_126[2u], 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:22: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-vec3-values-from-matrix/1.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-vec3-values-from-matrix/1.wgsl.expected.ir.glsl
deleted file mode 100644
index 5cc32e4..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-vec3-values-from-matrix/1.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,148 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 tint_symbol = vec4(0.0f);
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_mod_i32(int lhs, int rhs) {
-  int v_1 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_1) * v_1));
-}
-float compute_value_f1_f1_(inout float limit, inout float thirty_two) {
-  float result = 0.0f;
-  int i = 0;
-  result = -0.5f;
-  i = 1;
-  {
-    while(true) {
-      int x_136 = i;
-      if ((x_136 < 800)) {
-      } else {
-        break;
-      }
-      int x_139 = i;
-      if ((tint_mod_i32(x_139, 32) == 0)) {
-        float x_145 = result;
-        result = (x_145 + 0.40000000596046447754f);
-      } else {
-        int x_147 = i;
-        float x_149 = thirty_two;
-        float v_2 = float(x_147);
-        float v_3 = round(x_149);
-        float v_4 = float(x_147);
-        if (((v_2 - (v_3 * floor((v_4 / round(x_149))))) <= 0.00999999977648258209f)) {
-          float x_155 = result;
-          result = (x_155 + 100.0f);
-        }
-      }
-      int x_157 = i;
-      float x_159 = limit;
-      if ((float(x_157) >= x_159)) {
-        float x_163 = result;
-        return x_163;
-      }
-      {
-        int x_164 = i;
-        i = (x_164 + 1);
-      }
-      continue;
-    }
-  }
-  float x_166 = result;
-  return x_166;
-}
-void main_1() {
-  vec3 c = vec3(0.0f);
-  float thirty_two_1 = 0.0f;
-  float param = 0.0f;
-  float param_1 = 0.0f;
-  float param_2 = 0.0f;
-  float param_3 = 0.0f;
-  int i_1 = 0;
-  c = vec3(7.0f, 8.0f, 9.0f);
-  float x_63 = v.tint_symbol_3.resolution.x;
-  thirty_two_1 = round((x_63 / 8.0f));
-  float x_67 = tint_symbol.x;
-  param = x_67;
-  float x_68 = thirty_two_1;
-  param_1 = x_68;
-  float x_69 = compute_value_f1_f1_(param, param_1);
-  c[0u] = x_69;
-  float x_72 = tint_symbol.y;
-  param_2 = x_72;
-  float x_73 = thirty_two_1;
-  param_3 = x_73;
-  float x_74 = compute_value_f1_f1_(param_2, param_3);
-  c[1u] = x_74;
-  vec3 x_76 = c;
-  vec3 x_79 = c;
-  vec2 v_5 = vec2(x_79[0u], x_79[1u]);
-  mat4x2 x_87 = mat4x2(v_5, vec2(x_79[2u], 1.0f), vec2(1.0f, 0.0f), vec2(1.0f, 0.0f));
-  c[2u] = ((x_76 * mat3(vec3(1.0f, 0.0f, 0.0f), vec3(0.0f, 1.0f, 0.0f), vec3(0.0f, 0.0f, 1.0f)))[0u] + vec3(x_87[0u][0u], x_87[0u][1u], x_87[1u][0u])[1u]);
-  i_1 = 0;
-  {
-    while(true) {
-      int x_99 = i_1;
-      if ((x_99 < 3)) {
-      } else {
-        break;
-      }
-      int x_102 = i_1;
-      float x_104 = c[x_102];
-      if ((x_104 >= 1.0f)) {
-        int x_108 = i_1;
-        int x_109 = i_1;
-        float x_111 = c[x_109];
-        int x_112 = i_1;
-        float x_114 = c[x_112];
-        c[x_108] = (x_111 * x_114);
-        float x_118 = tint_symbol.y;
-        if ((x_118 < 0.0f)) {
-          break;
-        }
-      }
-      {
-        int x_122 = i_1;
-        i_1 = (x_122 + 1);
-      }
-      continue;
-    }
-  }
-  vec3 x_124 = c;
-  vec3 x_126 = normalize(abs(x_124));
-  x_GLF_color = vec4(x_126[0u], x_126[1u], x_126[2u], 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:22: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:22: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/stable-mergesort-clamped-conditional-bit-shift/1.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/stable-mergesort-clamped-conditional-bit-shift/1.spvasm.expected.ir.glsl
deleted file mode 100644
index b224929..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/stable-mergesort-clamped-conditional-bit-shift/1.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,329 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 injectionSwitch;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-int data[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-int temp[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-bool continue_execution = true;
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-void merge_i1_i1_i1_(inout int f, inout int mid, inout int to) {
-  int k = 0;
-  int i = 0;
-  int j = 0;
-  int i_1 = 0;
-  k = f;
-  i = f;
-  j = (mid + 1);
-  {
-    while(true) {
-      if (((i <= mid) & (j <= to))) {
-      } else {
-        break;
-      }
-      if ((data[i] < data[j])) {
-        int x_286 = k;
-        k = (k + 1);
-        int x_288 = i;
-        i = (i + 1);
-        temp[x_286] = data[x_288];
-      } else {
-        int x_293 = k;
-        k = (k + 1);
-        int x_295 = j;
-        j = (j + 1);
-        temp[x_293] = data[x_295];
-      }
-      {
-      }
-      continue;
-    }
-  }
-  {
-    while(true) {
-      if (((i < 10) & (i <= mid))) {
-      } else {
-        break;
-      }
-      int x_311 = k;
-      k = (k + 1);
-      int x_313 = i;
-      i = (i + 1);
-      temp[x_311] = data[x_313];
-      {
-      }
-      continue;
-    }
-  }
-  i_1 = f;
-  {
-    while(true) {
-      if ((i_1 <= to)) {
-      } else {
-        break;
-      }
-      int x_327 = i_1;
-      data[x_327] = temp[i_1];
-      {
-        i_1 = (i_1 + 1);
-      }
-      continue;
-    }
-  }
-}
-int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
-}
-int func_i1_i1_(inout int m, inout int high) {
-  int x = 0;
-  int x_335 = 0;
-  int x_336 = 0;
-  if ((tint_symbol.x >= 0.0f)) {
-    if (false) {
-      x_336 = (high << (0u & 31u));
-    } else {
-      x_336 = 4;
-    }
-    x_335 = (1 << (uint(x_336) & 31u));
-  } else {
-    x_335 = 1;
-  }
-  x = x_335;
-  x = (x >> (4u & 31u));
-  int x_353 = m;
-  int x_355 = m;
-  int x_357 = m;
-  int x_359 = x;
-  int v_1 = tint_div_i32((2 * x_357), x_359);
-  return min(max((2 * x_353), (2 * x_355)), v_1);
-}
-void mergeSort_() {
-  int low = 0;
-  int high_1 = 0;
-  int m_1 = 0;
-  int i_2 = 0;
-  int f_1 = 0;
-  int mid_1 = 0;
-  int to_1 = 0;
-  int param = 0;
-  int param_1 = 0;
-  int param_2 = 0;
-  int param_3 = 0;
-  int param_4 = 0;
-  low = 0;
-  high_1 = 9;
-  m_1 = 1;
-  {
-    while(true) {
-      if ((m_1 <= high_1)) {
-      } else {
-        break;
-      }
-      i_2 = low;
-      {
-        while(true) {
-          if ((i_2 < high_1)) {
-          } else {
-            break;
-          }
-          f_1 = i_2;
-          mid_1 = ((i_2 + m_1) - 1);
-          to_1 = min(((i_2 + (2 * m_1)) - 1), high_1);
-          param = f_1;
-          param_1 = mid_1;
-          param_2 = to_1;
-          merge_i1_i1_i1_(param, param_1, param_2);
-          {
-            param_3 = m_1;
-            param_4 = high_1;
-            int x_398 = func_i1_i1_(param_3, param_4);
-            i_2 = (i_2 + x_398);
-          }
-          continue;
-        }
-      }
-      {
-        m_1 = (2 * m_1);
-      }
-      continue;
-    }
-  }
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  int i_3 = 0;
-  int j_1 = 0;
-  float grey = 0.0f;
-  i_3 = tint_f32_to_i32(v.tint_symbol_3.injectionSwitch.x);
-  {
-    while(true) {
-      int x_99 = i_3;
-      switch(x_99) {
-        case 9:
-        {
-          int x_129 = i_3;
-          data[x_129] = -5;
-          break;
-        }
-        case 8:
-        {
-          int x_127 = i_3;
-          data[x_127] = -4;
-          break;
-        }
-        case 7:
-        {
-          int x_125 = i_3;
-          data[x_125] = -3;
-          break;
-        }
-        case 6:
-        {
-          int x_123 = i_3;
-          data[x_123] = -2;
-          break;
-        }
-        case 5:
-        {
-          int x_121 = i_3;
-          data[x_121] = -1;
-          break;
-        }
-        case 4:
-        {
-          int x_119 = i_3;
-          data[x_119] = 0;
-          break;
-        }
-        case 3:
-        {
-          int x_117 = i_3;
-          data[x_117] = 1;
-          break;
-        }
-        case 2:
-        {
-          int x_115 = i_3;
-          data[x_115] = 2;
-          break;
-        }
-        case 1:
-        {
-          int x_113 = i_3;
-          data[x_113] = 3;
-          break;
-        }
-        case 0:
-        {
-          int x_111 = i_3;
-          data[x_111] = 4;
-          break;
-        }
-        default:
-        {
-          break;
-        }
-      }
-      i_3 = (i_3 + 1);
-      {
-        int x_133 = i_3;
-        if (!((x_133 < 10))) { break; }
-      }
-      continue;
-    }
-  }
-  j_1 = 0;
-  {
-    while(true) {
-      if ((j_1 < 10)) {
-      } else {
-        break;
-      }
-      int x_142 = j_1;
-      temp[x_142] = data[j_1];
-      {
-        j_1 = (j_1 + 1);
-      }
-      continue;
-    }
-  }
-  mergeSort_();
-  if ((tint_f32_to_i32(tint_symbol.y) < 30)) {
-    grey = (0.5f + (float(data[0]) / 10.0f));
-  } else {
-    if ((tint_f32_to_i32(tint_symbol.y) < 60)) {
-      grey = (0.5f + (float(data[1]) / 10.0f));
-    } else {
-      if ((tint_f32_to_i32(tint_symbol.y) < 90)) {
-        grey = (0.5f + (float(data[2]) / 10.0f));
-      } else {
-        if ((tint_f32_to_i32(tint_symbol.y) < 120)) {
-          grey = (0.5f + (float(data[3]) / 10.0f));
-        } else {
-          if ((tint_f32_to_i32(tint_symbol.y) < 150)) {
-            continue_execution = false;
-          } else {
-            if ((tint_f32_to_i32(tint_symbol.y) < 180)) {
-              grey = (0.5f + (float(data[5]) / 10.0f));
-            } else {
-              if ((tint_f32_to_i32(tint_symbol.y) < 210)) {
-                grey = (0.5f + (float(data[6]) / 10.0f));
-              } else {
-                if ((tint_f32_to_i32(tint_symbol.y) < 240)) {
-                  grey = (0.5f + (float(data[7]) / 10.0f));
-                } else {
-                  if ((tint_f32_to_i32(tint_symbol.y) < 270)) {
-                    grey = (0.5f + (float(data[8]) / 10.0f));
-                  } else {
-                    continue_execution = false;
-                  }
-                }
-              }
-            }
-          }
-        }
-      }
-    }
-  }
-  vec3 x_254 = vec3(grey);
-  x_GLF_color = vec4(x_254[0u], x_254[1u], x_254[2u], 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out v_2 = main_out(x_GLF_color);
-  if (!(continue_execution)) {
-    discard;
-  }
-  return v_2;
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:34: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:34: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/stable-mergesort-clamped-conditional-bit-shift/1.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/stable-mergesort-clamped-conditional-bit-shift/1.wgsl.expected.ir.glsl
deleted file mode 100644
index 79f9fb0..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/stable-mergesort-clamped-conditional-bit-shift/1.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,399 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 injectionSwitch;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-int data[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-int temp[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-bool continue_execution = true;
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-void merge_i1_i1_i1_(inout int f, inout int mid, inout int to) {
-  int k = 0;
-  int i = 0;
-  int j = 0;
-  int i_1 = 0;
-  int x_260 = f;
-  k = x_260;
-  int x_261 = f;
-  i = x_261;
-  int x_262 = mid;
-  j = (x_262 + 1);
-  {
-    while(true) {
-      int x_268 = i;
-      int x_269 = mid;
-      int x_271 = j;
-      int x_272 = to;
-      if (((x_268 <= x_269) & (x_271 <= x_272))) {
-      } else {
-        break;
-      }
-      int x_276 = i;
-      int x_278 = data[x_276];
-      int x_279 = j;
-      int x_281 = data[x_279];
-      if ((x_278 < x_281)) {
-        int x_286 = k;
-        k = (x_286 + 1);
-        int x_288 = i;
-        i = (x_288 + 1);
-        int x_291 = data[x_288];
-        temp[x_286] = x_291;
-      } else {
-        int x_293 = k;
-        k = (x_293 + 1);
-        int x_295 = j;
-        j = (x_295 + 1);
-        int x_298 = data[x_295];
-        temp[x_293] = x_298;
-      }
-      {
-      }
-      continue;
-    }
-  }
-  {
-    while(true) {
-      int x_304 = i;
-      int x_306 = i;
-      int x_307 = mid;
-      if (((x_304 < 10) & (x_306 <= x_307))) {
-      } else {
-        break;
-      }
-      int x_311 = k;
-      k = (x_311 + 1);
-      int x_313 = i;
-      i = (x_313 + 1);
-      int x_316 = data[x_313];
-      temp[x_311] = x_316;
-      {
-      }
-      continue;
-    }
-  }
-  int x_318 = f;
-  i_1 = x_318;
-  {
-    while(true) {
-      int x_323 = i_1;
-      int x_324 = to;
-      if ((x_323 <= x_324)) {
-      } else {
-        break;
-      }
-      int x_327 = i_1;
-      int x_328 = i_1;
-      int x_330 = temp[x_328];
-      data[x_327] = x_330;
-      {
-        int x_332 = i_1;
-        i_1 = (x_332 + 1);
-      }
-      continue;
-    }
-  }
-}
-int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
-}
-int func_i1_i1_(inout int m, inout int high) {
-  int x = 0;
-  int x_335 = 0;
-  int x_336 = 0;
-  float x_338 = tint_symbol.x;
-  if ((x_338 >= 0.0f)) {
-    if (false) {
-      int x_346 = high;
-      x_336 = (x_346 << (0u & 31u));
-    } else {
-      x_336 = 4;
-    }
-    int x_348 = x_336;
-    x_335 = (1 << (uint(x_348) & 31u));
-  } else {
-    x_335 = 1;
-  }
-  int x_350 = x_335;
-  x = x_350;
-  int x_351 = x;
-  x = (x_351 >> (4u & 31u));
-  int x_353 = m;
-  int x_355 = m;
-  int x_357 = m;
-  int x_359 = x;
-  int v_1 = tint_div_i32((2 * x_357), x_359);
-  return min(max((2 * x_353), (2 * x_355)), v_1);
-}
-void mergeSort_() {
-  int low = 0;
-  int high_1 = 0;
-  int m_1 = 0;
-  int i_2 = 0;
-  int f_1 = 0;
-  int mid_1 = 0;
-  int to_1 = 0;
-  int param = 0;
-  int param_1 = 0;
-  int param_2 = 0;
-  int param_3 = 0;
-  int param_4 = 0;
-  low = 0;
-  high_1 = 9;
-  m_1 = 1;
-  {
-    while(true) {
-      int x_367 = m_1;
-      int x_368 = high_1;
-      if ((x_367 <= x_368)) {
-      } else {
-        break;
-      }
-      int x_371 = low;
-      i_2 = x_371;
-      {
-        while(true) {
-          int x_376 = i_2;
-          int x_377 = high_1;
-          if ((x_376 < x_377)) {
-          } else {
-            break;
-          }
-          int x_380 = i_2;
-          f_1 = x_380;
-          int x_381 = i_2;
-          int x_382 = m_1;
-          mid_1 = ((x_381 + x_382) - 1);
-          int x_385 = i_2;
-          int x_386 = m_1;
-          int x_390 = high_1;
-          to_1 = min(((x_385 + (2 * x_386)) - 1), x_390);
-          int x_392 = f_1;
-          param = x_392;
-          int x_393 = mid_1;
-          param_1 = x_393;
-          int x_394 = to_1;
-          param_2 = x_394;
-          merge_i1_i1_i1_(param, param_1, param_2);
-          {
-            int x_396 = m_1;
-            param_3 = x_396;
-            int x_397 = high_1;
-            param_4 = x_397;
-            int x_398 = func_i1_i1_(param_3, param_4);
-            int x_399 = i_2;
-            i_2 = (x_399 + x_398);
-          }
-          continue;
-        }
-      }
-      {
-        int x_401 = m_1;
-        m_1 = (2 * x_401);
-      }
-      continue;
-    }
-  }
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  int i_3 = 0;
-  int j_1 = 0;
-  float grey = 0.0f;
-  float x_93 = v.tint_symbol_3.injectionSwitch.x;
-  i_3 = tint_f32_to_i32(x_93);
-  {
-    while(true) {
-      int x_99 = i_3;
-      switch(x_99) {
-        case 9:
-        {
-          int x_129 = i_3;
-          data[x_129] = -5;
-          break;
-        }
-        case 8:
-        {
-          int x_127 = i_3;
-          data[x_127] = -4;
-          break;
-        }
-        case 7:
-        {
-          int x_125 = i_3;
-          data[x_125] = -3;
-          break;
-        }
-        case 6:
-        {
-          int x_123 = i_3;
-          data[x_123] = -2;
-          break;
-        }
-        case 5:
-        {
-          int x_121 = i_3;
-          data[x_121] = -1;
-          break;
-        }
-        case 4:
-        {
-          int x_119 = i_3;
-          data[x_119] = 0;
-          break;
-        }
-        case 3:
-        {
-          int x_117 = i_3;
-          data[x_117] = 1;
-          break;
-        }
-        case 2:
-        {
-          int x_115 = i_3;
-          data[x_115] = 2;
-          break;
-        }
-        case 1:
-        {
-          int x_113 = i_3;
-          data[x_113] = 3;
-          break;
-        }
-        case 0:
-        {
-          int x_111 = i_3;
-          data[x_111] = 4;
-          break;
-        }
-        default:
-        {
-          break;
-        }
-      }
-      int x_131 = i_3;
-      i_3 = (x_131 + 1);
-      {
-        int x_133 = i_3;
-        if (!((x_133 < 10))) { break; }
-      }
-      continue;
-    }
-  }
-  j_1 = 0;
-  {
-    while(true) {
-      int x_139 = j_1;
-      if ((x_139 < 10)) {
-      } else {
-        break;
-      }
-      int x_142 = j_1;
-      int x_143 = j_1;
-      int x_145 = data[x_143];
-      temp[x_142] = x_145;
-      {
-        int x_147 = j_1;
-        j_1 = (x_147 + 1);
-      }
-      continue;
-    }
-  }
-  mergeSort_();
-  float x_151 = tint_symbol.y;
-  if ((tint_f32_to_i32(x_151) < 30)) {
-    int x_158 = data[0];
-    grey = (0.5f + (float(x_158) / 10.0f));
-  } else {
-    float x_163 = tint_symbol.y;
-    if ((tint_f32_to_i32(x_163) < 60)) {
-      int x_170 = data[1];
-      grey = (0.5f + (float(x_170) / 10.0f));
-    } else {
-      float x_175 = tint_symbol.y;
-      if ((tint_f32_to_i32(x_175) < 90)) {
-        int x_182 = data[2];
-        grey = (0.5f + (float(x_182) / 10.0f));
-      } else {
-        float x_187 = tint_symbol.y;
-        if ((tint_f32_to_i32(x_187) < 120)) {
-          int x_194 = data[3];
-          grey = (0.5f + (float(x_194) / 10.0f));
-        } else {
-          float x_199 = tint_symbol.y;
-          if ((tint_f32_to_i32(x_199) < 150)) {
-            continue_execution = false;
-          } else {
-            float x_206 = tint_symbol.y;
-            if ((tint_f32_to_i32(x_206) < 180)) {
-              int x_213 = data[5];
-              grey = (0.5f + (float(x_213) / 10.0f));
-            } else {
-              float x_218 = tint_symbol.y;
-              if ((tint_f32_to_i32(x_218) < 210)) {
-                int x_225 = data[6];
-                grey = (0.5f + (float(x_225) / 10.0f));
-              } else {
-                float x_230 = tint_symbol.y;
-                if ((tint_f32_to_i32(x_230) < 240)) {
-                  int x_237 = data[7];
-                  grey = (0.5f + (float(x_237) / 10.0f));
-                } else {
-                  float x_242 = tint_symbol.y;
-                  if ((tint_f32_to_i32(x_242) < 270)) {
-                    int x_249 = data[8];
-                    grey = (0.5f + (float(x_249) / 10.0f));
-                  } else {
-                    continue_execution = false;
-                  }
-                }
-              }
-            }
-          }
-        }
-      }
-    }
-  }
-  float x_253 = grey;
-  vec3 x_254 = vec3(x_253, x_253, x_253);
-  x_GLF_color = vec4(x_254[0u], x_254[1u], x_254[2u], 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out v_2 = main_out(x_GLF_color);
-  if (!(continue_execution)) {
-    discard;
-  }
-  return v_2;
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:41: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:41: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/stable-mergesort-for-always-false-if-discard/1.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/stable-mergesort-for-always-false-if-discard/1.spvasm.expected.ir.glsl
deleted file mode 100644
index 5afe190..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/stable-mergesort-for-always-false-if-discard/1.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,355 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 injectionSwitch;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 tint_symbol = vec4(0.0f);
-vec4 x_GLF_color = vec4(0.0f);
-bool continue_execution = true;
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  int temp[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-  int data[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-  int x_65 = 0;
-  int x_93 = 0;
-  int x_102 = 0;
-  float x_180 = 0.0f;
-  float x_279 = 0.0f;
-  float x_280 = 0.0f;
-  float x_62 = v.tint_symbol_3.injectionSwitch.x;
-  x_65 = tint_f32_to_i32(x_62);
-  {
-    while(true) {
-      int x_66 = 0;
-      switch(x_65) {
-        case 9:
-        {
-          data[x_65] = -5;
-          break;
-        }
-        case 8:
-        {
-          data[x_65] = -4;
-          break;
-        }
-        case 7:
-        {
-          data[x_65] = -3;
-          break;
-        }
-        case 6:
-        {
-          data[x_65] = -2;
-          break;
-        }
-        case 5:
-        {
-          data[x_65] = -1;
-          break;
-        }
-        case 4:
-        {
-          data[x_65] = 0;
-          break;
-        }
-        case 3:
-        {
-          data[x_65] = 1;
-          break;
-        }
-        case 2:
-        {
-          data[x_65] = 2;
-          break;
-        }
-        case 1:
-        {
-          data[x_65] = 3;
-          break;
-        }
-        case 0:
-        {
-          data[x_65] = 4;
-          break;
-        }
-        default:
-        {
-          break;
-        }
-      }
-      x_66 = (x_65 + 1);
-      {
-        x_65 = x_66;
-        if (!((x_66 < 10))) { break; }
-      }
-      continue;
-    }
-  }
-  x_93 = 0;
-  {
-    while(true) {
-      int x_94 = 0;
-      if ((x_93 < 10)) {
-      } else {
-        break;
-      }
-      {
-        temp[x_93] = data[x_93];
-        x_94 = (x_93 + 1);
-        x_93 = x_94;
-      }
-      continue;
-    }
-  }
-  x_102 = 1;
-  {
-    while(true) {
-      int x_109 = 0;
-      int x_103 = 0;
-      if ((x_102 <= 9)) {
-      } else {
-        break;
-      }
-      x_109 = 0;
-      {
-        while(true) {
-          int x_121 = 0;
-          int x_124 = 0;
-          int x_126 = 0;
-          int x_148 = 0;
-          int x_151 = 0;
-          int x_161 = 0;
-          if ((x_109 < 9)) {
-          } else {
-            break;
-          }
-          int x_115 = (x_109 + x_102);
-          int x_116 = (x_115 - 1);
-          int x_110 = (x_109 + (2 * x_102));
-          int x_119 = min((x_110 - 1), 9);
-          x_121 = x_109;
-          x_124 = x_115;
-          x_126 = x_109;
-          {
-            while(true) {
-              int x_141 = 0;
-              int x_144 = 0;
-              int x_125 = 0;
-              int x_127 = 0;
-              if (((x_126 <= x_116) & (x_124 <= x_119))) {
-              } else {
-                break;
-              }
-              int x_133_save = x_126;
-              int x_135_save = x_124;
-              int x_122 = (x_121 + 1);
-              if ((data[x_126] < data[x_124])) {
-                x_141 = (x_126 + 1);
-                temp[x_121] = data[x_133_save];
-                x_125 = x_124;
-                x_127 = x_141;
-              } else {
-                x_144 = (x_124 + 1);
-                temp[x_121] = data[x_135_save];
-                x_125 = x_144;
-                x_127 = x_126;
-              }
-              {
-                x_121 = x_122;
-                x_124 = x_125;
-                x_126 = x_127;
-              }
-              continue;
-            }
-          }
-          x_148 = x_121;
-          x_151 = x_126;
-          {
-            while(true) {
-              int x_149 = 0;
-              int x_152 = 0;
-              if (((x_151 < 10) & (x_151 <= x_116))) {
-              } else {
-                break;
-              }
-              {
-                x_149 = (x_148 + 1);
-                x_152 = (x_151 + 1);
-                temp[x_148] = data[x_151];
-                x_148 = x_149;
-                x_151 = x_152;
-              }
-              continue;
-            }
-          }
-          x_161 = x_109;
-          {
-            while(true) {
-              int x_162 = 0;
-              if ((x_161 <= x_119)) {
-              } else {
-                break;
-              }
-              {
-                data[x_161] = temp[x_161];
-                x_162 = (x_161 + 1);
-                x_161 = x_162;
-              }
-              continue;
-            }
-          }
-          {
-            x_109 = x_110;
-          }
-          continue;
-        }
-      }
-      {
-        x_103 = (2 * x_102);
-        x_102 = x_103;
-      }
-      continue;
-    }
-  }
-  int x_171 = 0;
-  float x_189 = 0.0f;
-  float x_278 = 0.0f;
-  x_171 = tint_f32_to_i32(tint_symbol.y);
-  if ((x_171 < 30)) {
-    x_180 = (0.5f + (float(data[0]) * 0.10000000149011611938f));
-    x_280 = x_180;
-  } else {
-    float x_198 = 0.0f;
-    float x_277 = 0.0f;
-    if ((x_171 < 60)) {
-      x_189 = (0.5f + (float(data[1]) * 0.10000000149011611938f));
-      x_279 = x_189;
-    } else {
-      float x_207 = 0.0f;
-      float x_249 = 0.0f;
-      if ((x_171 < 90)) {
-        x_198 = (0.5f + (float(data[2]) * 0.10000000149011611938f));
-        x_278 = x_198;
-      } else {
-        if ((x_171 < 120)) {
-          x_207 = (0.5f + (float(data[3]) * 0.10000000149011611938f));
-          x_277 = x_207;
-        } else {
-          float x_220 = 0.0f;
-          float x_248 = 0.0f;
-          vec2 x_256 = vec2(0.0f);
-          int x_259 = 0;
-          if ((x_171 < 150)) {
-            continue_execution = false;
-          } else {
-            float x_229 = 0.0f;
-            float x_247 = 0.0f;
-            if ((x_171 < 180)) {
-              x_220 = (0.5f + (float(data[5]) * 0.10000000149011611938f));
-              x_249 = x_220;
-            } else {
-              float x_238 = 0.0f;
-              float x_246 = 0.0f;
-              if ((x_171 < 210)) {
-                x_229 = (0.5f + (float(data[6]) * 0.10000000149011611938f));
-                x_248 = x_229;
-              } else {
-                if ((x_171 < 240)) {
-                  x_238 = (0.5f + (float(data[7]) * 0.10000000149011611938f));
-                  x_247 = x_238;
-                } else {
-                  if ((x_171 < 270)) {
-                  } else {
-                    continue_execution = false;
-                  }
-                  x_246 = (0.5f + (float(data[8]) * 0.10000000149011611938f));
-                  x_247 = x_246;
-                }
-                x_248 = x_247;
-              }
-              x_249 = x_248;
-            }
-            bool x_252 = (x_62 > v.tint_symbol_3.injectionSwitch.y);
-            if (x_252) {
-              x_GLF_color = vec4(1.0f);
-            }
-            x_256 = vec2(1.0f);
-            x_259 = 0;
-            {
-              while(true) {
-                vec2 x_272 = vec2(0.0f);
-                vec2 x_273 = vec2(0.0f);
-                int x_260 = 0;
-                if ((x_259 <= 32)) {
-                } else {
-                  break;
-                }
-                x_273 = x_256;
-                if ((x_256.x < 0.0f)) {
-                  if (x_252) {
-                    continue_execution = false;
-                  }
-                  x_272 = x_256;
-                  x_272[1u] = (x_256.y + 1.0f);
-                  x_273 = x_272;
-                }
-                vec2 x_257_1 = x_273;
-                x_257_1[0u] = (x_273.x + x_273.y);
-                vec2 x_257 = x_257_1;
-                {
-                  x_260 = (x_259 + 1);
-                  x_256 = x_257;
-                  x_259 = x_260;
-                }
-                continue;
-              }
-            }
-          }
-          x_277 = x_249;
-        }
-        x_278 = x_277;
-      }
-      x_279 = x_278;
-    }
-    x_280 = x_279;
-  }
-  x_GLF_color = vec4(x_280, x_280, x_280, 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out v_1 = main_out(x_GLF_color);
-  if (!(continue_execution)) {
-    discard;
-  }
-  return v_1;
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:154: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:154: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/stable-mergesort-for-always-false-if-discard/1.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/stable-mergesort-for-always-false-if-discard/1.wgsl.expected.ir.glsl
deleted file mode 100644
index f74cda8..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/stable-mergesort-for-always-false-if-discard/1.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,402 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 injectionSwitch;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 tint_symbol = vec4(0.0f);
-vec4 x_GLF_color = vec4(0.0f);
-bool continue_execution = true;
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  int temp[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-  int data[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-  float x_180 = 0.0f;
-  float x_279 = 0.0f;
-  int x_65_phi = 0;
-  int x_93_phi = 0;
-  int x_102_phi = 0;
-  float x_280_phi = 0.0f;
-  float x_62 = v.tint_symbol_3.injectionSwitch.x;
-  int x_63 = tint_f32_to_i32(x_62);
-  x_65_phi = x_63;
-  {
-    while(true) {
-      int x_65 = x_65_phi;
-      switch(x_65) {
-        case 9:
-        {
-          data[x_65] = -5;
-          break;
-        }
-        case 8:
-        {
-          data[x_65] = -4;
-          break;
-        }
-        case 7:
-        {
-          data[x_65] = -3;
-          break;
-        }
-        case 6:
-        {
-          data[x_65] = -2;
-          break;
-        }
-        case 5:
-        {
-          data[x_65] = -1;
-          break;
-        }
-        case 4:
-        {
-          data[x_65] = 0;
-          break;
-        }
-        case 3:
-        {
-          data[x_65] = 1;
-          break;
-        }
-        case 2:
-        {
-          data[x_65] = 2;
-          break;
-        }
-        case 1:
-        {
-          data[x_65] = 3;
-          break;
-        }
-        case 0:
-        {
-          data[x_65] = 4;
-          break;
-        }
-        default:
-        {
-          break;
-        }
-      }
-      int x_66 = (x_65 + 1);
-      {
-        x_65_phi = x_66;
-        if (!((x_66 < 10))) { break; }
-      }
-      continue;
-    }
-  }
-  x_93_phi = 0;
-  {
-    while(true) {
-      int x_94 = 0;
-      int x_93 = x_93_phi;
-      if ((x_93 < 10)) {
-      } else {
-        break;
-      }
-      {
-        int x_99 = data[x_93];
-        temp[x_93] = x_99;
-        x_94 = (x_93 + 1);
-        x_93_phi = x_94;
-      }
-      continue;
-    }
-  }
-  x_102_phi = 1;
-  {
-    while(true) {
-      int x_103 = 0;
-      int x_109_phi = 0;
-      int x_102 = x_102_phi;
-      if ((x_102 <= 9)) {
-      } else {
-        break;
-      }
-      x_109_phi = 0;
-      {
-        while(true) {
-          int x_121 = 0;
-          int x_126 = 0;
-          int x_121_phi = 0;
-          int x_124_phi = 0;
-          int x_126_phi = 0;
-          int x_148_phi = 0;
-          int x_151_phi = 0;
-          int x_161_phi = 0;
-          int x_109 = x_109_phi;
-          if ((x_109 < 9)) {
-          } else {
-            break;
-          }
-          int x_115 = (x_109 + x_102);
-          int x_116 = (x_115 - 1);
-          int x_110 = (x_109 + (2 * x_102));
-          int x_119 = min((x_110 - 1), 9);
-          x_121_phi = x_109;
-          x_124_phi = x_115;
-          x_126_phi = x_109;
-          {
-            while(true) {
-              int x_141 = 0;
-              int x_144 = 0;
-              int x_125_phi = 0;
-              int x_127_phi = 0;
-              x_121 = x_121_phi;
-              int x_124 = x_124_phi;
-              x_126 = x_126_phi;
-              if (((x_126 <= x_116) & (x_124 <= x_119))) {
-              } else {
-                break;
-              }
-              int x_133_save = x_126;
-              int x_134 = data[x_133_save];
-              int x_135_save = x_124;
-              int x_136 = data[x_135_save];
-              int x_122 = (x_121 + 1);
-              if ((x_134 < x_136)) {
-                x_141 = (x_126 + 1);
-                int x_142 = data[x_133_save];
-                temp[x_121] = x_142;
-                x_125_phi = x_124;
-                x_127_phi = x_141;
-              } else {
-                x_144 = (x_124 + 1);
-                int x_145 = data[x_135_save];
-                temp[x_121] = x_145;
-                x_125_phi = x_144;
-                x_127_phi = x_126;
-              }
-              int x_125 = x_125_phi;
-              int x_127 = x_127_phi;
-              {
-                x_121_phi = x_122;
-                x_124_phi = x_125;
-                x_126_phi = x_127;
-              }
-              continue;
-            }
-          }
-          x_148_phi = x_121;
-          x_151_phi = x_126;
-          {
-            while(true) {
-              int x_149 = 0;
-              int x_152 = 0;
-              int x_148 = x_148_phi;
-              int x_151 = x_151_phi;
-              if (((x_151 < 10) & (x_151 <= x_116))) {
-              } else {
-                break;
-              }
-              {
-                x_149 = (x_148 + 1);
-                x_152 = (x_151 + 1);
-                int x_158 = data[x_151];
-                temp[x_148] = x_158;
-                x_148_phi = x_149;
-                x_151_phi = x_152;
-              }
-              continue;
-            }
-          }
-          x_161_phi = x_109;
-          {
-            while(true) {
-              int x_162 = 0;
-              int x_161 = x_161_phi;
-              if ((x_161 <= x_119)) {
-              } else {
-                break;
-              }
-              {
-                int x_167 = temp[x_161];
-                data[x_161] = x_167;
-                x_162 = (x_161 + 1);
-                x_161_phi = x_162;
-              }
-              continue;
-            }
-          }
-          {
-            x_109_phi = x_110;
-          }
-          continue;
-        }
-      }
-      {
-        x_103 = (2 * x_102);
-        x_102_phi = x_103;
-      }
-      continue;
-    }
-  }
-  int x_171 = 0;
-  float x_189 = 0.0f;
-  float x_278 = 0.0f;
-  float x_279_phi = 0.0f;
-  float x_170 = tint_symbol.y;
-  x_171 = tint_f32_to_i32(x_170);
-  if ((x_171 < 30)) {
-    int x_177 = data[0];
-    x_180 = (0.5f + (float(x_177) * 0.10000000149011611938f));
-    x_280_phi = x_180;
-  } else {
-    float x_198 = 0.0f;
-    float x_277 = 0.0f;
-    float x_278_phi = 0.0f;
-    if ((x_171 < 60)) {
-      int x_186 = data[1];
-      x_189 = (0.5f + (float(x_186) * 0.10000000149011611938f));
-      x_279_phi = x_189;
-    } else {
-      float x_207 = 0.0f;
-      float x_249 = 0.0f;
-      float x_277_phi = 0.0f;
-      if ((x_171 < 90)) {
-        int x_195 = data[2];
-        x_198 = (0.5f + (float(x_195) * 0.10000000149011611938f));
-        x_278_phi = x_198;
-      } else {
-        if ((x_171 < 120)) {
-          int x_204 = data[3];
-          x_207 = (0.5f + (float(x_204) * 0.10000000149011611938f));
-          x_277_phi = x_207;
-        } else {
-          float x_220 = 0.0f;
-          float x_248 = 0.0f;
-          float x_249_phi = 0.0f;
-          vec2 x_256_phi = vec2(0.0f);
-          int x_259_phi = 0;
-          if ((x_171 < 150)) {
-            continue_execution = false;
-          } else {
-            float x_229 = 0.0f;
-            float x_247 = 0.0f;
-            float x_248_phi = 0.0f;
-            if ((x_171 < 180)) {
-              int x_217 = data[5];
-              x_220 = (0.5f + (float(x_217) * 0.10000000149011611938f));
-              x_249_phi = x_220;
-            } else {
-              float x_238 = 0.0f;
-              float x_246 = 0.0f;
-              float x_247_phi = 0.0f;
-              if ((x_171 < 210)) {
-                int x_226 = data[6];
-                x_229 = (0.5f + (float(x_226) * 0.10000000149011611938f));
-                x_248_phi = x_229;
-              } else {
-                if ((x_171 < 240)) {
-                  int x_235 = data[7];
-                  x_238 = (0.5f + (float(x_235) * 0.10000000149011611938f));
-                  x_247_phi = x_238;
-                } else {
-                  if ((x_171 < 270)) {
-                  } else {
-                    continue_execution = false;
-                  }
-                  int x_243 = data[8];
-                  x_246 = (0.5f + (float(x_243) * 0.10000000149011611938f));
-                  x_247_phi = x_246;
-                }
-                x_247 = x_247_phi;
-                x_248_phi = x_247;
-              }
-              x_248 = x_248_phi;
-              x_249_phi = x_248;
-            }
-            x_249 = x_249_phi;
-            float x_251 = v.tint_symbol_3.injectionSwitch.y;
-            bool x_252 = (x_62 > x_251);
-            if (x_252) {
-              x_GLF_color = vec4(1.0f);
-            }
-            x_256_phi = vec2(1.0f);
-            x_259_phi = 0;
-            {
-              while(true) {
-                vec2 x_272 = vec2(0.0f);
-                int x_260 = 0;
-                vec2 x_273_phi = vec2(0.0f);
-                vec2 x_256 = x_256_phi;
-                int x_259 = x_259_phi;
-                if ((x_259 <= 32)) {
-                } else {
-                  break;
-                }
-                x_273_phi = x_256;
-                if ((x_256[0u] < 0.0f)) {
-                  if (x_252) {
-                    continue_execution = false;
-                  }
-                  x_272 = x_256;
-                  x_272[1u] = (x_256[1u] + 1.0f);
-                  x_273_phi = x_272;
-                }
-                vec2 x_273 = x_273_phi;
-                vec2 x_257_1 = x_273;
-                x_257_1[0u] = (x_273[0u] + x_273[1u]);
-                vec2 x_257 = x_257_1;
-                {
-                  x_260 = (x_259 + 1);
-                  x_256_phi = x_257;
-                  x_259_phi = x_260;
-                }
-                continue;
-              }
-            }
-          }
-          x_277_phi = x_249;
-        }
-        x_277 = x_277_phi;
-        x_278_phi = x_277;
-      }
-      x_278 = x_278_phi;
-      x_279_phi = x_278;
-    }
-    x_279 = x_279_phi;
-    x_280_phi = x_279;
-  }
-  float x_280 = x_280_phi;
-  x_GLF_color = vec4(x_280, x_280, x_280, 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out v_1 = main_out(x_GLF_color);
-  if (!(continue_execution)) {
-    discard;
-  }
-  return v_1;
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:164: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:164: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/stable-mergesort-reversed-for-loop/1.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/stable-mergesort-reversed-for-loop/1.spvasm.expected.ir.glsl
deleted file mode 100644
index c5c6657..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/stable-mergesort-reversed-for-loop/1.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,312 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 injectionSwitch;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-int data[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-int temp[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 tint_symbol = vec4(0.0f);
-vec4 x_GLF_color = vec4(0.0f);
-bool continue_execution = true;
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-void merge_i1_i1_i1_(inout int f, inout int mid, inout int to) {
-  int k = 0;
-  int i = 0;
-  int j = 0;
-  int i_1 = 0;
-  k = f;
-  i = f;
-  j = (mid + 1);
-  {
-    while(true) {
-      if (((i <= mid) & (j <= to))) {
-      } else {
-        break;
-      }
-      if ((data[i] < data[j])) {
-        int x_288 = k;
-        k = (k + 1);
-        int x_290 = i;
-        i = (i + 1);
-        temp[x_288] = data[x_290];
-      } else {
-        int x_295 = k;
-        k = (k + 1);
-        int x_297 = j;
-        j = (j + 1);
-        temp[x_295] = data[x_297];
-      }
-      {
-      }
-      continue;
-    }
-  }
-  {
-    while(true) {
-      if (((i < 10) & (i <= mid))) {
-      } else {
-        break;
-      }
-      int x_313 = k;
-      k = (k + 1);
-      int x_315 = i;
-      i = (i + 1);
-      temp[x_313] = data[x_315];
-      {
-      }
-      continue;
-    }
-  }
-  i_1 = f;
-  {
-    while(true) {
-      if ((i_1 <= to)) {
-      } else {
-        break;
-      }
-      int x_329 = i_1;
-      data[x_329] = temp[i_1];
-      {
-        i_1 = (i_1 + 1);
-      }
-      continue;
-    }
-  }
-}
-void mergeSort_() {
-  int low = 0;
-  int high = 0;
-  int m = 0;
-  int i_2 = 0;
-  int f_1 = 0;
-  int mid_1 = 0;
-  int to_1 = 0;
-  int param = 0;
-  int param_1 = 0;
-  int param_2 = 0;
-  low = 0;
-  high = 9;
-  m = 1;
-  {
-    while(true) {
-      if ((m <= high)) {
-      } else {
-        break;
-      }
-      i_2 = low;
-      {
-        while(true) {
-          if ((i_2 < high)) {
-          } else {
-            break;
-          }
-          f_1 = i_2;
-          mid_1 = ((i_2 + m) - 1);
-          to_1 = min(((i_2 + (2 * m)) - 1), high);
-          param = f_1;
-          param_1 = mid_1;
-          param_2 = to_1;
-          merge_i1_i1_i1_(param, param_1, param_2);
-          {
-            i_2 = (i_2 + (2 * m));
-          }
-          continue;
-        }
-      }
-      {
-        m = (2 * m);
-      }
-      continue;
-    }
-  }
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  int i_3 = 0;
-  int j_1 = 0;
-  float grey = 0.0f;
-  int int_i = 0;
-  i_3 = tint_f32_to_i32(v.tint_symbol_3.injectionSwitch.x);
-  {
-    while(true) {
-      int x_91 = i_3;
-      switch(x_91) {
-        case 9:
-        {
-          int x_121 = i_3;
-          data[x_121] = -5;
-          break;
-        }
-        case 8:
-        {
-          int x_119 = i_3;
-          data[x_119] = -4;
-          break;
-        }
-        case 7:
-        {
-          int x_117 = i_3;
-          data[x_117] = -3;
-          break;
-        }
-        case 6:
-        {
-          int x_115 = i_3;
-          data[x_115] = -2;
-          break;
-        }
-        case 5:
-        {
-          int x_113 = i_3;
-          data[x_113] = -1;
-          break;
-        }
-        case 4:
-        {
-          int x_111 = i_3;
-          data[x_111] = 0;
-          break;
-        }
-        case 3:
-        {
-          int x_109 = i_3;
-          data[x_109] = 1;
-          break;
-        }
-        case 2:
-        {
-          int x_107 = i_3;
-          data[x_107] = 2;
-          break;
-        }
-        case 1:
-        {
-          int x_105 = i_3;
-          data[x_105] = 3;
-          break;
-        }
-        case 0:
-        {
-          int x_103 = i_3;
-          data[x_103] = 4;
-          break;
-        }
-        default:
-        {
-          break;
-        }
-      }
-      i_3 = (i_3 + 1);
-      {
-        int x_125 = i_3;
-        if (!((x_125 < 10))) { break; }
-      }
-      continue;
-    }
-  }
-  j_1 = 0;
-  {
-    while(true) {
-      if ((j_1 < 10)) {
-      } else {
-        break;
-      }
-      int x_134 = j_1;
-      temp[x_134] = data[j_1];
-      {
-        j_1 = (j_1 + 1);
-      }
-      continue;
-    }
-  }
-  mergeSort_();
-  if ((tint_f32_to_i32(tint_symbol.y) < 30)) {
-    grey = (0.5f + (float(data[0]) / 10.0f));
-  } else {
-    if ((tint_f32_to_i32(tint_symbol.y) < 60)) {
-      grey = (0.5f + (float(data[1]) / 10.0f));
-    } else {
-      if ((tint_f32_to_i32(tint_symbol.y) < 90)) {
-        grey = (0.5f + (float(data[2]) / 10.0f));
-      } else {
-        if ((tint_f32_to_i32(tint_symbol.y) < 120)) {
-          grey = (0.5f + (float(data[3]) / 10.0f));
-        } else {
-          if ((tint_f32_to_i32(tint_symbol.y) < 150)) {
-            int_i = 1;
-            {
-              while(true) {
-                int v_1 = int_i;
-                if ((v_1 > tint_f32_to_i32(v.tint_symbol_3.injectionSwitch.x))) {
-                } else {
-                  break;
-                }
-                continue_execution = false;
-                {
-                }
-                continue;
-              }
-            }
-          } else {
-            if ((tint_f32_to_i32(tint_symbol.y) < 180)) {
-              grey = (0.5f + (float(data[5]) / 10.0f));
-            } else {
-              if ((tint_f32_to_i32(tint_symbol.y) < 210)) {
-                grey = (0.5f + (float(data[6]) / 10.0f));
-              } else {
-                if ((tint_f32_to_i32(tint_symbol.y) < 240)) {
-                  grey = (0.5f + (float(data[7]) / 10.0f));
-                } else {
-                  if ((tint_f32_to_i32(tint_symbol.y) < 270)) {
-                    grey = (0.5f + (float(data[8]) / 10.0f));
-                  } else {
-                    continue_execution = false;
-                  }
-                }
-              }
-            }
-          }
-        }
-      }
-    }
-  }
-  vec3 x_256 = vec3(grey);
-  x_GLF_color = vec4(x_256[0u], x_256[1u], x_256[2u], 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out v_2 = main_out(x_GLF_color);
-  if (!(continue_execution)) {
-    discard;
-  }
-  return v_2;
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:34: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:34: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/stable-mergesort-reversed-for-loop/1.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/stable-mergesort-reversed-for-loop/1.wgsl.expected.ir.glsl
deleted file mode 100644
index 1649345..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/stable-mergesort-reversed-for-loop/1.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,377 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 injectionSwitch;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-int data[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-int temp[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 tint_symbol = vec4(0.0f);
-vec4 x_GLF_color = vec4(0.0f);
-bool continue_execution = true;
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-void merge_i1_i1_i1_(inout int f, inout int mid, inout int to) {
-  int k = 0;
-  int i = 0;
-  int j = 0;
-  int i_1 = 0;
-  int x_262 = f;
-  k = x_262;
-  int x_263 = f;
-  i = x_263;
-  int x_264 = mid;
-  j = (x_264 + 1);
-  {
-    while(true) {
-      int x_270 = i;
-      int x_271 = mid;
-      int x_273 = j;
-      int x_274 = to;
-      if (((x_270 <= x_271) & (x_273 <= x_274))) {
-      } else {
-        break;
-      }
-      int x_278 = i;
-      int x_280 = data[x_278];
-      int x_281 = j;
-      int x_283 = data[x_281];
-      if ((x_280 < x_283)) {
-        int x_288 = k;
-        k = (x_288 + 1);
-        int x_290 = i;
-        i = (x_290 + 1);
-        int x_293 = data[x_290];
-        temp[x_288] = x_293;
-      } else {
-        int x_295 = k;
-        k = (x_295 + 1);
-        int x_297 = j;
-        j = (x_297 + 1);
-        int x_300 = data[x_297];
-        temp[x_295] = x_300;
-      }
-      {
-      }
-      continue;
-    }
-  }
-  {
-    while(true) {
-      int x_306 = i;
-      int x_308 = i;
-      int x_309 = mid;
-      if (((x_306 < 10) & (x_308 <= x_309))) {
-      } else {
-        break;
-      }
-      int x_313 = k;
-      k = (x_313 + 1);
-      int x_315 = i;
-      i = (x_315 + 1);
-      int x_318 = data[x_315];
-      temp[x_313] = x_318;
-      {
-      }
-      continue;
-    }
-  }
-  int x_320 = f;
-  i_1 = x_320;
-  {
-    while(true) {
-      int x_325 = i_1;
-      int x_326 = to;
-      if ((x_325 <= x_326)) {
-      } else {
-        break;
-      }
-      int x_329 = i_1;
-      int x_330 = i_1;
-      int x_332 = temp[x_330];
-      data[x_329] = x_332;
-      {
-        int x_334 = i_1;
-        i_1 = (x_334 + 1);
-      }
-      continue;
-    }
-  }
-}
-void mergeSort_() {
-  int low = 0;
-  int high = 0;
-  int m = 0;
-  int i_2 = 0;
-  int f_1 = 0;
-  int mid_1 = 0;
-  int to_1 = 0;
-  int param = 0;
-  int param_1 = 0;
-  int param_2 = 0;
-  low = 0;
-  high = 9;
-  m = 1;
-  {
-    while(true) {
-      int x_341 = m;
-      int x_342 = high;
-      if ((x_341 <= x_342)) {
-      } else {
-        break;
-      }
-      int x_345 = low;
-      i_2 = x_345;
-      {
-        while(true) {
-          int x_350 = i_2;
-          int x_351 = high;
-          if ((x_350 < x_351)) {
-          } else {
-            break;
-          }
-          int x_354 = i_2;
-          f_1 = x_354;
-          int x_355 = i_2;
-          int x_356 = m;
-          mid_1 = ((x_355 + x_356) - 1);
-          int x_359 = i_2;
-          int x_360 = m;
-          int x_364 = high;
-          to_1 = min(((x_359 + (2 * x_360)) - 1), x_364);
-          int x_366 = f_1;
-          param = x_366;
-          int x_367 = mid_1;
-          param_1 = x_367;
-          int x_368 = to_1;
-          param_2 = x_368;
-          merge_i1_i1_i1_(param, param_1, param_2);
-          {
-            int x_370 = m;
-            int x_372 = i_2;
-            i_2 = (x_372 + (2 * x_370));
-          }
-          continue;
-        }
-      }
-      {
-        int x_374 = m;
-        m = (2 * x_374);
-      }
-      continue;
-    }
-  }
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  int i_3 = 0;
-  int j_1 = 0;
-  float grey = 0.0f;
-  int int_i = 0;
-  float x_85 = v.tint_symbol_3.injectionSwitch.x;
-  i_3 = tint_f32_to_i32(x_85);
-  {
-    while(true) {
-      int x_91 = i_3;
-      switch(x_91) {
-        case 9:
-        {
-          int x_121 = i_3;
-          data[x_121] = -5;
-          break;
-        }
-        case 8:
-        {
-          int x_119 = i_3;
-          data[x_119] = -4;
-          break;
-        }
-        case 7:
-        {
-          int x_117 = i_3;
-          data[x_117] = -3;
-          break;
-        }
-        case 6:
-        {
-          int x_115 = i_3;
-          data[x_115] = -2;
-          break;
-        }
-        case 5:
-        {
-          int x_113 = i_3;
-          data[x_113] = -1;
-          break;
-        }
-        case 4:
-        {
-          int x_111 = i_3;
-          data[x_111] = 0;
-          break;
-        }
-        case 3:
-        {
-          int x_109 = i_3;
-          data[x_109] = 1;
-          break;
-        }
-        case 2:
-        {
-          int x_107 = i_3;
-          data[x_107] = 2;
-          break;
-        }
-        case 1:
-        {
-          int x_105 = i_3;
-          data[x_105] = 3;
-          break;
-        }
-        case 0:
-        {
-          int x_103 = i_3;
-          data[x_103] = 4;
-          break;
-        }
-        default:
-        {
-          break;
-        }
-      }
-      int x_123 = i_3;
-      i_3 = (x_123 + 1);
-      {
-        int x_125 = i_3;
-        if (!((x_125 < 10))) { break; }
-      }
-      continue;
-    }
-  }
-  j_1 = 0;
-  {
-    while(true) {
-      int x_131 = j_1;
-      if ((x_131 < 10)) {
-      } else {
-        break;
-      }
-      int x_134 = j_1;
-      int x_135 = j_1;
-      int x_137 = data[x_135];
-      temp[x_134] = x_137;
-      {
-        int x_139 = j_1;
-        j_1 = (x_139 + 1);
-      }
-      continue;
-    }
-  }
-  mergeSort_();
-  float x_143 = tint_symbol.y;
-  if ((tint_f32_to_i32(x_143) < 30)) {
-    int x_150 = data[0];
-    grey = (0.5f + (float(x_150) / 10.0f));
-  } else {
-    float x_155 = tint_symbol.y;
-    if ((tint_f32_to_i32(x_155) < 60)) {
-      int x_162 = data[1];
-      grey = (0.5f + (float(x_162) / 10.0f));
-    } else {
-      float x_167 = tint_symbol.y;
-      if ((tint_f32_to_i32(x_167) < 90)) {
-        int x_174 = data[2];
-        grey = (0.5f + (float(x_174) / 10.0f));
-      } else {
-        float x_179 = tint_symbol.y;
-        if ((tint_f32_to_i32(x_179) < 120)) {
-          int x_186 = data[3];
-          grey = (0.5f + (float(x_186) / 10.0f));
-        } else {
-          float x_191 = tint_symbol.y;
-          if ((tint_f32_to_i32(x_191) < 150)) {
-            int_i = 1;
-            {
-              while(true) {
-                int x_201 = int_i;
-                float x_203 = v.tint_symbol_3.injectionSwitch.x;
-                if ((x_201 > tint_f32_to_i32(x_203))) {
-                } else {
-                  break;
-                }
-                continue_execution = false;
-                {
-                }
-                continue;
-              }
-            }
-          } else {
-            float x_208 = tint_symbol.y;
-            if ((tint_f32_to_i32(x_208) < 180)) {
-              int x_215 = data[5];
-              grey = (0.5f + (float(x_215) / 10.0f));
-            } else {
-              float x_220 = tint_symbol.y;
-              if ((tint_f32_to_i32(x_220) < 210)) {
-                int x_227 = data[6];
-                grey = (0.5f + (float(x_227) / 10.0f));
-              } else {
-                float x_232 = tint_symbol.y;
-                if ((tint_f32_to_i32(x_232) < 240)) {
-                  int x_239 = data[7];
-                  grey = (0.5f + (float(x_239) / 10.0f));
-                } else {
-                  float x_244 = tint_symbol.y;
-                  if ((tint_f32_to_i32(x_244) < 270)) {
-                    int x_251 = data[8];
-                    grey = (0.5f + (float(x_251) / 10.0f));
-                  } else {
-                    continue_execution = false;
-                  }
-                }
-              }
-            }
-          }
-        }
-      }
-    }
-  }
-  float x_255 = grey;
-  vec3 x_256 = vec3(x_255, x_255, x_255);
-  x_GLF_color = vec4(x_256[0u], x_256[1u], x_256[2u], 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out v_1 = main_out(x_GLF_color);
-  if (!(continue_execution)) {
-    discard;
-  }
-  return v_1;
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:41: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:41: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/stable-quicksort-conditional-bitwise-or-clamp/1.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/stable-quicksort-conditional-bitwise-or-clamp/1.spvasm.expected.ir.glsl
deleted file mode 100644
index 728f4b2..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/stable-quicksort-conditional-bitwise-or-clamp/1.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,226 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct QuicksortObject {
-  int numbers[10];
-};
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-QuicksortObject obj = QuicksortObject(int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0));
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-void swap_i1_i1_(inout int i, inout int j) {
-  int temp = 0;
-  temp = obj.numbers[i];
-  int x_233 = i;
-  obj.numbers[x_233] = obj.numbers[j];
-  int x_238 = j;
-  obj.numbers[x_238] = temp;
-}
-int performPartition_i1_i1_(inout int l, inout int h) {
-  int pivot = 0;
-  int i_1 = 0;
-  int j_1 = 0;
-  int param = 0;
-  int param_1 = 0;
-  int param_2 = 0;
-  int param_3 = 0;
-  pivot = obj.numbers[h];
-  i_1 = (l - 1);
-  j_1 = l;
-  {
-    while(true) {
-      if ((j_1 <= (h - 1))) {
-      } else {
-        break;
-      }
-      if ((obj.numbers[j_1] <= pivot)) {
-        i_1 = (i_1 + 1);
-        param = i_1;
-        param_1 = j_1;
-        swap_i1_i1_(param, param_1);
-      }
-      {
-        j_1 = (j_1 + 1);
-      }
-      continue;
-    }
-  }
-  i_1 = (i_1 + 1);
-  param_2 = i_1;
-  param_3 = h;
-  swap_i1_i1_(param_2, param_3);
-  int x_276 = i_1;
-  return x_276;
-}
-int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
-}
-void quicksort_() {
-  int l_1 = 0;
-  int h_1 = 0;
-  int top = 0;
-  int stack[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-  int int_a = 0;
-  int x_278 = 0;
-  int x_279 = 0;
-  int clamp_a = 0;
-  int p = 0;
-  int param_4 = 0;
-  int param_5 = 0;
-  l_1 = 0;
-  h_1 = 9;
-  top = -1;
-  int x_281 = (top + 1);
-  top = x_281;
-  stack[x_281] = l_1;
-  if ((tint_symbol.y >= 0.0f)) {
-    int x_290 = h_1;
-    if (false) {
-      x_279 = 1;
-    } else {
-      x_279 = (h_1 << (0u & 31u));
-    }
-    x_278 = (x_290 | x_279);
-  } else {
-    x_278 = 1;
-  }
-  int_a = x_278;
-  int v_1 = int_a;
-  clamp_a = min(max(h_1, h_1), v_1);
-  int x_304 = (top + 1);
-  top = x_304;
-  stack[x_304] = tint_div_i32(clamp_a, 1);
-  {
-    while(true) {
-      if ((top >= 0)) {
-      } else {
-        break;
-      }
-      int x_315 = top;
-      top = (top - 1);
-      h_1 = stack[x_315];
-      int x_319 = top;
-      top = (top - 1);
-      l_1 = stack[x_319];
-      param_4 = l_1;
-      param_5 = h_1;
-      int x_325 = performPartition_i1_i1_(param_4, param_5);
-      p = x_325;
-      if (((p - 1) > l_1)) {
-        int x_333 = (top + 1);
-        top = x_333;
-        stack[x_333] = l_1;
-        int x_337 = (top + 1);
-        top = x_337;
-        stack[x_337] = (p - 1);
-      }
-      if (((p + 1) < h_1)) {
-        int x_348 = (top + 1);
-        top = x_348;
-        stack[x_348] = (p + 1);
-        int x_353 = (top + 1);
-        top = x_353;
-        stack[x_353] = h_1;
-      }
-      {
-      }
-      continue;
-    }
-  }
-}
-void main_1() {
-  int i_2 = 0;
-  vec2 uv = vec2(0.0f);
-  vec3 color = vec3(0.0f);
-  i_2 = 0;
-  {
-    while(true) {
-      if ((i_2 < 10)) {
-      } else {
-        break;
-      }
-      int x_93 = i_2;
-      obj.numbers[x_93] = (10 - i_2);
-      int x_97 = i_2;
-      obj.numbers[x_97] = (obj.numbers[i_2] * obj.numbers[i_2]);
-      {
-        i_2 = (i_2 + 1);
-      }
-      continue;
-    }
-  }
-  quicksort_();
-  uv = (tint_symbol.xy / v.tint_symbol_3.resolution);
-  color = vec3(1.0f, 2.0f, 3.0f);
-  float v_2 = color.x;
-  color[0u] = (v_2 + float(obj.numbers[0]));
-  if ((uv.x > 0.25f)) {
-    float v_3 = color.x;
-    color[0u] = (v_3 + float(obj.numbers[1]));
-  }
-  if ((uv.x > 0.5f)) {
-    float v_4 = color.y;
-    color[1u] = (v_4 + float(obj.numbers[2]));
-  }
-  if ((uv.x > 0.75f)) {
-    float v_5 = color.z;
-    color[2u] = (v_5 + float(obj.numbers[3]));
-  }
-  float v_6 = color.y;
-  color[1u] = (v_6 + float(obj.numbers[4]));
-  if ((uv.y > 0.25f)) {
-    float v_7 = color.x;
-    color[0u] = (v_7 + float(obj.numbers[5]));
-  }
-  if ((uv.y > 0.5f)) {
-    float v_8 = color.y;
-    color[1u] = (v_8 + float(obj.numbers[6]));
-  }
-  if ((uv.y > 0.75f)) {
-    float v_9 = color.z;
-    color[2u] = (v_9 + float(obj.numbers[7]));
-  }
-  float v_10 = color.z;
-  color[2u] = (v_10 + float(obj.numbers[8]));
-  if ((abs((uv.x - uv.y)) < 0.25f)) {
-    float v_11 = color.x;
-    color[0u] = (v_11 + float(obj.numbers[9]));
-  }
-  vec3 x_224 = normalize(color);
-  x_GLF_color = vec4(x_224[0u], x_224[1u], x_224[2u], 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:71: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:71: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:71: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/stable-quicksort-conditional-bitwise-or-clamp/1.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/stable-quicksort-conditional-bitwise-or-clamp/1.wgsl.expected.ir.glsl
deleted file mode 100644
index f9b1395..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/stable-quicksort-conditional-bitwise-or-clamp/1.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,302 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct QuicksortObject {
-  int numbers[10];
-};
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-QuicksortObject obj = QuicksortObject(int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0));
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-void swap_i1_i1_(inout int i, inout int j) {
-  int temp = 0;
-  int x_230 = i;
-  int x_232 = obj.numbers[x_230];
-  temp = x_232;
-  int x_233 = i;
-  int x_234 = j;
-  int x_236 = obj.numbers[x_234];
-  obj.numbers[x_233] = x_236;
-  int x_238 = j;
-  int x_239 = temp;
-  obj.numbers[x_238] = x_239;
-}
-int performPartition_i1_i1_(inout int l, inout int h) {
-  int pivot = 0;
-  int i_1 = 0;
-  int j_1 = 0;
-  int param = 0;
-  int param_1 = 0;
-  int param_2 = 0;
-  int param_3 = 0;
-  int x_242 = h;
-  int x_244 = obj.numbers[x_242];
-  pivot = x_244;
-  int x_245 = l;
-  i_1 = (x_245 - 1);
-  int x_247 = l;
-  j_1 = x_247;
-  {
-    while(true) {
-      int x_252 = j_1;
-      int x_253 = h;
-      if ((x_252 <= (x_253 - 1))) {
-      } else {
-        break;
-      }
-      int x_257 = j_1;
-      int x_259 = obj.numbers[x_257];
-      int x_260 = pivot;
-      if ((x_259 <= x_260)) {
-        int x_264 = i_1;
-        i_1 = (x_264 + 1);
-        int x_266 = i_1;
-        param = x_266;
-        int x_267 = j_1;
-        param_1 = x_267;
-        swap_i1_i1_(param, param_1);
-      }
-      {
-        int x_269 = j_1;
-        j_1 = (x_269 + 1);
-      }
-      continue;
-    }
-  }
-  int x_271 = i_1;
-  i_1 = (x_271 + 1);
-  int x_273 = i_1;
-  param_2 = x_273;
-  int x_274 = h;
-  param_3 = x_274;
-  swap_i1_i1_(param_2, param_3);
-  int x_276 = i_1;
-  return x_276;
-}
-int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
-}
-void quicksort_() {
-  int l_1 = 0;
-  int h_1 = 0;
-  int top = 0;
-  int stack[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-  int int_a = 0;
-  int x_278 = 0;
-  int x_279 = 0;
-  int clamp_a = 0;
-  int p = 0;
-  int param_4 = 0;
-  int param_5 = 0;
-  l_1 = 0;
-  h_1 = 9;
-  top = -1;
-  int x_280 = top;
-  int x_281 = (x_280 + 1);
-  top = x_281;
-  int x_282 = l_1;
-  stack[x_281] = x_282;
-  float x_285 = tint_symbol.y;
-  if ((x_285 >= 0.0f)) {
-    int x_290 = h_1;
-    if (false) {
-      x_279 = 1;
-    } else {
-      int x_294 = h_1;
-      x_279 = (x_294 << (0u & 31u));
-    }
-    int x_296 = x_279;
-    x_278 = (x_290 | x_296);
-  } else {
-    x_278 = 1;
-  }
-  int x_298 = x_278;
-  int_a = x_298;
-  int x_299 = h_1;
-  int x_300 = h_1;
-  int x_301 = int_a;
-  clamp_a = min(max(x_299, x_300), x_301);
-  int x_303 = top;
-  int x_304 = (x_303 + 1);
-  top = x_304;
-  int x_305 = clamp_a;
-  stack[x_304] = tint_div_i32(x_305, 1);
-  {
-    while(true) {
-      int x_312 = top;
-      if ((x_312 >= 0)) {
-      } else {
-        break;
-      }
-      int x_315 = top;
-      top = (x_315 - 1);
-      int x_318 = stack[x_315];
-      h_1 = x_318;
-      int x_319 = top;
-      top = (x_319 - 1);
-      int x_322 = stack[x_319];
-      l_1 = x_322;
-      int x_323 = l_1;
-      param_4 = x_323;
-      int x_324 = h_1;
-      param_5 = x_324;
-      int x_325 = performPartition_i1_i1_(param_4, param_5);
-      p = x_325;
-      int x_326 = p;
-      int x_328 = l_1;
-      if (((x_326 - 1) > x_328)) {
-        int x_332 = top;
-        int x_333 = (x_332 + 1);
-        top = x_333;
-        int x_334 = l_1;
-        stack[x_333] = x_334;
-        int x_336 = top;
-        int x_337 = (x_336 + 1);
-        top = x_337;
-        int x_338 = p;
-        stack[x_337] = (x_338 - 1);
-      }
-      int x_341 = p;
-      int x_343 = h_1;
-      if (((x_341 + 1) < x_343)) {
-        int x_347 = top;
-        int x_348 = (x_347 + 1);
-        top = x_348;
-        int x_349 = p;
-        stack[x_348] = (x_349 + 1);
-        int x_352 = top;
-        int x_353 = (x_352 + 1);
-        top = x_353;
-        int x_354 = h_1;
-        stack[x_353] = x_354;
-      }
-      {
-      }
-      continue;
-    }
-  }
-}
-void main_1() {
-  int i_2 = 0;
-  vec2 uv = vec2(0.0f);
-  vec3 color = vec3(0.0f);
-  i_2 = 0;
-  {
-    while(true) {
-      int x_90 = i_2;
-      if ((x_90 < 10)) {
-      } else {
-        break;
-      }
-      int x_93 = i_2;
-      int x_94 = i_2;
-      obj.numbers[x_93] = (10 - x_94);
-      int x_97 = i_2;
-      int x_98 = i_2;
-      int x_100 = obj.numbers[x_98];
-      int x_101 = i_2;
-      int x_103 = obj.numbers[x_101];
-      obj.numbers[x_97] = (x_100 * x_103);
-      {
-        int x_106 = i_2;
-        i_2 = (x_106 + 1);
-      }
-      continue;
-    }
-  }
-  quicksort_();
-  vec4 x_109 = tint_symbol;
-  vec2 x_112 = v.tint_symbol_3.resolution;
-  uv = (vec2(x_109[0u], x_109[1u]) / x_112);
-  color = vec3(1.0f, 2.0f, 3.0f);
-  int x_115 = obj.numbers[0];
-  float x_118 = color.x;
-  color[0u] = (x_118 + float(x_115));
-  float x_122 = uv.x;
-  if ((x_122 > 0.25f)) {
-    int x_127 = obj.numbers[1];
-    float x_130 = color.x;
-    color[0u] = (x_130 + float(x_127));
-  }
-  float x_134 = uv.x;
-  if ((x_134 > 0.5f)) {
-    int x_139 = obj.numbers[2];
-    float x_142 = color.y;
-    color[1u] = (x_142 + float(x_139));
-  }
-  float x_146 = uv.x;
-  if ((x_146 > 0.75f)) {
-    int x_151 = obj.numbers[3];
-    float x_154 = color.z;
-    color[2u] = (x_154 + float(x_151));
-  }
-  int x_158 = obj.numbers[4];
-  float x_161 = color.y;
-  color[1u] = (x_161 + float(x_158));
-  float x_165 = uv.y;
-  if ((x_165 > 0.25f)) {
-    int x_170 = obj.numbers[5];
-    float x_173 = color.x;
-    color[0u] = (x_173 + float(x_170));
-  }
-  float x_177 = uv.y;
-  if ((x_177 > 0.5f)) {
-    int x_182 = obj.numbers[6];
-    float x_185 = color.y;
-    color[1u] = (x_185 + float(x_182));
-  }
-  float x_189 = uv.y;
-  if ((x_189 > 0.75f)) {
-    int x_194 = obj.numbers[7];
-    float x_197 = color.z;
-    color[2u] = (x_197 + float(x_194));
-  }
-  int x_201 = obj.numbers[8];
-  float x_204 = color.z;
-  color[2u] = (x_204 + float(x_201));
-  float x_208 = uv.x;
-  float x_210 = uv.y;
-  if ((abs((x_208 - x_210)) < 0.25f)) {
-    int x_217 = obj.numbers[9];
-    float x_220 = color.x;
-    color[0u] = (x_220 + float(x_217));
-  }
-  vec3 x_223 = color;
-  vec3 x_224 = normalize(x_223);
-  x_GLF_color = vec4(x_224[0u], x_224[1u], x_224[2u], 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:92: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:92: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:92: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/stable-rects-vec4-clamp-conditional-min-mix/1.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/stable-rects-vec4-clamp-conditional-min-mix/1.spvasm.expected.ir.glsl
deleted file mode 100644
index 516a7db..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/stable-rects-vec4-clamp-conditional-min-mix/1.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,126 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-bool collision_vf2_vf4_(inout vec2 pos, inout vec4 quad) {
-  if ((pos.x < quad.x)) {
-    return false;
-  }
-  if ((pos.y < quad.y)) {
-    return false;
-  }
-  if ((pos.x > (quad.x + quad.z))) {
-    return false;
-  }
-  if ((pos.y > (quad.y + quad.w))) {
-    return false;
-  }
-  return true;
-}
-int tint_mod_i32(int lhs, int rhs) {
-  int v_1 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_1) * v_1));
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-vec4 match_vf2_(inout vec2 pos_1) {
-  vec4 res = vec4(0.0f);
-  float x_144 = 0.0f;
-  float x_145 = 0.0f;
-  int i = 0;
-  vec2 param = vec2(0.0f);
-  vec4 param_1 = vec4(0.0f);
-  vec4 indexable[8] = vec4[8](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  vec4 indexable_1[8] = vec4[8](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  vec4 indexable_2[8] = vec4[8](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  vec4 indexable_3[16] = vec4[16](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  if ((tint_symbol.x < 0.0f)) {
-    x_144 = -1.0f;
-  } else {
-    if ((tint_symbol.x >= 0.0f)) {
-      x_145 = (((tint_symbol.x >= 0.0f)) ? (0.5f) : (1.0f));
-    } else {
-      x_145 = 1.0f;
-    }
-    x_144 = min(x_145, 0.5f);
-  }
-  res = vec4(clamp(0.5f, 0.5f, x_144), 0.5f, 1.0f, 1.0f);
-  i = 0;
-  {
-    while(true) {
-      if ((i < 8)) {
-      } else {
-        break;
-      }
-      int x_174 = i;
-      param = pos_1;
-      indexable = vec4[8](vec4(4.0f, 4.0f, 20.0f, 4.0f), vec4(4.0f, 4.0f, 4.0f, 20.0f), vec4(4.0f, 20.0f, 20.0f, 4.0f), vec4(20.0f, 4.0f, 4.0f, 8.0f), vec4(8.0f, 6.0f, 4.0f, 2.0f), vec4(2.0f, 12.0f, 2.0f, 4.0f), vec4(16.0f, 2.0f, 4.0f, 4.0f), vec4(12.0f, 22.0f, 4.0f, 4.0f));
-      param_1 = indexable[x_174];
-      bool x_178 = collision_vf2_vf4_(param, param_1);
-      if (x_178) {
-        int x_181 = i;
-        indexable_1 = vec4[8](vec4(4.0f, 4.0f, 20.0f, 4.0f), vec4(4.0f, 4.0f, 4.0f, 20.0f), vec4(4.0f, 20.0f, 20.0f, 4.0f), vec4(20.0f, 4.0f, 4.0f, 8.0f), vec4(8.0f, 6.0f, 4.0f, 2.0f), vec4(2.0f, 12.0f, 2.0f, 4.0f), vec4(16.0f, 2.0f, 4.0f, 4.0f), vec4(12.0f, 22.0f, 4.0f, 4.0f));
-        float x_183 = indexable_1[x_181].x;
-        int x_185 = i;
-        indexable_2 = vec4[8](vec4(4.0f, 4.0f, 20.0f, 4.0f), vec4(4.0f, 4.0f, 4.0f, 20.0f), vec4(4.0f, 20.0f, 20.0f, 4.0f), vec4(20.0f, 4.0f, 4.0f, 8.0f), vec4(8.0f, 6.0f, 4.0f, 2.0f), vec4(2.0f, 12.0f, 2.0f, 4.0f), vec4(16.0f, 2.0f, 4.0f, 4.0f), vec4(12.0f, 22.0f, 4.0f, 4.0f));
-        float x_187 = indexable_2[x_185].y;
-        int x_190 = i;
-        indexable_3 = vec4[16](vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(0.5f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 0.5f, 0.0f, 1.0f), vec4(0.5f, 0.5f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 0.5f, 1.0f), vec4(0.5f, 0.0f, 0.5f, 1.0f), vec4(0.0f, 0.5f, 0.5f, 1.0f), vec4(0.5f, 0.5f, 0.5f, 1.0f), vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(1.0f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 1.0f, 0.0f, 1.0f), vec4(1.0f, 1.0f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 1.0f, 1.0f), vec4(1.0f, 0.0f, 1.0f, 1.0f), vec4(0.0f, 1.0f, 1.0f, 1.0f), vec4(1.0f));
-        int v_2 = tint_f32_to_i32(x_183);
-        res = indexable_3[tint_mod_i32((((v_2 * tint_f32_to_i32(x_187)) + (x_190 * 9)) + 11), 16)];
-      }
-      {
-        i = (i + 1);
-      }
-      continue;
-    }
-  }
-  vec4 x_199 = res;
-  return x_199;
-}
-void main_1() {
-  vec2 lin = vec2(0.0f);
-  vec2 param_2 = vec2(0.0f);
-  lin = (tint_symbol.xy / v.tint_symbol_3.resolution);
-  lin = floor((lin * 32.0f));
-  param_2 = lin;
-  vec4 x_107 = match_vf2_(param_2);
-  x_GLF_color = x_107;
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:37: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:37: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:37: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/stable-rects-vec4-clamp-conditional-min-mix/1.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/stable-rects-vec4-clamp-conditional-min-mix/1.wgsl.expected.ir.glsl
deleted file mode 100644
index fc1e3cc..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/stable-rects-vec4-clamp-conditional-min-mix/1.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,150 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-bool collision_vf2_vf4_(inout vec2 pos, inout vec4 quad) {
-  float x_110 = pos.x;
-  float x_112 = quad.x;
-  if ((x_110 < x_112)) {
-    return false;
-  }
-  float x_117 = pos.y;
-  float x_119 = quad.y;
-  if ((x_117 < x_119)) {
-    return false;
-  }
-  float x_124 = pos.x;
-  float x_126 = quad.x;
-  float x_128 = quad.z;
-  if ((x_124 > (x_126 + x_128))) {
-    return false;
-  }
-  float x_134 = pos.y;
-  float x_136 = quad.y;
-  float x_138 = quad.w;
-  if ((x_134 > (x_136 + x_138))) {
-    return false;
-  }
-  return true;
-}
-int tint_mod_i32(int lhs, int rhs) {
-  int v_1 = ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs));
-  return (lhs - ((lhs / v_1) * v_1));
-}
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-vec4 match_vf2_(inout vec2 pos_1) {
-  vec4 res = vec4(0.0f);
-  float x_144 = 0.0f;
-  float x_145 = 0.0f;
-  int i = 0;
-  vec2 param = vec2(0.0f);
-  vec4 param_1 = vec4(0.0f);
-  vec4 indexable[8] = vec4[8](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  vec4 indexable_1[8] = vec4[8](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  vec4 indexable_2[8] = vec4[8](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  vec4 indexable_3[16] = vec4[16](vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f), vec4(0.0f));
-  float x_147 = tint_symbol.x;
-  if ((x_147 < 0.0f)) {
-    x_144 = -1.0f;
-  } else {
-    float x_153 = tint_symbol.x;
-    if ((x_153 >= 0.0f)) {
-      float x_159 = tint_symbol.x;
-      x_145 = (((x_159 >= 0.0f)) ? (0.5f) : (1.0f));
-    } else {
-      x_145 = 1.0f;
-    }
-    float x_162 = x_145;
-    x_144 = min(x_162, 0.5f);
-  }
-  float x_164 = x_144;
-  res = vec4(clamp(0.5f, 0.5f, x_164), 0.5f, 1.0f, 1.0f);
-  i = 0;
-  {
-    while(true) {
-      int x_171 = i;
-      if ((x_171 < 8)) {
-      } else {
-        break;
-      }
-      int x_174 = i;
-      vec2 x_175 = pos_1;
-      param = x_175;
-      indexable = vec4[8](vec4(4.0f, 4.0f, 20.0f, 4.0f), vec4(4.0f, 4.0f, 4.0f, 20.0f), vec4(4.0f, 20.0f, 20.0f, 4.0f), vec4(20.0f, 4.0f, 4.0f, 8.0f), vec4(8.0f, 6.0f, 4.0f, 2.0f), vec4(2.0f, 12.0f, 2.0f, 4.0f), vec4(16.0f, 2.0f, 4.0f, 4.0f), vec4(12.0f, 22.0f, 4.0f, 4.0f));
-      vec4 x_177 = indexable[x_174];
-      param_1 = x_177;
-      bool x_178 = collision_vf2_vf4_(param, param_1);
-      if (x_178) {
-        int x_181 = i;
-        indexable_1 = vec4[8](vec4(4.0f, 4.0f, 20.0f, 4.0f), vec4(4.0f, 4.0f, 4.0f, 20.0f), vec4(4.0f, 20.0f, 20.0f, 4.0f), vec4(20.0f, 4.0f, 4.0f, 8.0f), vec4(8.0f, 6.0f, 4.0f, 2.0f), vec4(2.0f, 12.0f, 2.0f, 4.0f), vec4(16.0f, 2.0f, 4.0f, 4.0f), vec4(12.0f, 22.0f, 4.0f, 4.0f));
-        float x_183 = indexable_1[x_181].x;
-        int x_185 = i;
-        indexable_2 = vec4[8](vec4(4.0f, 4.0f, 20.0f, 4.0f), vec4(4.0f, 4.0f, 4.0f, 20.0f), vec4(4.0f, 20.0f, 20.0f, 4.0f), vec4(20.0f, 4.0f, 4.0f, 8.0f), vec4(8.0f, 6.0f, 4.0f, 2.0f), vec4(2.0f, 12.0f, 2.0f, 4.0f), vec4(16.0f, 2.0f, 4.0f, 4.0f), vec4(12.0f, 22.0f, 4.0f, 4.0f));
-        float x_187 = indexable_2[x_185].y;
-        int x_190 = i;
-        indexable_3 = vec4[16](vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(0.5f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 0.5f, 0.0f, 1.0f), vec4(0.5f, 0.5f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 0.5f, 1.0f), vec4(0.5f, 0.0f, 0.5f, 1.0f), vec4(0.0f, 0.5f, 0.5f, 1.0f), vec4(0.5f, 0.5f, 0.5f, 1.0f), vec4(0.0f, 0.0f, 0.0f, 1.0f), vec4(1.0f, 0.0f, 0.0f, 1.0f), vec4(0.0f, 1.0f, 0.0f, 1.0f), vec4(1.0f, 1.0f, 0.0f, 1.0f), vec4(0.0f, 0.0f, 1.0f, 1.0f), vec4(1.0f, 0.0f, 1.0f, 1.0f), vec4(0.0f, 1.0f, 1.0f, 1.0f), vec4(1.0f));
-        int v_2 = tint_f32_to_i32(x_183);
-        vec4 x_196 = indexable_3[tint_mod_i32((((v_2 * tint_f32_to_i32(x_187)) + (x_190 * 9)) + 11), 16)];
-        res = x_196;
-      }
-      {
-        int x_197 = i;
-        i = (x_197 + 1);
-      }
-      continue;
-    }
-  }
-  vec4 x_199 = res;
-  return x_199;
-}
-void main_1() {
-  vec2 lin = vec2(0.0f);
-  vec2 param_2 = vec2(0.0f);
-  vec4 x_98 = tint_symbol;
-  vec2 x_101 = v.tint_symbol_3.resolution;
-  lin = (vec2(x_98[0u], x_98[1u]) / x_101);
-  vec2 x_103 = lin;
-  lin = floor((x_103 * 32.0f));
-  vec2 x_106 = lin;
-  param_2 = x_106;
-  vec4 x_107 = match_vf2_(param_2);
-  x_GLF_color = x_107;
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:47: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:47: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:47: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/stable-triangle-array-nested-loop/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/stable-triangle-array-nested-loop/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index 60ae143..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/stable-triangle-array-nested-loop/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,141 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-float cross2d_vf2_vf2_(inout vec2 a, inout vec2 b) {
-  float x_79 = a.x;
-  float x_81 = b.y;
-  float x_84 = b.x;
-  float x_86 = a.y;
-  return ((x_79 * x_81) - (x_84 * x_86));
-}
-int pointInTriangle_vf2_vf2_vf2_vf2_(inout vec2 p, inout vec2 a_1, inout vec2 b_1, inout vec2 c) {
-  bool x_90 = false;
-  int x_91 = 0;
-  float pab = 0.0f;
-  vec2 param = vec2(0.0f);
-  vec2 param_1 = vec2(0.0f);
-  float pbc = 0.0f;
-  vec2 param_2 = vec2(0.0f);
-  vec2 param_3 = vec2(0.0f);
-  float pca = 0.0f;
-  vec2 param_4 = vec2(0.0f);
-  vec2 param_5 = vec2(0.0f);
-  bool x_140 = false;
-  bool x_141 = false;
-  bool x_168 = false;
-  bool x_169 = false;
-  int x_173 = 0;
-  switch(0u) {
-    default:
-    {
-      float x_106 = b_1.x;
-      float x_107 = a_1.x;
-      float x_110 = b_1.y;
-      float x_111 = a_1.y;
-      param = vec2((p.x - a_1.x), (p.y - a_1.y));
-      param_1 = vec2((x_106 - x_107), (x_110 - x_111));
-      float x_114 = cross2d_vf2_vf2_(param, param_1);
-      pab = x_114;
-      float x_123 = c.x;
-      float x_124 = b_1.x;
-      float x_127 = c.y;
-      float x_128 = b_1.y;
-      param_2 = vec2((p.x - b_1.x), (p.y - b_1.y));
-      param_3 = vec2((x_123 - x_124), (x_127 - x_128));
-      float x_131 = cross2d_vf2_vf2_(param_2, param_3);
-      pbc = x_131;
-      bool x_134 = ((x_114 < 0.0f) & (x_131 < 0.0f));
-      x_141 = x_134;
-      if (!(x_134)) {
-        x_140 = ((x_114 >= 0.0f) & (x_131 >= 0.0f));
-        x_141 = x_140;
-      }
-      if (!(x_141)) {
-        x_90 = true;
-        x_91 = 0;
-        x_173 = 0;
-        break;
-      }
-      float x_152 = a_1.x;
-      float x_153 = c.x;
-      float x_155 = a_1.y;
-      float x_156 = c.y;
-      param_4 = vec2((p.x - c.x), (p.y - c.y));
-      param_5 = vec2((x_152 - x_153), (x_155 - x_156));
-      float x_159 = cross2d_vf2_vf2_(param_4, param_5);
-      pca = x_159;
-      bool x_162 = ((x_114 < 0.0f) & (x_159 < 0.0f));
-      x_169 = x_162;
-      if (!(x_162)) {
-        x_168 = ((x_114 >= 0.0f) & (x_159 >= 0.0f));
-        x_169 = x_168;
-      }
-      if (!(x_169)) {
-        x_90 = true;
-        x_91 = 0;
-        x_173 = 0;
-        break;
-      }
-      x_90 = true;
-      x_91 = 1;
-      x_173 = 1;
-      break;
-    }
-  }
-  return x_173;
-}
-void main_1() {
-  vec2 pos = vec2(0.0f);
-  vec2 param_6 = vec2(0.0f);
-  vec2 param_7 = vec2(0.0f);
-  vec2 param_8 = vec2(0.0f);
-  vec2 param_9 = vec2(0.0f);
-  vec2 x_71 = (tint_symbol.xy / v.tint_symbol_3.resolution);
-  pos = x_71;
-  param_6 = x_71;
-  param_7 = vec2(0.69999998807907104492f, 0.30000001192092895508f);
-  param_8 = vec2(0.5f, 0.89999997615814208984f);
-  param_9 = vec2(0.10000000149011611938f, 0.40000000596046447754f);
-  int x_72 = pointInTriangle_vf2_vf2_vf2_vf2_(param_6, param_7, param_8, param_9);
-  if ((x_72 == 1)) {
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 1.0f);
-  }
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:64: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:64: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/stable-triangle-array-nested-loop/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/stable-triangle-array-nested-loop/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index d03b7e5..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/stable-triangle-array-nested-loop/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,158 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-float cross2d_vf2_vf2_(inout vec2 a, inout vec2 b) {
-  float x_79 = a.x;
-  float x_81 = b.y;
-  float x_84 = b.x;
-  float x_86 = a.y;
-  return ((x_79 * x_81) - (x_84 * x_86));
-}
-int pointInTriangle_vf2_vf2_vf2_vf2_(inout vec2 p, inout vec2 a_1, inout vec2 b_1, inout vec2 c) {
-  bool x_90 = false;
-  int x_91 = 0;
-  float pab = 0.0f;
-  vec2 param = vec2(0.0f);
-  vec2 param_1 = vec2(0.0f);
-  float pbc = 0.0f;
-  vec2 param_2 = vec2(0.0f);
-  vec2 param_3 = vec2(0.0f);
-  float pca = 0.0f;
-  vec2 param_4 = vec2(0.0f);
-  vec2 param_5 = vec2(0.0f);
-  bool x_140 = false;
-  bool x_168 = false;
-  bool x_141_phi = false;
-  bool x_169_phi = false;
-  int x_173_phi = 0;
-  switch(0u) {
-    default:
-    {
-      float x_95 = p.x;
-      float x_97 = a_1.x;
-      float x_100 = p.y;
-      float x_102 = a_1.y;
-      float x_106 = b_1.x;
-      float x_107 = a_1.x;
-      float x_110 = b_1.y;
-      float x_111 = a_1.y;
-      param = vec2((x_95 - x_97), (x_100 - x_102));
-      param_1 = vec2((x_106 - x_107), (x_110 - x_111));
-      float x_114 = cross2d_vf2_vf2_(param, param_1);
-      pab = x_114;
-      float x_115 = p.x;
-      float x_116 = b_1.x;
-      float x_118 = p.y;
-      float x_119 = b_1.y;
-      float x_123 = c.x;
-      float x_124 = b_1.x;
-      float x_127 = c.y;
-      float x_128 = b_1.y;
-      param_2 = vec2((x_115 - x_116), (x_118 - x_119));
-      param_3 = vec2((x_123 - x_124), (x_127 - x_128));
-      float x_131 = cross2d_vf2_vf2_(param_2, param_3);
-      pbc = x_131;
-      bool x_134 = ((x_114 < 0.0f) & (x_131 < 0.0f));
-      x_141_phi = x_134;
-      if (!(x_134)) {
-        x_140 = ((x_114 >= 0.0f) & (x_131 >= 0.0f));
-        x_141_phi = x_140;
-      }
-      bool x_141 = x_141_phi;
-      if (!(x_141)) {
-        x_90 = true;
-        x_91 = 0;
-        x_173_phi = 0;
-        break;
-      }
-      float x_145 = p.x;
-      float x_146 = c.x;
-      float x_148 = p.y;
-      float x_149 = c.y;
-      float x_152 = a_1.x;
-      float x_153 = c.x;
-      float x_155 = a_1.y;
-      float x_156 = c.y;
-      param_4 = vec2((x_145 - x_146), (x_148 - x_149));
-      param_5 = vec2((x_152 - x_153), (x_155 - x_156));
-      float x_159 = cross2d_vf2_vf2_(param_4, param_5);
-      pca = x_159;
-      bool x_162 = ((x_114 < 0.0f) & (x_159 < 0.0f));
-      x_169_phi = x_162;
-      if (!(x_162)) {
-        x_168 = ((x_114 >= 0.0f) & (x_159 >= 0.0f));
-        x_169_phi = x_168;
-      }
-      bool x_169 = x_169_phi;
-      if (!(x_169)) {
-        x_90 = true;
-        x_91 = 0;
-        x_173_phi = 0;
-        break;
-      }
-      x_90 = true;
-      x_91 = 1;
-      x_173_phi = 1;
-      break;
-    }
-  }
-  int x_173 = x_173_phi;
-  return x_173;
-}
-void main_1() {
-  vec2 pos = vec2(0.0f);
-  vec2 param_6 = vec2(0.0f);
-  vec2 param_7 = vec2(0.0f);
-  vec2 param_8 = vec2(0.0f);
-  vec2 param_9 = vec2(0.0f);
-  vec4 x_67 = tint_symbol;
-  vec2 x_70 = v.tint_symbol_3.resolution;
-  vec2 x_71 = (vec2(x_67[0u], x_67[1u]) / x_70);
-  pos = x_71;
-  param_6 = x_71;
-  param_7 = vec2(0.69999998807907104492f, 0.30000001192092895508f);
-  param_8 = vec2(0.5f, 0.89999997615814208984f);
-  param_9 = vec2(0.10000000149011611938f, 0.40000000596046447754f);
-  int x_72 = pointInTriangle_vf2_vf2_vf2_vf2_(param_6, param_7, param_8, param_9);
-  if ((x_72 == 1)) {
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 1.0f);
-  }
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:72: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:72: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/stable-triangle-clamp-conditional-mix/0.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/stable-triangle-clamp-conditional-mix/0.spvasm.expected.ir.glsl
deleted file mode 100644
index ce87b5c..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/stable-triangle-clamp-conditional-mix/0.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,122 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-float cross2d_vf2_vf2_(inout vec2 a, inout vec2 b) {
-  float x_76 = a.x;
-  float x_78 = b.y;
-  float x_81 = b.x;
-  float x_83 = a.y;
-  return ((x_76 * x_78) - (x_81 * x_83));
-}
-int pointInTriangle_vf2_vf2_vf2_vf2_(inout vec2 p, inout vec2 a_1, inout vec2 b_1, inout vec2 c) {
-  float pab = 0.0f;
-  vec2 param = vec2(0.0f);
-  vec2 param_1 = vec2(0.0f);
-  float pbc = 0.0f;
-  vec2 param_2 = vec2(0.0f);
-  vec2 param_3 = vec2(0.0f);
-  float pca = 0.0f;
-  vec2 param_4 = vec2(0.0f);
-  vec2 param_5 = vec2(0.0f);
-  bool x_137 = false;
-  bool x_138 = false;
-  bool x_169 = false;
-  bool x_170 = false;
-  float x_99 = b_1.x;
-  float x_100 = a_1.x;
-  float x_103 = b_1.y;
-  float x_104 = a_1.y;
-  param = vec2((p.x - a_1.x), (p.y - a_1.y));
-  param_1 = vec2((x_99 - x_100), (x_103 - x_104));
-  float x_107 = cross2d_vf2_vf2_(param, param_1);
-  pab = x_107;
-  float x_116 = c.x;
-  float x_117 = b_1.x;
-  float x_120 = c.y;
-  float x_121 = b_1.y;
-  param_2 = vec2((p.x - b_1.x), (p.y - b_1.y));
-  param_3 = vec2((x_116 - x_117), (x_120 - x_121));
-  float x_124 = cross2d_vf2_vf2_(param_2, param_3);
-  pbc = x_124;
-  bool x_129 = ((pab < 0.0f) & (pbc < 0.0f));
-  x_138 = x_129;
-  if (!(x_129)) {
-    x_137 = ((pab >= 0.0f) & (pbc >= 0.0f));
-    x_138 = x_137;
-  }
-  if (!(x_138)) {
-    return 0;
-  }
-  float x_149 = a_1.x;
-  float x_150 = c.x;
-  float x_152 = a_1.y;
-  float x_153 = c.y;
-  param_4 = vec2((p.x - c.x), (p.y - c.y));
-  param_5 = vec2((x_149 - x_150), (x_152 - x_153));
-  float x_156 = cross2d_vf2_vf2_(param_4, param_5);
-  pca = x_156;
-  bool x_161 = ((pab < 0.0f) & (pca < 0.0f));
-  x_170 = x_161;
-  if (!(x_161)) {
-    x_169 = ((pab >= 0.0f) & (pca >= 0.0f));
-    x_170 = x_169;
-  }
-  if (!(x_170)) {
-    return 0;
-  }
-  return 1;
-}
-void main_1() {
-  vec2 pos = vec2(0.0f);
-  vec2 param_6 = vec2(0.0f);
-  vec2 param_7 = vec2(0.0f);
-  vec2 param_8 = vec2(0.0f);
-  vec2 param_9 = vec2(0.0f);
-  pos = (tint_symbol.xy / v.tint_symbol_3.resolution);
-  param_6 = pos;
-  param_7 = vec2(0.69999998807907104492f, 0.30000001192092895508f);
-  param_8 = vec2(0.5f, 0.89999997615814208984f);
-  param_9 = vec2(0.10000000149011611938f, 0.40000000596046447754f);
-  int x_69 = pointInTriangle_vf2_vf2_vf2_vf2_(param_6, param_7, param_8, param_9);
-  if ((x_69 == 1)) {
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 1.0f);
-  }
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:58: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:58: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/stable-triangle-clamp-conditional-mix/0.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/stable-triangle-clamp-conditional-mix/0.wgsl.expected.ir.glsl
deleted file mode 100644
index c3e51e4..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/stable-triangle-clamp-conditional-mix/0.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,147 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-float cross2d_vf2_vf2_(inout vec2 a, inout vec2 b) {
-  float x_76 = a.x;
-  float x_78 = b.y;
-  float x_81 = b.x;
-  float x_83 = a.y;
-  return ((x_76 * x_78) - (x_81 * x_83));
-}
-int pointInTriangle_vf2_vf2_vf2_vf2_(inout vec2 p, inout vec2 a_1, inout vec2 b_1, inout vec2 c) {
-  float pab = 0.0f;
-  vec2 param = vec2(0.0f);
-  vec2 param_1 = vec2(0.0f);
-  float pbc = 0.0f;
-  vec2 param_2 = vec2(0.0f);
-  vec2 param_3 = vec2(0.0f);
-  float pca = 0.0f;
-  vec2 param_4 = vec2(0.0f);
-  vec2 param_5 = vec2(0.0f);
-  bool x_137 = false;
-  bool x_169 = false;
-  bool x_138_phi = false;
-  bool x_170_phi = false;
-  float x_88 = p.x;
-  float x_90 = a_1.x;
-  float x_93 = p.y;
-  float x_95 = a_1.y;
-  float x_99 = b_1.x;
-  float x_100 = a_1.x;
-  float x_103 = b_1.y;
-  float x_104 = a_1.y;
-  param = vec2((x_88 - x_90), (x_93 - x_95));
-  param_1 = vec2((x_99 - x_100), (x_103 - x_104));
-  float x_107 = cross2d_vf2_vf2_(param, param_1);
-  pab = x_107;
-  float x_108 = p.x;
-  float x_109 = b_1.x;
-  float x_111 = p.y;
-  float x_112 = b_1.y;
-  float x_116 = c.x;
-  float x_117 = b_1.x;
-  float x_120 = c.y;
-  float x_121 = b_1.y;
-  param_2 = vec2((x_108 - x_109), (x_111 - x_112));
-  param_3 = vec2((x_116 - x_117), (x_120 - x_121));
-  float x_124 = cross2d_vf2_vf2_(param_2, param_3);
-  pbc = x_124;
-  float x_125 = pab;
-  float x_127 = pbc;
-  bool x_129 = ((x_125 < 0.0f) & (x_127 < 0.0f));
-  x_138_phi = x_129;
-  if (!(x_129)) {
-    float x_133 = pab;
-    float x_135 = pbc;
-    x_137 = ((x_133 >= 0.0f) & (x_135 >= 0.0f));
-    x_138_phi = x_137;
-  }
-  bool x_138 = x_138_phi;
-  if (!(x_138)) {
-    return 0;
-  }
-  float x_142 = p.x;
-  float x_143 = c.x;
-  float x_145 = p.y;
-  float x_146 = c.y;
-  float x_149 = a_1.x;
-  float x_150 = c.x;
-  float x_152 = a_1.y;
-  float x_153 = c.y;
-  param_4 = vec2((x_142 - x_143), (x_145 - x_146));
-  param_5 = vec2((x_149 - x_150), (x_152 - x_153));
-  float x_156 = cross2d_vf2_vf2_(param_4, param_5);
-  pca = x_156;
-  float x_157 = pab;
-  float x_159 = pca;
-  bool x_161 = ((x_157 < 0.0f) & (x_159 < 0.0f));
-  x_170_phi = x_161;
-  if (!(x_161)) {
-    float x_165 = pab;
-    float x_167 = pca;
-    x_169 = ((x_165 >= 0.0f) & (x_167 >= 0.0f));
-    x_170_phi = x_169;
-  }
-  bool x_170 = x_170_phi;
-  if (!(x_170)) {
-    return 0;
-  }
-  return 1;
-}
-void main_1() {
-  vec2 pos = vec2(0.0f);
-  vec2 param_6 = vec2(0.0f);
-  vec2 param_7 = vec2(0.0f);
-  vec2 param_8 = vec2(0.0f);
-  vec2 param_9 = vec2(0.0f);
-  vec4 x_63 = tint_symbol;
-  vec2 x_66 = v.tint_symbol_3.resolution;
-  pos = (vec2(x_63[0u], x_63[1u]) / x_66);
-  vec2 x_68 = pos;
-  param_6 = x_68;
-  param_7 = vec2(0.69999998807907104492f, 0.30000001192092895508f);
-  param_8 = vec2(0.5f, 0.89999997615814208984f);
-  param_9 = vec2(0.10000000149011611938f, 0.40000000596046447754f);
-  int x_69 = pointInTriangle_vf2_vf2_vf2_vf2_(param_6, param_7, param_8, param_9);
-  if ((x_69 == 1)) {
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 1.0f);
-  }
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:68: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:68: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/stable-triangle-clamp-conditional-mix/1.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/stable-triangle-clamp-conditional-mix/1.spvasm.expected.ir.glsl
deleted file mode 100644
index cc7bc93..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/stable-triangle-clamp-conditional-mix/1.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,142 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 tint_symbol = vec4(0.0f);
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-float cross2d_vf2_vf2_(inout vec2 a, inout vec2 b) {
-  float x_85 = a.x;
-  float x_87 = b.y;
-  float x_90 = b.x;
-  float x_92 = a.y;
-  return ((x_85 * x_87) - (x_90 * x_92));
-}
-int pointInTriangle_vf2_vf2_vf2_vf2_(inout vec2 p, inout vec2 a_1, inout vec2 b_1, inout vec2 c) {
-  float var_y = 0.0f;
-  float x_96 = 0.0f;
-  float x_97 = 0.0f;
-  float clamp_y = 0.0f;
-  float pab = 0.0f;
-  vec2 param = vec2(0.0f);
-  vec2 param_1 = vec2(0.0f);
-  float pbc = 0.0f;
-  vec2 param_2 = vec2(0.0f);
-  vec2 param_3 = vec2(0.0f);
-  float pca = 0.0f;
-  vec2 param_4 = vec2(0.0f);
-  vec2 param_5 = vec2(0.0f);
-  bool x_173 = false;
-  bool x_174 = false;
-  bool x_205 = false;
-  bool x_206 = false;
-  if ((v.tint_symbol_3.resolution.x == v.tint_symbol_3.resolution.y)) {
-    float x_107 = c.y;
-    vec2 x_108 = vec2(0.0f, x_107);
-    if (true) {
-      x_97 = c.y;
-    } else {
-      x_97 = 1.0f;
-    }
-    vec2 x_116 = vec2(1.0f, max(x_97, c.y));
-    vec2 x_117 = x_108.xy;
-    x_96 = x_107;
-  } else {
-    x_96 = -1.0f;
-  }
-  var_y = x_96;
-  clamp_y = clamp(c.y, c.y, var_y);
-  float x_136 = b_1.x;
-  float x_137 = a_1.x;
-  float x_140 = b_1.y;
-  float x_141 = a_1.y;
-  param = vec2((p.x - a_1.x), (p.y - a_1.y));
-  param_1 = vec2((x_136 - x_137), (x_140 - x_141));
-  float x_144 = cross2d_vf2_vf2_(param, param_1);
-  pab = x_144;
-  float x_153 = c.x;
-  float x_154 = b_1.x;
-  float x_156 = clamp_y;
-  float x_157 = b_1.y;
-  param_2 = vec2((p.x - b_1.x), (p.y - b_1.y));
-  param_3 = vec2((x_153 - x_154), (x_156 - x_157));
-  float x_160 = cross2d_vf2_vf2_(param_2, param_3);
-  pbc = x_160;
-  bool x_165 = ((pab < 0.0f) & (pbc < 0.0f));
-  x_174 = x_165;
-  if (!(x_165)) {
-    x_173 = ((pab >= 0.0f) & (pbc >= 0.0f));
-    x_174 = x_173;
-  }
-  if (!(x_174)) {
-    return 0;
-  }
-  float x_185 = a_1.x;
-  float x_186 = c.x;
-  float x_188 = a_1.y;
-  float x_189 = c.y;
-  param_4 = vec2((p.x - c.x), (p.y - c.y));
-  param_5 = vec2((x_185 - x_186), (x_188 - x_189));
-  float x_192 = cross2d_vf2_vf2_(param_4, param_5);
-  pca = x_192;
-  bool x_197 = ((pab < 0.0f) & (pca < 0.0f));
-  x_206 = x_197;
-  if (!(x_197)) {
-    x_205 = ((pab >= 0.0f) & (pca >= 0.0f));
-    x_206 = x_205;
-  }
-  if (!(x_206)) {
-    return 0;
-  }
-  return 1;
-}
-void main_1() {
-  vec2 pos = vec2(0.0f);
-  vec2 param_6 = vec2(0.0f);
-  vec2 param_7 = vec2(0.0f);
-  vec2 param_8 = vec2(0.0f);
-  vec2 param_9 = vec2(0.0f);
-  pos = (tint_symbol.xy / v.tint_symbol_3.resolution);
-  param_6 = pos;
-  param_7 = vec2(0.69999998807907104492f, 0.30000001192092895508f);
-  param_8 = vec2(0.5f, 0.89999997615814208984f);
-  param_9 = vec2(0.10000000149011611938f, 0.40000000596046447754f);
-  int x_78 = pointInTriangle_vf2_vf2_vf2_vf2_(param_6, param_7, param_8, param_9);
-  if ((x_78 == 1)) {
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 1.0f);
-  }
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:78: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:78: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/stable-triangle-clamp-conditional-mix/1.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/stable-triangle-clamp-conditional-mix/1.wgsl.expected.ir.glsl
deleted file mode 100644
index d2474e9..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/stable-triangle-clamp-conditional-mix/1.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,176 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 tint_symbol = vec4(0.0f);
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-float cross2d_vf2_vf2_(inout vec2 a, inout vec2 b) {
-  float x_85 = a.x;
-  float x_87 = b.y;
-  float x_90 = b.x;
-  float x_92 = a.y;
-  return ((x_85 * x_87) - (x_90 * x_92));
-}
-int pointInTriangle_vf2_vf2_vf2_vf2_(inout vec2 p, inout vec2 a_1, inout vec2 b_1, inout vec2 c) {
-  float var_y = 0.0f;
-  float x_96 = 0.0f;
-  float x_97 = 0.0f;
-  float clamp_y = 0.0f;
-  float pab = 0.0f;
-  vec2 param = vec2(0.0f);
-  vec2 param_1 = vec2(0.0f);
-  float pbc = 0.0f;
-  vec2 param_2 = vec2(0.0f);
-  vec2 param_3 = vec2(0.0f);
-  float pca = 0.0f;
-  vec2 param_4 = vec2(0.0f);
-  vec2 param_5 = vec2(0.0f);
-  bool x_173 = false;
-  bool x_205 = false;
-  bool x_174_phi = false;
-  bool x_206_phi = false;
-  float x_99 = v.tint_symbol_3.resolution.x;
-  float x_101 = v.tint_symbol_3.resolution.y;
-  if ((x_99 == x_101)) {
-    float x_107 = c.y;
-    vec2 x_108 = vec2(0.0f, x_107);
-    if (true) {
-      float x_112 = c.y;
-      x_97 = x_112;
-    } else {
-      x_97 = 1.0f;
-    }
-    float x_113 = x_97;
-    float x_114 = c.y;
-    vec2 x_116 = vec2(1.0f, max(x_113, x_114));
-    vec2 x_117 = vec2(x_108[0u], x_108[1u]);
-    x_96 = x_107;
-  } else {
-    x_96 = -1.0f;
-  }
-  float x_118 = x_96;
-  var_y = x_118;
-  float x_120 = c.y;
-  float x_121 = c.y;
-  float x_122 = var_y;
-  clamp_y = clamp(x_120, x_121, x_122);
-  float x_125 = p.x;
-  float x_127 = a_1.x;
-  float x_130 = p.y;
-  float x_132 = a_1.y;
-  float x_136 = b_1.x;
-  float x_137 = a_1.x;
-  float x_140 = b_1.y;
-  float x_141 = a_1.y;
-  param = vec2((x_125 - x_127), (x_130 - x_132));
-  param_1 = vec2((x_136 - x_137), (x_140 - x_141));
-  float x_144 = cross2d_vf2_vf2_(param, param_1);
-  pab = x_144;
-  float x_145 = p.x;
-  float x_146 = b_1.x;
-  float x_148 = p.y;
-  float x_149 = b_1.y;
-  float x_153 = c.x;
-  float x_154 = b_1.x;
-  float x_156 = clamp_y;
-  float x_157 = b_1.y;
-  param_2 = vec2((x_145 - x_146), (x_148 - x_149));
-  param_3 = vec2((x_153 - x_154), (x_156 - x_157));
-  float x_160 = cross2d_vf2_vf2_(param_2, param_3);
-  pbc = x_160;
-  float x_161 = pab;
-  float x_163 = pbc;
-  bool x_165 = ((x_161 < 0.0f) & (x_163 < 0.0f));
-  x_174_phi = x_165;
-  if (!(x_165)) {
-    float x_169 = pab;
-    float x_171 = pbc;
-    x_173 = ((x_169 >= 0.0f) & (x_171 >= 0.0f));
-    x_174_phi = x_173;
-  }
-  bool x_174 = x_174_phi;
-  if (!(x_174)) {
-    return 0;
-  }
-  float x_178 = p.x;
-  float x_179 = c.x;
-  float x_181 = p.y;
-  float x_182 = c.y;
-  float x_185 = a_1.x;
-  float x_186 = c.x;
-  float x_188 = a_1.y;
-  float x_189 = c.y;
-  param_4 = vec2((x_178 - x_179), (x_181 - x_182));
-  param_5 = vec2((x_185 - x_186), (x_188 - x_189));
-  float x_192 = cross2d_vf2_vf2_(param_4, param_5);
-  pca = x_192;
-  float x_193 = pab;
-  float x_195 = pca;
-  bool x_197 = ((x_193 < 0.0f) & (x_195 < 0.0f));
-  x_206_phi = x_197;
-  if (!(x_197)) {
-    float x_201 = pab;
-    float x_203 = pca;
-    x_205 = ((x_201 >= 0.0f) & (x_203 >= 0.0f));
-    x_206_phi = x_205;
-  }
-  bool x_206 = x_206_phi;
-  if (!(x_206)) {
-    return 0;
-  }
-  return 1;
-}
-void main_1() {
-  vec2 pos = vec2(0.0f);
-  vec2 param_6 = vec2(0.0f);
-  vec2 param_7 = vec2(0.0f);
-  vec2 param_8 = vec2(0.0f);
-  vec2 param_9 = vec2(0.0f);
-  vec4 x_72 = tint_symbol;
-  vec2 x_75 = v.tint_symbol_3.resolution;
-  pos = (vec2(x_72[0u], x_72[1u]) / x_75);
-  vec2 x_77 = pos;
-  param_6 = x_77;
-  param_7 = vec2(0.69999998807907104492f, 0.30000001192092895508f);
-  param_8 = vec2(0.5f, 0.89999997615814208984f);
-  param_9 = vec2(0.10000000149011611938f, 0.40000000596046447754f);
-  int x_78 = pointInTriangle_vf2_vf2_vf2_vf2_(param_6, param_7, param_8, param_9);
-  if ((x_78 == 1)) {
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 1.0f);
-  }
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:97: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:97: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/stable-triangle-nested-conditional-clamped-float/0.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/stable-triangle-nested-conditional-clamped-float/0.spvasm.expected.ir.glsl
deleted file mode 100644
index 0ad7ae6..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/stable-triangle-nested-conditional-clamped-float/0.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,122 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-float cross2d_vf2_vf2_(inout vec2 a, inout vec2 b) {
-  float x_76 = a.x;
-  float x_78 = b.y;
-  float x_81 = b.x;
-  float x_83 = a.y;
-  return ((x_76 * x_78) - (x_81 * x_83));
-}
-int pointInTriangle_vf2_vf2_vf2_vf2_(inout vec2 p, inout vec2 a_1, inout vec2 b_1, inout vec2 c) {
-  float pab = 0.0f;
-  vec2 param = vec2(0.0f);
-  vec2 param_1 = vec2(0.0f);
-  float pbc = 0.0f;
-  vec2 param_2 = vec2(0.0f);
-  vec2 param_3 = vec2(0.0f);
-  float pca = 0.0f;
-  vec2 param_4 = vec2(0.0f);
-  vec2 param_5 = vec2(0.0f);
-  bool x_145 = false;
-  bool x_146 = false;
-  bool x_185 = false;
-  bool x_186 = false;
-  float x_99 = b_1.x;
-  float x_101 = a_1.x;
-  float x_104 = b_1.y;
-  float x_106 = a_1.y;
-  param = vec2((p.x - a_1.x), (p.y - a_1.y));
-  param_1 = vec2((x_99 - x_101), (x_104 - x_106));
-  float x_109 = cross2d_vf2_vf2_(param, param_1);
-  pab = x_109;
-  float x_122 = c.x;
-  float x_124 = b_1.x;
-  float x_127 = c.y;
-  float x_129 = b_1.y;
-  param_2 = vec2((p.x - b_1.x), (p.y - b_1.y));
-  param_3 = vec2((x_122 - x_124), (x_127 - x_129));
-  float x_132 = cross2d_vf2_vf2_(param_2, param_3);
-  pbc = x_132;
-  bool x_137 = ((pab < 0.0f) & (pbc < 0.0f));
-  x_146 = x_137;
-  if (!(x_137)) {
-    x_145 = ((pab >= 0.0f) & (pbc >= 0.0f));
-    x_146 = x_145;
-  }
-  if (!(x_146)) {
-    return 0;
-  }
-  float x_162 = a_1.x;
-  float x_164 = c.x;
-  float x_167 = a_1.y;
-  float x_169 = c.y;
-  param_4 = vec2((p.x - c.x), (p.y - c.y));
-  param_5 = vec2((x_162 - x_164), (x_167 - x_169));
-  float x_172 = cross2d_vf2_vf2_(param_4, param_5);
-  pca = x_172;
-  bool x_177 = ((pab < 0.0f) & (pca < 0.0f));
-  x_186 = x_177;
-  if (!(x_177)) {
-    x_185 = ((pab >= 0.0f) & (pca >= 0.0f));
-    x_186 = x_185;
-  }
-  if (!(x_186)) {
-    return 0;
-  }
-  return 1;
-}
-void main_1() {
-  vec2 pos = vec2(0.0f);
-  vec2 param_6 = vec2(0.0f);
-  vec2 param_7 = vec2(0.0f);
-  vec2 param_8 = vec2(0.0f);
-  vec2 param_9 = vec2(0.0f);
-  pos = (tint_symbol.xy / v.tint_symbol_3.resolution);
-  param_6 = pos;
-  param_7 = vec2(0.69999998807907104492f, 0.30000001192092895508f);
-  param_8 = vec2(0.5f, 0.89999997615814208984f);
-  param_9 = vec2(0.10000000149011611938f, 0.40000000596046447754f);
-  int x_69 = pointInTriangle_vf2_vf2_vf2_vf2_(param_6, param_7, param_8, param_9);
-  if ((x_69 == 1)) {
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 1.0f);
-  }
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:58: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:58: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/stable-triangle-nested-conditional-clamped-float/0.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/stable-triangle-nested-conditional-clamped-float/0.wgsl.expected.ir.glsl
deleted file mode 100644
index 2bce3fa..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/stable-triangle-nested-conditional-clamped-float/0.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,147 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-float cross2d_vf2_vf2_(inout vec2 a, inout vec2 b) {
-  float x_76 = a.x;
-  float x_78 = b.y;
-  float x_81 = b.x;
-  float x_83 = a.y;
-  return ((x_76 * x_78) - (x_81 * x_83));
-}
-int pointInTriangle_vf2_vf2_vf2_vf2_(inout vec2 p, inout vec2 a_1, inout vec2 b_1, inout vec2 c) {
-  float pab = 0.0f;
-  vec2 param = vec2(0.0f);
-  vec2 param_1 = vec2(0.0f);
-  float pbc = 0.0f;
-  vec2 param_2 = vec2(0.0f);
-  vec2 param_3 = vec2(0.0f);
-  float pca = 0.0f;
-  vec2 param_4 = vec2(0.0f);
-  vec2 param_5 = vec2(0.0f);
-  bool x_145 = false;
-  bool x_185 = false;
-  bool x_146_phi = false;
-  bool x_186_phi = false;
-  float x_88 = p.x;
-  float x_90 = a_1.x;
-  float x_93 = p.y;
-  float x_95 = a_1.y;
-  float x_99 = b_1.x;
-  float x_101 = a_1.x;
-  float x_104 = b_1.y;
-  float x_106 = a_1.y;
-  param = vec2((x_88 - x_90), (x_93 - x_95));
-  param_1 = vec2((x_99 - x_101), (x_104 - x_106));
-  float x_109 = cross2d_vf2_vf2_(param, param_1);
-  pab = x_109;
-  float x_111 = p.x;
-  float x_113 = b_1.x;
-  float x_116 = p.y;
-  float x_118 = b_1.y;
-  float x_122 = c.x;
-  float x_124 = b_1.x;
-  float x_127 = c.y;
-  float x_129 = b_1.y;
-  param_2 = vec2((x_111 - x_113), (x_116 - x_118));
-  param_3 = vec2((x_122 - x_124), (x_127 - x_129));
-  float x_132 = cross2d_vf2_vf2_(param_2, param_3);
-  pbc = x_132;
-  float x_133 = pab;
-  float x_135 = pbc;
-  bool x_137 = ((x_133 < 0.0f) & (x_135 < 0.0f));
-  x_146_phi = x_137;
-  if (!(x_137)) {
-    float x_141 = pab;
-    float x_143 = pbc;
-    x_145 = ((x_141 >= 0.0f) & (x_143 >= 0.0f));
-    x_146_phi = x_145;
-  }
-  bool x_146 = x_146_phi;
-  if (!(x_146)) {
-    return 0;
-  }
-  float x_151 = p.x;
-  float x_153 = c.x;
-  float x_156 = p.y;
-  float x_158 = c.y;
-  float x_162 = a_1.x;
-  float x_164 = c.x;
-  float x_167 = a_1.y;
-  float x_169 = c.y;
-  param_4 = vec2((x_151 - x_153), (x_156 - x_158));
-  param_5 = vec2((x_162 - x_164), (x_167 - x_169));
-  float x_172 = cross2d_vf2_vf2_(param_4, param_5);
-  pca = x_172;
-  float x_173 = pab;
-  float x_175 = pca;
-  bool x_177 = ((x_173 < 0.0f) & (x_175 < 0.0f));
-  x_186_phi = x_177;
-  if (!(x_177)) {
-    float x_181 = pab;
-    float x_183 = pca;
-    x_185 = ((x_181 >= 0.0f) & (x_183 >= 0.0f));
-    x_186_phi = x_185;
-  }
-  bool x_186 = x_186_phi;
-  if (!(x_186)) {
-    return 0;
-  }
-  return 1;
-}
-void main_1() {
-  vec2 pos = vec2(0.0f);
-  vec2 param_6 = vec2(0.0f);
-  vec2 param_7 = vec2(0.0f);
-  vec2 param_8 = vec2(0.0f);
-  vec2 param_9 = vec2(0.0f);
-  vec4 x_63 = tint_symbol;
-  vec2 x_66 = v.tint_symbol_3.resolution;
-  pos = (vec2(x_63[0u], x_63[1u]) / x_66);
-  vec2 x_68 = pos;
-  param_6 = x_68;
-  param_7 = vec2(0.69999998807907104492f, 0.30000001192092895508f);
-  param_8 = vec2(0.5f, 0.89999997615814208984f);
-  param_9 = vec2(0.10000000149011611938f, 0.40000000596046447754f);
-  int x_69 = pointInTriangle_vf2_vf2_vf2_vf2_(param_6, param_7, param_8, param_9);
-  if ((x_69 == 1)) {
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 1.0f);
-  }
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:68: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:68: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/stable-triangle-nested-for-loop-and-true-if/0.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/stable-triangle-nested-for-loop-and-true-if/0.spvasm.expected.ir.glsl
deleted file mode 100644
index b1a52fe..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/stable-triangle-nested-for-loop-and-true-if/0.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,114 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int pointInTriangle_vf2_vf2_vf2_vf2_(inout vec2 p, inout vec2 a, inout vec2 b, inout vec2 c) {
-  float x_66 = 0.0f;
-  float x_67 = 0.0f;
-  float x_68 = 0.0f;
-  vec2 param = vec2(0.0f);
-  vec2 param_1 = vec2(0.0f);
-  vec2 param_2 = vec2(0.0f);
-  vec2 param_3 = vec2(0.0f);
-  vec2 param_4 = vec2(0.0f);
-  vec2 param_5 = vec2(0.0f);
-  bool x_135 = false;
-  bool x_136 = false;
-  bool x_172 = false;
-  bool x_173 = false;
-  float x_81 = b.x;
-  float x_82 = a.x;
-  float x_85 = b.y;
-  float x_86 = a.y;
-  param = vec2((p.x - a.x), (p.y - a.y));
-  param_1 = vec2((x_81 - x_82), (x_85 - x_86));
-  float x_99 = ((param.x * param_1.y) - (param_1.x * param.y));
-  x_68 = x_99;
-  float x_108 = c.x;
-  float x_109 = b.x;
-  float x_112 = c.y;
-  float x_113 = b.y;
-  param_2 = vec2((p.x - b.x), (p.y - b.y));
-  param_3 = vec2((x_108 - x_109), (x_112 - x_113));
-  float x_126 = ((param_2.x * param_3.y) - (param_3.x * param_2.y));
-  x_67 = x_126;
-  bool x_127 = (x_99 < 0.0f);
-  bool x_129 = (x_127 & (x_126 < 0.0f));
-  x_136 = x_129;
-  if (!(x_129)) {
-    x_135 = ((x_99 >= 0.0f) & (x_126 >= 0.0f));
-    x_136 = x_135;
-  }
-  if (!(x_136)) {
-    return 0;
-  }
-  float x_147 = a.x;
-  float x_148 = c.x;
-  float x_150 = a.y;
-  float x_151 = c.y;
-  param_4 = vec2((p.x - c.x), (p.y - c.y));
-  param_5 = vec2((x_147 - x_148), (x_150 - x_151));
-  float x_164 = ((param_4.x * param_5.y) - (param_5.x * param_4.y));
-  x_66 = x_164;
-  bool x_166 = (x_127 & (x_164 < 0.0f));
-  x_173 = x_166;
-  if (!(x_166)) {
-    x_172 = ((x_99 >= 0.0f) & (x_164 >= 0.0f));
-    x_173 = x_172;
-  }
-  if (!(x_173)) {
-    return 0;
-  }
-  return 1;
-}
-void main_1() {
-  vec2 param_6 = vec2(0.0f);
-  vec2 param_7 = vec2(0.0f);
-  vec2 param_8 = vec2(0.0f);
-  vec2 param_9 = vec2(0.0f);
-  param_6 = (tint_symbol.xy / v.tint_symbol_3.resolution);
-  param_7 = vec2(0.69999998807907104492f, 0.30000001192092895508f);
-  param_8 = vec2(0.5f, 0.89999997615814208984f);
-  param_9 = vec2(0.10000000149011611938f, 0.40000000596046447754f);
-  int x_60 = pointInTriangle_vf2_vf2_vf2_vf2_(param_6, param_7, param_8, param_9);
-  if ((x_60 == 1)) {
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 1.0f);
-  }
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:52: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:52: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/stable-triangle-nested-for-loop-and-true-if/0.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/stable-triangle-nested-for-loop-and-true-if/0.wgsl.expected.ir.glsl
deleted file mode 100644
index 8651cc6..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/stable-triangle-nested-for-loop-and-true-if/0.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,142 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int pointInTriangle_vf2_vf2_vf2_vf2_(inout vec2 p, inout vec2 a, inout vec2 b, inout vec2 c) {
-  float x_66 = 0.0f;
-  float x_67 = 0.0f;
-  float x_68 = 0.0f;
-  vec2 param = vec2(0.0f);
-  vec2 param_1 = vec2(0.0f);
-  vec2 param_2 = vec2(0.0f);
-  vec2 param_3 = vec2(0.0f);
-  vec2 param_4 = vec2(0.0f);
-  vec2 param_5 = vec2(0.0f);
-  bool x_135 = false;
-  bool x_172 = false;
-  bool x_136_phi = false;
-  bool x_173_phi = false;
-  float x_70 = p.x;
-  float x_72 = a.x;
-  float x_75 = p.y;
-  float x_77 = a.y;
-  float x_81 = b.x;
-  float x_82 = a.x;
-  float x_85 = b.y;
-  float x_86 = a.y;
-  param = vec2((x_70 - x_72), (x_75 - x_77));
-  param_1 = vec2((x_81 - x_82), (x_85 - x_86));
-  float x_90 = param.x;
-  float x_92 = param_1.y;
-  float x_95 = param_1.x;
-  float x_97 = param.y;
-  float x_99 = ((x_90 * x_92) - (x_95 * x_97));
-  x_68 = x_99;
-  float x_100 = p.x;
-  float x_101 = b.x;
-  float x_103 = p.y;
-  float x_104 = b.y;
-  float x_108 = c.x;
-  float x_109 = b.x;
-  float x_112 = c.y;
-  float x_113 = b.y;
-  param_2 = vec2((x_100 - x_101), (x_103 - x_104));
-  param_3 = vec2((x_108 - x_109), (x_112 - x_113));
-  float x_117 = param_2.x;
-  float x_119 = param_3.y;
-  float x_122 = param_3.x;
-  float x_124 = param_2.y;
-  float x_126 = ((x_117 * x_119) - (x_122 * x_124));
-  x_67 = x_126;
-  bool x_127 = (x_99 < 0.0f);
-  bool x_129 = (x_127 & (x_126 < 0.0f));
-  x_136_phi = x_129;
-  if (!(x_129)) {
-    x_135 = ((x_99 >= 0.0f) & (x_126 >= 0.0f));
-    x_136_phi = x_135;
-  }
-  bool x_136 = x_136_phi;
-  if (!(x_136)) {
-    return 0;
-  }
-  float x_140 = p.x;
-  float x_141 = c.x;
-  float x_143 = p.y;
-  float x_144 = c.y;
-  float x_147 = a.x;
-  float x_148 = c.x;
-  float x_150 = a.y;
-  float x_151 = c.y;
-  param_4 = vec2((x_140 - x_141), (x_143 - x_144));
-  param_5 = vec2((x_147 - x_148), (x_150 - x_151));
-  float x_155 = param_4.x;
-  float x_157 = param_5.y;
-  float x_160 = param_5.x;
-  float x_162 = param_4.y;
-  float x_164 = ((x_155 * x_157) - (x_160 * x_162));
-  x_66 = x_164;
-  bool x_166 = (x_127 & (x_164 < 0.0f));
-  x_173_phi = x_166;
-  if (!(x_166)) {
-    x_172 = ((x_99 >= 0.0f) & (x_164 >= 0.0f));
-    x_173_phi = x_172;
-  }
-  bool x_173 = x_173_phi;
-  if (!(x_173)) {
-    return 0;
-  }
-  return 1;
-}
-void main_1() {
-  vec2 param_6 = vec2(0.0f);
-  vec2 param_7 = vec2(0.0f);
-  vec2 param_8 = vec2(0.0f);
-  vec2 param_9 = vec2(0.0f);
-  vec4 x_55 = tint_symbol;
-  vec2 x_58 = v.tint_symbol_3.resolution;
-  param_6 = (vec2(x_55[0u], x_55[1u]) / x_58);
-  param_7 = vec2(0.69999998807907104492f, 0.30000001192092895508f);
-  param_8 = vec2(0.5f, 0.89999997615814208984f);
-  param_9 = vec2(0.10000000149011611938f, 0.40000000596046447754f);
-  int x_60 = pointInTriangle_vf2_vf2_vf2_vf2_(param_6, param_7, param_8, param_9);
-  if ((x_60 == 1)) {
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 1.0f);
-  }
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:68: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:68: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/stable-triangle-nested-for-loop-and-true-if/1.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/stable-triangle-nested-for-loop-and-true-if/1.spvasm.expected.ir.glsl
deleted file mode 100644
index 1887db4..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/stable-triangle-nested-for-loop-and-true-if/1.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,162 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf1 {
-  vec2 injectionSwitch;
-};
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 1, std140)
-uniform tint_symbol_4_1_ubo {
-  buf1 tint_symbol_3;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_6_1_ubo {
-  buf0 tint_symbol_5;
-} v_1;
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-int pointInTriangle_vf2_vf2_vf2_vf2_(inout vec2 p, inout vec2 a, inout vec2 b, inout vec2 c) {
-  float x_78 = 0.0f;
-  float x_79 = 0.0f;
-  float x_80 = 0.0f;
-  vec2 param = vec2(0.0f);
-  vec2 param_1 = vec2(0.0f);
-  vec2 param_2 = vec2(0.0f);
-  vec2 param_3 = vec2(0.0f);
-  vec2 param_4 = vec2(0.0f);
-  vec2 param_5 = vec2(0.0f);
-  bool x_147 = false;
-  bool x_148 = false;
-  bool x_203 = false;
-  bool x_204 = false;
-  float x_93 = b.x;
-  float x_94 = a.x;
-  float x_97 = b.y;
-  float x_98 = a.y;
-  param = vec2((p.x - a.x), (p.y - a.y));
-  param_1 = vec2((x_93 - x_94), (x_97 - x_98));
-  float x_111 = ((param.x * param_1.y) - (param_1.x * param.y));
-  x_80 = x_111;
-  float x_120 = c.x;
-  float x_121 = b.x;
-  float x_124 = c.y;
-  float x_125 = b.y;
-  param_2 = vec2((p.x - b.x), (p.y - b.y));
-  param_3 = vec2((x_120 - x_121), (x_124 - x_125));
-  float x_138 = ((param_2.x * param_3.y) - (param_3.x * param_2.y));
-  x_79 = x_138;
-  bool x_139 = (x_111 < 0.0f);
-  bool x_141 = (x_139 & (x_138 < 0.0f));
-  x_148 = x_141;
-  if (!(x_141)) {
-    x_147 = ((x_111 >= 0.0f) & (x_138 >= 0.0f));
-    x_148 = x_147;
-  }
-  int x_153 = 0;
-  if (!(x_148)) {
-    x_153 = 0;
-    {
-      while(true) {
-        int x_164 = 0;
-        int x_154 = 0;
-        int x_160 = tint_f32_to_i32(v.tint_symbol_3.injectionSwitch.y);
-        if ((x_153 < x_160)) {
-        } else {
-          break;
-        }
-        x_GLF_color = vec4(1.0f);
-        x_164 = 0;
-        {
-          while(true) {
-            int x_165 = 0;
-            if ((x_164 < x_160)) {
-            } else {
-              break;
-            }
-            x_GLF_color = vec4(1.0f);
-            {
-              x_165 = (x_164 + 1);
-              x_164 = x_165;
-            }
-            continue;
-          }
-        }
-        {
-          x_154 = (x_153 + 1);
-          x_153 = x_154;
-        }
-        continue;
-      }
-    }
-    return 0;
-  }
-  float x_178 = a.x;
-  float x_179 = c.x;
-  float x_181 = a.y;
-  float x_182 = c.y;
-  param_4 = vec2((p.x - c.x), (p.y - c.y));
-  param_5 = vec2((x_178 - x_179), (x_181 - x_182));
-  float x_195 = ((param_4.x * param_5.y) - (param_5.x * param_4.y));
-  x_78 = x_195;
-  bool x_197 = (x_139 & (x_195 < 0.0f));
-  x_204 = x_197;
-  if (!(x_197)) {
-    x_203 = ((x_111 >= 0.0f) & (x_195 >= 0.0f));
-    x_204 = x_203;
-  }
-  if (!(x_204)) {
-    return 0;
-  }
-  return 1;
-}
-void main_1() {
-  vec2 param_6 = vec2(0.0f);
-  vec2 param_7 = vec2(0.0f);
-  vec2 param_8 = vec2(0.0f);
-  vec2 param_9 = vec2(0.0f);
-  param_6 = (tint_symbol.xy / v_1.tint_symbol_5.resolution);
-  param_7 = vec2(0.69999998807907104492f, 0.30000001192092895508f);
-  param_8 = vec2(0.5f, 0.89999997615814208984f);
-  param_9 = vec2(0.10000000149011611938f, 0.40000000596046447754f);
-  int x_65 = pointInTriangle_vf2_vf2_vf2_vf2_(param_6, param_7, param_8, param_9);
-  if ((x_65 == 1)) {
-    if ((v.tint_symbol_3.injectionSwitch.y >= v.tint_symbol_3.injectionSwitch.x)) {
-      x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-    }
-  } else {
-    x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 1.0f);
-  }
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:63: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:63: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/stable-triangle-nested-for-loop-and-true-if/1.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/stable-triangle-nested-for-loop-and-true-if/1.wgsl.expected.ir.glsl
deleted file mode 100644
index 15bb9c3d..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/stable-triangle-nested-for-loop-and-true-if/1.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,195 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct buf1 {
-  vec2 injectionSwitch;
-};
-
-struct buf0 {
-  vec2 resolution;
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-layout(binding = 1, std140)
-uniform tint_symbol_4_1_ubo {
-  buf1 tint_symbol_3;
-} v;
-vec4 x_GLF_color = vec4(0.0f);
-vec4 tint_symbol = vec4(0.0f);
-layout(binding = 0, std140)
-uniform tint_symbol_6_1_ubo {
-  buf0 tint_symbol_5;
-} v_1;
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-int pointInTriangle_vf2_vf2_vf2_vf2_(inout vec2 p, inout vec2 a, inout vec2 b, inout vec2 c) {
-  float x_78 = 0.0f;
-  float x_79 = 0.0f;
-  float x_80 = 0.0f;
-  vec2 param = vec2(0.0f);
-  vec2 param_1 = vec2(0.0f);
-  vec2 param_2 = vec2(0.0f);
-  vec2 param_3 = vec2(0.0f);
-  vec2 param_4 = vec2(0.0f);
-  vec2 param_5 = vec2(0.0f);
-  bool x_147 = false;
-  bool x_203 = false;
-  bool x_148_phi = false;
-  bool x_204_phi = false;
-  float x_82 = p.x;
-  float x_84 = a.x;
-  float x_87 = p.y;
-  float x_89 = a.y;
-  float x_93 = b.x;
-  float x_94 = a.x;
-  float x_97 = b.y;
-  float x_98 = a.y;
-  param = vec2((x_82 - x_84), (x_87 - x_89));
-  param_1 = vec2((x_93 - x_94), (x_97 - x_98));
-  float x_102 = param.x;
-  float x_104 = param_1.y;
-  float x_107 = param_1.x;
-  float x_109 = param.y;
-  float x_111 = ((x_102 * x_104) - (x_107 * x_109));
-  x_80 = x_111;
-  float x_112 = p.x;
-  float x_113 = b.x;
-  float x_115 = p.y;
-  float x_116 = b.y;
-  float x_120 = c.x;
-  float x_121 = b.x;
-  float x_124 = c.y;
-  float x_125 = b.y;
-  param_2 = vec2((x_112 - x_113), (x_115 - x_116));
-  param_3 = vec2((x_120 - x_121), (x_124 - x_125));
-  float x_129 = param_2.x;
-  float x_131 = param_3.y;
-  float x_134 = param_3.x;
-  float x_136 = param_2.y;
-  float x_138 = ((x_129 * x_131) - (x_134 * x_136));
-  x_79 = x_138;
-  bool x_139 = (x_111 < 0.0f);
-  bool x_141 = (x_139 & (x_138 < 0.0f));
-  x_148_phi = x_141;
-  if (!(x_141)) {
-    x_147 = ((x_111 >= 0.0f) & (x_138 >= 0.0f));
-    x_148_phi = x_147;
-  }
-  int x_153_phi = 0;
-  bool x_148 = x_148_phi;
-  if (!(x_148)) {
-    x_153_phi = 0;
-    {
-      while(true) {
-        int x_154 = 0;
-        int x_164_phi = 0;
-        int x_153 = x_153_phi;
-        float x_159 = v.tint_symbol_3.injectionSwitch.y;
-        int x_160 = tint_f32_to_i32(x_159);
-        if ((x_153 < x_160)) {
-        } else {
-          break;
-        }
-        x_GLF_color = vec4(1.0f);
-        x_164_phi = 0;
-        {
-          while(true) {
-            int x_165 = 0;
-            int x_164 = x_164_phi;
-            if ((x_164 < x_160)) {
-            } else {
-              break;
-            }
-            x_GLF_color = vec4(1.0f);
-            {
-              x_165 = (x_164 + 1);
-              x_164_phi = x_165;
-            }
-            continue;
-          }
-        }
-        {
-          x_154 = (x_153 + 1);
-          x_153_phi = x_154;
-        }
-        continue;
-      }
-    }
-    return 0;
-  }
-  float x_171 = p.x;
-  float x_172 = c.x;
-  float x_174 = p.y;
-  float x_175 = c.y;
-  float x_178 = a.x;
-  float x_179 = c.x;
-  float x_181 = a.y;
-  float x_182 = c.y;
-  param_4 = vec2((x_171 - x_172), (x_174 - x_175));
-  param_5 = vec2((x_178 - x_179), (x_181 - x_182));
-  float x_186 = param_4.x;
-  float x_188 = param_5.y;
-  float x_191 = param_5.x;
-  float x_193 = param_4.y;
-  float x_195 = ((x_186 * x_188) - (x_191 * x_193));
-  x_78 = x_195;
-  bool x_197 = (x_139 & (x_195 < 0.0f));
-  x_204_phi = x_197;
-  if (!(x_197)) {
-    x_203 = ((x_111 >= 0.0f) & (x_195 >= 0.0f));
-    x_204_phi = x_203;
-  }
-  bool x_204 = x_204_phi;
-  if (!(x_204)) {
-    return 0;
-  }
-  return 1;
-}
-void main_1() {
-  vec2 param_6 = vec2(0.0f);
-  vec2 param_7 = vec2(0.0f);
-  vec2 param_8 = vec2(0.0f);
-  vec2 param_9 = vec2(0.0f);
-  vec4 x_60 = tint_symbol;
-  vec2 x_63 = v_1.tint_symbol_5.resolution;
-  param_6 = (vec2(x_60[0u], x_60[1u]) / x_63);
-  param_7 = vec2(0.69999998807907104492f, 0.30000001192092895508f);
-  param_8 = vec2(0.5f, 0.89999997615814208984f);
-  param_9 = vec2(0.10000000149011611938f, 0.40000000596046447754f);
-  int x_65 = pointInTriangle_vf2_vf2_vf2_vf2_(param_6, param_7, param_8, param_9);
-  if ((x_65 == 1)) {
-    float x_71 = v.tint_symbol_3.injectionSwitch.y;
-    float x_73 = v.tint_symbol_3.injectionSwitch.x;
-    if ((x_71 >= x_73)) {
-      x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-    }
-  } else {
-    x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 1.0f);
-  }
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:79: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:79: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/write-red-after-search/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/graphicsfuzz/write-red-after-search/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index 70cbaaa..0000000
--- a/test/tint/vk-gl-cts/graphicsfuzz/write-red-after-search/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,449 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct BST {
-  int data;
-  int leftIndex;
-  int rightIndex;
-};
-
-struct buf0 {
-  vec2 injectionSwitch;
-};
-
-struct Obj {
-  float odd_numbers[10];
-  float even_numbers[10];
-};
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-BST tree_1[10] = BST[10](BST(0, 0, 0), BST(0, 0, 0), BST(0, 0, 0), BST(0, 0, 0), BST(0, 0, 0), BST(0, 0, 0), BST(0, 0, 0), BST(0, 0, 0), BST(0, 0, 0), BST(0, 0, 0));
-layout(binding = 0, std140)
-uniform tint_symbol_4_1_ubo {
-  buf0 tint_symbol_3;
-} v_1;
-vec4 tint_symbol = vec4(0.0f);
-vec4 x_GLF_color = vec4(0.0f);
-layout(location = 0) out vec4 tint_symbol_1_loc0_Output;
-void makeTreeNode_struct_BST_i1_i1_i11_i1_(inout BST tree, inout int data) {
-  int x_74 = data;
-  tree.data = x_74;
-  tree.leftIndex = -1;
-  tree.rightIndex = -1;
-}
-void insert_i1_i1_(inout int treeIndex, inout int data_1) {
-  int baseIndex = 0;
-  BST param = BST(0, 0, 0);
-  int param_1 = 0;
-  BST param_2 = BST(0, 0, 0);
-  int param_3 = 0;
-  int GLF_live8i = 0;
-  float GLF_live8A[50] = float[50](0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
-  baseIndex = 0;
-  {
-    while(true) {
-      int x_75 = baseIndex;
-      int x_76 = treeIndex;
-      if ((x_75 <= x_76)) {
-      } else {
-        break;
-      }
-      int x_77 = data_1;
-      int x_78 = baseIndex;
-      int x_79 = tree_1[x_78].data;
-      if ((x_77 <= x_79)) {
-        int x_80 = baseIndex;
-        int x_81 = tree_1[x_80].leftIndex;
-        if ((x_81 == -1)) {
-          int x_82 = baseIndex;
-          int x_83 = treeIndex;
-          tree_1[x_82].leftIndex = x_83;
-          int x_84 = treeIndex;
-          BST x_350 = tree_1[x_84];
-          param = x_350;
-          int x_85 = data_1;
-          param_1 = x_85;
-          makeTreeNode_struct_BST_i1_i1_i11_i1_(param, param_1);
-          BST x_352 = param;
-          tree_1[x_84] = x_352;
-          return;
-        } else {
-          int x_86 = baseIndex;
-          int x_87 = tree_1[x_86].leftIndex;
-          baseIndex = x_87;
-          {
-          }
-          continue;
-        }
-      } else {
-        int x_88 = baseIndex;
-        int x_89 = tree_1[x_88].rightIndex;
-        if ((x_89 == -1)) {
-          int x_90 = baseIndex;
-          int x_91 = treeIndex;
-          tree_1[x_90].rightIndex = x_91;
-          int x_92 = treeIndex;
-          BST x_362 = tree_1[x_92];
-          param_2 = x_362;
-          int x_93 = data_1;
-          param_3 = x_93;
-          makeTreeNode_struct_BST_i1_i1_i11_i1_(param_2, param_3);
-          BST x_364 = param_2;
-          tree_1[x_92] = x_364;
-          return;
-        } else {
-          GLF_live8i = 1;
-          int x_94 = GLF_live8i;
-          int x_95 = GLF_live8i;
-          int x_96 = GLF_live8i;
-          int x_369 = ((((x_94 >= 0) & (x_95 < 50))) ? (x_96) : (0));
-          float x_371 = GLF_live8A[0];
-          float x_373 = GLF_live8A[x_369];
-          GLF_live8A[x_369] = (x_373 + x_371);
-          {
-            while(true) {
-              int x_97 = baseIndex;
-              int x_98 = tree_1[x_97].rightIndex;
-              baseIndex = x_98;
-              {
-                float x_382 = v_1.tint_symbol_3.injectionSwitch.x;
-                float x_384 = v_1.tint_symbol_3.injectionSwitch.y;
-                if (!((x_382 > x_384))) { break; }
-              }
-              continue;
-            }
-          }
-          {
-          }
-          continue;
-        }
-      }
-      /* unreachable */
-    }
-  }
-}
-int search_i1_(inout int t) {
-  int index = 0;
-  BST currentNode = BST(0, 0, 0);
-  int x_387 = 0;
-  index = 0;
-  {
-    while(true) {
-      int x_99 = index;
-      if ((x_99 != -1)) {
-      } else {
-        break;
-      }
-      int x_100 = index;
-      BST x_395 = tree_1[x_100];
-      currentNode = x_395;
-      int x_101 = currentNode.data;
-      int x_102 = t;
-      if ((x_101 == x_102)) {
-        int x_103 = t;
-        return x_103;
-      }
-      int x_104 = t;
-      int x_105 = currentNode.data;
-      if ((x_104 > x_105)) {
-        int x_106 = currentNode.rightIndex;
-        x_387 = x_106;
-      } else {
-        int x_107 = currentNode.leftIndex;
-        x_387 = x_107;
-      }
-      int x_108 = x_387;
-      index = x_108;
-      {
-      }
-      continue;
-    }
-  }
-  return -1;
-}
-float makeFrame_f1_(inout float v) {
-  int param_5 = 0;
-  int param_6 = 0;
-  int param_7 = 0;
-  float x_418 = v;
-  v = (x_418 * 6.5f);
-  float x_420 = v;
-  if ((x_420 < 1.5f)) {
-    param_5 = 100;
-    int x_110 = search_i1_(param_5);
-    return float(x_110);
-  }
-  float x_425 = v;
-  if ((x_425 < 4.0f)) {
-    return 0.0f;
-  }
-  float x_429 = v;
-  param_6 = 6;
-  int x_111 = search_i1_(param_6);
-  if ((x_429 < float(x_111))) {
-    return 1.0f;
-  }
-  param_7 = 30;
-  int x_112 = search_i1_(param_7);
-  return (10.0f + float(x_112));
-}
-vec3 hueColor_f1_(inout float angle) {
-  float nodeData = 0.0f;
-  int param_4 = 0;
-  param_4 = 15;
-  int x_109 = search_i1_(param_4);
-  nodeData = float(x_109);
-  float x_409 = angle;
-  float x_410 = nodeData;
-  return ((vec3(30.0f) + (vec3(1.0f, 5.0f, x_410) * x_409)) / vec3(50.0f));
-}
-void main_1() {
-  int treeIndex_1 = 0;
-  BST param_8 = BST(0, 0, 0);
-  int param_9 = 0;
-  int param_10 = 0;
-  int param_11 = 0;
-  int GLF_live1_looplimiter2 = 0;
-  int GLF_live1i = 0;
-  int param_12 = 0;
-  int param_13 = 0;
-  int param_14 = 0;
-  int param_15 = 0;
-  int param_16 = 0;
-  int param_17 = 0;
-  int param_18 = 0;
-  int param_19 = 0;
-  int param_20 = 0;
-  int param_21 = 0;
-  int param_22 = 0;
-  int param_23 = 0;
-  int GLF_live4_looplimiter3 = 0;
-  int GLF_live4i = 0;
-  int GLF_live4index = 0;
-  Obj GLF_live4obj = Obj(float[10](0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f), float[10](0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f));
-  int param_24 = 0;
-  int param_25 = 0;
-  int param_26 = 0;
-  int param_27 = 0;
-  vec2 z = vec2(0.0f);
-  float x = 0.0f;
-  float param_28 = 0.0f;
-  float y = 0.0f;
-  float param_29 = 0.0f;
-  int sum = 0;
-  int t_1 = 0;
-  int result = 0;
-  int param_30 = 0;
-  float a = 0.0f;
-  vec3 x_235 = vec3(0.0f);
-  float param_31 = 0.0f;
-  treeIndex_1 = 0;
-  BST x_237 = tree_1[0];
-  param_8 = x_237;
-  param_9 = 9;
-  makeTreeNode_struct_BST_i1_i1_i11_i1_(param_8, param_9);
-  BST x_239 = param_8;
-  tree_1[0] = x_239;
-  int x_113 = treeIndex_1;
-  treeIndex_1 = (x_113 + 1);
-  int x_115 = treeIndex_1;
-  param_10 = x_115;
-  param_11 = 5;
-  insert_i1_i1_(param_10, param_11);
-  int x_116 = treeIndex_1;
-  treeIndex_1 = (x_116 + 1);
-  GLF_live1_looplimiter2 = 0;
-  GLF_live1i = 0;
-  {
-    while(true) {
-      if (true) {
-      } else {
-        break;
-      }
-      int x_118 = GLF_live1_looplimiter2;
-      if ((x_118 >= 7)) {
-        break;
-      }
-      int x_119 = GLF_live1_looplimiter2;
-      GLF_live1_looplimiter2 = (x_119 + 1);
-      {
-        int x_121 = GLF_live1i;
-        GLF_live1i = (x_121 + 1);
-      }
-      continue;
-    }
-  }
-  int x_123 = treeIndex_1;
-  param_12 = x_123;
-  param_13 = 12;
-  insert_i1_i1_(param_12, param_13);
-  int x_124 = treeIndex_1;
-  treeIndex_1 = (x_124 + 1);
-  int x_126 = treeIndex_1;
-  param_14 = x_126;
-  param_15 = 15;
-  insert_i1_i1_(param_14, param_15);
-  int x_127 = treeIndex_1;
-  treeIndex_1 = (x_127 + 1);
-  int x_129 = treeIndex_1;
-  param_16 = x_129;
-  param_17 = 7;
-  insert_i1_i1_(param_16, param_17);
-  int x_130 = treeIndex_1;
-  treeIndex_1 = (x_130 + 1);
-  int x_132 = treeIndex_1;
-  param_18 = x_132;
-  param_19 = 8;
-  insert_i1_i1_(param_18, param_19);
-  int x_133 = treeIndex_1;
-  treeIndex_1 = (x_133 + 1);
-  int x_135 = treeIndex_1;
-  param_20 = x_135;
-  param_21 = 2;
-  insert_i1_i1_(param_20, param_21);
-  int x_136 = treeIndex_1;
-  treeIndex_1 = (x_136 + 1);
-  int x_138 = treeIndex_1;
-  param_22 = x_138;
-  param_23 = 6;
-  insert_i1_i1_(param_22, param_23);
-  int x_139 = treeIndex_1;
-  treeIndex_1 = (x_139 + 1);
-  GLF_live4_looplimiter3 = 0;
-  GLF_live4i = 0;
-  {
-    while(true) {
-      if (true) {
-      } else {
-        break;
-      }
-      int x_141 = GLF_live4_looplimiter3;
-      if ((x_141 >= 3)) {
-        break;
-      }
-      int x_142 = GLF_live4_looplimiter3;
-      GLF_live4_looplimiter3 = (x_142 + 1);
-      GLF_live4index = 1;
-      int x_144 = GLF_live4index;
-      int x_145 = GLF_live4index;
-      int x_146 = GLF_live4index;
-      float x_269 = GLF_live4obj.even_numbers[1];
-      GLF_live4obj.even_numbers[((((x_144 >= 0) & (x_145 < 10))) ? (x_146) : (0))] = x_269;
-      int x_147 = GLF_live4i;
-      int x_148 = GLF_live4i;
-      int x_149 = GLF_live4i;
-      GLF_live4obj.even_numbers[((((x_147 >= 0) & (x_148 < 10))) ? (x_149) : (0))] = 1.0f;
-      {
-        int x_150 = GLF_live4i;
-        GLF_live4i = (x_150 + 1);
-      }
-      continue;
-    }
-  }
-  int x_152 = treeIndex_1;
-  param_24 = x_152;
-  param_25 = 17;
-  insert_i1_i1_(param_24, param_25);
-  float x_278 = v_1.tint_symbol_3.injectionSwitch.x;
-  float x_280 = v_1.tint_symbol_3.injectionSwitch.y;
-  if ((x_278 > x_280)) {
-    return;
-  }
-  int x_153 = treeIndex_1;
-  treeIndex_1 = (x_153 + 1);
-  int x_155 = treeIndex_1;
-  param_26 = x_155;
-  param_27 = 13;
-  insert_i1_i1_(param_26, param_27);
-  vec4 x_285 = tint_symbol;
-  z = (vec2(x_285[1u], x_285[0u]) / vec2(256.0f));
-  float x_289 = z.x;
-  param_28 = x_289;
-  float x_290 = makeFrame_f1_(param_28);
-  x = x_290;
-  float x_292 = z.y;
-  param_29 = x_292;
-  float x_293 = makeFrame_f1_(param_29);
-  y = x_293;
-  sum = -100;
-  t_1 = 0;
-  {
-    while(true) {
-      int x_156 = t_1;
-      if ((x_156 < 20)) {
-      } else {
-        break;
-      }
-      int x_157 = t_1;
-      param_30 = x_157;
-      int x_158 = search_i1_(param_30);
-      result = x_158;
-      int x_159 = result;
-      if ((x_159 > 0)) {
-      } else {
-        int x_160 = result;
-        switch(x_160) {
-          case 0:
-          {
-            return;
-          }
-          case -1:
-          {
-            int x_161 = sum;
-            sum = (x_161 + 1);
-            break;
-          }
-          default:
-          {
-            break;
-          }
-        }
-      }
-      {
-        int x_163 = t_1;
-        t_1 = (x_163 + 1);
-      }
-      continue;
-    }
-  }
-  float x_307 = x;
-  float x_308 = y;
-  int x_165 = sum;
-  a = (x_307 + (x_308 * float(x_165)));
-  float x_313 = v_1.tint_symbol_3.injectionSwitch.x;
-  float x_315 = v_1.tint_symbol_3.injectionSwitch.y;
-  if ((x_313 < x_315)) {
-    x_235 = vec3(1.0f, 0.0f, 0.0f);
-  } else {
-    float x_320 = a;
-    param_31 = x_320;
-    vec3 x_321 = hueColor_f1_(param_31);
-    x_235 = x_321;
-  }
-  vec3 x_322 = x_235;
-  x_GLF_color = vec4(x_322[0u], x_322[1u], x_322[2u], 1.0f);
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(x_GLF_color);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).x_GLF_color_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:104: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:104: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/uint_sdiv/0-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/uint_sdiv/0-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index d640cd6..0000000
--- a/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/uint_sdiv/0-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,43 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-uvec3 x_2 = uvec3(0u);
-layout(binding = 0, std430)
-buffer S_1_ssbo {
-  uint field0[];
-} x_5;
-layout(binding = 1, std430)
-buffer S_2_ssbo {
-  uint field0[];
-} x_6;
-layout(binding = 2, std430)
-buffer S_3_ssbo {
-  uint field0[];
-} x_7;
-int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
-}
-void main_1() {
-  uint x_20 = x_2.x;
-  int v = int(x_5.field0[x_20]);
-  x_7.field0[x_20] = uint(tint_div_i32(v, int(x_6.field0[x_20])));
-}
-void tint_symbol_inner(uvec3 x_2_param) {
-  x_2 = x_2_param;
-  main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  tint_symbol_inner(gl_GlobalInvocationID);
-}
-error: Error parsing GLSL shader:
-ERROR: 0:17: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:17: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:17: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/uint_sdiv/0-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/uint_sdiv/0-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index 5fe5dd3..0000000
--- a/test/tint/vk-gl-cts/spirv_assembly/instruction/compute/signed_op/uint_sdiv/0-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,45 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-
-uvec3 x_2 = uvec3(0u);
-layout(binding = 0, std430)
-buffer S_1_ssbo {
-  uint field0[];
-} x_5;
-layout(binding = 1, std430)
-buffer S_2_ssbo {
-  uint field0[];
-} x_6;
-layout(binding = 2, std430)
-buffer S_3_ssbo {
-  uint field0[];
-} x_7;
-int tint_div_i32(int lhs, int rhs) {
-  return (lhs / ((((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))) ? (1) : (rhs)));
-}
-void main_1() {
-  uint x_20 = x_2.x;
-  uint x_22 = x_5.field0[x_20];
-  uint x_24 = x_6.field0[x_20];
-  int v = int(x_22);
-  x_7.field0[x_20] = uint(tint_div_i32(v, int(x_24)));
-}
-void tint_symbol_inner(uvec3 x_2_param) {
-  x_2 = x_2_param;
-  main_1();
-}
-layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
-void main() {
-  tint_symbol_inner(gl_GlobalInvocationID);
-}
-error: Error parsing GLSL shader:
-ERROR: 0:17: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:17: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:17: '' : compilation terminated 
-ERROR: 3 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/no_output_write/2-opt.spvasm.expected.ir.glsl b/test/tint/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/no_output_write/2-opt.spvasm.expected.ir.glsl
deleted file mode 100644
index 9041752..0000000
--- a/test/tint/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/no_output_write/2-opt.spvasm.expected.ir.glsl
+++ /dev/null
@@ -1,41 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct main_out {
-  int out_data_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-int out_data = 0;
-layout(location = 0) out int tint_symbol_1_loc0_Output;
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  bool x_is_odd = false;
-  bool y_is_odd = false;
-  x_is_odd = ((tint_f32_to_i32(tint_symbol.x) & 1) == 1);
-  y_is_odd = ((tint_f32_to_i32(tint_symbol.y) & 1) == 1);
-  out_data = (((x_is_odd | y_is_odd)) ? (1) : (0));
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(out_data);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).out_data_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:21: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:21: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1
diff --git a/test/tint/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/no_output_write/2-opt.wgsl.expected.ir.glsl b/test/tint/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/no_output_write/2-opt.wgsl.expected.ir.glsl
deleted file mode 100644
index b401a77..0000000
--- a/test/tint/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/no_output_write/2-opt.wgsl.expected.ir.glsl
+++ /dev/null
@@ -1,45 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision highp float;
-precision highp int;
-
-
-struct main_out {
-  int out_data_1;
-};
-
-vec4 tint_symbol = vec4(0.0f);
-int out_data = 0;
-layout(location = 0) out int tint_symbol_1_loc0_Output;
-int tint_f32_to_i32(float value) {
-  return (((value <= 2147483520.0f)) ? ((((value >= -2147483648.0f)) ? (int(value)) : ((-2147483647 - 1)))) : (2147483647));
-}
-void main_1() {
-  bool x_is_odd = false;
-  bool y_is_odd = false;
-  float x_24 = tint_symbol.x;
-  x_is_odd = ((tint_f32_to_i32(x_24) & 1) == 1);
-  float x_29 = tint_symbol.y;
-  y_is_odd = ((tint_f32_to_i32(x_29) & 1) == 1);
-  bool x_33 = x_is_odd;
-  bool x_34 = y_is_odd;
-  out_data = (((x_33 | x_34)) ? (1) : (0));
-}
-main_out tint_symbol_1_inner(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  return main_out(out_data);
-}
-void main() {
-  tint_symbol_1_loc0_Output = tint_symbol_1_inner(gl_FragCoord).out_data_1;
-}
-error: Error parsing GLSL shader:
-ERROR: 0:25: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:25: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
-
-tint executable returned error: exit status 1