GLSL: implement bitwise & and | on boolean types.

Bug: tint:1427
Change-Id: Ide2b89ac5f61237d0d39c1210dadaf9587c5db97
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/80360
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Stephen White <senorblanco@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
diff --git a/src/writer/glsl/generator_impl.cc b/src/writer/glsl/generator_impl.cc
index 2331565..66bf4da 100644
--- a/src/writer/glsl/generator_impl.cc
+++ b/src/writer/glsl/generator_impl.cc
@@ -324,6 +324,54 @@
   return true;
 }
 
+bool GeneratorImpl::EmitBitwiseBoolOp(std::ostream& out,
+                                      const ast::BinaryExpression* expr) {
+  auto* bool_type = TypeOf(expr->lhs)->UnwrapRef();
+  auto* uint_type = BoolTypeToUint(bool_type);
+
+  // Cast result to bool scalar or vector type.
+  if (!EmitType(out, bool_type, ast::StorageClass::kNone,
+                ast::Access::kReadWrite, "")) {
+    return false;
+  }
+  ScopedParen outerCastParen(out);
+  // Cast LHS to uint scalar or vector type.
+  if (!EmitType(out, uint_type, ast::StorageClass::kNone,
+                ast::Access::kReadWrite, "")) {
+    return false;
+  }
+  {
+    ScopedParen innerCastParen(out);
+    // Emit LHS.
+    if (!EmitExpression(out, expr->lhs)) {
+      return false;
+    }
+  }
+  // Emit operator.
+  if (expr->op == ast::BinaryOp::kAnd) {
+    out << " & ";
+  } else if (expr->op == ast::BinaryOp::kOr) {
+    out << " | ";
+  } else {
+    TINT_ICE(Writer, diagnostics_)
+        << "unexpected binary op: " << FriendlyName(expr->op);
+    return false;
+  }
+  // Cast RHS to uint scalar or vector type.
+  if (!EmitType(out, uint_type, ast::StorageClass::kNone,
+                ast::Access::kReadWrite, "")) {
+    return false;
+  }
+  {
+    ScopedParen innerCastParen(out);
+    // Emit RHS.
+    if (!EmitExpression(out, expr->rhs)) {
+      return false;
+    }
+  }
+  return true;
+}
+
 bool GeneratorImpl::EmitBinary(std::ostream& out,
                                const ast::BinaryExpression* expr) {
   if (IsRelational(expr->op) && !TypeOf(expr->lhs)->UnwrapRef()->is_scalar()) {
@@ -363,6 +411,10 @@
     out << "(" << name << ")";
     return true;
   }
+  if ((expr->op == ast::BinaryOp::kAnd || expr->op == ast::BinaryOp::kOr) &&
+      TypeOf(expr->lhs)->UnwrapRef()->is_bool_scalar_or_vector()) {
+    return EmitBitwiseBoolOp(out, expr);
+  }
 
   out << "(";
   if (!EmitExpression(out, expr->lhs)) {
@@ -2737,6 +2789,17 @@
   return true;
 }
 
+sem::Type* GeneratorImpl::BoolTypeToUint(const sem::Type* type) {
+  auto* u32 = builder_.create<sem::U32>();
+  if (type->Is<sem::Bool>()) {
+    return u32;
+  } else if (auto* vec = type->As<sem::Vector>()) {
+    return builder_.create<sem::Vector>(u32, vec->Width());
+  } else {
+    return nullptr;
+  }
+}
+
 }  // namespace glsl
 }  // namespace writer
 }  // namespace tint
diff --git a/src/writer/glsl/generator_impl.h b/src/writer/glsl/generator_impl.h
index 886cf9e..c03d1b7 100644
--- a/src/writer/glsl/generator_impl.h
+++ b/src/writer/glsl/generator_impl.h
@@ -73,6 +73,11 @@
   /// @param stmt the statement to emit
   /// @returns true if the statement was emitted successfully
   bool EmitAssign(const ast::AssignmentStatement* stmt);
+  /// Handles emission of bitwise operators (&|) on bool scalars and vectors
+  /// @param out the output of the expression stream
+  /// @param expr the binary expression
+  /// @returns true if the expression was emitted, false otherwise
+  bool EmitBitwiseBoolOp(std::ostream& out, const ast::BinaryExpression* expr);
   /// Handles generating a binary expression
   /// @param out the output of the expression stream
   /// @param expr the binary expression
@@ -470,6 +475,11 @@
                          const sem::Builtin* builtin,
                          F&& build);
 
+  /// Create a uint type corresponding to the given bool or bool vector type.
+  /// @param type the bool or bool vector type to convert
+  /// @returns the corresponding uint type
+  sem::Type* BoolTypeToUint(const sem::Type* type);
+
   TextBuffer helpers_;  // Helper functions emitted at the top of the output
   std::function<bool()> emit_continuing_;
   std::unordered_map<DMAIntrinsic, std::string, DMAIntrinsic::Hasher>
diff --git a/test/benchmark/particles.wgsl.expected.glsl b/test/benchmark/particles.wgsl.expected.glsl
index 399de23..b0eccd3 100644
--- a/test/benchmark/particles.wgsl.expected.glsl
+++ b/test/benchmark/particles.wgsl.expected.glsl
@@ -185,7 +185,7 @@
       for(int level = (textureQueryLevels(tint_symbol_1); - 1); (level > 0); level = (level - 1)) {
         vec4 probabilites = texelFetch(tint_symbol_1, coord, level);
         vec4 value = vec4(rand());
-        bvec4 mask = (greaterThanEqual(value, vec4(0.0f, probabilites.xyz)) & lessThan(value, probabilites));
+        bvec4 mask = bvec4(uvec4(greaterThanEqual(value, vec4(0.0f, probabilites.xyz))) & uvec4(lessThan(value, probabilites)));
         coord = (coord * 2);
         coord.x = (coord.x + (any(mask.yw) ? 1 : 0));
         coord.y = (coord.y + (any(mask.zw) ? 1 : 0));
diff --git a/test/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_UseInPhiCountsAsUse.spvasm.expected.glsl b/test/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_UseInPhiCountsAsUse.spvasm.expected.glsl
deleted file mode 100644
index 6def1e9..0000000
--- a/test/unittest/reader/spirv/SpvParserFunctionVarTest_EmitStatement_UseInPhiCountsAsUse.spvasm.expected.glsl
+++ /dev/null
@@ -1,38 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-struct S {
-  uint field0;
-  float field1;
-  uint field2[2];
-};
-
-void main_1() {
-  bool x_101_phi = false;
-  bool x_11 = (true & true);
-  bool x_12 = !(x_11);
-  x_101_phi = x_11;
-  if (true) {
-    x_101_phi = x_12;
-  }
-  bool x_101 = x_101_phi;
-  return;
-}
-
-void tint_symbol() {
-  main_1();
-}
-
-void main() {
-  tint_symbol();
-  return;
-}
-Error parsing GLSL shader:
-ERROR: 0:12: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' const bool' and a right operand of type ' const bool' (or there is no acceptable conversion)
-ERROR: 0:12: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/unittest/reader/spirv/SpvParserTest_LogicalAnd_SpvBinaryLogicalTest_EmitExpression_0.spvasm.expected.glsl b/test/unittest/reader/spirv/SpvParserTest_LogicalAnd_SpvBinaryLogicalTest_EmitExpression_0.spvasm.expected.glsl
deleted file mode 100644
index 55da344..0000000
--- a/test/unittest/reader/spirv/SpvParserTest_LogicalAnd_SpvBinaryLogicalTest_EmitExpression_0.spvasm.expected.glsl
+++ /dev/null
@@ -1,25 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-void main_1() {
-  bool x_1 = (true & false);
-  return;
-}
-
-void tint_symbol() {
-  main_1();
-}
-
-void main() {
-  tint_symbol();
-  return;
-}
-Error parsing GLSL shader:
-ERROR: 0:5: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' const bool' and a right operand of type ' const bool' (or there is no acceptable conversion)
-ERROR: 0:5: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/unittest/reader/spirv/SpvParserTest_LogicalAnd_SpvBinaryLogicalTest_EmitExpression_1.spvasm.expected.glsl b/test/unittest/reader/spirv/SpvParserTest_LogicalAnd_SpvBinaryLogicalTest_EmitExpression_1.spvasm.expected.glsl
deleted file mode 100644
index 2a8b795..0000000
--- a/test/unittest/reader/spirv/SpvParserTest_LogicalAnd_SpvBinaryLogicalTest_EmitExpression_1.spvasm.expected.glsl
+++ /dev/null
@@ -1,25 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-void main_1() {
-  bvec2 x_1 = (bvec2(true, false) & bvec2(false, true));
-  return;
-}
-
-void tint_symbol() {
-  main_1();
-}
-
-void main() {
-  tint_symbol();
-  return;
-}
-Error parsing GLSL shader:
-ERROR: 0:5: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' const 2-component vector of bool' and a right operand of type ' const 2-component vector of bool' (or there is no acceptable conversion)
-ERROR: 0:5: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/unittest/reader/spirv/SpvParserTest_LogicalOr_SpvBinaryLogicalTest_EmitExpression_0.spvasm.expected.glsl b/test/unittest/reader/spirv/SpvParserTest_LogicalOr_SpvBinaryLogicalTest_EmitExpression_0.spvasm.expected.glsl
deleted file mode 100644
index b8752ad..0000000
--- a/test/unittest/reader/spirv/SpvParserTest_LogicalOr_SpvBinaryLogicalTest_EmitExpression_0.spvasm.expected.glsl
+++ /dev/null
@@ -1,25 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-void main_1() {
-  bool x_1 = (true | false);
-  return;
-}
-
-void tint_symbol() {
-  main_1();
-}
-
-void main() {
-  tint_symbol();
-  return;
-}
-Error parsing GLSL shader:
-ERROR: 0:5: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' const bool' and a right operand of type ' const bool' (or there is no acceptable conversion)
-ERROR: 0:5: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/unittest/reader/spirv/SpvParserTest_LogicalOr_SpvBinaryLogicalTest_EmitExpression_1.spvasm.expected.glsl b/test/unittest/reader/spirv/SpvParserTest_LogicalOr_SpvBinaryLogicalTest_EmitExpression_1.spvasm.expected.glsl
deleted file mode 100644
index e83a55d..0000000
--- a/test/unittest/reader/spirv/SpvParserTest_LogicalOr_SpvBinaryLogicalTest_EmitExpression_1.spvasm.expected.glsl
+++ /dev/null
@@ -1,25 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-void main_1() {
-  bvec2 x_1 = (bvec2(true, false) | bvec2(false, true));
-  return;
-}
-
-void tint_symbol() {
-  main_1();
-}
-
-void main() {
-  tint_symbol();
-  return;
-}
-Error parsing GLSL shader:
-ERROR: 0:5: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' const 2-component vector of bool' and a right operand of type ' const 2-component vector of bool' (or there is no acceptable conversion)
-ERROR: 0:5: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/vk-gl-cts/graphicsfuzz/control-flow-in-function/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/control-flow-in-function/0-opt.spvasm.expected.glsl
deleted file mode 100644
index 237995c..0000000
--- a/test/vk-gl-cts/graphicsfuzz/control-flow-in-function/0-opt.spvasm.expected.glsl
+++ /dev/null
@@ -1,216 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-layout(location = 0) out vec4 x_GLF_color_1_1;
-struct buf0 {
-  vec2 injectionSwitch;
-};
-
-layout(binding = 0) uniform buf0_1 {
-  vec2 injectionSwitch;
-} x_25;
-
-vec4 tint_symbol = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-vec3 drawShape_vf2_(inout vec2 pos) {
-  bool c2 = false;
-  bool c3 = false;
-  bool c4 = false;
-  bool c5 = false;
-  bool c6 = false;
-  int GLF_live4i = 0;
-  int GLF_live4_looplimiter5 = 0;
-  mat4x2 GLF_live7m42 = mat4x2(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
-  mat3 GLF_live7m33 = mat3(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
-  int GLF_live7cols = 0;
-  int GLF_live7_looplimiter3 = 0;
-  int GLF_live7rows = 0;
-  int GLF_live7_looplimiter2 = 0;
-  int GLF_live7_looplimiter1 = 0;
-  int GLF_live7c = 0;
-  int GLF_live7r = 0;
-  int GLF_live7_looplimiter0 = 0;
-  int GLF_live7sum_index = 0;
-  int GLF_live7_looplimiter7 = 0;
-  int GLF_live7cols_1 = 0;
-  int GLF_live7rows_1 = 0;
-  float GLF_live7sums[9] = float[9](0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
-  int GLF_live7c_1 = 0;
-  int GLF_live7r_1 = 0;
-  int x_180 = 0;
-  mat3 indexable = mat3(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
-  float x_182 = pos.x;
-  c2 = (x_182 > 1.0f);
-  if (c2) {
-    return vec3(1.0f, 1.0f, 1.0f);
-  }
-  float x_188 = pos.y;
-  c3 = (x_188 < 1.0f);
-  if (c3) {
-    return vec3(1.0f, 1.0f, 1.0f);
-  }
-  float x_194 = pos.y;
-  c4 = (x_194 > 1.0f);
-  if (c4) {
-    return vec3(1.0f, 1.0f, 1.0f);
-  }
-  float x_200 = pos.x;
-  c5 = (x_200 < 1.0f);
-  if (c5) {
-    return vec3(1.0f, 1.0f, 1.0f);
-  }
-  float x_206 = pos.x;
-  c6 = ((x_206 + 1.0f) > 1.0f);
-  if (c6) {
-    return vec3(1.0f, 1.0f, 1.0f);
-  }
-  GLF_live4i = 0;
-  {
-    for(; (GLF_live4i < 4); GLF_live4i = (GLF_live4i + 1)) {
-      if ((GLF_live4_looplimiter5 >= 7)) {
-        break;
-      }
-      GLF_live4_looplimiter5 = (GLF_live4_looplimiter5 + 1);
-      GLF_live7m42 = mat4x2(vec2(1.0f, 0.0f), vec2(0.0f, 1.0f), vec2(0.0f, 0.0f), vec2(1.0f, 0.0f));
-      GLF_live7m33 = mat3(vec3(1.0f, 0.0f, 0.0f), vec3(0.0f, 1.0f, 0.0f), vec3(0.0f, 0.0f, 1.0f));
-      GLF_live7cols = 2;
-      {
-        for(; (GLF_live7cols < 4); GLF_live7cols = (GLF_live7cols + 1)) {
-          if ((GLF_live7_looplimiter3 >= 7)) {
-            break;
-          }
-          GLF_live7_looplimiter3 = (GLF_live7_looplimiter3 + 1);
-          GLF_live7rows = 2;
-          {
-            for(; (GLF_live7rows < 4); GLF_live7rows = (GLF_live7rows + 1)) {
-              if ((GLF_live7_looplimiter2 >= 7)) {
-                break;
-              }
-              GLF_live7_looplimiter2 = (GLF_live7_looplimiter2 + 1);
-              GLF_live7_looplimiter1 = 0;
-              GLF_live7c = 0;
-              {
-                for(; (GLF_live7c < 3); GLF_live7c = (GLF_live7c + 1)) {
-                  if ((GLF_live7_looplimiter1 >= 7)) {
-                    break;
-                  }
-                  GLF_live7_looplimiter1 = (GLF_live7_looplimiter1 + 1);
-                  GLF_live7r = 0;
-                  {
-                    for(; (GLF_live7r < 2); GLF_live7r = (GLF_live7r + 1)) {
-                      if ((GLF_live7_looplimiter0 >= 7)) {
-                        break;
-                      }
-                      GLF_live7_looplimiter0 = (GLF_live7_looplimiter0 + 1);
-                      GLF_live7m33[(((GLF_live7c >= 0) & (GLF_live7c < 3)) ? GLF_live7c : 0)][(((GLF_live7r >= 0) & (GLF_live7r < 3)) ? GLF_live7r : 0)] = 1.0f;
-                      float x_267 = x_25.injectionSwitch.y;
-                      if ((0.0f > x_267)) {
-                      } else {
-                        GLF_live7m42[(((GLF_live7c >= 0) & (GLF_live7c < 4)) ? GLF_live7c : 0)][(((GLF_live7r >= 0) & (GLF_live7r < 2)) ? GLF_live7r : 0)] = 1.0f;
-                      }
-                    }
-                  }
-                }
-              }
-            }
-          }
-        }
-      }
-      GLF_live7sum_index = 0;
-      GLF_live7_looplimiter7 = 0;
-      GLF_live7cols_1 = 2;
-      {
-        for(; (GLF_live7cols_1 < 4); GLF_live7cols_1 = (GLF_live7cols_1 + 1)) {
-          if ((GLF_live7_looplimiter7 >= 7)) {
-            break;
-          }
-          GLF_live7_looplimiter7 = (GLF_live7_looplimiter7 + 1);
-          GLF_live7rows_1 = 2;
-          GLF_live7sums[(((GLF_live7sum_index >= 0) & (GLF_live7sum_index < 9)) ? GLF_live7sum_index : 0)] = 0.0f;
-          GLF_live7c_1 = 0;
-          {
-            for(; (GLF_live7c_1 < 1); GLF_live7c_1 = (GLF_live7c_1 + 1)) {
-              GLF_live7r_1 = 0;
-              {
-                for(; (GLF_live7r_1 < GLF_live7rows_1); GLF_live7r_1 = (GLF_live7r_1 + 1)) {
-                  int x_310 = (((GLF_live7sum_index >= 0) & (GLF_live7sum_index < 9)) ? GLF_live7sum_index : 0);
-                  mat3 x_312 = transpose(GLF_live7m33);
-                  if ((GLF_live7c_1 < 3)) {
-                    x_180 = 1;
-                  } else {
-                    float x_318 = x_25.injectionSwitch.x;
-                    x_180 = int(x_318);
-                  }
-                  int x_320 = x_180;
-                  int x_93 = GLF_live7r_1;
-                  indexable = x_312;
-                  float x_324 = indexable[x_320][((x_93 < 3) ? 1 : 0)];
-                  float x_326 = GLF_live7sums[x_310];
-                  GLF_live7sums[x_310] = (x_326 + x_324);
-                  int x_332 = (((GLF_live7sum_index >= 0) & (GLF_live7sum_index < 9)) ? GLF_live7sum_index : 0);
-                  float x_334 = GLF_live7m42[1][GLF_live7r_1];
-                  float x_336 = GLF_live7sums[x_332];
-                  GLF_live7sums[x_332] = (x_336 + x_334);
-                }
-              }
-            }
-          }
-          GLF_live7sum_index = (GLF_live7sum_index + 1);
-        }
-      }
-    }
-  }
-  return vec3(1.0f, 1.0f, 1.0f);
-}
-
-void main_1() {
-  vec2 position = vec2(0.0f, 0.0f);
-  vec2 param = vec2(0.0f, 0.0f);
-  vec2 param_1 = vec2(0.0f, 0.0f);
-  int i = 0;
-  vec2 param_2 = vec2(0.0f, 0.0f);
-  float x_161 = x_25.injectionSwitch.x;
-  if ((x_161 >= 2.0f)) {
-    vec4 x_165 = tint_symbol;
-    position = vec2(x_165.x, x_165.y);
-    param = position;
-    vec3 x_168 = drawShape_vf2_(param);
-    param_1 = position;
-    vec3 x_170 = drawShape_vf2_(param_1);
-    i = 25;
-    {
-      for(; (i > 0); i = (i - 1)) {
-        param_2 = position;
-        vec3 x_178 = drawShape_vf2_(param_2);
-      }
-    }
-  }
-  x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  return;
-}
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-main_out tint_symbol_1(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out tint_symbol_3 = main_out(x_GLF_color);
-  return tint_symbol_3;
-}
-
-void main() {
-  main_out inner_result = tint_symbol_1(gl_FragCoord);
-  x_GLF_color_1_1 = inner_result.x_GLF_color_1;
-  return;
-}
-Error parsing GLSL shader:
-ERROR: 0:105: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:105: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-apfloat-module-small-number/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-apfloat-module-small-number/0-opt.spvasm.expected.glsl
deleted file mode 100644
index 7ccedbd..0000000
--- a/test/vk-gl-cts/graphicsfuzz/cov-apfloat-module-small-number/0-opt.spvasm.expected.glsl
+++ /dev/null
@@ -1,99 +0,0 @@
-SKIP: FAILED
-
-warning: use of deprecated builtin
-#version 310 es
-precision mediump float;
-
-layout(location = 0) out vec4 x_GLF_color_1_1;
-struct strided_arr {
-  int el;
-};
-
-struct buf1 {
-  strided_arr x_GLF_uniform_int_values[2];
-};
-
-struct strided_arr_1 {
-  float el;
-};
-
-struct buf0 {
-  strided_arr_1 x_GLF_uniform_float_values[1];
-};
-
-vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-layout(binding = 1) uniform buf1_1 {
-  strided_arr x_GLF_uniform_int_values[2];
-} x_8;
-
-void main_1() {
-  float f0 = 0.0f;
-  float s1 = 0.0f;
-  float f1 = 0.0f;
-  bool x_72 = false;
-  bool x_73_phi = false;
-  f0 = (10.0f - (0.000001f * floor((10.0f / 0.000001f))));
-  s1 = 9.99999935e-39f;
-  if ((s1 == 0.0f)) {
-    s1 = 1.0f;
-  }
-  bool x_62 = false;
-  bool x_71 = false;
-  bool x_63_phi = false;
-  bool x_72_phi = false;
-  float x_42 = s1;
-  f1 = (10.0f - (x_42 * floor((10.0f / x_42))));
-  bool x_48 = (isinf(f1) | (s1 == 1.0f));
-  x_73_phi = x_48;
-  if (!(x_48)) {
-    bool x_54 = (f0 == f1);
-    x_63_phi = x_54;
-    if (!(x_54)) {
-      x_62 = ((f0 > 0.99000001f) & (f0 < 0.01f));
-      x_63_phi = x_62;
-    }
-    bool x_63 = x_63_phi;
-    x_72_phi = x_63;
-    if (!(x_63)) {
-      x_71 = ((f1 > 0.99000001f) & (f1 < 0.01f));
-      x_72_phi = x_71;
-    }
-    x_72 = x_72_phi;
-    x_73_phi = x_72;
-  }
-  if ((x_73_phi | (f1 == 10.0f))) {
-    int x_81 = x_8.x_GLF_uniform_int_values[1].el;
-    int x_84 = x_8.x_GLF_uniform_int_values[0].el;
-    int x_87 = x_8.x_GLF_uniform_int_values[0].el;
-    int x_90 = x_8.x_GLF_uniform_int_values[1].el;
-    x_GLF_color = vec4(float(x_81), float(x_84), float(x_87), float(x_90));
-  } else {
-    int x_94 = x_8.x_GLF_uniform_int_values[0].el;
-    float x_95 = float(x_94);
-    x_GLF_color = vec4(x_95, x_95, x_95, x_95);
-  }
-  return;
-}
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-main_out tint_symbol() {
-  main_1();
-  main_out tint_symbol_1 = main_out(x_GLF_color);
-  return tint_symbol_1;
-}
-
-void main() {
-  main_out inner_result = tint_symbol();
-  x_GLF_color_1_1 = inner_result.x_GLF_color_1;
-  return;
-}
-Error parsing GLSL shader:
-ERROR: 0:43: '|' :  wrong operand types: no operation '|' exists that takes a left-hand operand of type ' global bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:43: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-apfloat-tanh/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-apfloat-tanh/0-opt.spvasm.expected.glsl
deleted file mode 100644
index c42e697..0000000
--- a/test/vk-gl-cts/graphicsfuzz/cov-apfloat-tanh/0-opt.spvasm.expected.glsl
+++ /dev/null
@@ -1,44 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-layout(location = 0) out vec4 x_GLF_color_1_1;
-vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-void main_1() {
-  vec4 v = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-  float dist1 = 0.0f;
-  float dist2 = 0.0f;
-  v = vec4(1.0f, 2.0f, 3.0f, 4.0f);
-  dist1 = distance(tanh(v), (sinh(v) / cosh(v)));
-  dist2 = distance(tanh(v), vec4(0.761590004f, 0.964030027f, 0.995050013f, 0.999329984f));
-  if (((dist1 < 0.100000001f) & (dist2 < 0.100000001f))) {
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-  }
-  return;
-}
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-main_out tint_symbol() {
-  main_1();
-  main_out tint_symbol_1 = main_out(x_GLF_color);
-  return tint_symbol_1;
-}
-
-void main() {
-  main_out inner_result = tint_symbol();
-  x_GLF_color_1_1 = inner_result.x_GLF_color_1;
-  return;
-}
-Error parsing GLSL shader:
-ERROR: 0:13: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:13: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-const-folding-clamp-inside-while/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-const-folding-clamp-inside-while/0-opt.spvasm.expected.glsl
deleted file mode 100644
index c191135..0000000
--- a/test/vk-gl-cts/graphicsfuzz/cov-const-folding-clamp-inside-while/0-opt.spvasm.expected.glsl
+++ /dev/null
@@ -1,50 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-layout(location = 0) out vec4 x_GLF_color_1_1;
-vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-void main_1() {
-  int i = 0;
-  int j = 0;
-  i = 0;
-  j = 1;
-  while (true) {
-    if ((i < clamp(j, 5, 9))) {
-    } else {
-      break;
-    }
-    i = (i + 1);
-    j = (j + 1);
-  }
-  if (((i == 9) & (j == 10))) {
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-  }
-  return;
-}
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-main_out tint_symbol() {
-  main_1();
-  main_out tint_symbol_1 = main_out(x_GLF_color);
-  return tint_symbol_1;
-}
-
-void main() {
-  main_out inner_result = tint_symbol();
-  x_GLF_color_1_1 = inner_result.x_GLF_color_1;
-  return;
-}
-Error parsing GLSL shader:
-ERROR: 0:19: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:19: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-constant-folding-atan-over-tanh/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-constant-folding-atan-over-tanh/0-opt.spvasm.expected.glsl
deleted file mode 100644
index f5fd0fd..0000000
--- a/test/vk-gl-cts/graphicsfuzz/cov-constant-folding-atan-over-tanh/0-opt.spvasm.expected.glsl
+++ /dev/null
@@ -1,40 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-layout(location = 0) out vec4 x_GLF_color_1_1;
-vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-void main_1() {
-  float f = 0.0f;
-  f = atan(1.0f, tanh(1.0f));
-  if (((f > 0.910000026f) & (f < 0.930000007f))) {
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-  }
-  return;
-}
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-main_out tint_symbol() {
-  main_1();
-  main_out tint_symbol_1 = main_out(x_GLF_color);
-  return tint_symbol_1;
-}
-
-void main() {
-  main_out inner_result = tint_symbol();
-  x_GLF_color_1_1 = inner_result.x_GLF_color_1;
-  return;
-}
-Error parsing GLSL shader:
-ERROR: 0:9: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:9: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-divide-matrix-transpose-by-constant/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-divide-matrix-transpose-by-constant/0-opt.spvasm.expected.glsl
deleted file mode 100644
index 1a75fe7..0000000
--- a/test/vk-gl-cts/graphicsfuzz/cov-divide-matrix-transpose-by-constant/0-opt.spvasm.expected.glsl
+++ /dev/null
@@ -1,41 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-layout(location = 0) out vec4 x_GLF_color_1_1;
-vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-void main_1() {
-  mat2 m = mat2(0.0f, 0.0f, 0.0f, 0.0f);
-  m = (transpose(mat2(vec2(1.0f, 2.0f), vec2(3.0f, 4.0f))) * (1.0f / 2.0f));
-  mat2 x_33 = m;
-  if ((all(equal(x_33[0u], mat2(vec2(0.5f, 1.5f), vec2(1.0f, 2.0f))[0u])) & all(equal(x_33[1u], mat2(vec2(0.5f, 1.5f), vec2(1.0f, 2.0f))[1u])))) {
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-  }
-  return;
-}
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-main_out tint_symbol() {
-  main_1();
-  main_out tint_symbol_1 = main_out(x_GLF_color);
-  return tint_symbol_1;
-}
-
-void main() {
-  main_out inner_result = tint_symbol();
-  x_GLF_color_1_1 = inner_result.x_GLF_color_1;
-  return;
-}
-Error parsing GLSL shader:
-ERROR: 0:10: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' global bool' and a right operand of type ' global bool' (or there is no acceptable conversion)
-ERROR: 0:10: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-fold-logical-and-const-variable/0.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-fold-logical-and-const-variable/0.spvasm.expected.glsl
deleted file mode 100644
index 07c55d6..0000000
--- a/test/vk-gl-cts/graphicsfuzz/cov-fold-logical-and-const-variable/0.spvasm.expected.glsl
+++ /dev/null
@@ -1,40 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-layout(location = 0) out vec4 x_GLF_color_1_1;
-vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-void main_1() {
-  bool a = false;
-  a = false;
-  if ((true & a)) {
-    x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-  } else {
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  }
-  return;
-}
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-main_out tint_symbol() {
-  main_1();
-  main_out tint_symbol_1 = main_out(x_GLF_color);
-  return tint_symbol_1;
-}
-
-void main() {
-  main_out inner_result = tint_symbol();
-  x_GLF_color_1_1 = inner_result.x_GLF_color_1;
-  return;
-}
-Error parsing GLSL shader:
-ERROR: 0:9: '&' :  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:9: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-fold-logical-and-constant/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-fold-logical-and-constant/0-opt.spvasm.expected.glsl
deleted file mode 100644
index b898335..0000000
--- a/test/vk-gl-cts/graphicsfuzz/cov-fold-logical-and-constant/0-opt.spvasm.expected.glsl
+++ /dev/null
@@ -1,52 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-layout(location = 0) out vec4 x_GLF_color_1_1;
-vec4 tint_symbol = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-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)) {
-      } else {
-        break;
-      }
-    }
-  }
-  if ((i == 3)) {
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-  }
-  return;
-}
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-main_out tint_symbol_1(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out tint_symbol_3 = main_out(x_GLF_color);
-  return tint_symbol_3;
-}
-
-void main() {
-  main_out inner_result = tint_symbol_1(gl_FragCoord);
-  x_GLF_color_1_1 = inner_result.x_GLF_color_1;
-  return;
-}
-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.
-
-
-
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-fold-logical-or-constant/0.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-fold-logical-or-constant/0.spvasm.expected.glsl
deleted file mode 100644
index e0962bf..0000000
--- a/test/vk-gl-cts/graphicsfuzz/cov-fold-logical-or-constant/0.spvasm.expected.glsl
+++ /dev/null
@@ -1,41 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-layout(location = 0) out vec4 x_GLF_color_1_1;
-vec4 tint_symbol = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-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, 0.0f, 0.0f, 0.0f);
-  }
-  return;
-}
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-main_out tint_symbol_1(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out tint_symbol_3 = main_out(x_GLF_color);
-  return tint_symbol_3;
-}
-
-void main() {
-  main_out inner_result = tint_symbol_1(gl_FragCoord);
-  x_GLF_color_1_1 = inner_result.x_GLF_color_1;
-  return;
-}
-Error parsing GLSL shader:
-ERROR: 0:9: '|' :  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:9: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-fold-shift-gte32/0.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-fold-shift-gte32/0.spvasm.expected.glsl
deleted file mode 100644
index a575f8d..0000000
--- a/test/vk-gl-cts/graphicsfuzz/cov-fold-shift-gte32/0.spvasm.expected.glsl
+++ /dev/null
@@ -1,82 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-layout(location = 0) out vec4 x_GLF_color_1_1;
-struct buf0 {
-  uint one;
-};
-
-layout(binding = 0) uniform buf0_1 {
-  uint one;
-} x_6;
-
-vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-void main_1() {
-  uint a = 0u;
-  uint b = 0u;
-  uint c = 0u;
-  uint d = 0u;
-  uint e = 0u;
-  uint f = 0u;
-  uint x_41 = x_6.one;
-  a = ((77u + x_41) >> 32u);
-  uint x_45 = x_6.one;
-  b = ((3243u + x_45) >> 33u);
-  uint x_49 = x_6.one;
-  c = ((23u + x_49) >> 345u);
-  uint x_53 = x_6.one;
-  d = ((2395u + x_53) << 32u);
-  uint x_57 = x_6.one;
-  e = ((290485u + x_57) << 33u);
-  uint x_61 = x_6.one;
-  f = ((44321u + x_61) << 345u);
-  if ((a != 1u)) {
-    a = 1u;
-  }
-  if ((b != 0u)) {
-    b = 0u;
-  }
-  if ((c != 1u)) {
-    c = 1u;
-  }
-  if ((d != 0u)) {
-    d = 0u;
-  }
-  if ((e != 1u)) {
-    e = 1u;
-  }
-  if ((f != 0u)) {
-    f = 0u;
-  }
-  if (((((((a == 1u) & (b == 0u)) & (c == 1u)) & (d == 0u)) & (e == 1u)) & (f == 0u))) {
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-  }
-  return;
-}
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-main_out tint_symbol() {
-  main_1();
-  main_out tint_symbol_1 = main_out(x_GLF_color);
-  return tint_symbol_1;
-}
-
-void main() {
-  main_out inner_result = tint_symbol();
-  x_GLF_color_1_1 = inner_result.x_GLF_color_1;
-  return;
-}
-Error parsing GLSL shader:
-ERROR: 0:51: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp 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.
-
-
-
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-folding-rules-merge-div-mul/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-folding-rules-merge-div-mul/0-opt.spvasm.expected.glsl
deleted file mode 100644
index 01f5b05..0000000
--- a/test/vk-gl-cts/graphicsfuzz/cov-folding-rules-merge-div-mul/0-opt.spvasm.expected.glsl
+++ /dev/null
@@ -1,49 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-layout(location = 0) out vec4 x_GLF_color_1_1;
-struct buf0 {
-  float one;
-};
-
-layout(binding = 0) uniform buf0_1 {
-  float one;
-} x_6;
-
-vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-void main_1() {
-  float f = 0.0f;
-  float x_28 = x_6.one;
-  f = (4.0f / (2.0f * x_28));
-  if (((f > 1.899999976f) & (f < 2.099999905f))) {
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-  }
-  return;
-}
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-main_out tint_symbol() {
-  main_1();
-  main_out tint_symbol_1 = main_out(x_GLF_color);
-  return tint_symbol_1;
-}
-
-void main() {
-  main_out inner_result = tint_symbol();
-  x_GLF_color_1_1 = inner_result.x_GLF_color_1;
-  return;
-}
-Error parsing GLSL shader:
-ERROR: 0:18: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:18: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-folding-rules-merge-divs/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-folding-rules-merge-divs/0-opt.spvasm.expected.glsl
deleted file mode 100644
index b2ee650..0000000
--- a/test/vk-gl-cts/graphicsfuzz/cov-folding-rules-merge-divs/0-opt.spvasm.expected.glsl
+++ /dev/null
@@ -1,49 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-layout(location = 0) out vec4 x_GLF_color_1_1;
-struct buf0 {
-  float four;
-};
-
-layout(binding = 0) uniform buf0_1 {
-  float four;
-} x_6;
-
-vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-void main_1() {
-  float a = 0.0f;
-  float x_27 = x_6.four;
-  a = (2.0f / (1.0f / x_27));
-  if (((a > 7.900000095f) & (a < 8.100000381f))) {
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-  }
-  return;
-}
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-main_out tint_symbol() {
-  main_1();
-  main_out tint_symbol_1 = main_out(x_GLF_color);
-  return tint_symbol_1;
-}
-
-void main() {
-  main_out inner_result = tint_symbol();
-  x_GLF_color_1_1 = inner_result.x_GLF_color_1;
-  return;
-}
-Error parsing GLSL shader:
-ERROR: 0:18: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:18: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-folding-rules-merge-mul-div/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-folding-rules-merge-mul-div/0-opt.spvasm.expected.glsl
deleted file mode 100644
index eb1e063..0000000
--- a/test/vk-gl-cts/graphicsfuzz/cov-folding-rules-merge-mul-div/0-opt.spvasm.expected.glsl
+++ /dev/null
@@ -1,49 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-layout(location = 0) out vec4 x_GLF_color_1_1;
-struct buf0 {
-  float one;
-};
-
-layout(binding = 0) uniform buf0_1 {
-  float one;
-} x_6;
-
-vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-void main_1() {
-  float f = 0.0f;
-  float x_28 = x_6.one;
-  f = (4.0f * (2.0f / x_28));
-  if (((f > 7.900000095f) & (f < 8.100000381f))) {
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-  }
-  return;
-}
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-main_out tint_symbol() {
-  main_1();
-  main_out tint_symbol_1 = main_out(x_GLF_color);
-  return tint_symbol_1;
-}
-
-void main() {
-  main_out inner_result = tint_symbol();
-  x_GLF_color_1_1 = inner_result.x_GLF_color_1;
-  return;
-}
-Error parsing GLSL shader:
-ERROR: 0:18: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:18: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-global-loop-counter-main-function-call/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-global-loop-counter-main-function-call/0-opt.spvasm.expected.glsl
deleted file mode 100644
index e9dcfbe..0000000
--- a/test/vk-gl-cts/graphicsfuzz/cov-global-loop-counter-main-function-call/0-opt.spvasm.expected.glsl
+++ /dev/null
@@ -1,89 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-layout(location = 0) out vec4 x_GLF_color_1_1;
-struct strided_arr {
-  int el;
-};
-
-struct buf0 {
-  strided_arr x_GLF_uniform_int_values[3];
-};
-
-int x_GLF_global_loop_count = 0;
-layout(binding = 0) uniform buf0_1 {
-  strided_arr x_GLF_uniform_int_values[3];
-} x_7;
-
-vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-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 = x_7.x_GLF_uniform_int_values[0].el;
-    return x_78;
-  }
-  int x_80 = x_7.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;
-    }
-    {
-      if ((true & (x_GLF_global_loop_count < 100))) {
-      } else {
-        break;
-      }
-    }
-  }
-  int x_42 = func_();
-  a = x_42;
-  int x_43 = a;
-  int x_45 = x_7.x_GLF_uniform_int_values[2].el;
-  if ((x_43 == x_45)) {
-    int x_51 = x_7.x_GLF_uniform_int_values[0].el;
-    int x_54 = x_7.x_GLF_uniform_int_values[1].el;
-    int x_57 = x_7.x_GLF_uniform_int_values[1].el;
-    int x_60 = x_7.x_GLF_uniform_int_values[0].el;
-    x_GLF_color = vec4(float(x_51), float(x_54), float(x_57), float(x_60));
-  } else {
-    int x_64 = x_7.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);
-  }
-  return;
-}
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-main_out tint_symbol() {
-  main_1();
-  main_out tint_symbol_1 = main_out(x_GLF_color);
-  return tint_symbol_1;
-}
-
-void main() {
-  main_out inner_result = tint_symbol();
-  x_GLF_color_1_1 = inner_result.x_GLF_color_1;
-  return;
-}
-Error parsing GLSL shader:
-ERROR: 0:42: '&' :  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:42: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-increment-multiple-integers/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-increment-multiple-integers/0-opt.spvasm.expected.glsl
deleted file mode 100644
index 3fbdde5..0000000
--- a/test/vk-gl-cts/graphicsfuzz/cov-increment-multiple-integers/0-opt.spvasm.expected.glsl
+++ /dev/null
@@ -1,111 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-layout(location = 0) out vec4 x_GLF_color_1_1;
-struct strided_arr {
-  int el;
-};
-
-struct buf0 {
-  strided_arr x_GLF_uniform_int_values[5];
-};
-
-layout(binding = 0) uniform buf0_1 {
-  strided_arr x_GLF_uniform_int_values[5];
-} x_6;
-
-vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-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 = x_6.x_GLF_uniform_int_values[0].el;
-  a = x_31;
-  int x_33 = x_6.x_GLF_uniform_int_values[2].el;
-  b = x_33;
-  c = 1;
-  while (true) {
-    int x_38 = b;
-    int x_40 = x_6.x_GLF_uniform_int_values[4].el;
-    if (((x_38 < x_40) & (a < 10))) {
-    } else {
-      break;
-    }
-    if ((c > 5)) {
-      break;
-    }
-    a = (a + 1);
-    c = (c + 1);
-    b = (b + 1);
-  }
-  while (true) {
-    int x_60 = a;
-    int x_62 = x_6.x_GLF_uniform_int_values[1].el;
-    if ((x_60 < x_62)) {
-    } else {
-      break;
-    }
-    {
-      a = (a + 1);
-    }
-  }
-  int x_67 = a;
-  int x_69 = x_6.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 = x_6.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 = x_6.x_GLF_uniform_int_values[3].el;
-    x_83 = (x_80 == x_82);
-    x_84_phi = x_83;
-  }
-  if (x_84_phi) {
-    int x_89 = x_6.x_GLF_uniform_int_values[2].el;
-    int x_92 = x_6.x_GLF_uniform_int_values[0].el;
-    int x_95 = x_6.x_GLF_uniform_int_values[0].el;
-    int x_98 = x_6.x_GLF_uniform_int_values[2].el;
-    x_GLF_color = vec4(float(x_89), float(x_92), float(x_95), float(x_98));
-  } else {
-    int x_102 = x_6.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);
-  }
-  return;
-}
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-main_out tint_symbol() {
-  main_1();
-  main_out tint_symbol_1 = main_out(x_GLF_color);
-  return tint_symbol_1;
-}
-
-void main() {
-  main_out inner_result = tint_symbol();
-  x_GLF_color_1_1 = inner_result.x_GLF_color_1;
-  return;
-}
-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.
-
-
-
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-loop-condition-double-negate/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-loop-condition-double-negate/0-opt.spvasm.expected.glsl
deleted file mode 100644
index cea0071..0000000
--- a/test/vk-gl-cts/graphicsfuzz/cov-loop-condition-double-negate/0-opt.spvasm.expected.glsl
+++ /dev/null
@@ -1,107 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-layout(location = 0) out vec4 x_GLF_color_1_1;
-struct strided_arr {
-  int el;
-};
-
-struct buf0 {
-  strided_arr x_GLF_uniform_int_values[6];
-};
-
-layout(binding = 0) uniform buf0_1 {
-  strided_arr x_GLF_uniform_int_values[6];
-} x_6;
-
-vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-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 = x_6.x_GLF_uniform_int_values[3].el;
-  int x_35 = x_6.x_GLF_uniform_int_values[5].el;
-  int x_37 = x_6.x_GLF_uniform_int_values[2].el;
-  int tint_symbol_1[3] = int[3](x_33, x_35, x_37);
-  arr = tint_symbol_1;
-  index = 1;
-  while (true) {
-    bool x_51 = false;
-    bool x_52_phi = false;
-    x_52_phi = true;
-    if (true) {
-      int x_46 = x_6.x_GLF_uniform_int_values[0].el;
-      x_51 = !(((x_46 == 1) & (index <= 1)));
-      x_52_phi = x_51;
-    }
-    if (!(x_52_phi)) {
-    } else {
-      break;
-    }
-    int x_56_save = index;
-    int x_57 = arr[x_56_save];
-    arr[x_56_save] = (x_57 + 1);
-    index = (index + 1);
-  }
-  int x_62 = x_6.x_GLF_uniform_int_values[1].el;
-  int x_64 = arr[x_62];
-  int x_66 = x_6.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 = x_6.x_GLF_uniform_int_values[0].el;
-    int x_73 = arr[x_71];
-    int x_75 = x_6.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 = x_6.x_GLF_uniform_int_values[3].el;
-    int x_83 = arr[x_81];
-    int x_85 = x_6.x_GLF_uniform_int_values[2].el;
-    x_86 = (x_83 == x_85);
-    x_87_phi = x_86;
-  }
-  if (x_87_phi) {
-    int x_92 = x_6.x_GLF_uniform_int_values[0].el;
-    int x_95 = x_6.x_GLF_uniform_int_values[1].el;
-    int x_98 = x_6.x_GLF_uniform_int_values[1].el;
-    int x_101 = x_6.x_GLF_uniform_int_values[0].el;
-    x_GLF_color = vec4(float(x_92), float(x_95), float(x_98), float(x_101));
-  } else {
-    int x_105 = x_6.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);
-  }
-  return;
-}
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-main_out tint_symbol() {
-  main_1();
-  main_out tint_symbol_2 = main_out(x_GLF_color);
-  return tint_symbol_2;
-}
-
-void main() {
-  main_out inner_result = tint_symbol();
-  x_GLF_color_1_1 = inner_result.x_GLF_color_1;
-  return;
-}
-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.
-
-
-
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-loop-increment-matrix-element-break-after-first-iteration/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-loop-increment-matrix-element-break-after-first-iteration/0-opt.spvasm.expected.glsl
deleted file mode 100644
index 97f36d5..0000000
--- a/test/vk-gl-cts/graphicsfuzz/cov-loop-increment-matrix-element-break-after-first-iteration/0-opt.spvasm.expected.glsl
+++ /dev/null
@@ -1,114 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-layout(location = 0) out vec4 x_GLF_color_1_1;
-struct strided_arr {
-  float el;
-};
-
-struct buf1 {
-  strided_arr x_GLF_uniform_float_values[2];
-};
-
-struct strided_arr_1 {
-  int el;
-};
-
-struct buf0 {
-  strided_arr_1 x_GLF_uniform_int_values[4];
-};
-
-layout(binding = 1) uniform buf1_1 {
-  strided_arr x_GLF_uniform_float_values[2];
-} x_7;
-
-layout(binding = 0) uniform buf0_1 {
-  strided_arr_1 x_GLF_uniform_int_values[4];
-} x_10;
-
-vec4 tint_symbol = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-void main_1() {
-  mat2x3 m23 = mat2x3(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
-  int i = 0;
-  float x_46 = x_7.x_GLF_uniform_float_values[1].el;
-  m23 = mat2x3(vec3(x_46, 0.0f, 0.0f), vec3(0.0f, x_46, 0.0f));
-  i = 1;
-  while (true) {
-    bool x_80 = false;
-    bool x_81_phi = false;
-    int x_54 = i;
-    int x_56 = x_10.x_GLF_uniform_int_values[3].el;
-    if ((x_54 < x_56)) {
-    } else {
-      break;
-    }
-    int x_60 = x_10.x_GLF_uniform_int_values[0].el;
-    int x_62 = x_10.x_GLF_uniform_int_values[2].el;
-    float x_64 = x_7.x_GLF_uniform_float_values[0].el;
-    float x_66 = m23[x_60][x_62];
-    m23[x_60][x_62] = (x_66 + x_64);
-    float x_70 = tint_symbol.y;
-    float x_72 = x_7.x_GLF_uniform_float_values[0].el;
-    if ((x_70 < x_72)) {
-    }
-    x_81_phi = true;
-    if (true) {
-      float x_79 = tint_symbol.x;
-      x_80 = (x_79 < 0.0f);
-      x_81_phi = x_80;
-    }
-    if (!(x_81_phi)) {
-      break;
-    }
-    {
-      i = (i + 1);
-    }
-  }
-  mat2x3 x_87 = m23;
-  int x_89 = x_10.x_GLF_uniform_int_values[1].el;
-  int x_92 = x_10.x_GLF_uniform_int_values[1].el;
-  int x_95 = x_10.x_GLF_uniform_int_values[1].el;
-  int x_98 = x_10.x_GLF_uniform_int_values[1].el;
-  int x_101 = x_10.x_GLF_uniform_int_values[1].el;
-  int x_104 = x_10.x_GLF_uniform_int_values[0].el;
-  mat2x3 x_108 = mat2x3(vec3(float(x_89), float(x_92), float(x_95)), vec3(float(x_98), float(x_101), float(x_104)));
-  if ((all(equal(x_87[0u], x_108[0u])) & all(equal(x_87[1u], x_108[1u])))) {
-    int x_122 = x_10.x_GLF_uniform_int_values[0].el;
-    int x_125 = x_10.x_GLF_uniform_int_values[1].el;
-    int x_128 = x_10.x_GLF_uniform_int_values[1].el;
-    int x_131 = x_10.x_GLF_uniform_int_values[0].el;
-    x_GLF_color = vec4(float(x_122), float(x_125), float(x_128), float(x_131));
-  } else {
-    int x_135 = x_10.x_GLF_uniform_int_values[1].el;
-    float x_136 = float(x_135);
-    x_GLF_color = vec4(x_136, x_136, x_136, x_136);
-  }
-  return;
-}
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-main_out tint_symbol_1(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out tint_symbol_3 = main_out(x_GLF_color);
-  return tint_symbol_3;
-}
-
-void main() {
-  main_out inner_result = tint_symbol_1(gl_FragCoord);
-  x_GLF_color_1_1 = inner_result.x_GLF_color_1;
-  return;
-}
-Error parsing GLSL shader:
-ERROR: 0:76: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' global bool' and a right operand of type ' global bool' (or there is no acceptable conversion)
-ERROR: 0:76: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-matrix-double-transpose/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-matrix-double-transpose/0-opt.spvasm.expected.glsl
deleted file mode 100644
index 8c470ea..0000000
--- a/test/vk-gl-cts/graphicsfuzz/cov-matrix-double-transpose/0-opt.spvasm.expected.glsl
+++ /dev/null
@@ -1,64 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-layout(location = 0) out vec4 x_GLF_color_1_1;
-struct strided_arr {
-  int el;
-};
-
-struct buf0 {
-  strided_arr x_GLF_uniform_int_values[2];
-};
-
-layout(binding = 0) uniform buf0_1 {
-  strided_arr x_GLF_uniform_int_values[2];
-} x_6;
-
-vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-void main_1() {
-  mat2 m = mat2(0.0f, 0.0f, 0.0f, 0.0f);
-  int x_29 = x_6.x_GLF_uniform_int_values[0].el;
-  float x_30 = float(x_29);
-  m = transpose(transpose(mat2(vec2(x_30, 0.0f), vec2(0.0f, x_30))));
-  mat2 x_36 = m;
-  int x_38 = x_6.x_GLF_uniform_int_values[0].el;
-  float x_39 = float(x_38);
-  mat2 x_42 = mat2(vec2(x_39, 0.0f), vec2(0.0f, x_39));
-  if ((all(equal(x_36[0u], x_42[0u])) & all(equal(x_36[1u], x_42[1u])))) {
-    int x_56 = x_6.x_GLF_uniform_int_values[0].el;
-    int x_59 = x_6.x_GLF_uniform_int_values[1].el;
-    int x_62 = x_6.x_GLF_uniform_int_values[1].el;
-    int x_65 = x_6.x_GLF_uniform_int_values[0].el;
-    x_GLF_color = vec4(float(x_56), float(x_59), float(x_62), float(x_65));
-  } else {
-    int x_69 = x_6.x_GLF_uniform_int_values[1].el;
-    float x_70 = float(x_69);
-    x_GLF_color = vec4(x_70, x_70, x_70, x_70);
-  }
-  return;
-}
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-main_out tint_symbol() {
-  main_1();
-  main_out tint_symbol_1 = main_out(x_GLF_color);
-  return tint_symbol_1;
-}
-
-void main() {
-  main_out inner_result = tint_symbol();
-  x_GLF_color_1_1 = inner_result.x_GLF_color_1;
-  return;
-}
-Error parsing GLSL shader:
-ERROR: 0:27: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' global bool' and a right operand of type ' global bool' (or there is no acceptable conversion)
-ERROR: 0:27: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-nested-functions-accumulate-global-matrix/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-nested-functions-accumulate-global-matrix/0-opt.spvasm.expected.glsl
deleted file mode 100644
index 7095408..0000000
--- a/test/vk-gl-cts/graphicsfuzz/cov-nested-functions-accumulate-global-matrix/0-opt.spvasm.expected.glsl
+++ /dev/null
@@ -1,151 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-layout(location = 0) out vec4 x_GLF_color_1_1;
-struct buf2 {
-  float one;
-};
-
-struct strided_arr {
-  float el;
-};
-
-struct buf0 {
-  strided_arr x_GLF_uniform_float_values[1];
-};
-
-struct strided_arr_1 {
-  int el;
-};
-
-struct buf1 {
-  strided_arr_1 x_GLF_uniform_int_values[4];
-};
-
-mat4x2 m = mat4x2(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
-layout(binding = 2) uniform buf2_1 {
-  float one;
-} x_10;
-
-layout(binding = 0) uniform buf0_1 {
-  strided_arr x_GLF_uniform_float_values[1];
-} x_12;
-
-vec4 tint_symbol = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-layout(binding = 1) uniform buf1_1 {
-  strided_arr_1 x_GLF_uniform_int_values[4];
-} x_16;
-
-vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-void func0_i1_(inout int x) {
-  int i = 0;
-  bool x_137 = false;
-  bool x_138 = false;
-  bool x_138_phi = false;
-  bool x_139_phi = false;
-  int x_124 = x;
-  bool x_125 = (x_124 < 1);
-  x_139_phi = x_125;
-  if (!(x_125)) {
-    int x_129 = x;
-    bool x_130 = (x_129 > 1);
-    x_138_phi = x_130;
-    if (x_130) {
-      float x_134 = x_10.one;
-      float x_136 = x_12.x_GLF_uniform_float_values[0].el;
-      x_137 = (x_134 > x_136);
-      x_138_phi = x_137;
-    }
-    x_138 = x_138_phi;
-    x_139_phi = x_138;
-  }
-  if (x_139_phi) {
-    return;
-  }
-  float x_143 = x_10.one;
-  float x_145 = x_12.x_GLF_uniform_float_values[0].el;
-  if ((x_143 == x_145)) {
-    i = 0;
-    while (true) {
-      if ((i < 2)) {
-      } else {
-        break;
-      }
-      {
-        int x_154 = x;
-        int x_155 = clamp(x_154, 0, 3);
-        int x_156 = i;
-        float x_158 = x_12.x_GLF_uniform_float_values[0].el;
-        float x_160 = m[x_155][x_156];
-        m[x_155][x_156] = (x_160 + x_158);
-        i = (i + 1);
-      }
-    }
-  }
-  return;
-}
-
-void func1_() {
-  int param = 0;
-  float x_167 = tint_symbol.y;
-  if ((x_167 < 0.0f)) {
-    return;
-  }
-  param = 1;
-  func0_i1_(param);
-  return;
-}
-
-void main_1() {
-  m = mat4x2(vec2(0.0f, 0.0f), vec2(0.0f, 0.0f), vec2(0.0f, 0.0f), vec2(0.0f, 0.0f));
-  func1_();
-  func1_();
-  mat4x2 x_54 = m;
-  int x_56 = x_16.x_GLF_uniform_int_values[0].el;
-  int x_59 = x_16.x_GLF_uniform_int_values[0].el;
-  int x_62 = x_16.x_GLF_uniform_int_values[1].el;
-  int x_65 = x_16.x_GLF_uniform_int_values[1].el;
-  int x_68 = x_16.x_GLF_uniform_int_values[0].el;
-  int x_71 = x_16.x_GLF_uniform_int_values[0].el;
-  int x_74 = x_16.x_GLF_uniform_int_values[0].el;
-  int x_77 = x_16.x_GLF_uniform_int_values[0].el;
-  mat4x2 x_83 = mat4x2(vec2(float(x_56), float(x_59)), vec2(float(x_62), float(x_65)), vec2(float(x_68), float(x_71)), vec2(float(x_74), float(x_77)));
-  if ((((all(equal(x_54[0u], x_83[0u])) & all(equal(x_54[1u], x_83[1u]))) & all(equal(x_54[2u], x_83[2u]))) & all(equal(x_54[3u], x_83[3u])))) {
-    int x_107 = x_16.x_GLF_uniform_int_values[3].el;
-    int x_110 = x_16.x_GLF_uniform_int_values[0].el;
-    int x_113 = x_16.x_GLF_uniform_int_values[0].el;
-    int x_116 = x_16.x_GLF_uniform_int_values[3].el;
-    x_GLF_color = vec4(float(x_107), float(x_110), float(x_113), float(x_116));
-  } else {
-    int x_120 = x_16.x_GLF_uniform_int_values[0].el;
-    float x_121 = float(x_120);
-    x_GLF_color = vec4(x_121, x_121, x_121, x_121);
-  }
-  return;
-}
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-main_out tint_symbol_1(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out tint_symbol_3 = main_out(x_GLF_color);
-  return tint_symbol_3;
-}
-
-void main() {
-  main_out inner_result = tint_symbol_1(gl_FragCoord);
-  x_GLF_color_1_1 = inner_result.x_GLF_color_1;
-  return;
-}
-Error parsing GLSL shader:
-ERROR: 0:113: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' global bool' and a right operand of type ' global bool' (or there is no acceptable conversion)
-ERROR: 0:113: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-pow-undefined/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-pow-undefined/0-opt.spvasm.expected.glsl
deleted file mode 100644
index e436d2b..0000000
--- a/test/vk-gl-cts/graphicsfuzz/cov-pow-undefined/0-opt.spvasm.expected.glsl
+++ /dev/null
@@ -1,63 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-layout(location = 0) out vec4 x_GLF_color_1_1;
-struct strided_arr {
-  float el;
-};
-
-struct buf0 {
-  strided_arr x_GLF_uniform_float_values[2];
-};
-
-vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-layout(binding = 0) uniform buf0_1 {
-  strided_arr x_GLF_uniform_float_values[2];
-} x_8;
-
-void main_1() {
-  float a = 0.0f;
-  float b = 0.0f;
-  float c = 0.0f;
-  a = -1.0f;
-  b = 1.700000048f;
-  c = pow(a, b);
-  float x_30 = c;
-  x_GLF_color = vec4(x_30, x_30, x_30, x_30);
-  if (((a == -1.0f) & (b == 1.700000048f))) {
-    float x_41 = x_8.x_GLF_uniform_float_values[0].el;
-    float x_43 = x_8.x_GLF_uniform_float_values[1].el;
-    float x_45 = x_8.x_GLF_uniform_float_values[1].el;
-    float x_47 = x_8.x_GLF_uniform_float_values[0].el;
-    x_GLF_color = vec4(x_41, x_43, x_45, x_47);
-  } else {
-    float x_50 = x_8.x_GLF_uniform_float_values[0].el;
-    x_GLF_color = vec4(x_50, x_50, x_50, x_50);
-  }
-  return;
-}
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-main_out tint_symbol() {
-  main_1();
-  main_out tint_symbol_1 = main_out(x_GLF_color);
-  return tint_symbol_1;
-}
-
-void main() {
-  main_out inner_result = tint_symbol();
-  x_GLF_color_1_1 = inner_result.x_GLF_color_1;
-  return;
-}
-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.
-
-
-
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-reduce-load-array-replace-extract/0.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-reduce-load-array-replace-extract/0.spvasm.expected.glsl
deleted file mode 100644
index 5e8bad9..0000000
--- a/test/vk-gl-cts/graphicsfuzz/cov-reduce-load-array-replace-extract/0.spvasm.expected.glsl
+++ /dev/null
@@ -1,61 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-layout(location = 0) out vec4 x_GLF_color_1_1;
-struct buf0 {
-  int zero;
-};
-
-vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-layout(binding = 0) uniform buf0_1 {
-  int zero;
-} x_5;
-
-void main_1() {
-  int x_9[1] = int[1](0);
-  int x_10_phi = 0;
-  int x_6 = x_9[0u];
-  while (true) {
-    x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-    int x_7 = x_5.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, 0.0f, 0.0f, 0.0f);
-  }
-  return;
-}
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-main_out tint_symbol() {
-  main_1();
-  main_out tint_symbol_1 = main_out(x_GLF_color);
-  return tint_symbol_1;
-}
-
-void main() {
-  main_out inner_result = tint_symbol();
-  x_GLF_color_1_1 = inner_result.x_GLF_color_1;
-  return;
-}
-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: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-reinitialize-matrix-after-undefined-value/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-reinitialize-matrix-after-undefined-value/0-opt.spvasm.expected.glsl
deleted file mode 100644
index c7dea64..0000000
--- a/test/vk-gl-cts/graphicsfuzz/cov-reinitialize-matrix-after-undefined-value/0-opt.spvasm.expected.glsl
+++ /dev/null
@@ -1,102 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-layout(location = 0) out vec4 x_GLF_color_1_1;
-struct strided_arr {
-  int el;
-};
-
-struct buf0 {
-  strided_arr x_GLF_uniform_int_values[4];
-};
-
-layout(binding = 0) uniform buf0_1 {
-  strided_arr x_GLF_uniform_int_values[4];
-} x_5;
-
-vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-void main_1() {
-  mat2 m = mat2(0.0f, 0.0f, 0.0f, 0.0f);
-  float f = 0.0f;
-  int i = 0;
-  int j = 0;
-  int x_36 = x_5.x_GLF_uniform_int_values[1].el;
-  if ((x_36 == 1)) {
-    float x_40 = f;
-    m = mat2(vec2(x_40, 0.0f), vec2(0.0f, x_40));
-  }
-  int x_45 = x_5.x_GLF_uniform_int_values[1].el;
-  i = x_45;
-  while (true) {
-    int x_50 = i;
-    int x_52 = x_5.x_GLF_uniform_int_values[0].el;
-    if ((x_50 < x_52)) {
-    } else {
-      break;
-    }
-    int x_56 = x_5.x_GLF_uniform_int_values[1].el;
-    j = x_56;
-    while (true) {
-      int x_61 = j;
-      int x_63 = x_5.x_GLF_uniform_int_values[0].el;
-      if ((x_61 < x_63)) {
-      } else {
-        break;
-      }
-      int x_66 = i;
-      int x_67 = j;
-      int x_68 = i;
-      int x_70 = x_5.x_GLF_uniform_int_values[0].el;
-      m[x_66][x_67] = float(((x_68 * x_70) + j));
-      {
-        j = (j + 1);
-      }
-    }
-    {
-      i = (i + 1);
-    }
-  }
-  mat2 x_80 = m;
-  int x_82 = x_5.x_GLF_uniform_int_values[1].el;
-  int x_85 = x_5.x_GLF_uniform_int_values[2].el;
-  int x_88 = x_5.x_GLF_uniform_int_values[0].el;
-  int x_91 = x_5.x_GLF_uniform_int_values[3].el;
-  mat2 x_95 = mat2(vec2(float(x_82), float(x_85)), vec2(float(x_88), float(x_91)));
-  if ((all(equal(x_80[0u], x_95[0u])) & all(equal(x_80[1u], x_95[1u])))) {
-    int x_109 = x_5.x_GLF_uniform_int_values[2].el;
-    int x_112 = x_5.x_GLF_uniform_int_values[1].el;
-    int x_115 = x_5.x_GLF_uniform_int_values[1].el;
-    int x_118 = x_5.x_GLF_uniform_int_values[2].el;
-    x_GLF_color = vec4(float(x_109), float(x_112), float(x_115), float(x_118));
-  } else {
-    int x_122 = x_5.x_GLF_uniform_int_values[1].el;
-    float x_123 = float(x_122);
-    x_GLF_color = vec4(x_123, x_123, x_123, x_123);
-  }
-  return;
-}
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-main_out tint_symbol() {
-  main_1();
-  main_out tint_symbol_1 = main_out(x_GLF_color);
-  return tint_symbol_1;
-}
-
-void main() {
-  main_out inner_result = tint_symbol();
-  x_GLF_color_1_1 = inner_result.x_GLF_color_1;
-  return;
-}
-Error parsing GLSL shader:
-ERROR: 0:65: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' global bool' and a right operand of type ' global bool' (or there is no acceptable conversion)
-ERROR: 0:65: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-target-lowering-dfdx-cos/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-target-lowering-dfdx-cos/0-opt.spvasm.expected.glsl
index d0cbc9b..c7982a2 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-target-lowering-dfdx-cos/0-opt.spvasm.expected.glsl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-target-lowering-dfdx-cos/0-opt.spvasm.expected.glsl
@@ -21,7 +21,7 @@
   a = ddx(cos(x_33));
   float x_37 = x_8.two;
   b = mix(2.0f, x_37, a);
-  if (((b >= 1.899999976f) & (b <= 2.099999905f))) {
+  if (bool(uint((b >= 1.899999976f)) & uint((b <= 2.099999905f)))) {
     x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
   } else {
     x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-transpose-multiply/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-transpose-multiply/0-opt.spvasm.expected.glsl
deleted file mode 100644
index 24594c7..0000000
--- a/test/vk-gl-cts/graphicsfuzz/cov-transpose-multiply/0-opt.spvasm.expected.glsl
+++ /dev/null
@@ -1,42 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-layout(location = 0) out vec4 x_GLF_color_1_1;
-vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-void main_1() {
-  mat2 m = mat2(0.0f, 0.0f, 0.0f, 0.0f);
-  m = mat2(vec2(1.0f, 2.0f), vec2(3.0f, 4.0f));
-  mat2 x_30 = (transpose(m) * transpose(m));
-  mat2 x_34 = transpose((m * m));
-  if ((all(equal(x_30[0u], x_34[0u])) & all(equal(x_30[1u], x_34[1u])))) {
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  } else {
-    x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-  }
-  return;
-}
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-main_out tint_symbol() {
-  main_1();
-  main_out tint_symbol_1 = main_out(x_GLF_color);
-  return tint_symbol_1;
-}
-
-void main() {
-  main_out inner_result = tint_symbol();
-  x_GLF_color_1_1 = inner_result.x_GLF_color_1;
-  return;
-}
-Error parsing GLSL shader:
-ERROR: 0:11: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' global bool' and a right operand of type ' global bool' (or there is no acceptable conversion)
-ERROR: 0:11: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-unused-matrix-copy-inside-loop/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/cov-unused-matrix-copy-inside-loop/0-opt.spvasm.expected.glsl
deleted file mode 100644
index bb41dfa..0000000
--- a/test/vk-gl-cts/graphicsfuzz/cov-unused-matrix-copy-inside-loop/0-opt.spvasm.expected.glsl
+++ /dev/null
@@ -1,116 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-layout(location = 0) out vec4 x_GLF_color_1_1;
-struct strided_arr {
-  int el;
-};
-
-struct buf1 {
-  strided_arr x_GLF_uniform_int_values[4];
-};
-
-struct strided_arr_1 {
-  float el;
-};
-
-struct buf0 {
-  strided_arr_1 x_GLF_uniform_float_values[1];
-};
-
-layout(binding = 1) uniform buf1_1 {
-  strided_arr x_GLF_uniform_int_values[4];
-} x_6;
-
-layout(binding = 0) uniform buf0_1 {
-  strided_arr_1 x_GLF_uniform_float_values[1];
-} x_10;
-
-vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-void main_1() {
-  mat4 m0 = mat4(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);
-  int c = 0;
-  mat4 m1 = mat4(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);
-  int x_40 = x_6.x_GLF_uniform_int_values[1].el;
-  float x_41 = float(x_40);
-  m0 = mat4(vec4(x_41, 0.0f, 0.0f, 0.0f), vec4(0.0f, x_41, 0.0f, 0.0f), vec4(0.0f, 0.0f, x_41, 0.0f), vec4(0.0f, 0.0f, 0.0f, x_41));
-  int x_48 = x_6.x_GLF_uniform_int_values[2].el;
-  c = x_48;
-  while (true) {
-    int x_53 = c;
-    int x_55 = x_6.x_GLF_uniform_int_values[0].el;
-    if ((x_53 < x_55)) {
-    } else {
-      break;
-    }
-    m1 = m0;
-    int x_59 = c;
-    int x_61 = x_6.x_GLF_uniform_int_values[3].el;
-    int x_64 = x_6.x_GLF_uniform_int_values[2].el;
-    float x_66 = x_10.x_GLF_uniform_float_values[0].el;
-    m1[(x_59 % x_61)][x_64] = x_66;
-    int x_68 = c;
-    int x_70 = x_6.x_GLF_uniform_int_values[3].el;
-    int x_73 = x_6.x_GLF_uniform_int_values[2].el;
-    float x_75 = x_10.x_GLF_uniform_float_values[0].el;
-    m0[(x_68 % x_70)][x_73] = x_75;
-    {
-      c = (c + 1);
-    }
-  }
-  mat4 x_79 = m0;
-  int x_81 = x_6.x_GLF_uniform_int_values[1].el;
-  int x_84 = x_6.x_GLF_uniform_int_values[2].el;
-  int x_87 = x_6.x_GLF_uniform_int_values[1].el;
-  int x_90 = x_6.x_GLF_uniform_int_values[1].el;
-  int x_93 = x_6.x_GLF_uniform_int_values[1].el;
-  int x_96 = x_6.x_GLF_uniform_int_values[2].el;
-  int x_99 = x_6.x_GLF_uniform_int_values[1].el;
-  int x_102 = x_6.x_GLF_uniform_int_values[1].el;
-  int x_105 = x_6.x_GLF_uniform_int_values[1].el;
-  int x_108 = x_6.x_GLF_uniform_int_values[2].el;
-  int x_111 = x_6.x_GLF_uniform_int_values[1].el;
-  int x_114 = x_6.x_GLF_uniform_int_values[1].el;
-  int x_117 = x_6.x_GLF_uniform_int_values[1].el;
-  int x_120 = x_6.x_GLF_uniform_int_values[2].el;
-  int x_123 = x_6.x_GLF_uniform_int_values[1].el;
-  int x_126 = x_6.x_GLF_uniform_int_values[1].el;
-  mat4 x_132 = mat4(vec4(float(x_81), float(x_84), float(x_87), float(x_90)), vec4(float(x_93), float(x_96), float(x_99), float(x_102)), vec4(float(x_105), float(x_108), float(x_111), float(x_114)), vec4(float(x_117), float(x_120), float(x_123), float(x_126)));
-  if ((((all(equal(x_79[0u], x_132[0u])) & all(equal(x_79[1u], x_132[1u]))) & all(equal(x_79[2u], x_132[2u]))) & all(equal(x_79[3u], x_132[3u])))) {
-    int x_156 = x_6.x_GLF_uniform_int_values[2].el;
-    int x_159 = x_6.x_GLF_uniform_int_values[1].el;
-    int x_162 = x_6.x_GLF_uniform_int_values[1].el;
-    int x_165 = x_6.x_GLF_uniform_int_values[2].el;
-    x_GLF_color = vec4(float(x_156), float(x_159), float(x_162), float(x_165));
-  } else {
-    int x_169 = x_6.x_GLF_uniform_int_values[1].el;
-    float x_170 = float(x_169);
-    x_GLF_color = vec4(x_170, x_170, x_170, x_170);
-  }
-  return;
-}
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-main_out tint_symbol() {
-  main_1();
-  main_out tint_symbol_1 = main_out(x_GLF_color);
-  return tint_symbol_1;
-}
-
-void main() {
-  main_out inner_result = tint_symbol();
-  x_GLF_color_1_1 = inner_result.x_GLF_color_1;
-  return;
-}
-Error parsing GLSL shader:
-ERROR: 0:79: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' global bool' and a right operand of type ' global bool' (or there is no acceptable conversion)
-ERROR: 0:79: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/vk-gl-cts/graphicsfuzz/loop-dead-if-loop/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/loop-dead-if-loop/0-opt.spvasm.expected.glsl
deleted file mode 100644
index bbe0055..0000000
--- a/test/vk-gl-cts/graphicsfuzz/loop-dead-if-loop/0-opt.spvasm.expected.glsl
+++ /dev/null
@@ -1,82 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-layout(location = 0) out vec4 x_GLF_color_1_1;
-struct buf0 {
-  vec2 injectionSwitch;
-};
-
-layout(binding = 0) uniform buf0_1 {
-  vec2 injectionSwitch;
-} x_6;
-
-vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-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, 0.0f, 0.0f, 0.0f);
-  int b = 0;
-  k = 0;
-  {
-    for(; (k < 4); k = (k + 1)) {
-      float x_62 = x_6.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;
-          }
-        }
-        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;
-        }
-        donor_replacementGLF_dead0stack[x_54] = 1;
-      }
-      matrix_b = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-      b = 3;
-      {
-        for(; (b >= 0); b = (b - 1)) {
-          int x_20 = b;
-          float x_87 = matrix_b[b];
-          matrix_b[x_20] = (x_87 - 1.0f);
-        }
-      }
-    }
-  }
-  x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  return;
-}
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-main_out tint_symbol() {
-  main_1();
-  main_out tint_symbol_1 = main_out(x_GLF_color);
-  return tint_symbol_1;
-}
-
-void main() {
-  main_out inner_result = tint_symbol();
-  x_GLF_color_1_1 = inner_result.x_GLF_color_1;
-  return;
-}
-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.
-
-
-
diff --git a/test/vk-gl-cts/graphicsfuzz/nested-loops-switch/0.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/nested-loops-switch/0.spvasm.expected.glsl
deleted file mode 100644
index 91863a8..0000000
--- a/test/vk-gl-cts/graphicsfuzz/nested-loops-switch/0.spvasm.expected.glsl
+++ /dev/null
@@ -1,100 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-layout(location = 0) out vec4 x_GLF_color_1_1;
-struct buf0 {
-  vec2 injectionSwitch;
-};
-
-layout(binding = 0) uniform buf0_1 {
-  vec2 injectionSwitch;
-} x_6;
-
-vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-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 = x_6.injectionSwitch.x;
-    if ((x_45 >= int(x_47))) {
-      break;
-    }
-    float x_53 = x_6.injectionSwitch.y;
-    if ((0.0f > x_53)) {
-      GLF_dead5cols = 2;
-      {
-        for(; (GLF_dead5cols <= 4); GLF_dead5cols = (GLF_dead5cols + 1)) {
-          GLF_dead5rows = 2;
-          {
-            for(; (GLF_dead5rows <= 4); GLF_dead5rows = (GLF_dead5rows + 1)) {
-              GLF_dead5c = 0;
-              {
-                for(; (GLF_dead5c < GLF_dead5cols); GLF_dead5c = (GLF_dead5c + 1)) {
-                  GLF_dead5r = 0;
-                  {
-                    for(; (GLF_dead5r < GLF_dead5rows); GLF_dead5r = (GLF_dead5r + 1)) {
-                      switch(msb10) {
-                        case 1:
-                        case 8: {
-                          int x_96 = (((msb10 >= 0) & (msb10 < 9)) ? msb10 : 0);
-                          float x_98 = donor_replacementGLF_dead5sums[x_96];
-                          donor_replacementGLF_dead5sums[x_96] = (x_98 + 1.0f);
-                          break;
-                        }
-                        default: {
-                          break;
-                        }
-                      }
-                    }
-                  }
-                }
-              }
-              msb10 = (msb10 + 1);
-            }
-          }
-        }
-      }
-    }
-    i = (i + 1);
-    {
-      if ((i < 200)) {
-      } else {
-        break;
-      }
-    }
-  }
-  x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-  return;
-}
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-main_out tint_symbol() {
-  main_1();
-  main_out tint_symbol_1 = main_out(x_GLF_color);
-  return tint_symbol_1;
-}
-
-void main() {
-  main_out inner_result = tint_symbol();
-  x_GLF_color_1_1 = inner_result.x_GLF_color_1;
-  return;
-}
-Error parsing GLSL shader:
-ERROR: 0:46: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:46: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/vk-gl-cts/graphicsfuzz/spv-double-branch-to-same-block/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/spv-double-branch-to-same-block/0-opt.spvasm.expected.glsl
deleted file mode 100644
index db85f5d..0000000
--- a/test/vk-gl-cts/graphicsfuzz/spv-double-branch-to-same-block/0-opt.spvasm.expected.glsl
+++ /dev/null
@@ -1,279 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-layout(location = 0) out vec4 x_GLF_color_1_1;
-struct buf0 {
-  vec2 injectionSwitch;
-};
-
-struct buf1 {
-  vec2 resolution;
-};
-
-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) uniform buf0_1 {
-  vec2 injectionSwitch;
-} x_28;
-
-vec4 tint_symbol = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-void merge_i1_i1_i1_(inout int from, inout int mid, inout int to) {
-  int k = 0;
-  int i = 0;
-  int j = 0;
-  int i_1 = 0;
-  int x_254 = from;
-  k = x_254;
-  int x_255 = from;
-  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_272 = data[i];
-    int x_275 = data[j];
-    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;
-    }
-  }
-  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;
-  }
-  int x_312 = from;
-  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_324 = temp[i_1];
-    data[x_321] = x_324;
-    {
-      i_1 = (i_1 + 1);
-    }
-  }
-  return;
-}
-
-void mergeSort_() {
-  int low = 0;
-  int high = 0;
-  int m = 0;
-  int i_2 = 0;
-  int from_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;
-  {
-    for(; (m <= high); m = (2 * m)) {
-      i_2 = low;
-      {
-        for(; (i_2 < high); i_2 = (i_2 + (2 * m))) {
-          from_1 = i_2;
-          mid_1 = ((i_2 + m) - 1);
-          to_1 = min(((i_2 + (2 * m)) - 1), high);
-          param = from_1;
-          param_1 = mid_1;
-          param_2 = to_1;
-          merge_i1_i1_i1_(param, param_1, param_2);
-        }
-      }
-    }
-  }
-  return;
-}
-
-void main_1() {
-  int i_3 = 0;
-  int j_1 = 0;
-  float grey = 0.0f;
-  float x_87 = x_28.injectionSwitch.x;
-  i_3 = int(x_87);
-  while (true) {
-    switch(i_3) {
-      case 9: {
-        data[i_3] = -5;
-        break;
-      }
-      case 8: {
-        data[i_3] = -4;
-        break;
-      }
-      case 7: {
-        data[i_3] = -3;
-        break;
-      }
-      case 6: {
-        data[i_3] = -2;
-        break;
-      }
-      case 5: {
-        data[i_3] = -1;
-        break;
-      }
-      case 4: {
-        data[i_3] = 0;
-        break;
-      }
-      case 3: {
-        data[i_3] = 1;
-        break;
-      }
-      case 2: {
-        data[i_3] = 2;
-        break;
-      }
-      case 1: {
-        data[i_3] = 3;
-        break;
-      }
-      case 0: {
-        data[i_3] = 4;
-        break;
-      }
-      default: {
-        break;
-      }
-    }
-    i_3 = (i_3 + 1);
-    {
-      if ((i_3 < 10)) {
-      } else {
-        break;
-      }
-    }
-  }
-  j_1 = 0;
-  {
-    for(; (j_1 < 10); j_1 = (j_1 + 1)) {
-      int x_136 = j_1;
-      int x_139 = data[j_1];
-      temp[x_136] = x_139;
-    }
-  }
-  mergeSort_();
-  float x_145 = tint_symbol.y;
-  if ((int(x_145) < 30)) {
-    int x_152 = data[0];
-    grey = (0.5f + (float(x_152) / 10.0f));
-  } else {
-    float x_157 = tint_symbol.y;
-    if ((int(x_157) < 60)) {
-      int x_164 = data[1];
-      grey = (0.5f + (float(x_164) / 10.0f));
-    } else {
-      float x_169 = tint_symbol.y;
-      if ((int(x_169) < 90)) {
-        int x_176 = data[2];
-        grey = (0.5f + (float(x_176) / 10.0f));
-      } else {
-        float x_181 = tint_symbol.y;
-        if ((int(x_181) < 120)) {
-          int x_188 = data[3];
-          grey = (0.5f + (float(x_188) / 10.0f));
-        } else {
-          float x_193 = tint_symbol.y;
-          if ((int(x_193) < 150)) {
-            discard;
-          } else {
-            float x_200 = tint_symbol.y;
-            if ((int(x_200) < 180)) {
-              int x_207 = data[5];
-              grey = (0.5f + (float(x_207) / 10.0f));
-            } else {
-              float x_212 = tint_symbol.y;
-              if ((int(x_212) < 210)) {
-                int x_219 = data[6];
-                grey = (0.5f + (float(x_219) / 10.0f));
-              } else {
-                float x_224 = tint_symbol.y;
-                if ((int(x_224) < 240)) {
-                  int x_231 = data[7];
-                  grey = (0.5f + (float(x_231) / 10.0f));
-                } else {
-                  float x_236 = tint_symbol.y;
-                  if ((int(x_236) < 270)) {
-                    int x_243 = data[8];
-                    grey = (0.5f + (float(x_243) / 10.0f));
-                  } else {
-                    discard;
-                  }
-                }
-              }
-            }
-          }
-        }
-      }
-    }
-  }
-  float x_247 = grey;
-  vec3 x_248 = vec3(x_247, x_247, x_247);
-  x_GLF_color = vec4(x_248.x, x_248.y, x_248.z, 1.0f);
-  return;
-}
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-main_out tint_symbol_1(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out tint_symbol_3 = main_out(x_GLF_color);
-  return tint_symbol_3;
-}
-
-void main() {
-  main_out inner_result = tint_symbol_1(gl_FragCoord);
-  x_GLF_color_1_1 = inner_result.x_GLF_color_1;
-  return;
-}
-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.
-
-
-
diff --git a/test/vk-gl-cts/graphicsfuzz/spv-double-branch-to-same-block/1.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/spv-double-branch-to-same-block/1.spvasm.expected.glsl
deleted file mode 100644
index a75f0f6..0000000
--- a/test/vk-gl-cts/graphicsfuzz/spv-double-branch-to-same-block/1.spvasm.expected.glsl
+++ /dev/null
@@ -1,289 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-layout(location = 0) out vec4 x_GLF_color_1_1;
-struct buf0 {
-  vec2 injectionSwitch;
-};
-
-struct buf1 {
-  vec2 resolution;
-};
-
-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) uniform buf0_1 {
-  vec2 injectionSwitch;
-} x_28;
-
-vec4 tint_symbol = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-void merge_i1_i1_i1_(inout int from, inout int mid, inout int to) {
-  int k = 0;
-  int i = 0;
-  int j = 0;
-  int i_1 = 0;
-  int x_255 = from;
-  k = x_255;
-  int x_256 = from;
-  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_273 = data[i];
-    int x_276 = data[j];
-    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;
-    }
-  }
-  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;
-  }
-  int x_313 = from;
-  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_325 = temp[i_1];
-    data[x_322] = x_325;
-    {
-      i_1 = (i_1 + 1);
-    }
-  }
-  return;
-}
-
-void mergeSort_() {
-  int low = 0;
-  int high = 0;
-  int m = 0;
-  int i_2 = 0;
-  int from_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;
-  {
-    for(; (m <= high); m = (2 * m)) {
-      i_2 = low;
-      {
-        for(; (i_2 < high); i_2 = (i_2 + (2 * m))) {
-          from_1 = i_2;
-          mid_1 = ((i_2 + m) - 1);
-          to_1 = min(((i_2 + (2 * m)) - 1), high);
-          param = from_1;
-          param_1 = mid_1;
-          param_2 = to_1;
-          merge_i1_i1_i1_(param, param_1, param_2);
-        }
-      }
-    }
-  }
-  return;
-}
-
-void main_1() {
-  int i_3 = 0;
-  int j_1 = 0;
-  float grey = 0.0f;
-  float x_88 = x_28.injectionSwitch.x;
-  i_3 = int(x_88);
-  while (true) {
-    switch(i_3) {
-      case 9: {
-        data[i_3] = -5;
-        if (true) {
-        } else {
-          {
-            if ((i_3 < 10)) {
-            } else {
-              break;
-            }
-          }
-          continue;
-        }
-        break;
-      }
-      case 8: {
-        data[i_3] = -4;
-        break;
-      }
-      case 7: {
-        data[i_3] = -3;
-        break;
-      }
-      case 6: {
-        data[i_3] = -2;
-        break;
-      }
-      case 5: {
-        data[i_3] = -1;
-        break;
-      }
-      case 4: {
-        data[i_3] = 0;
-        break;
-      }
-      case 3: {
-        data[i_3] = 1;
-        break;
-      }
-      case 2: {
-        data[i_3] = 2;
-        break;
-      }
-      case 1: {
-        data[i_3] = 3;
-        break;
-      }
-      case 0: {
-        data[i_3] = 4;
-        break;
-      }
-      default: {
-        break;
-      }
-    }
-    i_3 = (i_3 + 1);
-    {
-      if ((i_3 < 10)) {
-      } else {
-        break;
-      }
-    }
-  }
-  j_1 = 0;
-  {
-    for(; (j_1 < 10); j_1 = (j_1 + 1)) {
-      int x_137 = j_1;
-      int x_140 = data[j_1];
-      temp[x_137] = x_140;
-    }
-  }
-  mergeSort_();
-  float x_146 = tint_symbol.y;
-  if ((int(x_146) < 30)) {
-    int x_153 = data[0];
-    grey = (0.5f + (float(x_153) / 10.0f));
-  } else {
-    float x_158 = tint_symbol.y;
-    if ((int(x_158) < 60)) {
-      int x_165 = data[1];
-      grey = (0.5f + (float(x_165) / 10.0f));
-    } else {
-      float x_170 = tint_symbol.y;
-      if ((int(x_170) < 90)) {
-        int x_177 = data[2];
-        grey = (0.5f + (float(x_177) / 10.0f));
-      } else {
-        float x_182 = tint_symbol.y;
-        if ((int(x_182) < 120)) {
-          int x_189 = data[3];
-          grey = (0.5f + (float(x_189) / 10.0f));
-        } else {
-          float x_194 = tint_symbol.y;
-          if ((int(x_194) < 150)) {
-            discard;
-          } else {
-            float x_201 = tint_symbol.y;
-            if ((int(x_201) < 180)) {
-              int x_208 = data[5];
-              grey = (0.5f + (float(x_208) / 10.0f));
-            } else {
-              float x_213 = tint_symbol.y;
-              if ((int(x_213) < 210)) {
-                int x_220 = data[6];
-                grey = (0.5f + (float(x_220) / 10.0f));
-              } else {
-                float x_225 = tint_symbol.y;
-                if ((int(x_225) < 240)) {
-                  int x_232 = data[7];
-                  grey = (0.5f + (float(x_232) / 10.0f));
-                } else {
-                  float x_237 = tint_symbol.y;
-                  if ((int(x_237) < 270)) {
-                    int x_244 = data[8];
-                    grey = (0.5f + (float(x_244) / 10.0f));
-                  } else {
-                    discard;
-                  }
-                }
-              }
-            }
-          }
-        }
-      }
-    }
-  }
-  float x_248 = grey;
-  vec3 x_249 = vec3(x_248, x_248, x_248);
-  x_GLF_color = vec4(x_249.x, x_249.y, x_249.z, 1.0f);
-  return;
-}
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-main_out tint_symbol_1(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out tint_symbol_3 = main_out(x_GLF_color);
-  return tint_symbol_3;
-}
-
-void main() {
-  main_out inner_result = tint_symbol_1(gl_FragCoord);
-  x_GLF_color_1_1 = inner_result.x_GLF_color_1;
-  return;
-}
-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.
-
-
-
diff --git a/test/vk-gl-cts/graphicsfuzz/spv-double-branch-to-same-block3/1.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/spv-double-branch-to-same-block3/1.spvasm.expected.glsl
deleted file mode 100644
index e8d2725..0000000
--- a/test/vk-gl-cts/graphicsfuzz/spv-double-branch-to-same-block3/1.spvasm.expected.glsl
+++ /dev/null
@@ -1,283 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-layout(location = 0) out vec4 x_GLF_color_1_1;
-struct buf0 {
-  vec2 injectionSwitch;
-};
-
-struct buf1 {
-  vec2 resolution;
-};
-
-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) uniform buf0_1 {
-  vec2 injectionSwitch;
-} x_28;
-
-vec4 tint_symbol = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-void merge_i1_i1_i1_(inout int from, inout int mid, inout int to) {
-  int k = 0;
-  int i = 0;
-  int j = 0;
-  int i_1 = 0;
-  int x_256 = from;
-  k = x_256;
-  int x_257 = from;
-  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_274 = data[i];
-    int x_277 = data[j];
-    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;
-    }
-  }
-  while (true) {
-    if (!((256.0f < 1.0f))) {
-    } 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;
-  }
-  int x_316 = from;
-  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_328 = temp[i_1];
-    data[x_325] = x_328;
-    {
-      i_1 = (i_1 + 1);
-    }
-  }
-  return;
-}
-
-void mergeSort_() {
-  int low = 0;
-  int high = 0;
-  int m = 0;
-  int i_2 = 0;
-  int from_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;
-  {
-    for(; (m <= high); m = (2 * m)) {
-      i_2 = low;
-      {
-        for(; (i_2 < high); i_2 = (i_2 + (2 * m))) {
-          from_1 = i_2;
-          mid_1 = ((i_2 + m) - 1);
-          to_1 = min(((i_2 + (2 * m)) - 1), high);
-          param = from_1;
-          param_1 = mid_1;
-          param_2 = to_1;
-          merge_i1_i1_i1_(param, param_1, param_2);
-        }
-      }
-    }
-  }
-  return;
-}
-
-void main_1() {
-  int i_3 = 0;
-  int j_1 = 0;
-  float grey = 0.0f;
-  float x_89 = x_28.injectionSwitch.x;
-  i_3 = int(x_89);
-  while (true) {
-    switch(i_3) {
-      case 9: {
-        data[i_3] = -5;
-        break;
-      }
-      case 8: {
-        data[i_3] = -4;
-        break;
-      }
-      case 7: {
-        data[i_3] = -3;
-        break;
-      }
-      case 6: {
-        data[i_3] = -2;
-        break;
-      }
-      case 5: {
-        data[i_3] = -1;
-        break;
-      }
-      case 4: {
-        data[i_3] = 0;
-        break;
-      }
-      case 3: {
-        data[i_3] = 1;
-        break;
-      }
-      case 2: {
-        data[i_3] = 2;
-        break;
-      }
-      case 1: {
-        data[i_3] = 3;
-        break;
-      }
-      case 0: {
-        data[i_3] = 4;
-        break;
-      }
-      default: {
-        break;
-      }
-    }
-    i_3 = (i_3 + 1);
-    {
-      if ((i_3 < 10)) {
-      } else {
-        break;
-      }
-    }
-  }
-  j_1 = 0;
-  {
-    for(; (j_1 < 10); j_1 = (j_1 + 1)) {
-      int x_138 = j_1;
-      int x_141 = data[j_1];
-      temp[x_138] = x_141;
-    }
-  }
-  mergeSort_();
-  float x_147 = tint_symbol.y;
-  if ((int(x_147) < 30)) {
-    int x_154 = data[0];
-    grey = (0.5f + (float(x_154) / 10.0f));
-  } else {
-    float x_159 = tint_symbol.y;
-    if ((int(x_159) < 60)) {
-      int x_166 = data[1];
-      grey = (0.5f + (float(x_166) / 10.0f));
-    } else {
-      float x_171 = tint_symbol.y;
-      if ((int(x_171) < 90)) {
-        int x_178 = data[2];
-        grey = (0.5f + (float(x_178) / 10.0f));
-      } else {
-        float x_183 = tint_symbol.y;
-        if ((int(x_183) < 120)) {
-          int x_190 = data[3];
-          grey = (0.5f + (float(x_190) / 10.0f));
-        } else {
-          float x_195 = tint_symbol.y;
-          if ((int(x_195) < 150)) {
-            discard;
-          } else {
-            float x_202 = tint_symbol.y;
-            if ((int(x_202) < 180)) {
-              int x_209 = data[5];
-              grey = (0.5f + (float(x_209) / 10.0f));
-            } else {
-              float x_214 = tint_symbol.y;
-              if ((int(x_214) < 210)) {
-                int x_221 = data[6];
-                grey = (0.5f + (float(x_221) / 10.0f));
-              } else {
-                float x_226 = tint_symbol.y;
-                if ((int(x_226) < 240)) {
-                  int x_233 = data[7];
-                  grey = (0.5f + (float(x_233) / 10.0f));
-                } else {
-                  float x_238 = tint_symbol.y;
-                  if ((int(x_238) < 270)) {
-                    int x_245 = data[8];
-                    grey = (0.5f + (float(x_245) / 10.0f));
-                  } else {
-                    discard;
-                  }
-                }
-              }
-            }
-          }
-        }
-      }
-    }
-  }
-  float x_249 = grey;
-  vec3 x_250 = vec3(x_249, x_249, x_249);
-  x_GLF_color = vec4(x_250.x, x_250.y, x_250.z, 1.0f);
-  return;
-}
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-main_out tint_symbol_1(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out tint_symbol_3 = main_out(x_GLF_color);
-  return tint_symbol_3;
-}
-
-void main() {
-  main_out inner_result = tint_symbol_1(gl_FragCoord);
-  x_GLF_color_1_1 = inner_result.x_GLF_color_1;
-  return;
-}
-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.
-
-
-
diff --git a/test/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-O-prop-up-mutate-var/1.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-O-prop-up-mutate-var/1.spvasm.expected.glsl
deleted file mode 100644
index 37cb9ef..0000000
--- a/test/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-O-prop-up-mutate-var/1.spvasm.expected.glsl
+++ /dev/null
@@ -1,363 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-layout(location = 0) out vec4 x_GLF_color_1_1;
-struct buf0 {
-  vec2 injectionSwitch;
-};
-
-layout(binding = 0) uniform buf0_1 {
-  vec2 injectionSwitch;
-} x_8;
-
-vec4 tint_symbol = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-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 = x_8.injectionSwitch.x;
-  int x_61 = int(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;
-    int tint_symbol_3[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-    data = tint_symbol_3;
-    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)) {
-      } else {
-        break;
-      }
-    }
-  }
-  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;
-    }
-  }
-  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;
-        }
-      }
-      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;
-        }
-      }
-      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;
-        }
-      }
-      {
-        x_119_phi = x_120;
-      }
-    }
-    {
-      x_113 = (2 * x_112);
-      x_112_phi = x_113;
-    }
-  }
-  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 = int(x_180);
-  if ((x_181 < 30)) {
-    int x_187 = data[0];
-    x_190 = (0.5f + (float(x_187) * 0.100000001f));
-    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.100000001f));
-      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.100000001f));
-        x_261_phi = x_208;
-      } else {
-        if ((x_181 < 120)) {
-          int x_214 = data[3];
-          x_217 = (0.5f + (float(x_214) * 0.100000001f));
-          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)) {
-            discard;
-          } 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.100000001f));
-              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.100000001f));
-                x_258_phi = x_239;
-              } else {
-                if ((x_181 < 240)) {
-                  int x_245 = data[7];
-                  x_248 = (0.5f + (float(x_245) * 0.100000001f));
-                  x_257_phi = x_248;
-                } else {
-                  if ((x_181 < 270)) {
-                  } else {
-                    discard;
-                  }
-                  int x_253 = data[8];
-                  x_256 = (0.5f + (float(x_253) * 0.100000001f));
-                  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);
-  return;
-}
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-main_out tint_symbol_1(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out tint_symbol_4 = main_out(x_GLF_color);
-  return tint_symbol_4;
-}
-
-void main() {
-  main_out inner_result = tint_symbol_1(gl_FragCoord);
-  x_GLF_color_1_1 = inner_result.x_GLF_color_1;
-  return;
-}
-Error parsing GLSL shader:
-ERROR: 0:174: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:174: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-O-prop-up-mutate-var/2.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-O-prop-up-mutate-var/2.spvasm.expected.glsl
deleted file mode 100644
index 5b14e49..0000000
--- a/test/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-O-prop-up-mutate-var/2.spvasm.expected.glsl
+++ /dev/null
@@ -1,359 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-layout(location = 0) out vec4 x_GLF_color_1_1;
-struct buf0 {
-  vec2 injectionSwitch;
-};
-
-layout(binding = 0) uniform buf0_1 {
-  vec2 injectionSwitch;
-} x_8;
-
-vec4 tint_symbol = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-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 = x_8.injectionSwitch.x;
-  int x_61 = int(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)) {
-      } else {
-        break;
-      }
-    }
-  }
-  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;
-    }
-  }
-  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;
-        }
-      }
-      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;
-        }
-      }
-      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;
-        }
-      }
-      {
-        x_118_phi = x_119;
-      }
-    }
-    {
-      x_112 = (2 * x_111);
-      x_111_phi = x_112;
-    }
-  }
-  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 = int(x_179);
-  if ((x_180 < 30)) {
-    int x_186 = data[0];
-    x_189 = (0.5f + (float(x_186) * 0.100000001f));
-    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.100000001f));
-      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.100000001f));
-        x_260_phi = x_207;
-      } else {
-        if ((x_180 < 120)) {
-          int x_213 = data[3];
-          x_216 = (0.5f + (float(x_213) * 0.100000001f));
-          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)) {
-            discard;
-          } 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.100000001f));
-              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.100000001f));
-                x_257_phi = x_238;
-              } else {
-                if ((x_180 < 240)) {
-                  int x_244 = data[7];
-                  x_247 = (0.5f + (float(x_244) * 0.100000001f));
-                  x_256_phi = x_247;
-                } else {
-                  if ((x_180 < 270)) {
-                  } else {
-                    discard;
-                  }
-                  int x_252 = data[8];
-                  x_255 = (0.5f + (float(x_252) * 0.100000001f));
-                  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);
-  return;
-}
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-main_out tint_symbol_1(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out tint_symbol_3 = main_out(x_GLF_color);
-  return tint_symbol_3;
-}
-
-void main() {
-  main_out inner_result = tint_symbol_1(gl_FragCoord);
-  x_GLF_color_1_1 = inner_result.x_GLF_color_1;
-  return;
-}
-Error parsing GLSL shader:
-ERROR: 0:170: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:170: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-dead-code/0.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-dead-code/0.spvasm.expected.glsl
deleted file mode 100644
index 436b0e2..0000000
--- a/test/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-dead-code/0.spvasm.expected.glsl
+++ /dev/null
@@ -1,275 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-layout(location = 0) out vec4 x_GLF_color_1_1;
-struct buf0 {
-  vec2 injectionSwitch;
-};
-
-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) uniform buf0_1 {
-  vec2 injectionSwitch;
-} x_28;
-
-vec4 tint_symbol = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-void merge_i1_i1_i1_(inout int from, inout int mid, inout int to) {
-  int k = 0;
-  int i = 0;
-  int j = 0;
-  int i_1 = 0;
-  int x_251 = from;
-  k = x_251;
-  int x_252 = from;
-  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_269 = data[i];
-    int x_272 = data[j];
-    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;
-    }
-  }
-  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;
-  }
-  int x_309 = from;
-  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_321 = temp[i_1];
-    data[x_318] = x_321;
-    {
-      i_1 = (i_1 + 1);
-    }
-  }
-  return;
-}
-
-void mergeSort_() {
-  int low = 0;
-  int high = 0;
-  int m = 0;
-  int i_2 = 0;
-  int from_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;
-  {
-    for(; (m <= high); m = (2 * m)) {
-      i_2 = low;
-      {
-        for(; (i_2 < high); i_2 = (i_2 + (2 * m))) {
-          from_1 = i_2;
-          mid_1 = ((i_2 + m) - 1);
-          to_1 = min(((i_2 + (2 * m)) - 1), high);
-          param = from_1;
-          param_1 = mid_1;
-          param_2 = to_1;
-          merge_i1_i1_i1_(param, param_1, param_2);
-        }
-      }
-    }
-  }
-  return;
-}
-
-void main_1() {
-  int i_3 = 0;
-  int j_1 = 0;
-  float grey = 0.0f;
-  float x_84 = x_28.injectionSwitch.x;
-  i_3 = int(x_84);
-  while (true) {
-    switch(i_3) {
-      case 9: {
-        data[i_3] = -5;
-        break;
-      }
-      case 8: {
-        data[i_3] = -4;
-        break;
-      }
-      case 7: {
-        data[i_3] = -3;
-        break;
-      }
-      case 6: {
-        data[i_3] = -2;
-        break;
-      }
-      case 5: {
-        data[i_3] = -1;
-        break;
-      }
-      case 4: {
-        data[i_3] = 0;
-        break;
-      }
-      case 3: {
-        data[i_3] = 1;
-        break;
-      }
-      case 2: {
-        data[i_3] = 2;
-        break;
-      }
-      case 1: {
-        data[i_3] = 3;
-        break;
-      }
-      case 0: {
-        data[i_3] = 4;
-        break;
-      }
-      default: {
-        break;
-      }
-    }
-    i_3 = (i_3 + 1);
-    {
-      if ((i_3 < 10)) {
-      } else {
-        break;
-      }
-    }
-  }
-  j_1 = 0;
-  {
-    for(; (j_1 < 10); j_1 = (j_1 + 1)) {
-      int x_133 = j_1;
-      int x_136 = data[j_1];
-      temp[x_133] = x_136;
-    }
-  }
-  mergeSort_();
-  float x_142 = tint_symbol.y;
-  if ((int(x_142) < 30)) {
-    int x_149 = data[0];
-    grey = (0.5f + (float(x_149) / 10.0f));
-  } else {
-    float x_154 = tint_symbol.y;
-    if ((int(x_154) < 60)) {
-      int x_161 = data[1];
-      grey = (0.5f + (float(x_161) / 10.0f));
-    } else {
-      float x_166 = tint_symbol.y;
-      if ((int(x_166) < 90)) {
-        int x_173 = data[2];
-        grey = (0.5f + (float(x_173) / 10.0f));
-      } else {
-        float x_178 = tint_symbol.y;
-        if ((int(x_178) < 120)) {
-          int x_185 = data[3];
-          grey = (0.5f + (float(x_185) / 10.0f));
-        } else {
-          float x_190 = tint_symbol.y;
-          if ((int(x_190) < 150)) {
-            discard;
-          } else {
-            float x_197 = tint_symbol.y;
-            if ((int(x_197) < 180)) {
-              int x_204 = data[5];
-              grey = (0.5f + (float(x_204) / 10.0f));
-            } else {
-              float x_209 = tint_symbol.y;
-              if ((int(x_209) < 210)) {
-                int x_216 = data[6];
-                grey = (0.5f + (float(x_216) / 10.0f));
-              } else {
-                float x_221 = tint_symbol.y;
-                if ((int(x_221) < 240)) {
-                  int x_228 = data[7];
-                  grey = (0.5f + (float(x_228) / 10.0f));
-                } else {
-                  float x_233 = tint_symbol.y;
-                  if ((int(x_233) < 270)) {
-                    int x_240 = data[8];
-                    grey = (0.5f + (float(x_240) / 10.0f));
-                  } else {
-                    discard;
-                  }
-                }
-              }
-            }
-          }
-        }
-      }
-    }
-  }
-  float x_244 = grey;
-  vec3 x_245 = vec3(x_244, x_244, x_244);
-  x_GLF_color = vec4(x_245.x, x_245.y, x_245.z, 1.0f);
-  return;
-}
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-main_out tint_symbol_1(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out tint_symbol_3 = main_out(x_GLF_color);
-  return tint_symbol_3;
-}
-
-void main() {
-  main_out inner_result = tint_symbol_1(gl_FragCoord);
-  x_GLF_color_1_1 = inner_result.x_GLF_color_1;
-  return;
-}
-Error parsing GLSL shader:
-ERROR: 0:33: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:33: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-dead-code/1.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-dead-code/1.spvasm.expected.glsl
deleted file mode 100644
index 9942e20..0000000
--- a/test/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-dead-code/1.spvasm.expected.glsl
+++ /dev/null
@@ -1,295 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-layout(location = 0) out vec4 x_GLF_color_1_1;
-struct buf0 {
-  vec2 injectionSwitch;
-};
-
-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) uniform buf0_1 {
-  vec2 injectionSwitch;
-} x_28;
-
-vec4 tint_symbol = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-void merge_i1_i1_i1_(inout int from, inout int mid, inout int to) {
-  int k = 0;
-  int i = 0;
-  int j = 0;
-  int i_1 = 0;
-  int x_262 = from;
-  k = x_262;
-  int x_263 = from;
-  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_280 = data[i];
-    int x_283 = data[j];
-    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;
-    }
-  }
-  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;
-  }
-  int x_320 = from;
-  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_332 = temp[i_1];
-    data[x_329] = x_332;
-    {
-      i_1 = (i_1 + 1);
-    }
-  }
-  return;
-}
-
-void mergeSort_() {
-  int low = 0;
-  int high = 0;
-  int m = 0;
-  int i_2 = 0;
-  int from_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;
-  {
-    for(; (m <= high); m = (2 * m)) {
-      i_2 = low;
-      {
-        for(; (i_2 < high); i_2 = (i_2 + (2 * m))) {
-          from_1 = i_2;
-          mid_1 = ((i_2 + m) - 1);
-          to_1 = min(((i_2 + (2 * m)) - 1), high);
-          param = from_1;
-          param_1 = mid_1;
-          param_2 = to_1;
-          merge_i1_i1_i1_(param, param_1, param_2);
-        }
-      }
-    }
-  }
-  return;
-}
-
-void main_1() {
-  int i_3 = 0;
-  int j_1 = 0;
-  float grey = 0.0f;
-  float x_86 = x_28.injectionSwitch.x;
-  i_3 = int(x_86);
-  while (true) {
-    switch(i_3) {
-      case 9: {
-        data[i_3] = -5;
-        break;
-      }
-      case 8: {
-        data[i_3] = -4;
-        break;
-      }
-      case 7: {
-        data[i_3] = -3;
-        break;
-      }
-      case 6: {
-        data[i_3] = -2;
-        break;
-      }
-      case 5: {
-        data[i_3] = -1;
-        break;
-      }
-      case 4: {
-        data[i_3] = 0;
-        break;
-      }
-      case 3: {
-        data[i_3] = 1;
-        break;
-      }
-      case 2: {
-        data[i_3] = 2;
-        break;
-      }
-      case 1: {
-        data[i_3] = 3;
-        break;
-      }
-      case 0: {
-        data[i_3] = 4;
-        break;
-      }
-      default: {
-        break;
-      }
-    }
-    i_3 = (i_3 + 1);
-    {
-      if ((i_3 < 10)) {
-      } else {
-        break;
-      }
-    }
-  }
-  j_1 = 0;
-  while (true) {
-    bool x_133 = (j_1 < 10);
-    float x_135 = x_28.injectionSwitch.x;
-    if (!((x_135 <= 1.0f))) {
-      grey = 1.0f;
-    }
-    if (x_133) {
-    } else {
-      break;
-    }
-    int x_140 = j_1;
-    int x_143 = data[j_1];
-    temp[x_140] = x_143;
-    {
-      j_1 = (j_1 + 1);
-    }
-  }
-  mergeSort_();
-  float x_149 = tint_symbol.y;
-  if ((int(x_149) < 30)) {
-    int x_156 = data[0];
-    grey = (0.5f + (float(x_156) / 10.0f));
-  } else {
-    float x_161 = tint_symbol.y;
-    if ((int(x_161) < 60)) {
-      int x_168 = data[1];
-      grey = (0.5f + (float(x_168) / 10.0f));
-    } else {
-      float x_173 = tint_symbol.y;
-      if ((int(x_173) < 90)) {
-        int x_180 = data[2];
-        grey = (0.5f + (float(x_180) / 10.0f));
-      } else {
-        float x_185 = tint_symbol.y;
-        if ((int(x_185) < 120)) {
-          int x_192 = data[3];
-          grey = (0.5f + (float(x_192) / 10.0f));
-        } else {
-          float x_197 = tint_symbol.y;
-          if ((int(x_197) < 150)) {
-            discard;
-          } else {
-            float x_204 = tint_symbol.y;
-            if ((int(x_204) < 180)) {
-              int x_211 = data[5];
-              grey = (0.5f + (float(x_211) / 10.0f));
-            } else {
-              float x_216 = tint_symbol.y;
-              if ((int(x_216) < 210)) {
-                int x_223 = data[6];
-                grey = (0.5f + (float(x_223) / 10.0f));
-              } else {
-                float x_228 = tint_symbol.y;
-                if ((int(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 ((int(x_240) < 270)) {
-                    int x_247 = data[8];
-                    grey = (0.5f + (float(x_247) / 10.0f));
-                    guard233 = false;
-                  } else {
-                    if (guard233) {
-                      float x_252 = x_28.injectionSwitch.y;
-                      if (!((0.0f < x_252))) {
-                        guard233 = false;
-                      }
-                      if (guard233) {
-                        discard;
-                      }
-                    }
-                  }
-                }
-              }
-            }
-          }
-        }
-      }
-    }
-  }
-  float x_255 = grey;
-  vec3 x_256 = vec3(x_255, x_255, x_255);
-  x_GLF_color = vec4(x_256.x, x_256.y, x_256.z, 1.0f);
-  return;
-}
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-main_out tint_symbol_1(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out tint_symbol_3 = main_out(x_GLF_color);
-  return tint_symbol_3;
-}
-
-void main() {
-  main_out inner_result = tint_symbol_1(gl_FragCoord);
-  x_GLF_color_1_1 = inner_result.x_GLF_color_1;
-  return;
-}
-Error parsing GLSL shader:
-ERROR: 0:33: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:33: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-flatten-selection-dead-continues/1.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-flatten-selection-dead-continues/1.spvasm.expected.glsl
deleted file mode 100644
index f92ed9e..0000000
--- a/test/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-flatten-selection-dead-continues/1.spvasm.expected.glsl
+++ /dev/null
@@ -1,380 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-layout(location = 0) out vec4 x_GLF_color_1_1;
-struct buf0 {
-  vec2 injectionSwitch;
-};
-
-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) uniform buf0_1 {
-  vec2 injectionSwitch;
-} x_28;
-
-vec4 tint_symbol = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-void merge_i1_i1_i1_(inout int from, inout int mid, inout int to) {
-  int k = 0;
-  int i = 0;
-  int j = 0;
-  int i_1 = 0;
-  int x_255 = from;
-  k = x_255;
-  int x_256 = from;
-  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 = x_28.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_276 = data[i];
-    int x_279 = data[j];
-    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 = x_28.injectionSwitch.x;
-      if (!((1.0f <= x_293))) {
-      } else {
-        continue;
-      }
-    }
-    float x_297 = x_28.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_309 = (x_280 ? x_307_phi : x_300);
-    if (x_280) {
-      i = (x_309 + 1);
-    }
-    int x_315 = 0;
-    if (x_280) {
-      x_320 = data[x_309];
-      float x_322 = x_28.injectionSwitch.y;
-      x_328_phi = x_320;
-      if (!((0.0f <= x_322))) {
-        continue;
-      }
-    } else {
-      x_324 = 0;
-      float x_326 = x_28.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 = x_28.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_357 = (x_280 ? 0 : x_353_phi);
-    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;
-    }
-  }
-  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;
-  }
-  int x_390 = from;
-  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_402 = temp[i_1];
-    data[x_399] = x_402;
-    {
-      i_1 = (i_1 + 1);
-    }
-  }
-  return;
-}
-
-void mergeSort_() {
-  int low = 0;
-  int high = 0;
-  int m = 0;
-  int i_2 = 0;
-  int from_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;
-  {
-    for(; (m <= high); m = (2 * m)) {
-      i_2 = low;
-      {
-        for(; (i_2 < high); i_2 = (i_2 + (2 * m))) {
-          from_1 = i_2;
-          mid_1 = ((i_2 + m) - 1);
-          to_1 = min(((i_2 + (2 * m)) - 1), high);
-          param = from_1;
-          param_1 = mid_1;
-          param_2 = to_1;
-          merge_i1_i1_i1_(param, param_1, param_2);
-        }
-      }
-    }
-  }
-  return;
-}
-
-void main_1() {
-  int i_3 = 0;
-  int j_1 = 0;
-  float grey = 0.0f;
-  float x_88 = x_28.injectionSwitch.x;
-  i_3 = int(x_88);
-  while (true) {
-    switch(i_3) {
-      case 9: {
-        data[i_3] = -5;
-        break;
-      }
-      case 8: {
-        data[i_3] = -4;
-        break;
-      }
-      case 7: {
-        data[i_3] = -3;
-        break;
-      }
-      case 6: {
-        data[i_3] = -2;
-        break;
-      }
-      case 5: {
-        data[i_3] = -1;
-        break;
-      }
-      case 4: {
-        data[i_3] = 0;
-        break;
-      }
-      case 3: {
-        data[i_3] = 1;
-        break;
-      }
-      case 2: {
-        data[i_3] = 2;
-        break;
-      }
-      case 1: {
-        data[i_3] = 3;
-        break;
-      }
-      case 0: {
-        data[i_3] = 4;
-        break;
-      }
-      default: {
-        break;
-      }
-    }
-    i_3 = (i_3 + 1);
-    {
-      if ((i_3 < 10)) {
-      } else {
-        break;
-      }
-    }
-  }
-  j_1 = 0;
-  {
-    for(; (j_1 < 10); j_1 = (j_1 + 1)) {
-      int x_137 = j_1;
-      int x_140 = data[j_1];
-      temp[x_137] = x_140;
-    }
-  }
-  mergeSort_();
-  float x_146 = tint_symbol.y;
-  if ((int(x_146) < 30)) {
-    int x_153 = data[0];
-    grey = (0.5f + (float(x_153) / 10.0f));
-  } else {
-    float x_158 = tint_symbol.y;
-    if ((int(x_158) < 60)) {
-      int x_165 = data[1];
-      grey = (0.5f + (float(x_165) / 10.0f));
-    } else {
-      float x_170 = tint_symbol.y;
-      if ((int(x_170) < 90)) {
-        int x_177 = data[2];
-        grey = (0.5f + (float(x_177) / 10.0f));
-      } else {
-        float x_182 = tint_symbol.y;
-        if ((int(x_182) < 120)) {
-          int x_189 = data[3];
-          grey = (0.5f + (float(x_189) / 10.0f));
-        } else {
-          float x_194 = tint_symbol.y;
-          if ((int(x_194) < 150)) {
-            discard;
-          } else {
-            float x_201 = tint_symbol.y;
-            if ((int(x_201) < 180)) {
-              int x_208 = data[5];
-              grey = (0.5f + (float(x_208) / 10.0f));
-            } else {
-              float x_213 = tint_symbol.y;
-              if ((int(x_213) < 210)) {
-                int x_220 = data[6];
-                grey = (0.5f + (float(x_220) / 10.0f));
-              } else {
-                float x_225 = tint_symbol.y;
-                if ((int(x_225) < 240)) {
-                  int x_232 = data[7];
-                  grey = (0.5f + (float(x_232) / 10.0f));
-                } else {
-                  float x_237 = tint_symbol.y;
-                  if ((int(x_237) < 270)) {
-                    int x_244 = data[8];
-                    grey = (0.5f + (float(x_244) / 10.0f));
-                  } else {
-                    discard;
-                  }
-                }
-              }
-            }
-          }
-        }
-      }
-    }
-  }
-  float x_248 = grey;
-  vec3 x_249 = vec3(x_248, x_248, x_248);
-  x_GLF_color = vec4(x_249.x, x_249.y, x_249.z, 1.0f);
-  return;
-}
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-main_out tint_symbol_1(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out tint_symbol_3 = main_out(x_GLF_color);
-  return tint_symbol_3;
-}
-
-void main() {
-  main_out inner_result = tint_symbol_1(gl_FragCoord);
-  x_GLF_color_1_1 = inner_result.x_GLF_color_1;
-  return;
-}
-Error parsing GLSL shader:
-ERROR: 0:56: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:56: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-flatten-selection-dead-continues/2-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-flatten-selection-dead-continues/2-opt.spvasm.expected.glsl
deleted file mode 100644
index 968c3c2..0000000
--- a/test/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-flatten-selection-dead-continues/2-opt.spvasm.expected.glsl
+++ /dev/null
@@ -1,379 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-layout(location = 0) out vec4 x_GLF_color_1_1;
-struct buf0 {
-  vec2 injectionSwitch;
-};
-
-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) uniform buf0_1 {
-  vec2 injectionSwitch;
-} x_28;
-
-vec4 tint_symbol = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-void merge_i1_i1_i1_(inout int from, inout int mid, inout int to) {
-  int k = 0;
-  int i = 0;
-  int j = 0;
-  int i_1 = 0;
-  int x_255 = from;
-  k = x_255;
-  int x_256 = from;
-  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 ((1.0f >= 0.0f)) {
-    } 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_274 = data[i];
-    int x_277 = data[j];
-    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 = x_28.injectionSwitch.x;
-      if (!((1.0f <= x_291))) {
-      } else {
-        continue;
-      }
-    }
-    float x_295 = x_28.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_307 = (x_278 ? x_305_phi : x_298);
-    if (x_278) {
-      i = (x_307 + 1);
-    }
-    int x_313 = 0;
-    if (x_278) {
-      x_318 = data[x_307];
-      float x_320 = x_28.injectionSwitch.y;
-      x_326_phi = x_318;
-      if (!((0.0f <= x_320))) {
-        continue;
-      }
-    } else {
-      x_322 = 0;
-      float x_324 = x_28.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 = x_28.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_355 = (x_278 ? 0 : x_351_phi);
-    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;
-    }
-  }
-  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;
-  }
-  int x_388 = from;
-  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_400 = temp[i_1];
-    data[x_397] = x_400;
-    {
-      i_1 = (i_1 + 1);
-    }
-  }
-  return;
-}
-
-void mergeSort_() {
-  int low = 0;
-  int high = 0;
-  int m = 0;
-  int i_2 = 0;
-  int from_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;
-  {
-    for(; (m <= high); m = (2 * m)) {
-      i_2 = low;
-      {
-        for(; (i_2 < high); i_2 = (i_2 + (2 * m))) {
-          from_1 = i_2;
-          mid_1 = ((i_2 + m) - 1);
-          to_1 = min(((i_2 + (2 * m)) - 1), high);
-          param = from_1;
-          param_1 = mid_1;
-          param_2 = to_1;
-          merge_i1_i1_i1_(param, param_1, param_2);
-        }
-      }
-    }
-  }
-  return;
-}
-
-void main_1() {
-  int i_3 = 0;
-  int j_1 = 0;
-  float grey = 0.0f;
-  float x_88 = x_28.injectionSwitch.x;
-  i_3 = int(x_88);
-  while (true) {
-    switch(i_3) {
-      case 9: {
-        data[i_3] = -5;
-        break;
-      }
-      case 8: {
-        data[i_3] = -4;
-        break;
-      }
-      case 7: {
-        data[i_3] = -3;
-        break;
-      }
-      case 6: {
-        data[i_3] = -2;
-        break;
-      }
-      case 5: {
-        data[i_3] = -1;
-        break;
-      }
-      case 4: {
-        data[i_3] = 0;
-        break;
-      }
-      case 3: {
-        data[i_3] = 1;
-        break;
-      }
-      case 2: {
-        data[i_3] = 2;
-        break;
-      }
-      case 1: {
-        data[i_3] = 3;
-        break;
-      }
-      case 0: {
-        data[i_3] = 4;
-        break;
-      }
-      default: {
-        break;
-      }
-    }
-    i_3 = (i_3 + 1);
-    {
-      if ((i_3 < 10)) {
-      } else {
-        break;
-      }
-    }
-  }
-  j_1 = 0;
-  {
-    for(; (j_1 < 10); j_1 = (j_1 + 1)) {
-      int x_137 = j_1;
-      int x_140 = data[j_1];
-      temp[x_137] = x_140;
-    }
-  }
-  mergeSort_();
-  float x_146 = tint_symbol.y;
-  if ((int(x_146) < 30)) {
-    int x_153 = data[0];
-    grey = (0.5f + (float(x_153) / 10.0f));
-  } else {
-    float x_158 = tint_symbol.y;
-    if ((int(x_158) < 60)) {
-      int x_165 = data[1];
-      grey = (0.5f + (float(x_165) / 10.0f));
-    } else {
-      float x_170 = tint_symbol.y;
-      if ((int(x_170) < 90)) {
-        int x_177 = data[2];
-        grey = (0.5f + (float(x_177) / 10.0f));
-      } else {
-        float x_182 = tint_symbol.y;
-        if ((int(x_182) < 120)) {
-          int x_189 = data[3];
-          grey = (0.5f + (float(x_189) / 10.0f));
-        } else {
-          float x_194 = tint_symbol.y;
-          if ((int(x_194) < 150)) {
-            discard;
-          } else {
-            float x_201 = tint_symbol.y;
-            if ((int(x_201) < 180)) {
-              int x_208 = data[5];
-              grey = (0.5f + (float(x_208) / 10.0f));
-            } else {
-              float x_213 = tint_symbol.y;
-              if ((int(x_213) < 210)) {
-                int x_220 = data[6];
-                grey = (0.5f + (float(x_220) / 10.0f));
-              } else {
-                float x_225 = tint_symbol.y;
-                if ((int(x_225) < 240)) {
-                  int x_232 = data[7];
-                  grey = (0.5f + (float(x_232) / 10.0f));
-                } else {
-                  float x_237 = tint_symbol.y;
-                  if ((int(x_237) < 270)) {
-                    int x_244 = data[8];
-                    grey = (0.5f + (float(x_244) / 10.0f));
-                  } else {
-                    discard;
-                  }
-                }
-              }
-            }
-          }
-        }
-      }
-    }
-  }
-  float x_248 = grey;
-  vec3 x_249 = vec3(x_248, x_248, x_248);
-  x_GLF_color = vec4(x_249.x, x_249.y, x_249.z, 1.0f);
-  return;
-}
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-main_out tint_symbol_1(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out tint_symbol_3 = main_out(x_GLF_color);
-  return tint_symbol_3;
-}
-
-void main() {
-  main_out inner_result = tint_symbol_1(gl_FragCoord);
-  x_GLF_color_1_1 = inner_result.x_GLF_color_1;
-  return;
-}
-Error parsing GLSL shader:
-ERROR: 0:55: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:55: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-func-inline-mutate-var/1.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-func-inline-mutate-var/1.spvasm.expected.glsl
deleted file mode 100644
index c74ad05..0000000
--- a/test/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-func-inline-mutate-var/1.spvasm.expected.glsl
+++ /dev/null
@@ -1,276 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-layout(location = 0) out vec4 x_GLF_color_1_1;
-struct buf0 {
-  vec2 injectionSwitch;
-};
-
-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) uniform buf0_1 {
-  vec2 injectionSwitch;
-} x_28;
-
-vec4 tint_symbol = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-void merge_i1_i1_i1_(inout int from, inout int mid, inout int to) {
-  int k = 0;
-  int i = 0;
-  int j = 0;
-  int i_1 = 0;
-  int x_303 = from;
-  k = x_303;
-  int x_304 = from;
-  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_321 = data[i];
-    int x_324 = data[j];
-    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;
-    }
-  }
-  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;
-  }
-  int x_361 = from;
-  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_373 = temp[i_1];
-    data[x_370] = x_373;
-    {
-      i_1 = (i_1 + 1);
-    }
-  }
-  return;
-}
-
-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 = x_28.injectionSwitch.x;
-  i_3 = int(x_96);
-  while (true) {
-    switch(i_3) {
-      case 9: {
-        data[i_3] = -5;
-        break;
-      }
-      case 8: {
-        data[i_3] = -4;
-        break;
-      }
-      case 7: {
-        data[i_3] = -3;
-        break;
-      }
-      case 6: {
-        data[i_3] = -2;
-        break;
-      }
-      case 5: {
-        data[i_3] = -1;
-        break;
-      }
-      case 4: {
-        data[i_3] = 0;
-        break;
-      }
-      case 3: {
-        data[i_3] = 1;
-        break;
-      }
-      case 2: {
-        data[i_3] = 2;
-        break;
-      }
-      case 1: {
-        data[i_3] = 3;
-        break;
-      }
-      case 0: {
-        data[i_3] = 4;
-        break;
-      }
-      default: {
-        break;
-      }
-    }
-    i_3 = (i_3 + 1);
-    {
-      if ((i_3 < 10)) {
-      } else {
-        break;
-      }
-    }
-  }
-  j_1 = 0;
-  {
-    for(; (j_1 < 10); j_1 = (j_1 + 1)) {
-      int x_145 = j_1;
-      int x_148 = data[j_1];
-      temp[x_145] = x_148;
-    }
-  }
-  x_94 = 0;
-  x_93 = 9;
-  x_92 = 1;
-  {
-    for(; (x_92 <= x_93); x_92 = (2 * x_92)) {
-      x_91 = x_94;
-      {
-        for(; (x_91 < x_93); x_91 = (x_91 + (2 * x_92))) {
-          x_90 = x_91;
-          int x_170 = x_91;
-          int x_171 = x_92;
-          int x_173[10] = data;
-          int tint_symbol_3[10] = int[10](0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-          data = tint_symbol_3;
-          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);
-        }
-      }
-    }
-  }
-  float x_194 = tint_symbol.y;
-  if ((int(x_194) < 30)) {
-    int x_201 = data[0];
-    grey = (0.5f + (float(x_201) / 10.0f));
-  } else {
-    float x_206 = tint_symbol.y;
-    if ((int(x_206) < 60)) {
-      int x_213 = data[1];
-      grey = (0.5f + (float(x_213) / 10.0f));
-    } else {
-      float x_218 = tint_symbol.y;
-      if ((int(x_218) < 90)) {
-        int x_225 = data[2];
-        grey = (0.5f + (float(x_225) / 10.0f));
-      } else {
-        float x_230 = tint_symbol.y;
-        if ((int(x_230) < 120)) {
-          int x_237 = data[3];
-          grey = (0.5f + (float(x_237) / 10.0f));
-        } else {
-          float x_242 = tint_symbol.y;
-          if ((int(x_242) < 150)) {
-            discard;
-          } else {
-            float x_249 = tint_symbol.y;
-            if ((int(x_249) < 180)) {
-              int x_256 = data[5];
-              grey = (0.5f + (float(x_256) / 10.0f));
-            } else {
-              float x_261 = tint_symbol.y;
-              if ((int(x_261) < 210)) {
-                int x_268 = data[6];
-                grey = (0.5f + (float(x_268) / 10.0f));
-              } else {
-                float x_273 = tint_symbol.y;
-                if ((int(x_273) < 240)) {
-                  int x_280 = data[7];
-                  grey = (0.5f + (float(x_280) / 10.0f));
-                } else {
-                  float x_285 = tint_symbol.y;
-                  if ((int(x_285) < 270)) {
-                    int x_292 = data[8];
-                    grey = (0.5f + (float(x_292) / 10.0f));
-                  } else {
-                    discard;
-                  }
-                }
-              }
-            }
-          }
-        }
-      }
-    }
-  }
-  float x_296 = grey;
-  vec3 x_297 = vec3(x_296, x_296, x_296);
-  x_GLF_color = vec4(x_297.x, x_297.y, x_297.z, 1.0f);
-  return;
-}
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-main_out tint_symbol_1(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out tint_symbol_4 = main_out(x_GLF_color);
-  return tint_symbol_4;
-}
-
-void main() {
-  main_out inner_result = tint_symbol_1(gl_FragCoord);
-  x_GLF_color_1_1 = inner_result.x_GLF_color_1;
-  return;
-}
-Error parsing GLSL shader:
-ERROR: 0:33: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:33: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-func-inline-mutate-var/2.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-func-inline-mutate-var/2.spvasm.expected.glsl
deleted file mode 100644
index c2fa1fd..0000000
--- a/test/vk-gl-cts/graphicsfuzz/spv-stable-mergesort-func-inline-mutate-var/2.spvasm.expected.glsl
+++ /dev/null
@@ -1,270 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-layout(location = 0) out vec4 x_GLF_color_1_1;
-struct buf0 {
-  vec2 injectionSwitch;
-};
-
-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) uniform buf0_1 {
-  vec2 injectionSwitch;
-} x_28;
-
-vec4 tint_symbol = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-void merge_i1_i1_i1_(inout int from, inout int mid, inout int to) {
-  int k = 0;
-  int i = 0;
-  int j = 0;
-  int i_1 = 0;
-  int x_302 = from;
-  k = x_302;
-  int x_303 = from;
-  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_320 = data[i];
-    int x_323 = data[j];
-    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;
-    }
-  }
-  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;
-  }
-  int x_360 = from;
-  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_372 = temp[i_1];
-    data[x_369] = x_372;
-    {
-      i_1 = (i_1 + 1);
-    }
-  }
-  return;
-}
-
-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 = x_28.injectionSwitch.x;
-  i_3 = int(x_96);
-  while (true) {
-    switch(i_3) {
-      case 9: {
-        data[i_3] = -5;
-        break;
-      }
-      case 8: {
-        data[i_3] = -4;
-        break;
-      }
-      case 7: {
-        data[i_3] = -3;
-        break;
-      }
-      case 6: {
-        data[i_3] = -2;
-        break;
-      }
-      case 5: {
-        data[i_3] = -1;
-        break;
-      }
-      case 4: {
-        data[i_3] = 0;
-        break;
-      }
-      case 3: {
-        data[i_3] = 1;
-        break;
-      }
-      case 2: {
-        data[i_3] = 2;
-        break;
-      }
-      case 1: {
-        data[i_3] = 3;
-        break;
-      }
-      case 0: {
-        data[i_3] = 4;
-        break;
-      }
-      default: {
-        break;
-      }
-    }
-    i_3 = (i_3 + 1);
-    {
-      if ((i_3 < 10)) {
-      } else {
-        break;
-      }
-    }
-  }
-  j_1 = 0;
-  {
-    for(; (j_1 < 10); j_1 = (j_1 + 1)) {
-      int x_145 = j_1;
-      int x_148 = data[j_1];
-      temp[x_145] = x_148;
-    }
-  }
-  x_94 = 0;
-  x_93 = 9;
-  x_92 = 1;
-  {
-    for(; (x_92 <= x_93); x_92 = (2 * x_92)) {
-      x_91 = x_94;
-      {
-        for(; (x_91 < x_93); x_91 = (x_91 + (2 * x_92))) {
-          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);
-        }
-      }
-    }
-  }
-  float x_193 = tint_symbol.y;
-  if ((int(x_193) < 30)) {
-    int x_200 = data[0];
-    grey = (0.5f + (float(x_200) / 10.0f));
-  } else {
-    float x_205 = tint_symbol.y;
-    if ((int(x_205) < 60)) {
-      int x_212 = data[1];
-      grey = (0.5f + (float(x_212) / 10.0f));
-    } else {
-      float x_217 = tint_symbol.y;
-      if ((int(x_217) < 90)) {
-        int x_224 = data[2];
-        grey = (0.5f + (float(x_224) / 10.0f));
-      } else {
-        float x_229 = tint_symbol.y;
-        if ((int(x_229) < 120)) {
-          int x_236 = data[3];
-          grey = (0.5f + (float(x_236) / 10.0f));
-        } else {
-          float x_241 = tint_symbol.y;
-          if ((int(x_241) < 150)) {
-            discard;
-          } else {
-            float x_248 = tint_symbol.y;
-            if ((int(x_248) < 180)) {
-              int x_255 = data[5];
-              grey = (0.5f + (float(x_255) / 10.0f));
-            } else {
-              float x_260 = tint_symbol.y;
-              if ((int(x_260) < 210)) {
-                int x_267 = data[6];
-                grey = (0.5f + (float(x_267) / 10.0f));
-              } else {
-                float x_272 = tint_symbol.y;
-                if ((int(x_272) < 240)) {
-                  int x_279 = data[7];
-                  grey = (0.5f + (float(x_279) / 10.0f));
-                } else {
-                  float x_284 = tint_symbol.y;
-                  if ((int(x_284) < 270)) {
-                    int x_291 = data[8];
-                    grey = (0.5f + (float(x_291) / 10.0f));
-                  } else {
-                    discard;
-                  }
-                }
-              }
-            }
-          }
-        }
-      }
-    }
-  }
-  float x_295 = grey;
-  vec3 x_296 = vec3(x_295, x_295, x_295);
-  x_GLF_color = vec4(x_296.x, x_296.y, x_296.z, 1.0f);
-  return;
-}
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-main_out tint_symbol_1(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out tint_symbol_3 = main_out(x_GLF_color);
-  return tint_symbol_3;
-}
-
-void main() {
-  main_out inner_result = tint_symbol_1(gl_FragCoord);
-  x_GLF_color_1_1 = inner_result.x_GLF_color_1;
-  return;
-}
-Error parsing GLSL shader:
-ERROR: 0:33: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:33: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/vk-gl-cts/graphicsfuzz/stable-mergesort-clamped-conditional-bit-shift/1.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/stable-mergesort-clamped-conditional-bit-shift/1.spvasm.expected.glsl
deleted file mode 100644
index 09947df..0000000
--- a/test/vk-gl-cts/graphicsfuzz/stable-mergesort-clamped-conditional-bit-shift/1.spvasm.expected.glsl
+++ /dev/null
@@ -1,309 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-layout(location = 0) out vec4 x_GLF_color_1_1;
-struct buf0 {
-  vec2 injectionSwitch;
-};
-
-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, 0.0f, 0.0f, 0.0f);
-layout(binding = 0) uniform buf0_1 {
-  vec2 injectionSwitch;
-} x_34;
-
-vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-void merge_i1_i1_i1_(inout int from, inout int mid, inout int to) {
-  int k = 0;
-  int i = 0;
-  int j = 0;
-  int i_1 = 0;
-  int x_260 = from;
-  k = x_260;
-  int x_261 = from;
-  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_278 = data[i];
-    int x_281 = data[j];
-    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;
-    }
-  }
-  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;
-  }
-  int x_318 = from;
-  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_330 = temp[i_1];
-    data[x_327] = x_330;
-    {
-      i_1 = (i_1 + 1);
-    }
-  }
-  return;
-}
-
-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 << uint(0));
-    } else {
-      x_336 = 4;
-    }
-    x_335 = (1 << uint(x_336));
-  } else {
-    x_335 = 1;
-  }
-  x = x_335;
-  x = (x >> uint(4));
-  int x_353 = m;
-  int x_355 = m;
-  int x_357 = m;
-  return clamp((2 * x_353), (2 * x_355), ((2 * x_357) / x));
-}
-
-void mergeSort_() {
-  int low = 0;
-  int high_1 = 0;
-  int m_1 = 0;
-  int i_2 = 0;
-  int from_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;
-  {
-    for(; (m_1 <= high_1); m_1 = (2 * m_1)) {
-      i_2 = low;
-      while (true) {
-        if ((i_2 < high_1)) {
-        } else {
-          break;
-        }
-        from_1 = i_2;
-        mid_1 = ((i_2 + m_1) - 1);
-        to_1 = min(((i_2 + (2 * m_1)) - 1), high_1);
-        param = from_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);
-        }
-      }
-    }
-  }
-  return;
-}
-
-void main_1() {
-  int i_3 = 0;
-  int j_1 = 0;
-  float grey = 0.0f;
-  float x_93 = x_34.injectionSwitch.x;
-  i_3 = int(x_93);
-  while (true) {
-    switch(i_3) {
-      case 9: {
-        data[i_3] = -5;
-        break;
-      }
-      case 8: {
-        data[i_3] = -4;
-        break;
-      }
-      case 7: {
-        data[i_3] = -3;
-        break;
-      }
-      case 6: {
-        data[i_3] = -2;
-        break;
-      }
-      case 5: {
-        data[i_3] = -1;
-        break;
-      }
-      case 4: {
-        data[i_3] = 0;
-        break;
-      }
-      case 3: {
-        data[i_3] = 1;
-        break;
-      }
-      case 2: {
-        data[i_3] = 2;
-        break;
-      }
-      case 1: {
-        data[i_3] = 3;
-        break;
-      }
-      case 0: {
-        data[i_3] = 4;
-        break;
-      }
-      default: {
-        break;
-      }
-    }
-    i_3 = (i_3 + 1);
-    {
-      if ((i_3 < 10)) {
-      } else {
-        break;
-      }
-    }
-  }
-  j_1 = 0;
-  {
-    for(; (j_1 < 10); j_1 = (j_1 + 1)) {
-      int x_142 = j_1;
-      int x_145 = data[j_1];
-      temp[x_142] = x_145;
-    }
-  }
-  mergeSort_();
-  float x_151 = tint_symbol.y;
-  if ((int(x_151) < 30)) {
-    int x_158 = data[0];
-    grey = (0.5f + (float(x_158) / 10.0f));
-  } else {
-    float x_163 = tint_symbol.y;
-    if ((int(x_163) < 60)) {
-      int x_170 = data[1];
-      grey = (0.5f + (float(x_170) / 10.0f));
-    } else {
-      float x_175 = tint_symbol.y;
-      if ((int(x_175) < 90)) {
-        int x_182 = data[2];
-        grey = (0.5f + (float(x_182) / 10.0f));
-      } else {
-        float x_187 = tint_symbol.y;
-        if ((int(x_187) < 120)) {
-          int x_194 = data[3];
-          grey = (0.5f + (float(x_194) / 10.0f));
-        } else {
-          float x_199 = tint_symbol.y;
-          if ((int(x_199) < 150)) {
-            discard;
-          } else {
-            float x_206 = tint_symbol.y;
-            if ((int(x_206) < 180)) {
-              int x_213 = data[5];
-              grey = (0.5f + (float(x_213) / 10.0f));
-            } else {
-              float x_218 = tint_symbol.y;
-              if ((int(x_218) < 210)) {
-                int x_225 = data[6];
-                grey = (0.5f + (float(x_225) / 10.0f));
-              } else {
-                float x_230 = tint_symbol.y;
-                if ((int(x_230) < 240)) {
-                  int x_237 = data[7];
-                  grey = (0.5f + (float(x_237) / 10.0f));
-                } else {
-                  float x_242 = tint_symbol.y;
-                  if ((int(x_242) < 270)) {
-                    int x_249 = data[8];
-                    grey = (0.5f + (float(x_249) / 10.0f));
-                  } else {
-                    discard;
-                  }
-                }
-              }
-            }
-          }
-        }
-      }
-    }
-  }
-  float x_253 = grey;
-  vec3 x_254 = vec3(x_253, x_253, x_253);
-  x_GLF_color = vec4(x_254.x, x_254.y, x_254.z, 1.0f);
-  return;
-}
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-main_out tint_symbol_1(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out tint_symbol_3 = main_out(x_GLF_color);
-  return tint_symbol_3;
-}
-
-void main() {
-  main_out inner_result = tint_symbol_1(gl_FragCoord);
-  x_GLF_color_1_1 = inner_result.x_GLF_color_1;
-  return;
-}
-Error parsing GLSL shader:
-ERROR: 0:33: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:33: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/vk-gl-cts/graphicsfuzz/stable-mergesort-for-always-false-if-discard/1.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/stable-mergesort-for-always-false-if-discard/1.spvasm.expected.glsl
deleted file mode 100644
index b261483..0000000
--- a/test/vk-gl-cts/graphicsfuzz/stable-mergesort-for-always-false-if-discard/1.spvasm.expected.glsl
+++ /dev/null
@@ -1,364 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-layout(location = 0) out vec4 x_GLF_color_1_1;
-struct buf0 {
-  vec2 injectionSwitch;
-};
-
-layout(binding = 0) uniform buf0_1 {
-  vec2 injectionSwitch;
-} x_8;
-
-vec4 tint_symbol = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-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 = x_8.injectionSwitch.x;
-  int x_63 = int(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)) {
-      } else {
-        break;
-      }
-    }
-  }
-  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;
-    }
-  }
-  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;
-        }
-      }
-      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;
-        }
-      }
-      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;
-        }
-      }
-      {
-        x_109_phi = x_110;
-      }
-    }
-    {
-      x_103 = (2 * x_102);
-      x_102_phi = x_103;
-    }
-  }
-  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 = int(x_170);
-  if ((x_171 < 30)) {
-    int x_177 = data[0];
-    x_180 = (0.5f + (float(x_177) * 0.100000001f));
-    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.100000001f));
-      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.100000001f));
-        x_278_phi = x_198;
-      } else {
-        if ((x_171 < 120)) {
-          int x_204 = data[3];
-          x_207 = (0.5f + (float(x_204) * 0.100000001f));
-          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, 0.0f);
-          int x_259_phi = 0;
-          if ((x_171 < 150)) {
-            discard;
-          } 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.100000001f));
-              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.100000001f));
-                x_248_phi = x_229;
-              } else {
-                if ((x_171 < 240)) {
-                  int x_235 = data[7];
-                  x_238 = (0.5f + (float(x_235) * 0.100000001f));
-                  x_247_phi = x_238;
-                } else {
-                  if ((x_171 < 270)) {
-                  } else {
-                    discard;
-                  }
-                  int x_243 = data[8];
-                  x_246 = (0.5f + (float(x_243) * 0.100000001f));
-                  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 = x_8.injectionSwitch.y;
-            bool x_252 = (x_62 > x_251);
-            if (x_252) {
-              x_GLF_color = vec4(1.0f, 1.0f, 1.0f, 1.0f);
-            }
-            x_256_phi = vec2(1.0f, 1.0f);
-            x_259_phi = 0;
-            while (true) {
-              vec2 x_272 = vec2(0.0f, 0.0f);
-              int x_260 = 0;
-              vec2 x_273_phi = vec2(0.0f, 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.x < 0.0f)) {
-                if (x_252) {
-                  discard;
-                }
-                x_272 = x_256;
-                x_272.y = (x_256.y + 1.0f);
-                x_273_phi = x_272;
-              }
-              vec2 x_273 = x_273_phi;
-              vec2 x_257_1 = x_273;
-              x_257_1.x = (x_273.x + x_273.y);
-              vec2 x_257 = x_257_1;
-              {
-                x_260 = (x_259 + 1);
-                x_256_phi = x_257;
-                x_259_phi = x_260;
-              }
-            }
-          }
-          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);
-  return;
-}
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-main_out tint_symbol_1(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out tint_symbol_3 = main_out(x_GLF_color);
-  return tint_symbol_3;
-}
-
-void main() {
-  main_out inner_result = tint_symbol_1(gl_FragCoord);
-  x_GLF_color_1_1 = inner_result.x_GLF_color_1;
-  return;
-}
-Error parsing GLSL shader:
-ERROR: 0:137: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:137: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/vk-gl-cts/graphicsfuzz/stable-mergesort-reversed-for-loop/1.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/stable-mergesort-reversed-for-loop/1.spvasm.expected.glsl
deleted file mode 100644
index 8bd4692..0000000
--- a/test/vk-gl-cts/graphicsfuzz/stable-mergesort-reversed-for-loop/1.spvasm.expected.glsl
+++ /dev/null
@@ -1,285 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-layout(location = 0) out vec4 x_GLF_color_1_1;
-struct buf0 {
-  vec2 injectionSwitch;
-};
-
-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) uniform buf0_1 {
-  vec2 injectionSwitch;
-} x_28;
-
-vec4 tint_symbol = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-void merge_i1_i1_i1_(inout int from, inout int mid, inout int to) {
-  int k = 0;
-  int i = 0;
-  int j = 0;
-  int i_1 = 0;
-  int x_262 = from;
-  k = x_262;
-  int x_263 = from;
-  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_280 = data[i];
-    int x_283 = data[j];
-    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;
-    }
-  }
-  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;
-  }
-  int x_320 = from;
-  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_332 = temp[i_1];
-    data[x_329] = x_332;
-    {
-      i_1 = (i_1 + 1);
-    }
-  }
-  return;
-}
-
-void mergeSort_() {
-  int low = 0;
-  int high = 0;
-  int m = 0;
-  int i_2 = 0;
-  int from_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;
-  {
-    for(; (m <= high); m = (2 * m)) {
-      i_2 = low;
-      {
-        for(; (i_2 < high); i_2 = (i_2 + (2 * m))) {
-          from_1 = i_2;
-          mid_1 = ((i_2 + m) - 1);
-          to_1 = min(((i_2 + (2 * m)) - 1), high);
-          param = from_1;
-          param_1 = mid_1;
-          param_2 = to_1;
-          merge_i1_i1_i1_(param, param_1, param_2);
-        }
-      }
-    }
-  }
-  return;
-}
-
-void main_1() {
-  int i_3 = 0;
-  int j_1 = 0;
-  float grey = 0.0f;
-  int int_i = 0;
-  float x_85 = x_28.injectionSwitch.x;
-  i_3 = int(x_85);
-  while (true) {
-    switch(i_3) {
-      case 9: {
-        data[i_3] = -5;
-        break;
-      }
-      case 8: {
-        data[i_3] = -4;
-        break;
-      }
-      case 7: {
-        data[i_3] = -3;
-        break;
-      }
-      case 6: {
-        data[i_3] = -2;
-        break;
-      }
-      case 5: {
-        data[i_3] = -1;
-        break;
-      }
-      case 4: {
-        data[i_3] = 0;
-        break;
-      }
-      case 3: {
-        data[i_3] = 1;
-        break;
-      }
-      case 2: {
-        data[i_3] = 2;
-        break;
-      }
-      case 1: {
-        data[i_3] = 3;
-        break;
-      }
-      case 0: {
-        data[i_3] = 4;
-        break;
-      }
-      default: {
-        break;
-      }
-    }
-    i_3 = (i_3 + 1);
-    {
-      if ((i_3 < 10)) {
-      } else {
-        break;
-      }
-    }
-  }
-  j_1 = 0;
-  {
-    for(; (j_1 < 10); j_1 = (j_1 + 1)) {
-      int x_134 = j_1;
-      int x_137 = data[j_1];
-      temp[x_134] = x_137;
-    }
-  }
-  mergeSort_();
-  float x_143 = tint_symbol.y;
-  if ((int(x_143) < 30)) {
-    int x_150 = data[0];
-    grey = (0.5f + (float(x_150) / 10.0f));
-  } else {
-    float x_155 = tint_symbol.y;
-    if ((int(x_155) < 60)) {
-      int x_162 = data[1];
-      grey = (0.5f + (float(x_162) / 10.0f));
-    } else {
-      float x_167 = tint_symbol.y;
-      if ((int(x_167) < 90)) {
-        int x_174 = data[2];
-        grey = (0.5f + (float(x_174) / 10.0f));
-      } else {
-        float x_179 = tint_symbol.y;
-        if ((int(x_179) < 120)) {
-          int x_186 = data[3];
-          grey = (0.5f + (float(x_186) / 10.0f));
-        } else {
-          float x_191 = tint_symbol.y;
-          if ((int(x_191) < 150)) {
-            int_i = 1;
-            while (true) {
-              int x_201 = int_i;
-              float x_203 = x_28.injectionSwitch.x;
-              if ((x_201 > int(x_203))) {
-              } else {
-                break;
-              }
-              discard;
-            }
-          } else {
-            float x_208 = tint_symbol.y;
-            if ((int(x_208) < 180)) {
-              int x_215 = data[5];
-              grey = (0.5f + (float(x_215) / 10.0f));
-            } else {
-              float x_220 = tint_symbol.y;
-              if ((int(x_220) < 210)) {
-                int x_227 = data[6];
-                grey = (0.5f + (float(x_227) / 10.0f));
-              } else {
-                float x_232 = tint_symbol.y;
-                if ((int(x_232) < 240)) {
-                  int x_239 = data[7];
-                  grey = (0.5f + (float(x_239) / 10.0f));
-                } else {
-                  float x_244 = tint_symbol.y;
-                  if ((int(x_244) < 270)) {
-                    int x_251 = data[8];
-                    grey = (0.5f + (float(x_251) / 10.0f));
-                  } else {
-                    discard;
-                  }
-                }
-              }
-            }
-          }
-        }
-      }
-    }
-  }
-  float x_255 = grey;
-  vec3 x_256 = vec3(x_255, x_255, x_255);
-  x_GLF_color = vec4(x_256.x, x_256.y, x_256.z, 1.0f);
-  return;
-}
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-main_out tint_symbol_1(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out tint_symbol_3 = main_out(x_GLF_color);
-  return tint_symbol_3;
-}
-
-void main() {
-  main_out inner_result = tint_symbol_1(gl_FragCoord);
-  x_GLF_color_1_1 = inner_result.x_GLF_color_1;
-  return;
-}
-Error parsing GLSL shader:
-ERROR: 0:33: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:33: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/vk-gl-cts/graphicsfuzz/stable-triangle-array-nested-loop/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/stable-triangle-array-nested-loop/0-opt.spvasm.expected.glsl
deleted file mode 100644
index b5b553c..0000000
--- a/test/vk-gl-cts/graphicsfuzz/stable-triangle-array-nested-loop/0-opt.spvasm.expected.glsl
+++ /dev/null
@@ -1,158 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-layout(location = 0) out vec4 x_GLF_color_1_1;
-struct buf0 {
-  vec2 resolution;
-};
-
-vec4 tint_symbol = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-layout(binding = 0) uniform buf0_1 {
-  vec2 resolution;
-} x_24;
-
-vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-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, 0.0f);
-  vec2 param_1 = vec2(0.0f, 0.0f);
-  float pbc = 0.0f;
-  vec2 param_2 = vec2(0.0f, 0.0f);
-  vec2 param_3 = vec2(0.0f, 0.0f);
-  float pca = 0.0f;
-  vec2 param_4 = vec2(0.0f, 0.0f);
-  vec2 param_5 = vec2(0.0f, 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;
-      }
-      if (!(x_141_phi)) {
-        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;
-      }
-      if (!(x_169_phi)) {
-        x_90 = true;
-        x_91 = 0;
-        x_173_phi = 0;
-        break;
-      }
-      x_90 = true;
-      x_91 = 1;
-      x_173_phi = 1;
-      break;
-    }
-  }
-  return x_173_phi;
-}
-
-void main_1() {
-  vec2 pos = vec2(0.0f, 0.0f);
-  vec2 param_6 = vec2(0.0f, 0.0f);
-  vec2 param_7 = vec2(0.0f, 0.0f);
-  vec2 param_8 = vec2(0.0f, 0.0f);
-  vec2 param_9 = vec2(0.0f, 0.0f);
-  vec4 x_67 = tint_symbol;
-  vec2 x_70 = x_24.resolution;
-  vec2 x_71 = (vec2(x_67.x, x_67.y) / x_70);
-  pos = x_71;
-  param_6 = x_71;
-  param_7 = vec2(0.699999988f, 0.300000012f);
-  param_8 = vec2(0.5f, 0.899999976f);
-  param_9 = vec2(0.100000001f, 0.400000006f);
-  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);
-  }
-  return;
-}
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-main_out tint_symbol_1(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out tint_symbol_3 = main_out(x_GLF_color);
-  return tint_symbol_3;
-}
-
-void main() {
-  main_out inner_result = tint_symbol_1(gl_FragCoord);
-  x_GLF_color_1_1 = inner_result.x_GLF_color_1;
-  return;
-}
-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.
-
-
-
diff --git a/test/vk-gl-cts/graphicsfuzz/stable-triangle-array-nested-loop/0-opt.wgsl.expected.glsl b/test/vk-gl-cts/graphicsfuzz/stable-triangle-array-nested-loop/0-opt.wgsl.expected.glsl
deleted file mode 100644
index b5b553c..0000000
--- a/test/vk-gl-cts/graphicsfuzz/stable-triangle-array-nested-loop/0-opt.wgsl.expected.glsl
+++ /dev/null
@@ -1,158 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-layout(location = 0) out vec4 x_GLF_color_1_1;
-struct buf0 {
-  vec2 resolution;
-};
-
-vec4 tint_symbol = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-layout(binding = 0) uniform buf0_1 {
-  vec2 resolution;
-} x_24;
-
-vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-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, 0.0f);
-  vec2 param_1 = vec2(0.0f, 0.0f);
-  float pbc = 0.0f;
-  vec2 param_2 = vec2(0.0f, 0.0f);
-  vec2 param_3 = vec2(0.0f, 0.0f);
-  float pca = 0.0f;
-  vec2 param_4 = vec2(0.0f, 0.0f);
-  vec2 param_5 = vec2(0.0f, 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;
-      }
-      if (!(x_141_phi)) {
-        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;
-      }
-      if (!(x_169_phi)) {
-        x_90 = true;
-        x_91 = 0;
-        x_173_phi = 0;
-        break;
-      }
-      x_90 = true;
-      x_91 = 1;
-      x_173_phi = 1;
-      break;
-    }
-  }
-  return x_173_phi;
-}
-
-void main_1() {
-  vec2 pos = vec2(0.0f, 0.0f);
-  vec2 param_6 = vec2(0.0f, 0.0f);
-  vec2 param_7 = vec2(0.0f, 0.0f);
-  vec2 param_8 = vec2(0.0f, 0.0f);
-  vec2 param_9 = vec2(0.0f, 0.0f);
-  vec4 x_67 = tint_symbol;
-  vec2 x_70 = x_24.resolution;
-  vec2 x_71 = (vec2(x_67.x, x_67.y) / x_70);
-  pos = x_71;
-  param_6 = x_71;
-  param_7 = vec2(0.699999988f, 0.300000012f);
-  param_8 = vec2(0.5f, 0.899999976f);
-  param_9 = vec2(0.100000001f, 0.400000006f);
-  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);
-  }
-  return;
-}
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-main_out tint_symbol_1(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out tint_symbol_3 = main_out(x_GLF_color);
-  return tint_symbol_3;
-}
-
-void main() {
-  main_out inner_result = tint_symbol_1(gl_FragCoord);
-  x_GLF_color_1_1 = inner_result.x_GLF_color_1;
-  return;
-}
-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.
-
-
-
diff --git a/test/vk-gl-cts/graphicsfuzz/stable-triangle-clamp-conditional-mix/0.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/stable-triangle-clamp-conditional-mix/0.spvasm.expected.glsl
deleted file mode 100644
index 6a47168..0000000
--- a/test/vk-gl-cts/graphicsfuzz/stable-triangle-clamp-conditional-mix/0.spvasm.expected.glsl
+++ /dev/null
@@ -1,140 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-layout(location = 0) out vec4 x_GLF_color_1_1;
-struct buf0 {
-  vec2 resolution;
-};
-
-vec4 tint_symbol = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-layout(binding = 0) uniform buf0_1 {
-  vec2 resolution;
-} x_24;
-
-vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-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, 0.0f);
-  vec2 param_1 = vec2(0.0f, 0.0f);
-  float pbc = 0.0f;
-  vec2 param_2 = vec2(0.0f, 0.0f);
-  vec2 param_3 = vec2(0.0f, 0.0f);
-  float pca = 0.0f;
-  vec2 param_4 = vec2(0.0f, 0.0f);
-  vec2 param_5 = vec2(0.0f, 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;
-  bool x_129 = ((pab < 0.0f) & (pbc < 0.0f));
-  x_138_phi = x_129;
-  if (!(x_129)) {
-    x_137 = ((pab >= 0.0f) & (pbc >= 0.0f));
-    x_138_phi = x_137;
-  }
-  if (!(x_138_phi)) {
-    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;
-  bool x_161 = ((pab < 0.0f) & (pca < 0.0f));
-  x_170_phi = x_161;
-  if (!(x_161)) {
-    x_169 = ((pab >= 0.0f) & (pca >= 0.0f));
-    x_170_phi = x_169;
-  }
-  if (!(x_170_phi)) {
-    return 0;
-  }
-  return 1;
-}
-
-void main_1() {
-  vec2 pos = vec2(0.0f, 0.0f);
-  vec2 param_6 = vec2(0.0f, 0.0f);
-  vec2 param_7 = vec2(0.0f, 0.0f);
-  vec2 param_8 = vec2(0.0f, 0.0f);
-  vec2 param_9 = vec2(0.0f, 0.0f);
-  vec4 x_63 = tint_symbol;
-  vec2 x_66 = x_24.resolution;
-  pos = (vec2(x_63.x, x_63.y) / x_66);
-  param_6 = pos;
-  param_7 = vec2(0.699999988f, 0.300000012f);
-  param_8 = vec2(0.5f, 0.899999976f);
-  param_9 = vec2(0.100000001f, 0.400000006f);
-  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);
-  }
-  return;
-}
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-main_out tint_symbol_1(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out tint_symbol_3 = main_out(x_GLF_color);
-  return tint_symbol_3;
-}
-
-void main() {
-  main_out inner_result = tint_symbol_1(gl_FragCoord);
-  x_GLF_color_1_1 = inner_result.x_GLF_color_1;
-  return;
-}
-Error parsing GLSL shader:
-ERROR: 0:61: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:61: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/vk-gl-cts/graphicsfuzz/stable-triangle-clamp-conditional-mix/0.wgsl.expected.glsl b/test/vk-gl-cts/graphicsfuzz/stable-triangle-clamp-conditional-mix/0.wgsl.expected.glsl
deleted file mode 100644
index 6a47168..0000000
--- a/test/vk-gl-cts/graphicsfuzz/stable-triangle-clamp-conditional-mix/0.wgsl.expected.glsl
+++ /dev/null
@@ -1,140 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-layout(location = 0) out vec4 x_GLF_color_1_1;
-struct buf0 {
-  vec2 resolution;
-};
-
-vec4 tint_symbol = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-layout(binding = 0) uniform buf0_1 {
-  vec2 resolution;
-} x_24;
-
-vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-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, 0.0f);
-  vec2 param_1 = vec2(0.0f, 0.0f);
-  float pbc = 0.0f;
-  vec2 param_2 = vec2(0.0f, 0.0f);
-  vec2 param_3 = vec2(0.0f, 0.0f);
-  float pca = 0.0f;
-  vec2 param_4 = vec2(0.0f, 0.0f);
-  vec2 param_5 = vec2(0.0f, 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;
-  bool x_129 = ((pab < 0.0f) & (pbc < 0.0f));
-  x_138_phi = x_129;
-  if (!(x_129)) {
-    x_137 = ((pab >= 0.0f) & (pbc >= 0.0f));
-    x_138_phi = x_137;
-  }
-  if (!(x_138_phi)) {
-    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;
-  bool x_161 = ((pab < 0.0f) & (pca < 0.0f));
-  x_170_phi = x_161;
-  if (!(x_161)) {
-    x_169 = ((pab >= 0.0f) & (pca >= 0.0f));
-    x_170_phi = x_169;
-  }
-  if (!(x_170_phi)) {
-    return 0;
-  }
-  return 1;
-}
-
-void main_1() {
-  vec2 pos = vec2(0.0f, 0.0f);
-  vec2 param_6 = vec2(0.0f, 0.0f);
-  vec2 param_7 = vec2(0.0f, 0.0f);
-  vec2 param_8 = vec2(0.0f, 0.0f);
-  vec2 param_9 = vec2(0.0f, 0.0f);
-  vec4 x_63 = tint_symbol;
-  vec2 x_66 = x_24.resolution;
-  pos = (vec2(x_63.x, x_63.y) / x_66);
-  param_6 = pos;
-  param_7 = vec2(0.699999988f, 0.300000012f);
-  param_8 = vec2(0.5f, 0.899999976f);
-  param_9 = vec2(0.100000001f, 0.400000006f);
-  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);
-  }
-  return;
-}
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-main_out tint_symbol_1(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out tint_symbol_3 = main_out(x_GLF_color);
-  return tint_symbol_3;
-}
-
-void main() {
-  main_out inner_result = tint_symbol_1(gl_FragCoord);
-  x_GLF_color_1_1 = inner_result.x_GLF_color_1;
-  return;
-}
-Error parsing GLSL shader:
-ERROR: 0:61: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:61: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/vk-gl-cts/graphicsfuzz/stable-triangle-clamp-conditional-mix/1.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/stable-triangle-clamp-conditional-mix/1.spvasm.expected.glsl
deleted file mode 100644
index e9e375a..0000000
--- a/test/vk-gl-cts/graphicsfuzz/stable-triangle-clamp-conditional-mix/1.spvasm.expected.glsl
+++ /dev/null
@@ -1,167 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-layout(location = 0) out vec4 x_GLF_color_1_1;
-struct buf0 {
-  vec2 resolution;
-};
-
-layout(binding = 0) uniform buf0_1 {
-  vec2 resolution;
-} x_15;
-
-vec4 tint_symbol = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-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, 0.0f);
-  vec2 param_1 = vec2(0.0f, 0.0f);
-  float pbc = 0.0f;
-  vec2 param_2 = vec2(0.0f, 0.0f);
-  vec2 param_3 = vec2(0.0f, 0.0f);
-  float pca = 0.0f;
-  vec2 param_4 = vec2(0.0f, 0.0f);
-  vec2 param_5 = vec2(0.0f, 0.0f);
-  bool x_173 = false;
-  bool x_205 = false;
-  bool x_174_phi = false;
-  bool x_206_phi = false;
-  float x_99 = x_15.resolution.x;
-  float x_101 = x_15.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.x, x_108.y);
-    x_96 = x_107;
-  } else {
-    x_96 = -1.0f;
-  }
-  var_y = x_96;
-  float x_120 = c.y;
-  float x_121 = c.y;
-  clamp_y = clamp(x_120, x_121, var_y);
-  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;
-  bool x_165 = ((pab < 0.0f) & (pbc < 0.0f));
-  x_174_phi = x_165;
-  if (!(x_165)) {
-    x_173 = ((pab >= 0.0f) & (pbc >= 0.0f));
-    x_174_phi = x_173;
-  }
-  if (!(x_174_phi)) {
-    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;
-  bool x_197 = ((pab < 0.0f) & (pca < 0.0f));
-  x_206_phi = x_197;
-  if (!(x_197)) {
-    x_205 = ((pab >= 0.0f) & (pca >= 0.0f));
-    x_206_phi = x_205;
-  }
-  if (!(x_206_phi)) {
-    return 0;
-  }
-  return 1;
-}
-
-void main_1() {
-  vec2 pos = vec2(0.0f, 0.0f);
-  vec2 param_6 = vec2(0.0f, 0.0f);
-  vec2 param_7 = vec2(0.0f, 0.0f);
-  vec2 param_8 = vec2(0.0f, 0.0f);
-  vec2 param_9 = vec2(0.0f, 0.0f);
-  vec4 x_72 = tint_symbol;
-  vec2 x_75 = x_15.resolution;
-  pos = (vec2(x_72.x, x_72.y) / x_75);
-  param_6 = pos;
-  param_7 = vec2(0.699999988f, 0.300000012f);
-  param_8 = vec2(0.5f, 0.899999976f);
-  param_9 = vec2(0.100000001f, 0.400000006f);
-  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);
-  }
-  return;
-}
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-main_out tint_symbol_1(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out tint_symbol_3 = main_out(x_GLF_color);
-  return tint_symbol_3;
-}
-
-void main() {
-  main_out inner_result = tint_symbol_1(gl_FragCoord);
-  x_GLF_color_1_1 = inner_result.x_GLF_color_1;
-  return;
-}
-Error parsing GLSL shader:
-ERROR: 0:88: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:88: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/vk-gl-cts/graphicsfuzz/stable-triangle-clamp-conditional-mix/1.wgsl.expected.glsl b/test/vk-gl-cts/graphicsfuzz/stable-triangle-clamp-conditional-mix/1.wgsl.expected.glsl
deleted file mode 100644
index e9e375a..0000000
--- a/test/vk-gl-cts/graphicsfuzz/stable-triangle-clamp-conditional-mix/1.wgsl.expected.glsl
+++ /dev/null
@@ -1,167 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-layout(location = 0) out vec4 x_GLF_color_1_1;
-struct buf0 {
-  vec2 resolution;
-};
-
-layout(binding = 0) uniform buf0_1 {
-  vec2 resolution;
-} x_15;
-
-vec4 tint_symbol = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-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, 0.0f);
-  vec2 param_1 = vec2(0.0f, 0.0f);
-  float pbc = 0.0f;
-  vec2 param_2 = vec2(0.0f, 0.0f);
-  vec2 param_3 = vec2(0.0f, 0.0f);
-  float pca = 0.0f;
-  vec2 param_4 = vec2(0.0f, 0.0f);
-  vec2 param_5 = vec2(0.0f, 0.0f);
-  bool x_173 = false;
-  bool x_205 = false;
-  bool x_174_phi = false;
-  bool x_206_phi = false;
-  float x_99 = x_15.resolution.x;
-  float x_101 = x_15.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.x, x_108.y);
-    x_96 = x_107;
-  } else {
-    x_96 = -1.0f;
-  }
-  var_y = x_96;
-  float x_120 = c.y;
-  float x_121 = c.y;
-  clamp_y = clamp(x_120, x_121, var_y);
-  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;
-  bool x_165 = ((pab < 0.0f) & (pbc < 0.0f));
-  x_174_phi = x_165;
-  if (!(x_165)) {
-    x_173 = ((pab >= 0.0f) & (pbc >= 0.0f));
-    x_174_phi = x_173;
-  }
-  if (!(x_174_phi)) {
-    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;
-  bool x_197 = ((pab < 0.0f) & (pca < 0.0f));
-  x_206_phi = x_197;
-  if (!(x_197)) {
-    x_205 = ((pab >= 0.0f) & (pca >= 0.0f));
-    x_206_phi = x_205;
-  }
-  if (!(x_206_phi)) {
-    return 0;
-  }
-  return 1;
-}
-
-void main_1() {
-  vec2 pos = vec2(0.0f, 0.0f);
-  vec2 param_6 = vec2(0.0f, 0.0f);
-  vec2 param_7 = vec2(0.0f, 0.0f);
-  vec2 param_8 = vec2(0.0f, 0.0f);
-  vec2 param_9 = vec2(0.0f, 0.0f);
-  vec4 x_72 = tint_symbol;
-  vec2 x_75 = x_15.resolution;
-  pos = (vec2(x_72.x, x_72.y) / x_75);
-  param_6 = pos;
-  param_7 = vec2(0.699999988f, 0.300000012f);
-  param_8 = vec2(0.5f, 0.899999976f);
-  param_9 = vec2(0.100000001f, 0.400000006f);
-  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);
-  }
-  return;
-}
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-main_out tint_symbol_1(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out tint_symbol_3 = main_out(x_GLF_color);
-  return tint_symbol_3;
-}
-
-void main() {
-  main_out inner_result = tint_symbol_1(gl_FragCoord);
-  x_GLF_color_1_1 = inner_result.x_GLF_color_1;
-  return;
-}
-Error parsing GLSL shader:
-ERROR: 0:88: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:88: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/vk-gl-cts/graphicsfuzz/stable-triangle-nested-conditional-clamped-float/0.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/stable-triangle-nested-conditional-clamped-float/0.spvasm.expected.glsl
deleted file mode 100644
index c1ad3ac..0000000
--- a/test/vk-gl-cts/graphicsfuzz/stable-triangle-nested-conditional-clamped-float/0.spvasm.expected.glsl
+++ /dev/null
@@ -1,140 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-layout(location = 0) out vec4 x_GLF_color_1_1;
-struct buf0 {
-  vec2 resolution;
-};
-
-vec4 tint_symbol = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-layout(binding = 0) uniform buf0_1 {
-  vec2 resolution;
-} x_24;
-
-vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-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, 0.0f);
-  vec2 param_1 = vec2(0.0f, 0.0f);
-  float pbc = 0.0f;
-  vec2 param_2 = vec2(0.0f, 0.0f);
-  vec2 param_3 = vec2(0.0f, 0.0f);
-  float pca = 0.0f;
-  vec2 param_4 = vec2(0.0f, 0.0f);
-  vec2 param_5 = vec2(0.0f, 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;
-  bool x_137 = ((pab < 0.0f) & (pbc < 0.0f));
-  x_146_phi = x_137;
-  if (!(x_137)) {
-    x_145 = ((pab >= 0.0f) & (pbc >= 0.0f));
-    x_146_phi = x_145;
-  }
-  if (!(x_146_phi)) {
-    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;
-  bool x_177 = ((pab < 0.0f) & (pca < 0.0f));
-  x_186_phi = x_177;
-  if (!(x_177)) {
-    x_185 = ((pab >= 0.0f) & (pca >= 0.0f));
-    x_186_phi = x_185;
-  }
-  if (!(x_186_phi)) {
-    return 0;
-  }
-  return 1;
-}
-
-void main_1() {
-  vec2 pos = vec2(0.0f, 0.0f);
-  vec2 param_6 = vec2(0.0f, 0.0f);
-  vec2 param_7 = vec2(0.0f, 0.0f);
-  vec2 param_8 = vec2(0.0f, 0.0f);
-  vec2 param_9 = vec2(0.0f, 0.0f);
-  vec4 x_63 = tint_symbol;
-  vec2 x_66 = x_24.resolution;
-  pos = (vec2(x_63.x, x_63.y) / x_66);
-  param_6 = pos;
-  param_7 = vec2(0.699999988f, 0.300000012f);
-  param_8 = vec2(0.5f, 0.899999976f);
-  param_9 = vec2(0.100000001f, 0.400000006f);
-  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);
-  }
-  return;
-}
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-main_out tint_symbol_1(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out tint_symbol_3 = main_out(x_GLF_color);
-  return tint_symbol_3;
-}
-
-void main() {
-  main_out inner_result = tint_symbol_1(gl_FragCoord);
-  x_GLF_color_1_1 = inner_result.x_GLF_color_1;
-  return;
-}
-Error parsing GLSL shader:
-ERROR: 0:61: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:61: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/vk-gl-cts/graphicsfuzz/stable-triangle-nested-for-loop-and-true-if/0.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/stable-triangle-nested-for-loop-and-true-if/0.spvasm.expected.glsl
deleted file mode 100644
index 4ba0f6f..0000000
--- a/test/vk-gl-cts/graphicsfuzz/stable-triangle-nested-for-loop-and-true-if/0.spvasm.expected.glsl
+++ /dev/null
@@ -1,143 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-layout(location = 0) out vec4 x_GLF_color_1_1;
-struct buf0 {
-  vec2 resolution;
-};
-
-vec4 tint_symbol = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-layout(binding = 0) uniform buf0_1 {
-  vec2 resolution;
-} x_17;
-
-vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-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, 0.0f);
-  vec2 param_1 = vec2(0.0f, 0.0f);
-  vec2 param_2 = vec2(0.0f, 0.0f);
-  vec2 param_3 = vec2(0.0f, 0.0f);
-  vec2 param_4 = vec2(0.0f, 0.0f);
-  vec2 param_5 = vec2(0.0f, 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;
-  }
-  if (!(x_136_phi)) {
-    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;
-  }
-  if (!(x_173_phi)) {
-    return 0;
-  }
-  return 1;
-}
-
-void main_1() {
-  vec2 param_6 = vec2(0.0f, 0.0f);
-  vec2 param_7 = vec2(0.0f, 0.0f);
-  vec2 param_8 = vec2(0.0f, 0.0f);
-  vec2 param_9 = vec2(0.0f, 0.0f);
-  vec4 x_55 = tint_symbol;
-  vec2 x_58 = x_17.resolution;
-  param_6 = (vec2(x_55.x, x_55.y) / x_58);
-  param_7 = vec2(0.699999988f, 0.300000012f);
-  param_8 = vec2(0.5f, 0.899999976f);
-  param_9 = vec2(0.100000001f, 0.400000006f);
-  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);
-  }
-  return;
-}
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-main_out tint_symbol_1(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out tint_symbol_3 = main_out(x_GLF_color);
-  return tint_symbol_3;
-}
-
-void main() {
-  main_out inner_result = tint_symbol_1(gl_FragCoord);
-  x_GLF_color_1_1 = inner_result.x_GLF_color_1;
-  return;
-}
-Error parsing GLSL shader:
-ERROR: 0:62: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:62: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/vk-gl-cts/graphicsfuzz/stable-triangle-nested-for-loop-and-true-if/0.wgsl.expected.glsl b/test/vk-gl-cts/graphicsfuzz/stable-triangle-nested-for-loop-and-true-if/0.wgsl.expected.glsl
deleted file mode 100644
index 4ba0f6f..0000000
--- a/test/vk-gl-cts/graphicsfuzz/stable-triangle-nested-for-loop-and-true-if/0.wgsl.expected.glsl
+++ /dev/null
@@ -1,143 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-layout(location = 0) out vec4 x_GLF_color_1_1;
-struct buf0 {
-  vec2 resolution;
-};
-
-vec4 tint_symbol = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-layout(binding = 0) uniform buf0_1 {
-  vec2 resolution;
-} x_17;
-
-vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-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, 0.0f);
-  vec2 param_1 = vec2(0.0f, 0.0f);
-  vec2 param_2 = vec2(0.0f, 0.0f);
-  vec2 param_3 = vec2(0.0f, 0.0f);
-  vec2 param_4 = vec2(0.0f, 0.0f);
-  vec2 param_5 = vec2(0.0f, 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;
-  }
-  if (!(x_136_phi)) {
-    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;
-  }
-  if (!(x_173_phi)) {
-    return 0;
-  }
-  return 1;
-}
-
-void main_1() {
-  vec2 param_6 = vec2(0.0f, 0.0f);
-  vec2 param_7 = vec2(0.0f, 0.0f);
-  vec2 param_8 = vec2(0.0f, 0.0f);
-  vec2 param_9 = vec2(0.0f, 0.0f);
-  vec4 x_55 = tint_symbol;
-  vec2 x_58 = x_17.resolution;
-  param_6 = (vec2(x_55.x, x_55.y) / x_58);
-  param_7 = vec2(0.699999988f, 0.300000012f);
-  param_8 = vec2(0.5f, 0.899999976f);
-  param_9 = vec2(0.100000001f, 0.400000006f);
-  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);
-  }
-  return;
-}
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-main_out tint_symbol_1(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out tint_symbol_3 = main_out(x_GLF_color);
-  return tint_symbol_3;
-}
-
-void main() {
-  main_out inner_result = tint_symbol_1(gl_FragCoord);
-  x_GLF_color_1_1 = inner_result.x_GLF_color_1;
-  return;
-}
-Error parsing GLSL shader:
-ERROR: 0:62: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:62: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/vk-gl-cts/graphicsfuzz/stable-triangle-nested-for-loop-and-true-if/1.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/stable-triangle-nested-for-loop-and-true-if/1.spvasm.expected.glsl
deleted file mode 100644
index 8722064..0000000
--- a/test/vk-gl-cts/graphicsfuzz/stable-triangle-nested-for-loop-and-true-if/1.spvasm.expected.glsl
+++ /dev/null
@@ -1,187 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-layout(location = 0) out vec4 x_GLF_color_1_1;
-struct buf1 {
-  vec2 injectionSwitch;
-};
-
-struct buf0 {
-  vec2 resolution;
-};
-
-layout(binding = 1) uniform buf1_1 {
-  vec2 injectionSwitch;
-} x_11;
-
-vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-vec4 tint_symbol = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-layout(binding = 0) uniform buf0_1 {
-  vec2 resolution;
-} x_19;
-
-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, 0.0f);
-  vec2 param_1 = vec2(0.0f, 0.0f);
-  vec2 param_2 = vec2(0.0f, 0.0f);
-  vec2 param_3 = vec2(0.0f, 0.0f);
-  vec2 param_4 = vec2(0.0f, 0.0f);
-  vec2 param_5 = vec2(0.0f, 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;
-  if (!(x_148_phi)) {
-    x_153_phi = 0;
-    while (true) {
-      int x_154 = 0;
-      int x_164_phi = 0;
-      int x_153 = x_153_phi;
-      float x_159 = x_11.injectionSwitch.y;
-      int x_160 = int(x_159);
-      if ((x_153 < x_160)) {
-      } else {
-        break;
-      }
-      x_GLF_color = vec4(1.0f, 1.0f, 1.0f, 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, 1.0f, 1.0f, 1.0f);
-        {
-          x_165 = (x_164 + 1);
-          x_164_phi = x_165;
-        }
-      }
-      {
-        x_154 = (x_153 + 1);
-        x_153_phi = x_154;
-      }
-    }
-    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;
-  }
-  if (!(x_204_phi)) {
-    return 0;
-  }
-  return 1;
-}
-
-void main_1() {
-  vec2 param_6 = vec2(0.0f, 0.0f);
-  vec2 param_7 = vec2(0.0f, 0.0f);
-  vec2 param_8 = vec2(0.0f, 0.0f);
-  vec2 param_9 = vec2(0.0f, 0.0f);
-  vec4 x_60 = tint_symbol;
-  vec2 x_63 = x_19.resolution;
-  param_6 = (vec2(x_60.x, x_60.y) / x_63);
-  param_7 = vec2(0.699999988f, 0.300000012f);
-  param_8 = vec2(0.5f, 0.899999976f);
-  param_9 = vec2(0.100000001f, 0.400000006f);
-  int x_65 = pointInTriangle_vf2_vf2_vf2_vf2_(param_6, param_7, param_8, param_9);
-  if ((x_65 == 1)) {
-    float x_71 = x_11.injectionSwitch.y;
-    float x_73 = x_11.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);
-  }
-  return;
-}
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-main_out tint_symbol_1(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out tint_symbol_3 = main_out(x_GLF_color);
-  return tint_symbol_3;
-}
-
-void main() {
-  main_out inner_result = tint_symbol_1(gl_FragCoord);
-  x_GLF_color_1_1 = inner_result.x_GLF_color_1;
-  return;
-}
-Error parsing GLSL shader:
-ERROR: 0:70: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:70: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/vk-gl-cts/graphicsfuzz/stable-triangle-nested-for-loop-and-true-if/1.wgsl.expected.glsl b/test/vk-gl-cts/graphicsfuzz/stable-triangle-nested-for-loop-and-true-if/1.wgsl.expected.glsl
deleted file mode 100644
index 8722064..0000000
--- a/test/vk-gl-cts/graphicsfuzz/stable-triangle-nested-for-loop-and-true-if/1.wgsl.expected.glsl
+++ /dev/null
@@ -1,187 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-layout(location = 0) out vec4 x_GLF_color_1_1;
-struct buf1 {
-  vec2 injectionSwitch;
-};
-
-struct buf0 {
-  vec2 resolution;
-};
-
-layout(binding = 1) uniform buf1_1 {
-  vec2 injectionSwitch;
-} x_11;
-
-vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-vec4 tint_symbol = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-layout(binding = 0) uniform buf0_1 {
-  vec2 resolution;
-} x_19;
-
-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, 0.0f);
-  vec2 param_1 = vec2(0.0f, 0.0f);
-  vec2 param_2 = vec2(0.0f, 0.0f);
-  vec2 param_3 = vec2(0.0f, 0.0f);
-  vec2 param_4 = vec2(0.0f, 0.0f);
-  vec2 param_5 = vec2(0.0f, 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;
-  if (!(x_148_phi)) {
-    x_153_phi = 0;
-    while (true) {
-      int x_154 = 0;
-      int x_164_phi = 0;
-      int x_153 = x_153_phi;
-      float x_159 = x_11.injectionSwitch.y;
-      int x_160 = int(x_159);
-      if ((x_153 < x_160)) {
-      } else {
-        break;
-      }
-      x_GLF_color = vec4(1.0f, 1.0f, 1.0f, 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, 1.0f, 1.0f, 1.0f);
-        {
-          x_165 = (x_164 + 1);
-          x_164_phi = x_165;
-        }
-      }
-      {
-        x_154 = (x_153 + 1);
-        x_153_phi = x_154;
-      }
-    }
-    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;
-  }
-  if (!(x_204_phi)) {
-    return 0;
-  }
-  return 1;
-}
-
-void main_1() {
-  vec2 param_6 = vec2(0.0f, 0.0f);
-  vec2 param_7 = vec2(0.0f, 0.0f);
-  vec2 param_8 = vec2(0.0f, 0.0f);
-  vec2 param_9 = vec2(0.0f, 0.0f);
-  vec4 x_60 = tint_symbol;
-  vec2 x_63 = x_19.resolution;
-  param_6 = (vec2(x_60.x, x_60.y) / x_63);
-  param_7 = vec2(0.699999988f, 0.300000012f);
-  param_8 = vec2(0.5f, 0.899999976f);
-  param_9 = vec2(0.100000001f, 0.400000006f);
-  int x_65 = pointInTriangle_vf2_vf2_vf2_vf2_(param_6, param_7, param_8, param_9);
-  if ((x_65 == 1)) {
-    float x_71 = x_11.injectionSwitch.y;
-    float x_73 = x_11.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);
-  }
-  return;
-}
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-main_out tint_symbol_1(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out tint_symbol_3 = main_out(x_GLF_color);
-  return tint_symbol_3;
-}
-
-void main() {
-  main_out inner_result = tint_symbol_1(gl_FragCoord);
-  x_GLF_color_1_1 = inner_result.x_GLF_color_1;
-  return;
-}
-Error parsing GLSL shader:
-ERROR: 0:70: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:70: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/vk-gl-cts/graphicsfuzz/write-before-break/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/write-before-break/0-opt.spvasm.expected.glsl
deleted file mode 100644
index 2d39782..0000000
--- a/test/vk-gl-cts/graphicsfuzz/write-before-break/0-opt.spvasm.expected.glsl
+++ /dev/null
@@ -1,94 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-layout(location = 0) out vec4 x_GLF_color_1_1;
-struct buf0 {
-  int injected;
-};
-
-layout(binding = 0) uniform buf0_1 {
-  int injected;
-} x_9;
-
-vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-void main_1() {
-  int idx = 0;
-  mat4x3 m43 = mat4x3(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
-  int ll_1 = 0;
-  int GLF_live6rows = 0;
-  int z = 0;
-  int ll_2 = 0;
-  int ctr = 0;
-  mat4x3 tempm43 = mat4x3(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
-  int ll_3 = 0;
-  int c = 0;
-  int d = 0;
-  float GLF_live6sums[9] = float[9](0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
-  idx = 0;
-  m43 = mat4x3(vec3(1.0f, 0.0f, 0.0f), vec3(0.0f, 1.0f, 0.0f), vec3(0.0f, 0.0f, 1.0f), vec3(0.0f, 0.0f, 0.0f));
-  ll_1 = 0;
-  GLF_live6rows = 2;
-  while (true) {
-    int x_18 = ll_1;
-    int x_19 = x_9.injected;
-    if ((x_18 >= x_19)) {
-      x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-      break;
-    }
-    ll_1 = (ll_1 + 1);
-    int x_22 = x_9.injected;
-    z = x_22;
-    ll_2 = 0;
-    ctr = 0;
-    {
-      for(; (ctr < 1); ctr = (ctr + 1)) {
-        int x_24 = ll_2;
-        int x_25 = x_9.injected;
-        if ((x_24 >= x_25)) {
-          break;
-        }
-        ll_2 = (ll_2 + 1);
-        tempm43 = m43;
-        ll_3 = 0;
-        c = 0;
-        {
-          for(; (1 < z); c = (c + 1)) {
-            d = 0;
-            tempm43[(((c >= 0) & (c < 4)) ? c : 0)][(((d >= 0) & (d < 3)) ? d : 0)] = 1.0f;
-          }
-        }
-        int x_117 = (((idx >= 0) & (idx < 9)) ? idx : 0);
-        float x_119 = m43[ctr].y;
-        float x_121 = GLF_live6sums[x_117];
-        GLF_live6sums[x_117] = (x_121 + x_119);
-      }
-    }
-    idx = (idx + 1);
-  }
-  return;
-}
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-main_out tint_symbol() {
-  main_1();
-  main_out tint_symbol_1 = main_out(x_GLF_color);
-  return tint_symbol_1;
-}
-
-void main() {
-  main_out inner_result = tint_symbol();
-  x_GLF_color_1_1 = inner_result.x_GLF_color_1;
-  return;
-}
-Error parsing GLSL shader:
-ERROR: 0:57: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:57: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/vk-gl-cts/graphicsfuzz/write-red-after-search/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/write-red-after-search/0-opt.spvasm.expected.glsl
deleted file mode 100644
index 62a404d..0000000
--- a/test/vk-gl-cts/graphicsfuzz/write-red-after-search/0-opt.spvasm.expected.glsl
+++ /dev/null
@@ -1,368 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-layout(location = 0) out vec4 x_GLF_color_1_1;
-struct BST {
-  int data;
-  int leftIndex;
-  int rightIndex;
-};
-
-struct buf0 {
-  vec2 injectionSwitch;
-};
-
-struct Obj {
-  float odd_numbers[10];
-  float even_numbers[10];
-};
-
-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) uniform buf0_1 {
-  vec2 injectionSwitch;
-} x_27;
-
-vec4 tint_symbol = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-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;
-  return;
-}
-
-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_79 = tree_1[baseIndex].data;
-    if ((x_77 <= x_79)) {
-      int x_81 = tree_1[baseIndex].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);
-        tree_1[x_84] = param;
-        return;
-      } else {
-        int x_87 = tree_1[baseIndex].leftIndex;
-        baseIndex = x_87;
-        continue;
-      }
-    } else {
-      int x_89 = tree_1[baseIndex].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);
-        tree_1[x_92] = param_2;
-        return;
-      } else {
-        GLF_live8i = 1;
-        int x_369 = (((GLF_live8i >= 0) & (GLF_live8i < 50)) ? GLF_live8i : 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_98 = tree_1[baseIndex].rightIndex;
-          baseIndex = x_98;
-          {
-            float x_382 = x_27.injectionSwitch.x;
-            float x_384 = x_27.injectionSwitch.y;
-            if ((x_382 > x_384)) {
-            } else {
-              break;
-            }
-          }
-        }
-        continue;
-      }
-    }
-  }
-  return;
-}
-
-int search_i1_(inout int target) {
-  int index = 0;
-  BST currentNode = BST(0, 0, 0);
-  int x_387 = 0;
-  index = 0;
-  while (true) {
-    if ((index != -1)) {
-    } else {
-      break;
-    }
-    BST x_395 = tree_1[index];
-    currentNode = x_395;
-    int x_101 = currentNode.data;
-    int x_102 = target;
-    if ((x_101 == x_102)) {
-      int x_103 = target;
-      return x_103;
-    }
-    int x_104 = target;
-    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;
-    }
-    index = x_387;
-  }
-  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;
-  return ((vec3(30.0f, 30.0f, 30.0f) + (vec3(1.0f, 5.0f, nodeData) * x_409)) / vec3(50.0f, 50.0f, 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, 0.0f);
-  float x_1 = 0.0f;
-  float param_28 = 0.0f;
-  float y_1 = 0.0f;
-  float param_29 = 0.0f;
-  int sum = 0;
-  int target_1 = 0;
-  int result = 0;
-  int param_30 = 0;
-  float a = 0.0f;
-  vec3 x_235 = vec3(0.0f, 0.0f, 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);
-  tree_1[0] = param_8;
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_10 = treeIndex_1;
-  param_11 = 5;
-  insert_i1_i1_(param_10, param_11);
-  treeIndex_1 = (treeIndex_1 + 1);
-  GLF_live1_looplimiter2 = 0;
-  GLF_live1i = 0;
-  {
-    for(; true; GLF_live1i = (GLF_live1i + 1)) {
-      if ((GLF_live1_looplimiter2 >= 7)) {
-        break;
-      }
-      GLF_live1_looplimiter2 = (GLF_live1_looplimiter2 + 1);
-    }
-  }
-  param_12 = treeIndex_1;
-  param_13 = 12;
-  insert_i1_i1_(param_12, param_13);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_14 = treeIndex_1;
-  param_15 = 15;
-  insert_i1_i1_(param_14, param_15);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_16 = treeIndex_1;
-  param_17 = 7;
-  insert_i1_i1_(param_16, param_17);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_18 = treeIndex_1;
-  param_19 = 8;
-  insert_i1_i1_(param_18, param_19);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_20 = treeIndex_1;
-  param_21 = 2;
-  insert_i1_i1_(param_20, param_21);
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_22 = treeIndex_1;
-  param_23 = 6;
-  insert_i1_i1_(param_22, param_23);
-  treeIndex_1 = (treeIndex_1 + 1);
-  GLF_live4_looplimiter3 = 0;
-  GLF_live4i = 0;
-  {
-    for(; true; GLF_live4i = (GLF_live4i + 1)) {
-      if ((GLF_live4_looplimiter3 >= 3)) {
-        break;
-      }
-      GLF_live4_looplimiter3 = (GLF_live4_looplimiter3 + 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;
-      GLF_live4obj.even_numbers[(((GLF_live4i >= 0) & (GLF_live4i < 10)) ? GLF_live4i : 0)] = 1.0f;
-    }
-  }
-  param_24 = treeIndex_1;
-  param_25 = 17;
-  insert_i1_i1_(param_24, param_25);
-  float x_278 = x_27.injectionSwitch.x;
-  float x_280 = x_27.injectionSwitch.y;
-  if ((x_278 > x_280)) {
-    return;
-  }
-  treeIndex_1 = (treeIndex_1 + 1);
-  param_26 = treeIndex_1;
-  param_27 = 13;
-  insert_i1_i1_(param_26, param_27);
-  vec4 x_285 = tint_symbol;
-  z = (vec2(x_285.y, x_285.x) / vec2(256.0f, 256.0f));
-  float x_289 = z.x;
-  param_28 = x_289;
-  float x_290 = makeFrame_f1_(param_28);
-  x_1 = x_290;
-  float x_292 = z.y;
-  param_29 = x_292;
-  float x_293 = makeFrame_f1_(param_29);
-  y_1 = x_293;
-  sum = -100;
-  target_1 = 0;
-  {
-    for(; (target_1 < 20); target_1 = (target_1 + 1)) {
-      param_30 = target_1;
-      int x_158 = search_i1_(param_30);
-      result = x_158;
-      if ((result > 0)) {
-      } else {
-        switch(result) {
-          case 0: {
-            return;
-            break;
-          }
-          case -1: {
-            sum = (sum + 1);
-            break;
-          }
-          default: {
-            break;
-          }
-        }
-      }
-    }
-  }
-  a = (x_1 + (y_1 * float(sum)));
-  float x_313 = x_27.injectionSwitch.x;
-  float x_315 = x_27.injectionSwitch.y;
-  if ((x_313 < x_315)) {
-    x_235 = vec3(1.0f, 0.0f, 0.0f);
-  } else {
-    param_31 = a;
-    vec3 x_321 = hueColor_f1_(param_31);
-    x_235 = x_321;
-  }
-  vec3 x_322 = x_235;
-  x_GLF_color = vec4(x_322.x, x_322.y, x_322.z, 1.0f);
-  return;
-}
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-main_out tint_symbol_1(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out tint_symbol_3 = main_out(x_GLF_color);
-  return tint_symbol_3;
-}
-
-void main() {
-  main_out inner_result = tint_symbol_1(gl_FragCoord);
-  x_GLF_color_1_1 = inner_result.x_GLF_color_1;
-  return;
-}
-Error parsing GLSL shader:
-ERROR: 0:88: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:88: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/vk-gl-cts/graphicsfuzz/write-red-in-loop-nest/0-opt.spvasm.expected.glsl b/test/vk-gl-cts/graphicsfuzz/write-red-in-loop-nest/0-opt.spvasm.expected.glsl
deleted file mode 100644
index 5a83706..0000000
--- a/test/vk-gl-cts/graphicsfuzz/write-red-in-loop-nest/0-opt.spvasm.expected.glsl
+++ /dev/null
@@ -1,83 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-layout(location = 0) out vec4 x_GLF_color_1_1;
-vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-void main_1() {
-  mat4x3 m43 = mat4x3(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
-  int ll1 = 0;
-  int rows = 0;
-  int ll4 = 0;
-  int ll2 = 0;
-  int c = 0;
-  mat4x3 tempm43 = mat4x3(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
-  int ll3 = 0;
-  int d = 0;
-  int r = 0;
-  float sums[9] = float[9](0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
-  int idx = 0;
-  m43 = mat4x3(vec3(1.0f, 0.0f, 0.0f), vec3(0.0f, 1.0f, 0.0f), vec3(0.0f, 0.0f, 1.0f), vec3(0.0f, 0.0f, 0.0f));
-  ll1 = 0;
-  rows = 2;
-  while (true) {
-    if (true) {
-    } else {
-      break;
-    }
-    x_GLF_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
-    if ((ll1 >= 5)) {
-      break;
-    }
-    ll1 = (ll1 + 1);
-    ll4 = 10;
-    ll2 = 0;
-    c = 0;
-    {
-      for(; (c < 1); c = (c + 1)) {
-        if ((ll2 >= 0)) {
-          break;
-        }
-        ll2 = (ll2 + 1);
-        tempm43 = m43;
-        ll3 = 0;
-        d = 0;
-        {
-          for(; (1 < ll4); d = (d + 1)) {
-            tempm43[(((d >= 0) & (d < 4)) ? d : 0)][(((r >= 0) & (r < 3)) ? r : 0)] = 1.0f;
-          }
-        }
-        int x_111 = (((idx >= 0) & (idx < 9)) ? idx : 0);
-        float x_113 = m43[c].y;
-        float x_115 = sums[x_111];
-        sums[x_111] = (x_115 + x_113);
-      }
-    }
-    idx = (idx + 1);
-  }
-  return;
-}
-
-struct main_out {
-  vec4 x_GLF_color_1;
-};
-
-main_out tint_symbol() {
-  main_1();
-  main_out tint_symbol_1 = main_out(x_GLF_color);
-  return tint_symbol_1;
-}
-
-void main() {
-  main_out inner_result = tint_symbol();
-  x_GLF_color_1_1 = inner_result.x_GLF_color_1;
-  return;
-}
-Error parsing GLSL shader:
-ERROR: 0:46: '&' :  wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:46: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-
diff --git a/test/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/no_output_write/2-opt.spvasm.expected.glsl b/test/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/no_output_write/2-opt.spvasm.expected.glsl
deleted file mode 100644
index ff8ea5c..0000000
--- a/test/vk-gl-cts/spirv_assembly/instruction/terminate_invocation/no_output_write/2-opt.spvasm.expected.glsl
+++ /dev/null
@@ -1,42 +0,0 @@
-SKIP: FAILED
-
-#version 310 es
-precision mediump float;
-
-layout(location = 0) out int out_data_1_1;
-vec4 tint_symbol = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-int out_data = 0;
-void main_1() {
-  bool x_is_odd = false;
-  bool y_is_odd = false;
-  float x_24 = tint_symbol.x;
-  x_is_odd = ((int(x_24) & 1) == 1);
-  float x_29 = tint_symbol.y;
-  y_is_odd = ((int(x_29) & 1) == 1);
-  out_data = ((x_is_odd | y_is_odd) ? 1 : 0);
-  return;
-}
-
-struct main_out {
-  int out_data_1;
-};
-
-main_out tint_symbol_1(vec4 tint_symbol_2) {
-  tint_symbol = tint_symbol_2;
-  main_1();
-  main_out tint_symbol_3 = main_out(out_data);
-  return tint_symbol_3;
-}
-
-void main() {
-  main_out inner_result = tint_symbol_1(gl_FragCoord);
-  out_data_1_1 = inner_result.out_data_1;
-  return;
-}
-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 ' temp bool' (or there is no acceptable conversion)
-ERROR: 0:14: '' : compilation terminated 
-ERROR: 2 compilation errors.  No code generated.
-
-
-