GLSL: clean up GLSL output whitespace generation.

More line() and less std::endl.
More automated indents and less manual spacing.
Put a single newline after every struct and function declaration.

Note that this does touch every test result, but only affects whitespace.

Change-Id: I7506b9029b79b91fb335911dba44369b36f09bbe
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/78300
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
diff --git a/src/writer/glsl/generator_impl.cc b/src/writer/glsl/generator_impl.cc
index c5a8253..f1e726b 100644
--- a/src/writer/glsl/generator_impl.cc
+++ b/src/writer/glsl/generator_impl.cc
@@ -124,9 +124,6 @@
 GeneratorImpl::~GeneratorImpl() = default;
 
 bool GeneratorImpl::Generate() {
-  const TypeInfo* last_kind = nullptr;
-  size_t last_padding_line = 0;
-
   line() << "#version 310 es";
   line() << "precision mediump float;";
 
@@ -139,17 +136,6 @@
       continue;  // Ignore aliases.
     }
 
-    // Emit a new line between declarations if the type of declaration has
-    // changed, or we're about to emit a function
-    auto* kind = &decl->TypeInfo();
-    if (current_buffer_->lines.size() != last_padding_line) {
-      if (last_kind && (last_kind != kind || decl->Is<ast::Function>())) {
-        line();
-        last_padding_line = current_buffer_->lines.size();
-      }
-    }
-    last_kind = kind;
-
     if (auto* global = decl->As<ast::Variable>()) {
       if (!EmitGlobalVariable(global)) {
         return false;
@@ -1632,6 +1618,7 @@
   }
 
   line() << "}";
+  line();
 
   return true;
 }
@@ -1677,6 +1664,7 @@
   EmitStructMembers(current_buffer_, str);
   auto name = builder_.Symbols().NameFor(decl->symbol);
   line() << "} " << name << ";";
+  line();
 
   return true;
 }
@@ -1891,36 +1879,37 @@
 bool GeneratorImpl::EmitEntryPointFunction(const ast::Function* func) {
   auto* func_sem = builder_.Sem().Get(func);
 
+  if (func->PipelineStage() == ast::PipelineStage::kCompute) {
+    auto out = line();
+    // Emit the layout(local_size) attributes.
+    auto wgsize = func_sem->WorkgroupSize();
+    out << "layout(";
+    for (int i = 0; i < 3; i++) {
+      if (i > 0) {
+        out << ", ";
+      }
+      out << "local_size_" << (i == 0 ? "x" : i == 1 ? "y" : "z") << " = ";
+
+      if (wgsize[i].overridable_const) {
+        auto* global = builder_.Sem().Get<sem::GlobalVariable>(
+            wgsize[i].overridable_const);
+        if (!global->IsOverridable()) {
+          TINT_ICE(Writer, builder_.Diagnostics())
+              << "expected a pipeline-overridable constant";
+        }
+        out << kSpecConstantPrefix << global->ConstantId();
+      } else {
+        out << std::to_string(wgsize[i].value);
+      }
+    }
+    out << ") in;";
+  }
+
+  // Emit original entry point signature
   {
     auto out = line();
-    if (func->PipelineStage() == ast::PipelineStage::kCompute) {
-      // Emit the layout(local_size) attributes.
-      auto wgsize = func_sem->WorkgroupSize();
-      out << "layout(";
-      for (int i = 0; i < 3; i++) {
-        if (i > 0) {
-          out << ", ";
-        }
-        out << "local_size_" << (i == 0 ? "x" : i == 1 ? "y" : "z") << " = ";
-
-        if (wgsize[i].overridable_const) {
-          auto* global = builder_.Sem().Get<sem::GlobalVariable>(
-              wgsize[i].overridable_const);
-          if (!global->IsOverridable()) {
-            TINT_ICE(Writer, builder_.Diagnostics())
-                << "expected a pipeline-overridable constant";
-          }
-          out << kSpecConstantPrefix << global->ConstantId();
-        } else {
-          out << std::to_string(wgsize[i].value);
-        }
-      }
-      out << ") in;" << std::endl;
-    }
-
-    out << func->return_type->FriendlyName(builder_.Symbols());
-
-    out << " " << builder_.Symbols().NameFor(func->symbol) << "(";
+    out << func->return_type->FriendlyName(builder_.Symbols()) << " "
+        << builder_.Symbols().NameFor(func->symbol) << "(";
 
     bool first = true;
 
@@ -1949,6 +1938,7 @@
     out << ") {";
   }
 
+  // Emit original entry point function body
   {
     ScopedIndent si(this);
 
@@ -1966,13 +1956,13 @@
 
   line() << "}";
 
-  auto out = line();
-
   // Declare entry point input variables
   for (auto* var : func->params) {
     auto* sem = builder_.Sem().Get(var);
     auto* str = sem->Type()->As<sem::Struct>();
     for (auto* member : str->Members()) {
+      auto out = line();
+
       auto decorations = member->Declaration()->decorations;
       if (ast::HasDecoration<ast::BuiltinDecoration>(decorations)) {
         continue;
@@ -1990,7 +1980,7 @@
               builder_.Symbols().NameFor(member->Declaration()->symbol))) {
         return false;
       }
-      out << ";" << std::endl;
+      out << ";";
     }
   }
 
@@ -1998,6 +1988,7 @@
   auto* return_type = func_sem->ReturnType()->As<sem::Struct>();
   if (return_type) {
     for (auto* member : return_type->Members()) {
+      auto out = line();
       auto decorations = member->Declaration()->decorations;
       if (ast::HasDecoration<ast::BuiltinDecoration>(decorations)) {
         continue;
@@ -2015,82 +2006,93 @@
               builder_.Symbols().NameFor(member->Declaration()->symbol))) {
         return false;
       }
-      out << ";" << std::endl;
+      out << ";";
     }
   }
+  line();
 
   // Create a main() function which calls the entry point.
-  out << "void main() {" << std::endl;
-  std::string printed_name;
-  for (auto* var : func->params) {
-    out << "  ";
-    auto* sem = builder_.Sem().Get(var);
-    if (!EmitTypeAndName(out, sem->Type(), sem->StorageClass(), sem->Access(),
-                         "inputs")) {
-      return false;
-    }
-    out << ";" << std::endl;
-    auto* type = sem->Type();
-    auto* str = type->As<sem::Struct>();
-    for (auto* member : str->Members()) {
-      std::string name =
-          builder_.Symbols().NameFor(member->Declaration()->symbol);
-      out << "  inputs." << name << " = ";
-      if (auto* builtin = ast::GetDecoration<ast::BuiltinDecoration>(
-              member->Declaration()->decorations)) {
-        if (builtin_type(builtin->builtin) != member->Type()) {
-          if (!EmitType(out, member->Type(), ast::StorageClass::kNone,
-                        ast::Access::kReadWrite, "")) {
-            return false;
-          }
-          out << "(";
-          out << builtin_to_string(builtin->builtin, func->PipelineStage());
-          out << ")";
-        } else {
-          out << builtin_to_string(builtin->builtin, func->PipelineStage());
+  line() << "void main() {";
+
+  // Emit main function body
+  {
+    ScopedIndent si(this);
+    for (auto* var : func->params) {
+      auto* sem = builder_.Sem().Get(var);
+      auto* type = sem->Type();
+      {
+        auto out = line();
+        if (!EmitTypeAndName(out, type, sem->StorageClass(), sem->Access(),
+                             "inputs")) {
+          return false;
         }
-      } else {
-        out << name;
+        out << ";";
       }
-      out << ";" << std::endl;
+      auto* str = type->As<sem::Struct>();
+      for (auto* member : str->Members()) {
+        auto out = line();
+        std::string name =
+            builder_.Symbols().NameFor(member->Declaration()->symbol);
+        out << "inputs." << name << " = ";
+        if (auto* builtin = ast::GetDecoration<ast::BuiltinDecoration>(
+                member->Declaration()->decorations)) {
+          if (builtin_type(builtin->builtin) != member->Type()) {
+            if (!EmitType(out, member->Type(), ast::StorageClass::kNone,
+                          ast::Access::kReadWrite, "")) {
+              return false;
+            }
+            out << "(";
+            out << builtin_to_string(builtin->builtin, func->PipelineStage());
+            out << ")";
+          } else {
+            out << builtin_to_string(builtin->builtin, func->PipelineStage());
+          }
+        } else {
+          out << name;
+        }
+        out << ";";
+      }
+    }
+
+    if (return_type) {
+      line() << return_type->FriendlyName(builder_.Symbols()) << " outputs;";
+    }
+    {
+      auto out = line();
+      if (return_type) {
+        out << "outputs = ";
+      }
+      out << builder_.Symbols().NameFor(func->symbol);
+      if (func->params.empty()) {
+        out << "()";
+      } else {
+        out << "(inputs)";
+      }
+      out << ";";
+    }
+
+    auto* str = func_sem->ReturnType()->As<sem::Struct>();
+    if (str) {
+      for (auto* member : str->Members()) {
+        auto out = line();
+        std::string name =
+            builder_.Symbols().NameFor(member->Declaration()->symbol);
+        if (auto* builtin = ast::GetDecoration<ast::BuiltinDecoration>(
+                member->Declaration()->decorations)) {
+          out << builtin_to_string(builtin->builtin, func->PipelineStage());
+        } else {
+          out << name;
+        }
+        out << " = outputs." << name << ";";
+      }
+    }
+    if (func->PipelineStage() == ast::PipelineStage::kVertex) {
+      line() << "gl_Position.z = 2.0 * gl_Position.z - gl_Position.w;";
+      line() << "gl_Position.y = -gl_Position.y;";
     }
   }
-  out << "  ";
-  if (return_type) {
-    out << return_type->FriendlyName(builder_.Symbols()) << " "
-        << "outputs;" << std::endl;
-    out << "  outputs = ";
-  }
-  out << builder_.Symbols().NameFor(func->symbol);
-  if (func->params.empty()) {
-    out << "()";
-  } else {
-    out << "(inputs)";
-  }
-  out << ";" << std::endl;
-
-  auto* str = func_sem->ReturnType()->As<sem::Struct>();
-  if (str) {
-    for (auto* member : str->Members()) {
-      std::string name =
-          builder_.Symbols().NameFor(member->Declaration()->symbol);
-      out << "  ";
-      if (auto* builtin = ast::GetDecoration<ast::BuiltinDecoration>(
-              member->Declaration()->decorations)) {
-        out << builtin_to_string(builtin->builtin, func->PipelineStage());
-      } else {
-        out << name;
-      }
-      out << " = outputs." << name << ";" << std::endl;
-    }
-  }
-  if (func->PipelineStage() == ast::PipelineStage::kVertex) {
-    out << "  gl_Position.z = 2.0 * gl_Position.z - gl_Position.w;"
-        << std::endl;
-    out << "  gl_Position.y = -gl_Position.y;" << std::endl;
-  }
-
-  out << "}" << std::endl << std::endl;
+  line() << "}";
+  line();
 
   return true;
 }
@@ -2611,6 +2613,7 @@
   line(b) << "struct " << StructName(str) << " {";
   EmitStructMembers(b, str);
   line(b) << "};";
+  line(b);
 
   return true;
 }
diff --git a/src/writer/glsl/generator_impl_function_test.cc b/src/writer/glsl/generator_impl_function_test.cc
index b6e9fe7..c4bc9bb 100644
--- a/src/writer/glsl/generator_impl_function_test.cc
+++ b/src/writer/glsl/generator_impl_function_test.cc
@@ -45,6 +45,7 @@
   void my_func() {
     return;
   }
+
 )");
 }
 
@@ -82,6 +83,7 @@
   void my_func(float a, int b) {
     return;
   }
+
 )");
 }
 
@@ -101,11 +103,11 @@
 void func() {
   return;
 }
+
 void main() {
   func();
 }
 
-
 )");
 }
 
@@ -143,6 +145,7 @@
 struct tint_symbol_1 {
   float foo;
 };
+
 struct tint_symbol_2 {
   float value;
 };
@@ -159,6 +162,7 @@
 }
 layout(location = 0) in float foo;
 layout(location = 1) out float value;
+
 void main() {
   tint_symbol_1 inputs;
   inputs.foo = foo;
@@ -167,7 +171,6 @@
   value = outputs.value;
 }
 
-
 )");
 }
 
@@ -192,6 +195,7 @@
 struct tint_symbol_1 {
   vec4 coord;
 };
+
 struct tint_symbol_2 {
   float value;
 };
@@ -206,6 +210,9 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
+
 void main() {
   tint_symbol_1 inputs;
   inputs.coord = gl_FragCoord;
@@ -214,7 +221,6 @@
   gl_FragDepth = outputs.value;
 }
 
-
 )");
 }
 
@@ -265,6 +271,7 @@
   float col1;
   float col2;
 };
+
 struct tint_symbol {
   float col1;
   float col2;
@@ -286,6 +293,8 @@
 }
 layout(location = 1) out float col1;
 layout(location = 2) out float col2;
+
+
 void main() {
   tint_symbol outputs;
   outputs = vert_main();
@@ -296,8 +305,6 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
-
 struct tint_symbol_2 {
   float col1;
   float col2;
@@ -317,6 +324,8 @@
 }
 layout(location = 1) in float col1;
 layout(location = 2) in float col2;
+
+
 void main() {
   tint_symbol_2 inputs;
   inputs.col1 = col1;
@@ -325,7 +334,6 @@
   frag_main(inputs);
 }
 
-
 )");
 }
 
@@ -451,11 +459,11 @@
   float v = sub_func(1.0f);
   return;
 }
+
 void main() {
   frag_main();
 }
 
-
 )");
 }
 
@@ -500,11 +508,11 @@
   float v = uniforms.coord.x;
   return;
 }
+
 void main() {
   frag_main();
 }
 
-
 )");
 }
 
@@ -551,16 +559,15 @@
   int a;
   float b;
 } coord;
-
 void frag_main() {
   float v = coord.b;
   return;
 }
+
 void main() {
   frag_main();
 }
 
-
 )");
 }
 
@@ -607,16 +614,15 @@
   int a;
   float b;
 } coord;
-
 void frag_main() {
   float v = coord.b;
   return;
 }
+
 void main() {
   frag_main();
 }
 
-
 )");
 }
 
@@ -659,16 +665,15 @@
   int a;
   float b;
 } coord;
-
 void frag_main() {
   coord.b = 2.0f;
   return;
 }
+
 void main() {
   frag_main();
 }
 
-
 )");
 }
 
@@ -712,16 +717,15 @@
   int a;
   float b;
 } coord;
-
 void frag_main() {
   coord.b = 2.0f;
   return;
 }
+
 void main() {
   frag_main();
 }
 
-
 )");
 }
 
@@ -774,11 +778,11 @@
   float v = sub_func(1.0f);
   return;
 }
+
 void main() {
   frag_main();
 }
 
-
 )");
 }
 
@@ -824,7 +828,6 @@
 layout(binding = 0) buffer S_1 {
   float x;
 } coord;
-
 float sub_func(float param) {
   return coord.x;
 }
@@ -833,11 +836,11 @@
   float v = sub_func(1.0f);
   return;
 }
+
 void main() {
   frag_main();
 }
 
-
 )");
 }
 
@@ -857,11 +860,11 @@
 void tint_symbol() {
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
 )");
 }
 
@@ -882,11 +885,11 @@
 void main() {
   return;
 }
+
 void main() {
   main();
 }
 
-
 )");
 }
 
@@ -908,11 +911,11 @@
 void main() {
   return;
 }
+
 void main() {
   main();
 }
 
-
 )");
 }
 
@@ -936,16 +939,15 @@
 const int width = int(2);
 const int height = int(3);
 const int depth = int(4);
-
 layout(local_size_x = 2, local_size_y = 3, local_size_z = 4) in;
 void main() {
   return;
 }
+
 void main() {
   main();
 }
 
-
 )");
 }
 
@@ -978,16 +980,15 @@
 #define WGSL_SPEC_CONSTANT_9 int(4)
 #endif
 const int depth = WGSL_SPEC_CONSTANT_9;
-
 layout(local_size_x = WGSL_SPEC_CONSTANT_7, local_size_y = WGSL_SPEC_CONSTANT_8, local_size_z = WGSL_SPEC_CONSTANT_9) in;
 void main() {
   return;
 }
+
 void main() {
   main();
 }
 
-
 )");
 }
 
@@ -1006,6 +1007,7 @@
 void my_func(float a[5]) {
   return;
 }
+
 )");
 }
 
@@ -1024,6 +1026,7 @@
 float[5] my_func() {
   return float[5](0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
 }
+
 )");
 }
 
@@ -1093,28 +1096,26 @@
 layout(binding = 0) buffer Data_1 {
   float d;
 } data;
-
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void a() {
   float v = data.d;
   return;
 }
+
 void main() {
   a();
 }
 
-
-
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void b() {
   float v = data.d;
   return;
 }
+
 void main() {
   b();
 }
 
-
 )");
 }
 
diff --git a/src/writer/glsl/generator_impl_intrinsic_test.cc b/src/writer/glsl/generator_impl_intrinsic_test.cc
index 102f7c3..6a14bf9 100644
--- a/src/writer/glsl/generator_impl_intrinsic_test.cc
+++ b/src/writer/glsl/generator_impl_intrinsic_test.cc
@@ -405,11 +405,11 @@
   float tint_symbol = tint_degrees(val);
   return;
 }
+
 void main() {
   test_function();
 }
 
-
 )");
 }
 
@@ -435,11 +435,11 @@
   vec3 tint_symbol = tint_degrees(val);
   return;
 }
+
 void main() {
   test_function();
 }
 
-
 )");
 }
 
@@ -465,11 +465,11 @@
   float tint_symbol = tint_radians(val);
   return;
 }
+
 void main() {
   test_function();
 }
 
-
 )");
 }
 
@@ -495,11 +495,11 @@
   vec3 tint_symbol = tint_radians(val);
   return;
 }
+
 void main() {
   test_function();
 }
 
-
 )");
 }
 
@@ -736,17 +736,16 @@
 }
 
 ivec3 v = ivec3(0, 0, 0);
-
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void test_function() {
   tint_int_dot(v, v);
   return;
 }
+
 void main() {
   test_function();
 }
 
-
 )");
 }
 
@@ -765,17 +764,16 @@
 }
 
 uvec3 v = uvec3(0u, 0u, 0u);
-
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void test_function() {
   tint_int_dot(v, v);
   return;
 }
+
 void main() {
   test_function();
 }
 
-
 )");
 }
 
diff --git a/src/writer/glsl/generator_impl_member_accessor_test.cc b/src/writer/glsl/generator_impl_member_accessor_test.cc
index cef3da6..6a5f5a8 100644
--- a/src/writer/glsl/generator_impl_member_accessor_test.cc
+++ b/src/writer/glsl/generator_impl_member_accessor_test.cc
@@ -140,17 +140,16 @@
 };
 
 Data str = Data(0.0f);
-
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void test_function() {
   float expr = str.mem;
   return;
 }
+
 void main() {
   test_function();
 }
 
-
 )");
 }
 
@@ -305,16 +304,15 @@
   int a;
   mat2x3 b;
 } data;
-
 void tint_symbol() {
   data.b = mat2x3(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
 )";
   EXPECT_EQ(gen.result(), expected);
 }
@@ -355,16 +353,15 @@
   float z;
   mat4x3 a;
 } data;
-
 void tint_symbol() {
   float x = data.a[2][1];
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
 )";
   EXPECT_EQ(gen.result(), expected);
 }
@@ -403,16 +400,15 @@
   float z;
   int a[5];
 } data;
-
 void tint_symbol() {
   int x = data.a[2];
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
 )";
   EXPECT_EQ(gen.result(), expected);
 }
@@ -452,16 +448,15 @@
   float z;
   int a[5];
 } data;
-
 void tint_symbol() {
   int x = data.a[((2 + 4) - 3)];
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
 )";
   EXPECT_EQ(gen.result(), expected);
 }
@@ -498,16 +493,15 @@
   float z;
   int a[5];
 } data;
-
 void tint_symbol() {
   data.a[2] = 2;
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
 )";
   EXPECT_EQ(gen.result(), expected);
 }
@@ -550,6 +544,7 @@
   vec3 a;
   vec3 b;
 };
+
 struct Data {
   Inner c[4];
 };
@@ -557,16 +552,15 @@
 layout(binding = 0) buffer Data_1 {
   Inner c[4];
 } data;
-
 void tint_symbol() {
   vec3 x = data.c[2].b;
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
 )";
   EXPECT_EQ(gen.result(), expected);
 }
@@ -612,6 +606,7 @@
   vec3 a;
   vec3 b;
 };
+
 struct Data {
   Inner c[4];
 };
@@ -619,16 +614,15 @@
 layout(binding = 0) buffer Data_1 {
   Inner c[4];
 } data;
-
 void tint_symbol() {
   vec2 x = data.c[2].b.xy;
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
 )";
   EXPECT_EQ(gen.result(), expected);
 }
@@ -674,6 +668,7 @@
   vec3 a;
   vec3 b;
 };
+
 struct Data {
   Inner c[4];
 };
@@ -681,16 +676,15 @@
 layout(binding = 0) buffer Data_1 {
   Inner c[4];
 } data;
-
 void tint_symbol() {
   float x = data.c[2].b.g;
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
 )";
   EXPECT_EQ(gen.result(), expected);
 }
@@ -736,6 +730,7 @@
   vec3 a;
   vec3 b;
 };
+
 struct Data {
   Inner c[4];
 };
@@ -743,16 +738,15 @@
 layout(binding = 0) buffer Data_1 {
   Inner c[4];
 } data;
-
 void tint_symbol() {
   float x = data.c[2].b[1];
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
 )";
   EXPECT_EQ(gen.result(), expected);
 }
@@ -794,6 +788,7 @@
   vec3 a;
   vec3 b;
 };
+
 struct Data {
   Inner c[4];
 };
@@ -801,16 +796,15 @@
 layout(binding = 0) buffer Data_1 {
   Inner c[4];
 } data;
-
 void tint_symbol() {
   data.c[2].b = vec3(1.0f, 2.0f, 3.0f);
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
 )";
   EXPECT_EQ(gen.result(), expected);
 }
@@ -856,6 +850,7 @@
   ivec3 a;
   vec3 b;
 };
+
 struct Data {
   Inner c[4];
 };
@@ -863,16 +858,15 @@
 layout(binding = 0) buffer Data_1 {
   Inner c[4];
 } data;
-
 void tint_symbol() {
   data.c[2].b.y = 1.0f;
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
 )";
   EXPECT_EQ(gen.result(), expected);
 }
diff --git a/src/writer/glsl/generator_impl_sanitizer_test.cc b/src/writer/glsl/generator_impl_sanitizer_test.cc
index a3e272d..abf7783 100644
--- a/src/writer/glsl/generator_impl_sanitizer_test.cc
+++ b/src/writer/glsl/generator_impl_sanitizer_test.cc
@@ -51,11 +51,9 @@
   auto* expect = R"(#version 310 es
 precision mediump float;
 
-
 layout(binding = 1) buffer my_struct_1 {
   float a[];
 } b;
-
 void a_func() {
   uint tint_symbol_1 = 0u;
   b.GetDimensions(tint_symbol_1);
@@ -63,11 +61,11 @@
   uint len = tint_symbol_2;
   return;
 }
+
 void main() {
   a_func();
 }
 
-
 )";
   EXPECT_EQ(expect, got);
 }
@@ -102,12 +100,10 @@
   auto* expect = R"(#version 310 es
 precision mediump float;
 
-
 layout(binding = 1) buffer my_struct_1 {
   float z;
   float a[];
 } b;
-
 void a_func() {
   uint tint_symbol_1 = 0u;
   b.GetDimensions(tint_symbol_1);
@@ -115,11 +111,11 @@
   uint len = tint_symbol_2;
   return;
 }
+
 void main() {
   a_func();
 }
 
-
 )";
 
   EXPECT_EQ(expect, got);
@@ -156,11 +152,9 @@
   auto* expect = R"(#version 310 es
 precision mediump float;
 
-
 layout(binding = 1) buffer my_struct_1 {
   float a[];
 } b;
-
 void a_func() {
   uint tint_symbol_1 = 0u;
   b.GetDimensions(tint_symbol_1);
@@ -168,11 +162,11 @@
   uint len = tint_symbol_2;
   return;
 }
+
 void main() {
   a_func();
 }
 
-
 )";
 
   EXPECT_EQ(expect, got);
@@ -204,11 +198,11 @@
   int pos = tint_symbol_1[3];
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
 )";
   EXPECT_EQ(expect, got);
 }
@@ -251,11 +245,11 @@
   vec3 pos = tint_symbol_1.b;
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
 )";
   EXPECT_EQ(expect, got);
 }
@@ -292,11 +286,11 @@
   int x = v;
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
 )";
   EXPECT_EQ(expect, got);
 }
@@ -345,11 +339,11 @@
   vec4 v = a[3][2];
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
 )";
   EXPECT_EQ(expect, got);
 }
diff --git a/src/writer/glsl/generator_impl_test.cc b/src/writer/glsl/generator_impl_test.cc
index 1f9db55..d264afb 100644
--- a/src/writer/glsl/generator_impl_test.cc
+++ b/src/writer/glsl/generator_impl_test.cc
@@ -33,6 +33,7 @@
 
 void my_func() {
 }
+
 )");
 }
 
diff --git a/src/writer/glsl/generator_impl_type_test.cc b/src/writer/glsl/generator_impl_type_test.cc
index 2a042cd..9ab92a2 100644
--- a/src/writer/glsl/generator_impl_type_test.cc
+++ b/src/writer/glsl/generator_impl_type_test.cc
@@ -180,6 +180,7 @@
   int a;
   float b;
 };
+
 )");
 }
 
@@ -235,6 +236,7 @@
   int a;
   float b;
 };
+
 )");
 }
 
diff --git a/test/access/let/matrix.spvasm.expected.glsl b/test/access/let/matrix.spvasm.expected.glsl
index cde810e..09bbe7d 100644
--- a/test/access/let/matrix.spvasm.expected.glsl
+++ b/test/access/let/matrix.spvasm.expected.glsl
@@ -11,8 +11,8 @@
   main_1();
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/access/let/matrix.wgsl.expected.glsl b/test/access/let/matrix.wgsl.expected.glsl
index 69e59d1..e1c125d 100644
--- a/test/access/let/matrix.wgsl.expected.glsl
+++ b/test/access/let/matrix.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   float f = v[1];
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/access/let/vector.spvasm.expected.glsl b/test/access/let/vector.spvasm.expected.glsl
index 9f6a084..8d9f092 100644
--- a/test/access/let/vector.spvasm.expected.glsl
+++ b/test/access/let/vector.spvasm.expected.glsl
@@ -13,8 +13,8 @@
   main_1();
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/access/let/vector.wgsl.expected.glsl b/test/access/let/vector.wgsl.expected.glsl
index fe1e88c..31cc9c0 100644
--- a/test/access/let/vector.wgsl.expected.glsl
+++ b/test/access/let/vector.wgsl.expected.glsl
@@ -9,8 +9,8 @@
   vec3 swizzle3 = v.xzy;
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/access/var/matrix.spvasm.expected.glsl b/test/access/var/matrix.spvasm.expected.glsl
index de758b0..b906e9a 100644
--- a/test/access/var/matrix.spvasm.expected.glsl
+++ b/test/access/var/matrix.spvasm.expected.glsl
@@ -13,8 +13,8 @@
   main_1();
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/access/var/matrix.wgsl.expected.glsl b/test/access/var/matrix.wgsl.expected.glsl
index 8416591..42db3dd 100644
--- a/test/access/var/matrix.wgsl.expected.glsl
+++ b/test/access/var/matrix.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   float f = v[1];
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/access/var/vector.spvasm.expected.glsl b/test/access/var/vector.spvasm.expected.glsl
index 076fbef..05991e5 100644
--- a/test/access/var/vector.spvasm.expected.glsl
+++ b/test/access/var/vector.spvasm.expected.glsl
@@ -16,8 +16,8 @@
   main_1();
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/access/var/vector.wgsl.expected.glsl b/test/access/var/vector.wgsl.expected.glsl
index 545f673..0d3c233 100644
--- a/test/access/var/vector.wgsl.expected.glsl
+++ b/test/access/var/vector.wgsl.expected.glsl
@@ -9,8 +9,8 @@
   vec3 swizzle3 = v.xzy;
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/array/assign_to_function_var.wgsl.expected.glsl b/test/array/assign_to_function_var.wgsl.expected.glsl
index 18b10dd..54f1d21 100644
--- a/test/array/assign_to_function_var.wgsl.expected.glsl
+++ b/test/array/assign_to_function_var.wgsl.expected.glsl
@@ -5,12 +5,11 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 struct S {
   ivec4 arr[4];
 };
@@ -20,10 +19,10 @@
 layout(binding = 0) uniform S_1 {
   ivec4 arr[4];
 } src_uniform;
+
 layout(binding = 1) buffer S_2 {
   ivec4 arr[4];
 } src_storage;
-
 ivec4[4] ret_arr() {
   ivec4 tint_symbol[4] = ivec4[4](ivec4(0, 0, 0, 0), ivec4(0, 0, 0, 0), ivec4(0, 0, 0, 0), ivec4(0, 0, 0, 0));
   return tint_symbol;
@@ -53,3 +52,4 @@
   int src_nested[4][3][2] = int[4][3][2](int[3][2](int[2](0, 0), int[2](0, 0), int[2](0, 0)), int[3][2](int[2](0, 0), int[2](0, 0), int[2](0, 0)), int[3][2](int[2](0, 0), int[2](0, 0), int[2](0, 0)), int[3][2](int[2](0, 0), int[2](0, 0), int[2](0, 0)));
   dst_nested = src_nested;
 }
+
diff --git a/test/array/assign_to_private_var.wgsl.expected.glsl b/test/array/assign_to_private_var.wgsl.expected.glsl
index bbda26a..f3898a9 100644
--- a/test/array/assign_to_private_var.wgsl.expected.glsl
+++ b/test/array/assign_to_private_var.wgsl.expected.glsl
@@ -5,12 +5,11 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 struct S {
   ivec4 arr[4];
 };
@@ -20,12 +19,12 @@
 layout(binding = 0) uniform S_1 {
   ivec4 arr[4];
 } src_uniform;
+
 layout(binding = 1) buffer S_2 {
   ivec4 arr[4];
 } src_storage;
 ivec4 dst[4] = ivec4[4](ivec4(0, 0, 0, 0), ivec4(0, 0, 0, 0), ivec4(0, 0, 0, 0), ivec4(0, 0, 0, 0));
 int dst_nested[4][3][2] = int[4][3][2](int[3][2](int[2](0, 0), int[2](0, 0), int[2](0, 0)), int[3][2](int[2](0, 0), int[2](0, 0), int[2](0, 0)), int[3][2](int[2](0, 0), int[2](0, 0), int[2](0, 0)), int[3][2](int[2](0, 0), int[2](0, 0), int[2](0, 0)));
-
 ivec4[4] ret_arr() {
   ivec4 tint_symbol[4] = ivec4[4](ivec4(0, 0, 0, 0), ivec4(0, 0, 0, 0), ivec4(0, 0, 0, 0), ivec4(0, 0, 0, 0));
   return tint_symbol;
@@ -53,3 +52,4 @@
   int src_nested[4][3][2] = int[4][3][2](int[3][2](int[2](0, 0), int[2](0, 0), int[2](0, 0)), int[3][2](int[2](0, 0), int[2](0, 0), int[2](0, 0)), int[3][2](int[2](0, 0), int[2](0, 0), int[2](0, 0)), int[3][2](int[2](0, 0), int[2](0, 0), int[2](0, 0)));
   dst_nested = src_nested;
 }
+
diff --git a/test/array/assign_to_storage_var.wgsl.expected.glsl b/test/array/assign_to_storage_var.wgsl.expected.glsl
index 3cb45d2..3ef6d59 100644
--- a/test/array/assign_to_storage_var.wgsl.expected.glsl
+++ b/test/array/assign_to_storage_var.wgsl.expected.glsl
@@ -5,15 +5,15 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 struct S {
   ivec4 arr[4];
 };
+
 struct S_nested {
   int arr[4][3][2];
 };
@@ -23,6 +23,7 @@
 layout(binding = 0) uniform S_1 {
   ivec4 arr[4];
 } src_uniform;
+
 layout(binding = 1) buffer S_2 {
   ivec4 arr[4];
 } src_storage;
@@ -32,7 +33,6 @@
 layout(binding = 3) buffer S_nested_1 {
   int arr[4][3][2];
 } dst_nested;
-
 ivec4[4] ret_arr() {
   ivec4 tint_symbol[4] = ivec4[4](ivec4(0, 0, 0, 0), ivec4(0, 0, 0, 0), ivec4(0, 0, 0, 0), ivec4(0, 0, 0, 0));
   return tint_symbol;
@@ -60,3 +60,4 @@
   int src_nested[4][3][2] = int[4][3][2](int[3][2](int[2](0, 0), int[2](0, 0), int[2](0, 0)), int[3][2](int[2](0, 0), int[2](0, 0), int[2](0, 0)), int[3][2](int[2](0, 0), int[2](0, 0), int[2](0, 0)), int[3][2](int[2](0, 0), int[2](0, 0), int[2](0, 0)));
   dst_nested.arr = src_nested;
 }
+
diff --git a/test/array/assign_to_subexpr.wgsl.expected.glsl b/test/array/assign_to_subexpr.wgsl.expected.glsl
index 13e1690..0bec242 100644
--- a/test/array/assign_to_subexpr.wgsl.expected.glsl
+++ b/test/array/assign_to_subexpr.wgsl.expected.glsl
@@ -5,12 +5,11 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 struct S {
   int arr[4];
 };
@@ -26,3 +25,4 @@
   dst_struct.arr = src;
   dst_array[0] = src;
 }
+
diff --git a/test/array/assign_to_workgroup_var.wgsl.expected.glsl b/test/array/assign_to_workgroup_var.wgsl.expected.glsl
index 3f88a39..9cc8828 100644
--- a/test/array/assign_to_workgroup_var.wgsl.expected.glsl
+++ b/test/array/assign_to_workgroup_var.wgsl.expected.glsl
@@ -5,12 +5,11 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 struct S {
   ivec4 arr[4];
 };
@@ -20,12 +19,12 @@
 layout(binding = 0) uniform S_1 {
   ivec4 arr[4];
 } src_uniform;
+
 layout(binding = 1) buffer S_2 {
   ivec4 arr[4];
 } src_storage;
 shared ivec4 dst[4];
 shared int dst_nested[4][3][2];
-
 ivec4[4] ret_arr() {
   ivec4 tint_symbol[4] = ivec4[4](ivec4(0, 0, 0, 0), ivec4(0, 0, 0, 0), ivec4(0, 0, 0, 0), ivec4(0, 0, 0, 0));
   return tint_symbol;
@@ -53,3 +52,4 @@
   int src_nested[4][3][2] = int[4][3][2](int[3][2](int[2](0, 0), int[2](0, 0), int[2](0, 0)), int[3][2](int[2](0, 0), int[2](0, 0), int[2](0, 0)), int[3][2](int[2](0, 0), int[2](0, 0), int[2](0, 0)), int[3][2](int[2](0, 0), int[2](0, 0), int[2](0, 0)));
   dst_nested = src_nested;
 }
+
diff --git a/test/array/function_parameter.wgsl.expected.glsl b/test/array/function_parameter.wgsl.expected.glsl
index 9164984..2005298 100644
--- a/test/array/function_parameter.wgsl.expected.glsl
+++ b/test/array/function_parameter.wgsl.expected.glsl
@@ -23,8 +23,8 @@
   float v3 = f3(a3);
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/array/function_return_type.wgsl.expected.glsl b/test/array/function_return_type.wgsl.expected.glsl
index 1a9b8b1..565b3ce 100644
--- a/test/array/function_return_type.wgsl.expected.glsl
+++ b/test/array/function_return_type.wgsl.expected.glsl
@@ -23,8 +23,8 @@
   float a3[2][3][4] = f3();
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/array/size.wgsl.expected.glsl b/test/array/size.wgsl.expected.glsl
index 3f28448..080117c 100644
--- a/test/array/size.wgsl.expected.glsl
+++ b/test/array/size.wgsl.expected.glsl
@@ -3,7 +3,6 @@
 
 const int slen = 4;
 const uint ulen = 4u;
-
 void tint_symbol() {
   float signed_literal[4] = float[4](0.0f, 0.0f, 0.0f, 0.0f);
   float unsigned_literal[4] = float[4](0.0f, 0.0f, 0.0f, 0.0f);
@@ -13,8 +12,8 @@
   signed_constant = unsigned_literal;
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/array/type_constructor.wgsl.expected.glsl b/test/array/type_constructor.wgsl.expected.glsl
index 25c35d3..7f3f884 100644
--- a/test/array/type_constructor.wgsl.expected.glsl
+++ b/test/array/type_constructor.wgsl.expected.glsl
@@ -38,8 +38,8 @@
   int subexpr_nested_nonempty_with_expr[4] = tint_symbol_20[1];
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/benchmark/animometer.wgsl.expected.glsl b/test/benchmark/animometer.wgsl.expected.glsl
index 976115f..3a6d303 100644
--- a/test/benchmark/animometer.wgsl.expected.glsl
+++ b/test/benchmark/animometer.wgsl.expected.glsl
@@ -6,6 +6,7 @@
 struct Time {
   float value;
 };
+
 struct Uniforms {
   float scale;
   float offsetX;
@@ -17,6 +18,7 @@
 layout(binding = 0) uniform Time_1 {
   float value;
 } time;
+
 layout(binding = 1) uniform Uniforms_1 {
   float scale;
   float offsetX;
@@ -29,10 +31,12 @@
   vec4 Position;
   vec4 v_color;
 };
+
 struct tint_symbol_2 {
   vec4 position;
   vec4 color;
 };
+
 struct tint_symbol_3 {
   vec4 v_color;
   vec4 Position;
@@ -61,6 +65,7 @@
 struct tint_symbol_5 {
   vec4 v_color;
 };
+
 struct tint_symbol_6 {
   vec4 value;
 };
@@ -75,6 +80,8 @@
 layout(location = 0) in vec4 position;
 layout(location = 1) in vec4 color;
 layout(location = 0) out vec4 v_color;
+
+
 void main() {
   tint_symbol_2 inputs;
   inputs.position = position;
@@ -87,10 +94,9 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 Error parsing GLSL shader:
-ERROR: 0:40: '%' :  wrong operand types: no operation '%' exists that takes a left-hand operand of type ' temp mediump float' and a right operand of type ' const float' (or there is no acceptable conversion)
-ERROR: 0:40: '' : compilation terminated 
+ERROR: 0:44: '%' :  wrong operand types: no operation '%' exists that takes a left-hand operand of type ' temp mediump float' and a right operand of type ' const float' (or there is no acceptable conversion)
+ERROR: 0:44: '' : compilation terminated 
 ERROR: 2 compilation errors.  No code generated.
 
 
@@ -101,6 +107,7 @@
 struct Time {
   float value;
 };
+
 struct Uniforms {
   float scale;
   float offsetX;
@@ -108,21 +115,26 @@
   float scalar;
   float scalarOffset;
 };
+
 struct VertexOutput {
   vec4 Position;
   vec4 v_color;
 };
+
 struct tint_symbol_2 {
   vec4 position;
   vec4 color;
 };
+
 struct tint_symbol_3 {
   vec4 v_color;
   vec4 Position;
 };
+
 struct tint_symbol_5 {
   vec4 v_color;
 };
+
 struct tint_symbol_6 {
   vec4 value;
 };
@@ -139,6 +151,7 @@
 }
 layout(location = 0) in vec4 v_color;
 layout(location = 0) out vec4 value;
+
 void main() {
   tint_symbol_5 inputs;
   inputs.v_color = v_color;
@@ -147,4 +160,3 @@
   value = outputs.value;
 }
 
-
diff --git a/test/benchmark/particles.wgsl.expected.glsl b/test/benchmark/particles.wgsl.expected.glsl
index 8319db1..1491dca 100644
--- a/test/benchmark/particles.wgsl.expected.glsl
+++ b/test/benchmark/particles.wgsl.expected.glsl
@@ -20,16 +20,19 @@
   vec4 color;
   vec2 quad_pos;
 };
+
 struct VertexOutput {
   vec4 position;
   vec4 color;
   vec2 quad_pos;
 };
+
 struct tint_symbol_4 {
   vec3 position;
   vec4 color;
   vec2 quad_pos;
 };
+
 struct tint_symbol_5 {
   vec4 color;
   vec2 quad_pos;
@@ -51,28 +54,35 @@
   vec2 quad_pos;
   vec4 position;
 };
+
 struct tint_symbol_8 {
   vec4 value;
 };
+
 struct SimulationParams {
   float deltaTime;
   vec4 seed;
 };
+
 struct Particle {
   vec3 position;
   float lifetime;
   vec4 color;
   vec3 velocity;
 };
+
 struct tint_symbol_10 {
   uvec3 GlobalInvocationID;
 };
+
 struct UBO {
   uint width;
 };
+
 struct tint_symbol_12 {
   uvec3 coord;
 };
+
 struct tint_symbol_14 {
   uvec3 coord;
 };
@@ -91,6 +101,8 @@
 layout(location = 2) in vec2 quad_pos;
 layout(location = 0) out vec4 color;
 layout(location = 1) out vec2 quad_pos;
+
+
 void main() {
   tint_symbol_4 inputs;
   inputs.position = position;
@@ -105,9 +117,8 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 Error parsing GLSL shader:
-ERROR: 0:90: 'color' : redefinition 
+ERROR: 0:100: 'color' : redefinition 
 ERROR: 1 compilation errors.  No code generated.
 
 
@@ -120,31 +131,37 @@
   vec3 right;
   vec3 up;
 };
+
 struct VertexInput {
   vec3 position;
   vec4 color;
   vec2 quad_pos;
 };
+
 struct VertexOutput {
   vec4 position;
   vec4 color;
   vec2 quad_pos;
 };
+
 struct tint_symbol_4 {
   vec3 position;
   vec4 color;
   vec2 quad_pos;
 };
+
 struct tint_symbol_5 {
   vec4 color;
   vec2 quad_pos;
   vec4 position;
 };
+
 struct tint_symbol_7 {
   vec4 color;
   vec2 quad_pos;
   vec4 position;
 };
+
 struct tint_symbol_8 {
   vec4 value;
 };
@@ -159,21 +176,26 @@
   float deltaTime;
   vec4 seed;
 };
+
 struct Particle {
   vec3 position;
   float lifetime;
   vec4 color;
   vec3 velocity;
 };
+
 struct tint_symbol_10 {
   uvec3 GlobalInvocationID;
 };
+
 struct UBO {
   uint width;
 };
+
 struct tint_symbol_12 {
   uvec3 coord;
 };
+
 struct tint_symbol_14 {
   uvec3 coord;
 };
@@ -187,7 +209,9 @@
 }
 layout(location = 0) in vec4 color;
 layout(location = 1) in vec2 quad_pos;
+
 layout(location = 0) out vec4 value;
+
 void main() {
   tint_symbol_7 inputs;
   inputs.color = color;
@@ -198,12 +222,10 @@
   value = outputs.value;
 }
 
-
 #version 310 es
 precision mediump float;
 
 vec2 rand_seed = vec2(0.0f, 0.0f);
-
 float rand() {
   rand_seed.x = frac((cos(dot(rand_seed, vec2(23.140779495f, 232.616897583f))) * 136.816802979f));
   rand_seed.y = frac((cos(dot(rand_seed, vec2(54.478565216f, 345.841522217f))) * 534.764526367f));
@@ -215,38 +237,46 @@
   vec3 right;
   vec3 up;
 };
+
 struct VertexInput {
   vec3 position;
   vec4 color;
   vec2 quad_pos;
 };
+
 struct VertexOutput {
   vec4 position;
   vec4 color;
   vec2 quad_pos;
 };
+
 struct tint_symbol_4 {
   vec3 position;
   vec4 color;
   vec2 quad_pos;
 };
+
 struct tint_symbol_5 {
   vec4 color;
   vec2 quad_pos;
   vec4 position;
 };
+
 struct tint_symbol_7 {
   vec4 color;
   vec2 quad_pos;
   vec4 position;
 };
+
 struct tint_symbol_8 {
   vec4 value;
 };
+
 struct SimulationParams {
   float deltaTime;
   vec4 seed;
 };
+
 struct Particle {
   vec3 position;
   float lifetime;
@@ -258,16 +288,15 @@
   float deltaTime;
   vec4 seed;
 } sim_params;
+
 layout(binding = 1) buffer Particles_1 {
   Particle particles[];
 } data;
-
 struct tint_symbol_10 {
   uvec3 GlobalInvocationID;
 };
 
 uniform highp sampler2D tint_symbol_2_1;
-
 void simulate_inner(uvec3 GlobalInvocationID) {
   rand_seed = ((sim_params.seed.xy + vec2(GlobalInvocationID.xy)) * sim_params.seed.zw);
   uint idx = GlobalInvocationID.x;
@@ -302,9 +331,11 @@
 struct UBO {
   uint width;
 };
+
 struct tint_symbol_12 {
   uvec3 coord;
 };
+
 struct tint_symbol_14 {
   uvec3 coord;
 };
@@ -314,16 +345,17 @@
   simulate_inner(tint_symbol_9.GlobalInvocationID);
   return;
 }
+
+
 void main() {
   tint_symbol_10 inputs;
   inputs.GlobalInvocationID = gl_GlobalInvocationID;
   simulate(inputs);
 }
 
-
 Error parsing GLSL shader:
-ERROR: 0:7: 'frac' : no matching overloaded function found 
-ERROR: 0:7: '' : compilation terminated 
+ERROR: 0:6: 'frac' : no matching overloaded function found 
+ERROR: 0:6: '' : compilation terminated 
 ERROR: 2 compilation errors.  No code generated.
 
 
@@ -336,47 +368,57 @@
   vec3 right;
   vec3 up;
 };
+
 struct VertexInput {
   vec3 position;
   vec4 color;
   vec2 quad_pos;
 };
+
 struct VertexOutput {
   vec4 position;
   vec4 color;
   vec2 quad_pos;
 };
+
 struct tint_symbol_4 {
   vec3 position;
   vec4 color;
   vec2 quad_pos;
 };
+
 struct tint_symbol_5 {
   vec4 color;
   vec2 quad_pos;
   vec4 position;
 };
+
 struct tint_symbol_7 {
   vec4 color;
   vec2 quad_pos;
   vec4 position;
 };
+
 struct tint_symbol_8 {
   vec4 value;
 };
+
 struct SimulationParams {
   float deltaTime;
   vec4 seed;
 };
+
 struct Particle {
   vec3 position;
   float lifetime;
   vec4 color;
   vec3 velocity;
 };
+
 struct tint_symbol_10 {
   uvec3 GlobalInvocationID;
 };
+
 struct UBO {
   uint width;
 };
@@ -384,19 +426,18 @@
 layout(binding = 3) uniform UBO_1 {
   uint width;
 } ubo;
+
 layout(binding = 4) buffer Buffer_1 {
   float weights[];
 } buf_in;
 layout(binding = 5) buffer Buffer_2 {
   float weights[];
 } buf_out;
-
 struct tint_symbol_12 {
   uvec3 coord;
 };
 
 uniform highp sampler2D tex_in_1;
-
 void import_level_inner(uvec3 coord) {
   uint offset = (coord.x + (coord.y * ubo.width));
   buf_out.weights[offset] = texelFetch(tex_in_1, ivec2(coord.xy), 0).w;
@@ -411,13 +452,14 @@
   import_level_inner(tint_symbol_11.coord);
   return;
 }
+
+
 void main() {
   tint_symbol_12 inputs;
   inputs.coord = gl_GlobalInvocationID;
   import_level(inputs);
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -426,47 +468,57 @@
   vec3 right;
   vec3 up;
 };
+
 struct VertexInput {
   vec3 position;
   vec4 color;
   vec2 quad_pos;
 };
+
 struct VertexOutput {
   vec4 position;
   vec4 color;
   vec2 quad_pos;
 };
+
 struct tint_symbol_4 {
   vec3 position;
   vec4 color;
   vec2 quad_pos;
 };
+
 struct tint_symbol_5 {
   vec4 color;
   vec2 quad_pos;
   vec4 position;
 };
+
 struct tint_symbol_7 {
   vec4 color;
   vec2 quad_pos;
   vec4 position;
 };
+
 struct tint_symbol_8 {
   vec4 value;
 };
+
 struct SimulationParams {
   float deltaTime;
   vec4 seed;
 };
+
 struct Particle {
   vec3 position;
   float lifetime;
   vec4 color;
   vec3 velocity;
 };
+
 struct tint_symbol_10 {
   uvec3 GlobalInvocationID;
 };
+
 struct UBO {
   uint width;
 };
@@ -474,22 +526,22 @@
 layout(binding = 3) uniform UBO_1 {
   uint width;
 } ubo;
+
 layout(binding = 4) buffer Buffer_1 {
   float weights[];
 } buf_in;
 layout(binding = 5) buffer Buffer_2 {
   float weights[];
 } buf_out;
-
 struct tint_symbol_12 {
   uvec3 coord;
 };
+
 struct tint_symbol_14 {
   uvec3 coord;
 };
 
 layout(rgba8) uniform highp writeonly image2D tex_out_1;
-
 void export_level_inner(uvec3 coord) {
   if (all(lessThan(coord.xy, uvec2(imageSize(tex_out_1))))) {
     uint dst_offset = (coord.x + (coord.y * ubo.width));
@@ -510,10 +562,11 @@
   export_level_inner(tint_symbol_13.coord);
   return;
 }
+
+
 void main() {
   tint_symbol_14 inputs;
   inputs.coord = gl_GlobalInvocationID;
   export_level(inputs);
 }
 
-
diff --git a/test/benchmark/shadow-fragment.wgsl.expected.glsl b/test/benchmark/shadow-fragment.wgsl.expected.glsl
index 2e9b3f4..42f8da0 100644
--- a/test/benchmark/shadow-fragment.wgsl.expected.glsl
+++ b/test/benchmark/shadow-fragment.wgsl.expected.glsl
@@ -4,7 +4,6 @@
 precision mediump float;
 
 const float shadowDepthTextureSize = 1024.0f;
-
 struct Scene {
   mat4 lightViewProjMatrix;
   mat4 cameraViewProjMatrix;
@@ -25,19 +24,18 @@
 
 const vec3 albedo = vec3(0.899999976f, 0.899999976f, 0.899999976f);
 const float ambientFactor = 0.200000003f;
-
 struct tint_symbol_3 {
   vec3 shadowPos;
   vec3 fragPos;
   vec3 fragNorm;
 };
+
 struct tint_symbol_4 {
   vec4 value;
 };
 
 uniform highp sampler2D shadowMap_shadowSampler;
 
-
 vec4 tint_symbol_inner(FragmentInput tint_symbol_1) {
   float visibility = 0.0f;
   float oneOverShadowDepthTextureSize = (1.0f / shadowDepthTextureSize);
@@ -68,6 +66,7 @@
 layout(location = 1) in vec3 fragPos;
 layout(location = 2) in vec3 fragNorm;
 layout(location = 0) out vec4 value;
+
 void main() {
   tint_symbol_3 inputs;
   inputs.shadowPos = shadowPos;
@@ -78,10 +77,9 @@
   value = outputs.value;
 }
 
-
 Error parsing GLSL shader:
-ERROR: 0:47: 'assign' :  cannot convert from ' temp highp 4-component vector of float' to ' temp mediump float'
-ERROR: 0:47: '' : compilation terminated 
+ERROR: 0:45: 'assign' :  cannot convert from ' temp highp 4-component vector of float' to ' temp mediump float'
+ERROR: 0:45: '' : compilation terminated 
 ERROR: 2 compilation errors.  No code generated.
 
 
diff --git a/test/benchmark/simple-fragment.wgsl.expected.glsl b/test/benchmark/simple-fragment.wgsl.expected.glsl
index c168e70..34e40b5 100644
--- a/test/benchmark/simple-fragment.wgsl.expected.glsl
+++ b/test/benchmark/simple-fragment.wgsl.expected.glsl
@@ -6,12 +6,15 @@
 struct Input {
   vec4 color;
 };
+
 struct Output {
   vec4 color;
 };
+
 struct tint_symbol_3 {
   vec4 color;
 };
+
 struct tint_symbol_4 {
   vec4 color;
 };
@@ -30,6 +33,7 @@
 }
 layout(location = 0) in vec4 color;
 layout(location = 0) out vec4 color;
+
 void main() {
   tint_symbol_3 inputs;
   inputs.color = color;
@@ -38,9 +42,8 @@
   color = outputs.color;
 }
 
-
 Error parsing GLSL shader:
-ERROR: 0:30: 'color' : redefinition 
+ERROR: 0:33: 'color' : redefinition 
 ERROR: 1 compilation errors.  No code generated.
 
 
diff --git a/test/benchmark/skinned-shadowed-pbr-fragment.wgsl.expected.glsl b/test/benchmark/skinned-shadowed-pbr-fragment.wgsl.expected.glsl
index c00b6b6..c12d1f1 100644
--- a/test/benchmark/skinned-shadowed-pbr-fragment.wgsl.expected.glsl
+++ b/test/benchmark/skinned-shadowed-pbr-fragment.wgsl.expected.glsl
@@ -8,7 +8,6 @@
 precision mediump float;
 
 const float GAMMA = 2.200000048f;
-
 vec3 linearTosRGB(vec3 linear) {
   float INV_GAMMA = (1.0f / GAMMA);
   return pow(linear, vec3(INV_GAMMA));
@@ -40,6 +39,7 @@
   uint offset;
   uint count;
 };
+
 struct ClusterLightGroup {
   uint offset;
   ClusterLights lights[27648];
@@ -51,7 +51,6 @@
   ClusterLights lights[27648];
   uint indices[1769472];
 } clusterLights;
-
 struct Light {
   vec3 position;
   float range;
@@ -68,7 +67,6 @@
   Light lights[];
 } globalLights;
 const uvec3 tileCount = uvec3(32u, 18u, 48u);
-
 float linearDepth(float depthSample) {
   return ((camera.zFar * camera.zNear) / mad(depthSample, (camera.zNear - camera.zFar), camera.zFar));
 }
@@ -90,7 +88,6 @@
 } lightShadowTable;
 vec2 shadowSampleOffsets[16] = vec2[16](vec2(-1.5f, -1.5f), vec2(-1.5f, -0.5f), vec2(-1.5f, 0.5f), vec2(-1.5f, 1.5f), vec2(-0.5f, -1.5f), vec2(-0.5f, -0.5f), vec2(-0.5f, 0.5f), vec2(-0.5f, 1.5f), vec2(0.5f, -1.5f), vec2(0.5f, -0.5f), vec2(0.5f, 0.5f), vec2(0.5f, 1.5f), vec2(1.5f, -1.5f), vec2(1.5f, -0.5f), vec2(1.5f, 0.5f), vec2(1.5f, 1.5f));
 const uint shadowSampleCount = 16u;
-
 struct ShadowProperties {
   vec4 viewport;
   mat4 viewProj;
@@ -102,7 +99,6 @@
 uniform highp sampler2D shadowTexture_1;
 uniform highp sampler2D shadowTexture_shadowSampler;
 
-
 float dirLightVisibility(vec3 worldPos) {
   int shadowIndex = lightShadowTable.light[0u];
   if ((shadowIndex == -1)) {
@@ -180,6 +176,7 @@
   vec3 tangent;
   vec3 bitangent;
 };
+
 struct Material {
   vec4 baseColorFactor;
   vec3 emissiveFactor;
@@ -214,7 +211,6 @@
 uniform highp sampler2D occlusionTexture_occlusionSampler;
 uniform highp sampler2D emissiveTexture_emissiveSampler;
 
-
 SurfaceInfo GetSurfaceInfo(VertexOutput tint_symbol) {
   SurfaceInfo surface = SurfaceInfo(vec4(0.0f, 0.0f, 0.0f, 0.0f), vec3(0.0f, 0.0f, 0.0f), 0.0f, 0.0f, vec3(0.0f, 0.0f, 0.0f), vec3(0.0f, 0.0f, 0.0f), 0.0f, vec3(0.0f, 0.0f, 0.0f), vec3(0.0f, 0.0f, 0.0f));
   surface.v = normalize(tint_symbol.view);
@@ -247,7 +243,6 @@
 const float PI = 3.141592741f;
 const uint LightType_Point = 0u;
 const uint LightType_Directional = 2u;
-
 struct PuctualLight {
   uint lightType;
   vec3 pointToLight;
@@ -316,6 +311,7 @@
   vec4 color;
   vec4 emissive;
 };
+
 struct tint_symbol_4 {
   vec3 worldPos;
   vec3 view;
@@ -328,6 +324,7 @@
   vec3 bitangent;
   vec4 position;
 };
+
 struct tint_symbol_5 {
   vec4 color;
   vec4 emissive;
@@ -335,7 +332,6 @@
 
 uniform highp sampler2D ssaoTexture_1;
 uniform highp sampler2D ssaoTexture_defaultSampler;
-
 FragmentOutput fragmentMain_inner(VertexOutput tint_symbol) {
   SurfaceInfo surface = GetSurfaceInfo(tint_symbol);
   vec3 Lo = vec3(0.0f, 0.0f, 0.0f);
@@ -391,8 +387,10 @@
 layout(location = 6) in vec3 normal;
 layout(location = 7) in vec3 tangent;
 layout(location = 8) in vec3 bitangent;
+
 layout(location = 0) out vec4 color;
 layout(location = 1) out vec4 emissive;
+
 void main() {
   tint_symbol_4 inputs;
   inputs.worldPos = worldPos;
@@ -411,10 +409,9 @@
   emissive = outputs.emissive;
 }
 
-
 Error parsing GLSL shader:
-ERROR: 0:67: 'mad' : no matching overloaded function found 
-ERROR: 0:67: '' : compilation terminated 
+ERROR: 0:65: 'mad' : no matching overloaded function found 
+ERROR: 0:65: '' : compilation terminated 
 ERROR: 2 compilation errors.  No code generated.
 
 
diff --git a/test/benchmark/skinned-shadowed-pbr-vertex.wgsl.expected.glsl b/test/benchmark/skinned-shadowed-pbr-vertex.wgsl.expected.glsl
index 582fcd8..ae182b5 100644
--- a/test/benchmark/skinned-shadowed-pbr-vertex.wgsl.expected.glsl
+++ b/test/benchmark/skinned-shadowed-pbr-vertex.wgsl.expected.glsl
@@ -16,6 +16,7 @@
   vec4 instance3;
   vec4 instanceColor;
 };
+
 struct VertexOutput {
   vec4 position;
   vec3 worldPos;
@@ -28,6 +29,7 @@
   vec3 tangent;
   vec3 bitangent;
 };
+
 struct Camera {
   mat4 projection;
   mat4 inverseProjection;
@@ -56,7 +58,6 @@
 layout(binding = 2) buffer Joints_2 {
   mat4 matrices[];
 } inverseBind;
-
 mat4 getSkinMatrix(VertexInput tint_symbol) {
   mat4 joint0 = (joint.matrices[tint_symbol.joints.x] * inverseBind.matrices[tint_symbol.joints.x]);
   mat4 joint1 = (joint.matrices[tint_symbol.joints.y] * inverseBind.matrices[tint_symbol.joints.y]);
@@ -79,6 +80,7 @@
   vec4 instance3;
   vec4 instanceColor;
 };
+
 struct tint_symbol_4 {
   vec3 worldPos;
   vec3 view;
@@ -144,6 +146,8 @@
 layout(location = 6) out vec3 normal;
 layout(location = 7) out vec3 tangent;
 layout(location = 8) out vec3 bitangent;
+
+
 void main() {
   tint_symbol_3 inputs;
   inputs.position = position;
@@ -173,9 +177,8 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 Error parsing GLSL shader:
-ERROR: 0:138: 'texcoord' : redefinition 
+ERROR: 0:140: 'texcoord' : redefinition 
 ERROR: 1 compilation errors.  No code generated.
 
 
diff --git a/test/buffer/storage/dynamic_index/read.wgsl.expected.glsl b/test/buffer/storage/dynamic_index/read.wgsl.expected.glsl
index d468eae..def30db 100644
--- a/test/buffer/storage/dynamic_index/read.wgsl.expected.glsl
+++ b/test/buffer/storage/dynamic_index/read.wgsl.expected.glsl
@@ -16,7 +16,6 @@
 layout(binding = 0) buffer S_1 {
   Inner arr[];
 } s;
-
 struct tint_symbol_2 {
   uint idx;
 };
@@ -38,10 +37,11 @@
   tint_symbol_inner(tint_symbol_1.idx);
   return;
 }
+
+
 void main() {
   tint_symbol_2 inputs;
   inputs.idx = uint(gl_LocalInvocationIndex);
   tint_symbol(inputs);
 }
 
-
diff --git a/test/buffer/storage/dynamic_index/write.wgsl.expected.glsl b/test/buffer/storage/dynamic_index/write.wgsl.expected.glsl
index 0921b4d..3ef8428 100644
--- a/test/buffer/storage/dynamic_index/write.wgsl.expected.glsl
+++ b/test/buffer/storage/dynamic_index/write.wgsl.expected.glsl
@@ -16,7 +16,6 @@
 layout(binding = 0) buffer S_1 {
   Inner arr[];
 } s;
-
 struct tint_symbol_2 {
   uint idx;
 };
@@ -39,10 +38,11 @@
   tint_symbol_inner(tint_symbol_1.idx);
   return;
 }
+
+
 void main() {
   tint_symbol_2 inputs;
   inputs.idx = uint(gl_LocalInvocationIndex);
   tint_symbol(inputs);
 }
 
-
diff --git a/test/buffer/storage/static_index/read.wgsl.expected.glsl b/test/buffer/storage/static_index/read.wgsl.expected.glsl
index 4924c0e..f467253 100644
--- a/test/buffer/storage/static_index/read.wgsl.expected.glsl
+++ b/test/buffer/storage/static_index/read.wgsl.expected.glsl
@@ -4,6 +4,7 @@
 struct Inner {
   int x;
 };
+
 struct S {
   ivec3 a;
   int b;
@@ -29,7 +30,6 @@
   Inner i;
   Inner j[4];
 } s;
-
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void tint_symbol() {
   ivec3 a = s.a;
@@ -44,8 +44,8 @@
   Inner j[4] = s.j;
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/buffer/storage/static_index/write.wgsl.expected.glsl b/test/buffer/storage/static_index/write.wgsl.expected.glsl
index f57337c..364b4f0 100644
--- a/test/buffer/storage/static_index/write.wgsl.expected.glsl
+++ b/test/buffer/storage/static_index/write.wgsl.expected.glsl
@@ -4,6 +4,7 @@
 struct Inner {
   int x;
 };
+
 struct S {
   ivec3 a;
   int b;
@@ -29,7 +30,6 @@
   Inner i;
   Inner j[4];
 } s;
-
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void tint_symbol() {
   s.a = ivec3(0, 0, 0);
@@ -46,8 +46,8 @@
   s.j = tint_symbol_2;
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/buffer/storage/types/array.wgsl.expected.glsl b/test/buffer/storage/types/array.wgsl.expected.glsl
index 50ce2f2..183882d 100644
--- a/test/buffer/storage/types/array.wgsl.expected.glsl
+++ b/test/buffer/storage/types/array.wgsl.expected.glsl
@@ -11,14 +11,13 @@
 layout(binding = 1) buffer tint_symbol_block_2 {
   float inner[4];
 } tint_symbol_1;
-
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void tint_symbol_2() {
   tint_symbol_1.inner = tint_symbol.inner;
   return;
 }
+
 void main() {
   tint_symbol_2();
 }
 
-
diff --git a/test/buffer/storage/types/f32.wgsl.expected.glsl b/test/buffer/storage/types/f32.wgsl.expected.glsl
index bc9f222..40d99f7 100644
--- a/test/buffer/storage/types/f32.wgsl.expected.glsl
+++ b/test/buffer/storage/types/f32.wgsl.expected.glsl
@@ -11,14 +11,13 @@
 layout(binding = 1) buffer tint_symbol_block_2 {
   float inner;
 } tint_symbol_1;
-
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void tint_symbol_2() {
   tint_symbol_1.inner = tint_symbol.inner;
   return;
 }
+
 void main() {
   tint_symbol_2();
 }
 
-
diff --git a/test/buffer/storage/types/i32.wgsl.expected.glsl b/test/buffer/storage/types/i32.wgsl.expected.glsl
index 69ccc1d..976c2b2 100644
--- a/test/buffer/storage/types/i32.wgsl.expected.glsl
+++ b/test/buffer/storage/types/i32.wgsl.expected.glsl
@@ -11,14 +11,13 @@
 layout(binding = 1) buffer tint_symbol_block_2 {
   int inner;
 } tint_symbol_1;
-
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void tint_symbol_2() {
   tint_symbol_1.inner = tint_symbol.inner;
   return;
 }
+
 void main() {
   tint_symbol_2();
 }
 
-
diff --git a/test/buffer/storage/types/mat2x2.wgsl.expected.glsl b/test/buffer/storage/types/mat2x2.wgsl.expected.glsl
index 7f2232e..2e8b06a 100644
--- a/test/buffer/storage/types/mat2x2.wgsl.expected.glsl
+++ b/test/buffer/storage/types/mat2x2.wgsl.expected.glsl
@@ -11,14 +11,13 @@
 layout(binding = 1) buffer tint_symbol_block_2 {
   mat2 inner;
 } tint_symbol_1;
-
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void tint_symbol_2() {
   tint_symbol_1.inner = tint_symbol.inner;
   return;
 }
+
 void main() {
   tint_symbol_2();
 }
 
-
diff --git a/test/buffer/storage/types/mat2x3.wgsl.expected.glsl b/test/buffer/storage/types/mat2x3.wgsl.expected.glsl
index 0b414b2..c4b7348 100644
--- a/test/buffer/storage/types/mat2x3.wgsl.expected.glsl
+++ b/test/buffer/storage/types/mat2x3.wgsl.expected.glsl
@@ -11,14 +11,13 @@
 layout(binding = 1) buffer tint_symbol_block_2 {
   mat2x3 inner;
 } tint_symbol_1;
-
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void tint_symbol_2() {
   tint_symbol_1.inner = tint_symbol.inner;
   return;
 }
+
 void main() {
   tint_symbol_2();
 }
 
-
diff --git a/test/buffer/storage/types/mat3x2.wgsl.expected.glsl b/test/buffer/storage/types/mat3x2.wgsl.expected.glsl
index 6fd97af..0ec9fd8 100644
--- a/test/buffer/storage/types/mat3x2.wgsl.expected.glsl
+++ b/test/buffer/storage/types/mat3x2.wgsl.expected.glsl
@@ -11,14 +11,13 @@
 layout(binding = 1) buffer tint_symbol_block_2 {
   mat3x2 inner;
 } tint_symbol_1;
-
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void tint_symbol_2() {
   tint_symbol_1.inner = tint_symbol.inner;
   return;
 }
+
 void main() {
   tint_symbol_2();
 }
 
-
diff --git a/test/buffer/storage/types/mat4x4.wgsl.expected.glsl b/test/buffer/storage/types/mat4x4.wgsl.expected.glsl
index 955e50a..4a1756a 100644
--- a/test/buffer/storage/types/mat4x4.wgsl.expected.glsl
+++ b/test/buffer/storage/types/mat4x4.wgsl.expected.glsl
@@ -11,14 +11,13 @@
 layout(binding = 1) buffer tint_symbol_block_2 {
   mat4 inner;
 } tint_symbol_1;
-
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void tint_symbol_2() {
   tint_symbol_1.inner = tint_symbol.inner;
   return;
 }
+
 void main() {
   tint_symbol_2();
 }
 
-
diff --git a/test/buffer/storage/types/runtime_array.wgsl.expected.glsl b/test/buffer/storage/types/runtime_array.wgsl.expected.glsl
index b32c622..2a4f200 100644
--- a/test/buffer/storage/types/runtime_array.wgsl.expected.glsl
+++ b/test/buffer/storage/types/runtime_array.wgsl.expected.glsl
@@ -11,14 +11,13 @@
 layout(binding = 1) buffer tint_symbol_block_2 {
   S inner[];
 } tint_symbol_1;
-
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void tint_symbol_2() {
   tint_symbol_1.inner[0] = tint_symbol.inner[0];
   return;
 }
+
 void main() {
   tint_symbol_2();
 }
 
-
diff --git a/test/buffer/storage/types/struct.wgsl.expected.glsl b/test/buffer/storage/types/struct.wgsl.expected.glsl
index 74106b6..bc5bf85 100644
--- a/test/buffer/storage/types/struct.wgsl.expected.glsl
+++ b/test/buffer/storage/types/struct.wgsl.expected.glsl
@@ -6,6 +6,7 @@
 struct Inner {
   float f;
 };
+
 struct S {
   Inner inner;
 };
@@ -16,17 +17,16 @@
 layout(binding = 1) buffer S_2 {
   Inner inner;
 } tint_symbol_1;
-
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void tint_symbol_2() {
   tint_symbol_1 = tint_symbol;
   return;
 }
+
 void main() {
   tint_symbol_2();
 }
 
-
 Error parsing GLSL shader:
 ERROR: 0:20: 'assign' :  cannot convert from 'layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer structure{ global mediump float f} inner}' to 'layout( binding=1 column_major shared) buffer block{layout( column_major shared) buffer structure{ global mediump float f} inner}'
 ERROR: 0:20: '' : compilation terminated 
diff --git a/test/buffer/storage/types/u32.wgsl.expected.glsl b/test/buffer/storage/types/u32.wgsl.expected.glsl
index 553d522..6736a08 100644
--- a/test/buffer/storage/types/u32.wgsl.expected.glsl
+++ b/test/buffer/storage/types/u32.wgsl.expected.glsl
@@ -11,14 +11,13 @@
 layout(binding = 1) buffer tint_symbol_block_2 {
   uint inner;
 } tint_symbol_1;
-
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void tint_symbol_2() {
   tint_symbol_1.inner = tint_symbol.inner;
   return;
 }
+
 void main() {
   tint_symbol_2();
 }
 
-
diff --git a/test/buffer/storage/types/vec2.wgsl.expected.glsl b/test/buffer/storage/types/vec2.wgsl.expected.glsl
index ed93d72..ddcb7fe 100644
--- a/test/buffer/storage/types/vec2.wgsl.expected.glsl
+++ b/test/buffer/storage/types/vec2.wgsl.expected.glsl
@@ -11,14 +11,13 @@
 layout(binding = 1) buffer tint_symbol_block_2 {
   ivec2 inner;
 } tint_symbol_1;
-
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void tint_symbol_2() {
   tint_symbol_1.inner = tint_symbol.inner;
   return;
 }
+
 void main() {
   tint_symbol_2();
 }
 
-
diff --git a/test/buffer/storage/types/vec3.wgsl.expected.glsl b/test/buffer/storage/types/vec3.wgsl.expected.glsl
index f98bac9..f780c9a 100644
--- a/test/buffer/storage/types/vec3.wgsl.expected.glsl
+++ b/test/buffer/storage/types/vec3.wgsl.expected.glsl
@@ -11,14 +11,13 @@
 layout(binding = 1) buffer tint_symbol_block_2 {
   uvec3 inner;
 } tint_symbol_1;
-
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void tint_symbol_2() {
   tint_symbol_1.inner = tint_symbol.inner;
   return;
 }
+
 void main() {
   tint_symbol_2();
 }
 
-
diff --git a/test/buffer/storage/types/vec4.wgsl.expected.glsl b/test/buffer/storage/types/vec4.wgsl.expected.glsl
index 36e0d15..414bc4a 100644
--- a/test/buffer/storage/types/vec4.wgsl.expected.glsl
+++ b/test/buffer/storage/types/vec4.wgsl.expected.glsl
@@ -11,14 +11,13 @@
 layout(binding = 1) buffer tint_symbol_block_2 {
   vec4 inner;
 } tint_symbol_1;
-
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void tint_symbol_2() {
   tint_symbol_1.inner = tint_symbol.inner;
   return;
 }
+
 void main() {
   tint_symbol_2();
 }
 
-
diff --git a/test/buffer/uniform/dynamic_index/read.wgsl.expected.glsl b/test/buffer/uniform/dynamic_index/read.wgsl.expected.glsl
index c6520d4..975e418 100644
--- a/test/buffer/uniform/dynamic_index/read.wgsl.expected.glsl
+++ b/test/buffer/uniform/dynamic_index/read.wgsl.expected.glsl
@@ -14,6 +14,7 @@
   mat3x2 j;
   ivec4 k[4];
 };
+
 struct S {
   Inner arr[8];
 };
@@ -45,10 +46,11 @@
   tint_symbol_inner(tint_symbol_1.idx);
   return;
 }
+
+
 void main() {
   tint_symbol_2 inputs;
   inputs.idx = uint(gl_LocalInvocationIndex);
   tint_symbol(inputs);
 }
 
-
diff --git a/test/buffer/uniform/static_index/read.wgsl.expected.glsl b/test/buffer/uniform/static_index/read.wgsl.expected.glsl
index eebf1ed..e23579c 100644
--- a/test/buffer/uniform/static_index/read.wgsl.expected.glsl
+++ b/test/buffer/uniform/static_index/read.wgsl.expected.glsl
@@ -4,6 +4,7 @@
 struct Inner {
   int x;
 };
+
 struct S {
   ivec3 a;
   int b;
@@ -50,8 +51,8 @@
   Inner l[4] = s.l;
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/buffer/uniform/types/array.wgsl.expected.glsl b/test/buffer/uniform/types/array.wgsl.expected.glsl
index d4fe506..514ba1f 100644
--- a/test/buffer/uniform/types/array.wgsl.expected.glsl
+++ b/test/buffer/uniform/types/array.wgsl.expected.glsl
@@ -14,8 +14,8 @@
   vec4 x[4] = u.inner;
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/buffer/uniform/types/f32.wgsl.expected.glsl b/test/buffer/uniform/types/f32.wgsl.expected.glsl
index e8ce6d9..e3b3589 100644
--- a/test/buffer/uniform/types/f32.wgsl.expected.glsl
+++ b/test/buffer/uniform/types/f32.wgsl.expected.glsl
@@ -14,8 +14,8 @@
   float x = u.inner;
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/buffer/uniform/types/i32.wgsl.expected.glsl b/test/buffer/uniform/types/i32.wgsl.expected.glsl
index 067e517..6ae3def 100644
--- a/test/buffer/uniform/types/i32.wgsl.expected.glsl
+++ b/test/buffer/uniform/types/i32.wgsl.expected.glsl
@@ -14,8 +14,8 @@
   int x = u.inner;
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/buffer/uniform/types/mat2x2.wgsl.expected.glsl b/test/buffer/uniform/types/mat2x2.wgsl.expected.glsl
index 48639af..e09403c 100644
--- a/test/buffer/uniform/types/mat2x2.wgsl.expected.glsl
+++ b/test/buffer/uniform/types/mat2x2.wgsl.expected.glsl
@@ -14,8 +14,8 @@
   mat2 x = u.inner;
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/buffer/uniform/types/mat2x3.wgsl.expected.glsl b/test/buffer/uniform/types/mat2x3.wgsl.expected.glsl
index be95287..fe7ef52 100644
--- a/test/buffer/uniform/types/mat2x3.wgsl.expected.glsl
+++ b/test/buffer/uniform/types/mat2x3.wgsl.expected.glsl
@@ -14,8 +14,8 @@
   mat2x3 x = u.inner;
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/buffer/uniform/types/mat3x2.wgsl.expected.glsl b/test/buffer/uniform/types/mat3x2.wgsl.expected.glsl
index d8529c9..4b742e1 100644
--- a/test/buffer/uniform/types/mat3x2.wgsl.expected.glsl
+++ b/test/buffer/uniform/types/mat3x2.wgsl.expected.glsl
@@ -14,8 +14,8 @@
   mat3x2 x = u.inner;
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/buffer/uniform/types/mat4x4.wgsl.expected.glsl b/test/buffer/uniform/types/mat4x4.wgsl.expected.glsl
index 616ab56..0305478 100644
--- a/test/buffer/uniform/types/mat4x4.wgsl.expected.glsl
+++ b/test/buffer/uniform/types/mat4x4.wgsl.expected.glsl
@@ -14,8 +14,8 @@
   mat4 x = u.inner;
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/buffer/uniform/types/struct.wgsl.expected.glsl b/test/buffer/uniform/types/struct.wgsl.expected.glsl
index 9fac48e..c684ea2 100644
--- a/test/buffer/uniform/types/struct.wgsl.expected.glsl
+++ b/test/buffer/uniform/types/struct.wgsl.expected.glsl
@@ -6,6 +6,7 @@
 struct Inner {
   float f;
 };
+
 struct S {
   Inner inner;
 };
@@ -19,14 +20,14 @@
   S x = u;
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
 Error parsing GLSL shader:
-ERROR: 0:17: '=' :  cannot convert from 'layout( binding=0 column_major shared) uniform block{layout( column_major shared) uniform structure{ global mediump float f} inner}' to ' temp structure{ global structure{ global mediump float f} inner}'
-ERROR: 0:17: '' : compilation terminated 
+ERROR: 0:18: '=' :  cannot convert from 'layout( binding=0 column_major shared) uniform block{layout( column_major shared) uniform structure{ global mediump float f} inner}' to ' temp structure{ global structure{ global mediump float f} inner}'
+ERROR: 0:18: '' : compilation terminated 
 ERROR: 2 compilation errors.  No code generated.
 
 
diff --git a/test/buffer/uniform/types/u32.wgsl.expected.glsl b/test/buffer/uniform/types/u32.wgsl.expected.glsl
index f2aa4ce..8096438 100644
--- a/test/buffer/uniform/types/u32.wgsl.expected.glsl
+++ b/test/buffer/uniform/types/u32.wgsl.expected.glsl
@@ -14,8 +14,8 @@
   uint x = u.inner;
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/buffer/uniform/types/vec2.wgsl.expected.glsl b/test/buffer/uniform/types/vec2.wgsl.expected.glsl
index 4ebdfe0..7ca9b13 100644
--- a/test/buffer/uniform/types/vec2.wgsl.expected.glsl
+++ b/test/buffer/uniform/types/vec2.wgsl.expected.glsl
@@ -14,8 +14,8 @@
   ivec2 x = u.inner;
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/buffer/uniform/types/vec3.wgsl.expected.glsl b/test/buffer/uniform/types/vec3.wgsl.expected.glsl
index 5174f95..0aba38a 100644
--- a/test/buffer/uniform/types/vec3.wgsl.expected.glsl
+++ b/test/buffer/uniform/types/vec3.wgsl.expected.glsl
@@ -14,8 +14,8 @@
   uvec3 x = u.inner;
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/buffer/uniform/types/vec4.wgsl.expected.glsl b/test/buffer/uniform/types/vec4.wgsl.expected.glsl
index ae5afea..1cbcd11 100644
--- a/test/buffer/uniform/types/vec4.wgsl.expected.glsl
+++ b/test/buffer/uniform/types/vec4.wgsl.expected.glsl
@@ -14,8 +14,8 @@
   vec4 x = u.inner;
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/bug/chromium/1221120.wgsl.expected.glsl b/test/bug/chromium/1221120.wgsl.expected.glsl
index fed5e26..eea151a 100644
--- a/test/bug/chromium/1221120.wgsl.expected.glsl
+++ b/test/bug/chromium/1221120.wgsl.expected.glsl
@@ -5,10 +5,9 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 const int H = 1;
diff --git a/test/bug/chromium/1236161.wgsl.expected.glsl b/test/bug/chromium/1236161.wgsl.expected.glsl
index 87dbeff..fbc61f8 100644
--- a/test/bug/chromium/1236161.wgsl.expected.glsl
+++ b/test/bug/chromium/1236161.wgsl.expected.glsl
@@ -7,6 +7,7 @@
   float fract;
   float whole;
 };
+
 modf_result tint_modf(float param_0) {
   float whole;
   float fract = modf(param_0, whole);
@@ -19,18 +20,18 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 void i() {
   float s = tint_modf(1.0f).whole;
 }
+
 Error parsing GLSL shader:
-ERROR: 0:11: '{ } style initializers' : not supported with this profile: es
-ERROR: 0:11: '' : compilation terminated 
+ERROR: 0:12: '{ } style initializers' : not supported with this profile: es
+ERROR: 0:12: '' : compilation terminated 
 ERROR: 2 compilation errors.  No code generated.
 
 
diff --git a/test/bug/chromium/1251009.wgsl.expected.glsl b/test/bug/chromium/1251009.wgsl.expected.glsl
index 1087196..ab20360 100644
--- a/test/bug/chromium/1251009.wgsl.expected.glsl
+++ b/test/bug/chromium/1251009.wgsl.expected.glsl
@@ -5,10 +5,12 @@
   uint vertex_index;
   int loc0;
 };
+
 struct VertexInputs1 {
   uint loc1;
   vec4 loc3;
 };
+
 struct tint_symbol_2 {
   int loc0;
   uint loc1;
@@ -17,6 +19,7 @@
   uint vertex_index;
   uint instance_index;
 };
+
 struct tint_symbol_3 {
   vec4 value;
 };
@@ -38,6 +41,10 @@
 layout(location = 1) in uint loc1;
 layout(location = 2) in uint loc1_1;
 layout(location = 3) in vec4 loc3;
+
+
+
+
 void main() {
   tint_symbol_2 inputs;
   inputs.loc0 = loc0;
@@ -53,4 +60,3 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
diff --git a/test/bug/chromium/1273230.wgsl.expected.glsl b/test/bug/chromium/1273230.wgsl.expected.glsl
index 4eca6df..f05e2a2 100644
--- a/test/bug/chromium/1273230.wgsl.expected.glsl
+++ b/test/bug/chromium/1273230.wgsl.expected.glsl
@@ -29,6 +29,7 @@
   vec3 bbMin;
   vec3 bbMax;
 };
+
 struct Dbg {
   uint offsetCounter;
   uint pad0;
@@ -52,6 +53,7 @@
   vec3 bbMin;
   vec3 bbMax;
 } uniforms;
+
 layout(binding = 10) buffer U32s_1 {
   uint values[];
 } indices;
@@ -78,7 +80,6 @@
   float value_f32_2;
   float value_f32_3;
 } dbg;
-
 vec3 toVoxelPos(vec3 position) {
   vec3 bbMin = vec3(uniforms.bbMin.x, uniforms.bbMin.y, uniforms.bbMin.z);
   vec3 bbMax = vec3(uniforms.bbMax.x, uniforms.bbMax.y, uniforms.bbMax.z);
@@ -137,10 +138,11 @@
   main_count_inner(tint_symbol.GlobalInvocationID);
   return;
 }
+
+
 void main() {
   tint_symbol_1 inputs;
   inputs.GlobalInvocationID = gl_GlobalInvocationID;
   main_count(inputs);
 }
 
-
diff --git a/test/bug/chromium/1273451.wgsl.expected.glsl b/test/bug/chromium/1273451.wgsl.expected.glsl
index 90a906d..7024728 100644
--- a/test/bug/chromium/1273451.wgsl.expected.glsl
+++ b/test/bug/chromium/1273451.wgsl.expected.glsl
@@ -5,15 +5,15 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 struct A {
   int a;
 };
+
 struct B {
   int b;
 };
@@ -22,3 +22,4 @@
   B tint_symbol = B(0);
   return tint_symbol;
 }
+
diff --git a/test/bug/dawn/947.wgsl.expected.glsl b/test/bug/dawn/947.wgsl.expected.glsl
index e203e69..5bb2e86 100644
--- a/test/bug/dawn/947.wgsl.expected.glsl
+++ b/test/bug/dawn/947.wgsl.expected.glsl
@@ -15,9 +15,11 @@
   vec2 texcoords;
   vec4 position;
 };
+
 struct tint_symbol_2 {
   uint VertexIndex;
 };
+
 struct tint_symbol_3 {
   vec2 texcoords;
   vec4 position;
@@ -39,6 +41,7 @@
 struct tint_symbol_5 {
   vec2 texcoord;
 };
+
 struct tint_symbol_6 {
   vec4 value;
 };
@@ -50,7 +53,10 @@
   wrapper_result.position = inner_result.position;
   return wrapper_result;
 }
+
 layout(location = 0) out vec2 texcoords;
+
+
 void main() {
   tint_symbol_2 inputs;
   inputs.VertexIndex = uint(gl_VertexID);
@@ -62,7 +68,6 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -70,27 +75,31 @@
   vec2 u_scale;
   vec2 u_offset;
 };
+
 struct VertexOutputs {
   vec2 texcoords;
   vec4 position;
 };
+
 struct tint_symbol_2 {
   uint VertexIndex;
 };
+
 struct tint_symbol_3 {
   vec2 texcoords;
   vec4 position;
 };
+
 struct tint_symbol_5 {
   vec2 texcoord;
 };
+
 struct tint_symbol_6 {
   vec4 value;
 };
 
 uniform highp sampler2D myTexture_mySampler;
 
-
 vec4 fs_main_inner(vec2 texcoord) {
   vec2 clampedTexcoord = clamp(texcoord, vec2(0.0f, 0.0f), vec2(1.0f, 1.0f));
   if (!(all(equal(clampedTexcoord, texcoord)))) {
@@ -108,6 +117,7 @@
 }
 layout(location = 0) in vec2 texcoord;
 layout(location = 0) out vec4 value;
+
 void main() {
   tint_symbol_5 inputs;
   inputs.texcoord = texcoord;
@@ -116,4 +126,3 @@
   value = outputs.value;
 }
 
-
diff --git a/test/bug/fxc/dyn_array_idx/read/function.wgsl.expected.glsl b/test/bug/fxc/dyn_array_idx/read/function.wgsl.expected.glsl
index 32d13a8..38dd9fb 100644
--- a/test/bug/fxc/dyn_array_idx/read/function.wgsl.expected.glsl
+++ b/test/bug/fxc/dyn_array_idx/read/function.wgsl.expected.glsl
@@ -12,6 +12,7 @@
 struct S {
   int data[64];
 };
+
 struct Result {
   int tint_symbol;
 };
@@ -19,15 +20,14 @@
 layout(binding = 1) buffer Result_1 {
   int tint_symbol;
 } result;
-
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void f() {
   S s = S(int[64](0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0));
   result.tint_symbol = s.data[ubo.dynamic_idx];
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/bug/fxc/dyn_array_idx/read/private.wgsl.expected.glsl b/test/bug/fxc/dyn_array_idx/read/private.wgsl.expected.glsl
index 67d37d3..63c16e0 100644
--- a/test/bug/fxc/dyn_array_idx/read/private.wgsl.expected.glsl
+++ b/test/bug/fxc/dyn_array_idx/read/private.wgsl.expected.glsl
@@ -12,6 +12,7 @@
 struct S {
   int data[64];
 };
+
 struct Result {
   int tint_symbol;
 };
@@ -20,14 +21,13 @@
   int tint_symbol;
 } result;
 S s = S(int[64](0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0));
-
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void f() {
   result.tint_symbol = s.data[ubo.dynamic_idx];
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/bug/fxc/dyn_array_idx/read/storage.wgsl.expected.glsl b/test/bug/fxc/dyn_array_idx/read/storage.wgsl.expected.glsl
index 3719b7e..1bc7ef2 100644
--- a/test/bug/fxc/dyn_array_idx/read/storage.wgsl.expected.glsl
+++ b/test/bug/fxc/dyn_array_idx/read/storage.wgsl.expected.glsl
@@ -16,7 +16,6 @@
 layout(binding = 2) buffer Result_1 {
   int tint_symbol;
 } result;
-
 struct SSBO {
   int data[4];
 };
@@ -24,14 +23,13 @@
 layout(binding = 1) buffer SSBO_1 {
   int data[4];
 } ssbo;
-
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void f() {
   result.tint_symbol = ssbo.data[ubo.dynamic_idx];
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/bug/fxc/dyn_array_idx/read/uniform.wgsl.expected.glsl b/test/bug/fxc/dyn_array_idx/read/uniform.wgsl.expected.glsl
index 2ff97ae..118dd73 100644
--- a/test/bug/fxc/dyn_array_idx/read/uniform.wgsl.expected.glsl
+++ b/test/bug/fxc/dyn_array_idx/read/uniform.wgsl.expected.glsl
@@ -18,14 +18,13 @@
 layout(binding = 2) buffer Result_1 {
   int tint_symbol;
 } result;
-
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void f() {
   result.tint_symbol = ubo.data[ubo.dynamic_idx].x;
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/bug/fxc/dyn_array_idx/read/workgroup.wgsl.expected.glsl b/test/bug/fxc/dyn_array_idx/read/workgroup.wgsl.expected.glsl
index 955289b..b3052dd 100644
--- a/test/bug/fxc/dyn_array_idx/read/workgroup.wgsl.expected.glsl
+++ b/test/bug/fxc/dyn_array_idx/read/workgroup.wgsl.expected.glsl
@@ -12,6 +12,7 @@
 struct S {
   int data[64];
 };
+
 struct Result {
   int tint_symbol;
 };
@@ -20,7 +21,6 @@
   int tint_symbol;
 } result;
 shared S s;
-
 struct tint_symbol_2 {
   uint local_invocation_index;
 };
@@ -41,10 +41,11 @@
   f_inner(tint_symbol_1.local_invocation_index);
   return;
 }
+
+
 void main() {
   tint_symbol_2 inputs;
   inputs.local_invocation_index = uint(gl_LocalInvocationIndex);
   f(inputs);
 }
 
-
diff --git a/test/bug/fxc/dyn_array_idx/write/function.wgsl.expected.glsl b/test/bug/fxc/dyn_array_idx/write/function.wgsl.expected.glsl
index 335f1db..3be6198 100644
--- a/test/bug/fxc/dyn_array_idx/write/function.wgsl.expected.glsl
+++ b/test/bug/fxc/dyn_array_idx/write/function.wgsl.expected.glsl
@@ -12,6 +12,7 @@
 struct S {
   int data[64];
 };
+
 struct Result {
   int tint_symbol;
 };
@@ -19,7 +20,6 @@
 layout(binding = 1) buffer Result_1 {
   int tint_symbol;
 } result;
-
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void f() {
   S s = S(int[64](0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0));
@@ -27,8 +27,8 @@
   result.tint_symbol = s.data[3];
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/bug/fxc/dyn_array_idx/write/function_via_param.wgsl.expected.glsl b/test/bug/fxc/dyn_array_idx/write/function_via_param.wgsl.expected.glsl
index dd49354..ead018c 100644
--- a/test/bug/fxc/dyn_array_idx/write/function_via_param.wgsl.expected.glsl
+++ b/test/bug/fxc/dyn_array_idx/write/function_via_param.wgsl.expected.glsl
@@ -12,6 +12,7 @@
 struct S {
   int data[64];
 };
+
 struct Result {
   int tint_symbol;
 };
@@ -19,7 +20,6 @@
 layout(binding = 1) buffer Result_1 {
   int tint_symbol;
 } result;
-
 void x(inout S p) {
   p.data[ubo.dynamic_idx] = 1;
 }
@@ -31,8 +31,8 @@
   result.tint_symbol = s.data[3];
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/bug/fxc/dyn_array_idx/write/private.wgsl.expected.glsl b/test/bug/fxc/dyn_array_idx/write/private.wgsl.expected.glsl
index b10480f..18c763b 100644
--- a/test/bug/fxc/dyn_array_idx/write/private.wgsl.expected.glsl
+++ b/test/bug/fxc/dyn_array_idx/write/private.wgsl.expected.glsl
@@ -12,6 +12,7 @@
 struct S {
   int data[64];
 };
+
 struct Result {
   int tint_symbol;
 };
@@ -20,15 +21,14 @@
   int tint_symbol;
 } result;
 S s = S(int[64](0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0));
-
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void f() {
   s.data[ubo.dynamic_idx] = 1;
   result.tint_symbol = s.data[3];
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/bug/fxc/dyn_array_idx/write/private_via_param.wgsl.expected.glsl b/test/bug/fxc/dyn_array_idx/write/private_via_param.wgsl.expected.glsl
index fa73642..61e4347 100644
--- a/test/bug/fxc/dyn_array_idx/write/private_via_param.wgsl.expected.glsl
+++ b/test/bug/fxc/dyn_array_idx/write/private_via_param.wgsl.expected.glsl
@@ -12,6 +12,7 @@
 struct S {
   int data[64];
 };
+
 struct Result {
   int tint_symbol;
 };
@@ -20,7 +21,6 @@
   int tint_symbol;
 } result;
 S s = S(int[64](0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0));
-
 void x(inout S p) {
   p.data[ubo.dynamic_idx] = 1;
 }
@@ -31,8 +31,8 @@
   result.tint_symbol = s.data[3];
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/bug/fxc/dyn_array_idx/write/storage.wgsl.expected.glsl b/test/bug/fxc/dyn_array_idx/write/storage.wgsl.expected.glsl
index 01f9ff4..279d1cd 100644
--- a/test/bug/fxc/dyn_array_idx/write/storage.wgsl.expected.glsl
+++ b/test/bug/fxc/dyn_array_idx/write/storage.wgsl.expected.glsl
@@ -16,7 +16,6 @@
 layout(binding = 2) buffer Result_1 {
   int tint_symbol;
 } result;
-
 struct SSBO {
   int data[4];
 };
@@ -24,15 +23,14 @@
 layout(binding = 1) buffer SSBO_1 {
   int data[4];
 } ssbo;
-
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void f() {
   ssbo.data[ubo.dynamic_idx] = 1;
   result.tint_symbol = ssbo.data[3];
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/bug/fxc/dyn_array_idx/write/workgroup.wgsl.expected.glsl b/test/bug/fxc/dyn_array_idx/write/workgroup.wgsl.expected.glsl
index 7f4537e..2a4d1c0 100644
--- a/test/bug/fxc/dyn_array_idx/write/workgroup.wgsl.expected.glsl
+++ b/test/bug/fxc/dyn_array_idx/write/workgroup.wgsl.expected.glsl
@@ -12,6 +12,7 @@
 struct S {
   int data[64];
 };
+
 struct Result {
   int tint_symbol;
 };
@@ -20,7 +21,6 @@
   int tint_symbol;
 } result;
 shared S s;
-
 struct tint_symbol_2 {
   uint local_invocation_index;
 };
@@ -42,10 +42,11 @@
   f_inner(tint_symbol_1.local_invocation_index);
   return;
 }
+
+
 void main() {
   tint_symbol_2 inputs;
   inputs.local_invocation_index = uint(gl_LocalInvocationIndex);
   f(inputs);
 }
 
-
diff --git a/test/bug/fxc/gradient_in_varying_loop/1112.wgsl.expected.glsl b/test/bug/fxc/gradient_in_varying_loop/1112.wgsl.expected.glsl
index 254e486..d63995b 100644
--- a/test/bug/fxc/gradient_in_varying_loop/1112.wgsl.expected.glsl
+++ b/test/bug/fxc/gradient_in_varying_loop/1112.wgsl.expected.glsl
@@ -4,6 +4,7 @@
 struct tint_symbol_2 {
   vec2 vUV;
 };
+
 struct tint_symbol_3 {
   vec4 value;
 };
@@ -11,7 +12,6 @@
 uniform highp sampler2D randomTexture_Sampler;
 uniform highp sampler2D depthTexture_Sampler;
 
-
 vec4 tint_symbol_inner(vec2 vUV) {
   vec3 random = texture(randomTexture_Sampler, vUV).rgb;
   int i = 0;
@@ -51,6 +51,7 @@
 }
 layout(location = 0) in vec2 vUV;
 layout(location = 0) out vec4 value;
+
 void main() {
   tint_symbol_2 inputs;
   inputs.vUV = vUV;
@@ -59,4 +60,3 @@
   value = outputs.value;
 }
 
-
diff --git a/test/bug/fxc/indexed_assign_to_array_in_struct/1206.wgsl.expected.glsl b/test/bug/fxc/indexed_assign_to_array_in_struct/1206.wgsl.expected.glsl
index 642b7e3..131bb21 100644
--- a/test/bug/fxc/indexed_assign_to_array_in_struct/1206.wgsl.expected.glsl
+++ b/test/bug/fxc/indexed_assign_to_array_in_struct/1206.wgsl.expected.glsl
@@ -4,6 +4,7 @@
 struct Simulation {
   uint i;
 };
+
 struct Particle {
   vec3 position[8];
   float lifetime;
@@ -24,8 +25,8 @@
   particle.position[sim.i] = particle.position[sim.i];
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/bug/fxc/matrix_assignment_dynamic_index/local_assign_scalar_x.wgsl.expected.glsl b/test/bug/fxc/matrix_assignment_dynamic_index/local_assign_scalar_x.wgsl.expected.glsl
index 48e49e1..74dc588 100644
--- a/test/bug/fxc/matrix_assignment_dynamic_index/local_assign_scalar_x.wgsl.expected.glsl
+++ b/test/bug/fxc/matrix_assignment_dynamic_index/local_assign_scalar_x.wgsl.expected.glsl
@@ -17,8 +17,8 @@
   m1[uniforms.i][0] = 1.0f;
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/bug/fxc/matrix_assignment_dynamic_index/local_assign_scalar_xy.wgsl.expected.glsl b/test/bug/fxc/matrix_assignment_dynamic_index/local_assign_scalar_xy.wgsl.expected.glsl
index 039fbe9..b7701f1 100644
--- a/test/bug/fxc/matrix_assignment_dynamic_index/local_assign_scalar_xy.wgsl.expected.glsl
+++ b/test/bug/fxc/matrix_assignment_dynamic_index/local_assign_scalar_xy.wgsl.expected.glsl
@@ -17,8 +17,8 @@
   m1[uniforms.i][uniforms.j] = 1.0f;
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/bug/fxc/matrix_assignment_dynamic_index/local_assign_scalar_y.wgsl.expected.glsl b/test/bug/fxc/matrix_assignment_dynamic_index/local_assign_scalar_y.wgsl.expected.glsl
index 79409bb..31fe4d4 100644
--- a/test/bug/fxc/matrix_assignment_dynamic_index/local_assign_scalar_y.wgsl.expected.glsl
+++ b/test/bug/fxc/matrix_assignment_dynamic_index/local_assign_scalar_y.wgsl.expected.glsl
@@ -10,15 +10,15 @@
   uint i;
   uint j;
 } uniforms;
-mat2x4 m1 = mat2x4(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
 
+mat2x4 m1 = mat2x4(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void tint_symbol() {
   m1[0][uniforms.j] = 1.0f;
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/bug/fxc/matrix_assignment_dynamic_index/local_assign_vector.wgsl.expected.glsl b/test/bug/fxc/matrix_assignment_dynamic_index/local_assign_vector.wgsl.expected.glsl
index 405f246..021a595 100644
--- a/test/bug/fxc/matrix_assignment_dynamic_index/local_assign_vector.wgsl.expected.glsl
+++ b/test/bug/fxc/matrix_assignment_dynamic_index/local_assign_vector.wgsl.expected.glsl
@@ -17,8 +17,8 @@
   m1[uniforms.i] = vec4(1.0f);
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/bug/fxc/matrix_assignment_dynamic_index/module_assign_scalar_x.wgsl.expected.glsl b/test/bug/fxc/matrix_assignment_dynamic_index/module_assign_scalar_x.wgsl.expected.glsl
index 38587f2..0cf6f23 100644
--- a/test/bug/fxc/matrix_assignment_dynamic_index/module_assign_scalar_x.wgsl.expected.glsl
+++ b/test/bug/fxc/matrix_assignment_dynamic_index/module_assign_scalar_x.wgsl.expected.glsl
@@ -10,15 +10,15 @@
   uint i;
   uint j;
 } uniforms;
-mat2x4 m1 = mat2x4(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
 
+mat2x4 m1 = mat2x4(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void tint_symbol() {
   m1[uniforms.i][0] = 1.0f;
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/bug/fxc/matrix_assignment_dynamic_index/module_assign_scalar_xy.wgsl.expected.glsl b/test/bug/fxc/matrix_assignment_dynamic_index/module_assign_scalar_xy.wgsl.expected.glsl
index a588d37..8d28577 100644
--- a/test/bug/fxc/matrix_assignment_dynamic_index/module_assign_scalar_xy.wgsl.expected.glsl
+++ b/test/bug/fxc/matrix_assignment_dynamic_index/module_assign_scalar_xy.wgsl.expected.glsl
@@ -10,15 +10,15 @@
   uint i;
   uint j;
 } uniforms;
-mat2x4 m1 = mat2x4(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
 
+mat2x4 m1 = mat2x4(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void tint_symbol() {
   m1[uniforms.i][uniforms.j] = 1.0f;
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/bug/fxc/matrix_assignment_dynamic_index/module_assign_scalar_y.wgsl.expected.glsl b/test/bug/fxc/matrix_assignment_dynamic_index/module_assign_scalar_y.wgsl.expected.glsl
index 79409bb..31fe4d4 100644
--- a/test/bug/fxc/matrix_assignment_dynamic_index/module_assign_scalar_y.wgsl.expected.glsl
+++ b/test/bug/fxc/matrix_assignment_dynamic_index/module_assign_scalar_y.wgsl.expected.glsl
@@ -10,15 +10,15 @@
   uint i;
   uint j;
 } uniforms;
-mat2x4 m1 = mat2x4(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
 
+mat2x4 m1 = mat2x4(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void tint_symbol() {
   m1[0][uniforms.j] = 1.0f;
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/bug/fxc/matrix_assignment_dynamic_index/module_assign_vector.wgsl.expected.glsl b/test/bug/fxc/matrix_assignment_dynamic_index/module_assign_vector.wgsl.expected.glsl
index fb3492b..3f2bbc0 100644
--- a/test/bug/fxc/matrix_assignment_dynamic_index/module_assign_vector.wgsl.expected.glsl
+++ b/test/bug/fxc/matrix_assignment_dynamic_index/module_assign_vector.wgsl.expected.glsl
@@ -10,15 +10,15 @@
   uint i;
   uint j;
 } uniforms;
-mat2x4 m1 = mat2x4(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
 
+mat2x4 m1 = mat2x4(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void tint_symbol() {
   m1[uniforms.i] = vec4(1.0f);
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/bug/fxc/vector_assignment_in_loop/loop_call_with_loop.wgsl.expected.glsl b/test/bug/fxc/vector_assignment_in_loop/loop_call_with_loop.wgsl.expected.glsl
index dcde12e..73303a1 100644
--- a/test/bug/fxc/vector_assignment_in_loop/loop_call_with_loop.wgsl.expected.glsl
+++ b/test/bug/fxc/vector_assignment_in_loop/loop_call_with_loop.wgsl.expected.glsl
@@ -5,7 +5,6 @@
 ivec3 v3i = ivec3(0, 0, 0);
 uvec4 v4u = uvec4(0u, 0u, 0u, 0u);
 bvec2 v2b = bvec2(false, false);
-
 void foo() {
   {
     for(int i = 0; (i < 2); i = (i + 1)) {
@@ -26,8 +25,8 @@
   }
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/bug/fxc/vector_assignment_in_loop/loop_call_with_no_loop.wgsl.expected.glsl b/test/bug/fxc/vector_assignment_in_loop/loop_call_with_no_loop.wgsl.expected.glsl
index 680bcaa..66cdf90 100644
--- a/test/bug/fxc/vector_assignment_in_loop/loop_call_with_no_loop.wgsl.expected.glsl
+++ b/test/bug/fxc/vector_assignment_in_loop/loop_call_with_no_loop.wgsl.expected.glsl
@@ -5,7 +5,6 @@
 ivec3 v3i = ivec3(0, 0, 0);
 uvec4 v4u = uvec4(0u, 0u, 0u, 0u);
 bvec2 v2b = bvec2(false, false);
-
 void foo() {
   int i = 0;
   v2f[i] = 1.0f;
@@ -23,8 +22,8 @@
   }
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/bug/fxc/vector_assignment_in_loop/loop_types_all.wgsl.expected.glsl b/test/bug/fxc/vector_assignment_in_loop/loop_types_all.wgsl.expected.glsl
index ad1e7e7..d577a0b 100644
--- a/test/bug/fxc/vector_assignment_in_loop/loop_types_all.wgsl.expected.glsl
+++ b/test/bug/fxc/vector_assignment_in_loop/loop_types_all.wgsl.expected.glsl
@@ -33,8 +33,8 @@
   }
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/bug/fxc/vector_assignment_in_loop/loop_types_repeated.wgsl.expected.glsl b/test/bug/fxc/vector_assignment_in_loop/loop_types_repeated.wgsl.expected.glsl
index 8154232..70a28f6 100644
--- a/test/bug/fxc/vector_assignment_in_loop/loop_types_repeated.wgsl.expected.glsl
+++ b/test/bug/fxc/vector_assignment_in_loop/loop_types_repeated.wgsl.expected.glsl
@@ -25,8 +25,8 @@
   }
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/bug/fxc/vector_assignment_in_loop/loop_types_some.wgsl.expected.glsl b/test/bug/fxc/vector_assignment_in_loop/loop_types_some.wgsl.expected.glsl
index 7211d43..1c080e3 100644
--- a/test/bug/fxc/vector_assignment_in_loop/loop_types_some.wgsl.expected.glsl
+++ b/test/bug/fxc/vector_assignment_in_loop/loop_types_some.wgsl.expected.glsl
@@ -34,8 +34,8 @@
   v4b[i] = true;
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/bug/fxc/vector_assignment_in_loop/no_loop.wgsl.expected.glsl b/test/bug/fxc/vector_assignment_in_loop/no_loop.wgsl.expected.glsl
index b81b3b6..32a381e 100644
--- a/test/bug/fxc/vector_assignment_in_loop/no_loop.wgsl.expected.glsl
+++ b/test/bug/fxc/vector_assignment_in_loop/no_loop.wgsl.expected.glsl
@@ -30,8 +30,8 @@
   v4b[i] = true;
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/bug/tint/1046.wgsl.expected.glsl b/test/bug/tint/1046.wgsl.expected.glsl
index cfa646a..aff09cb 100644
--- a/test/bug/tint/1046.wgsl.expected.glsl
+++ b/test/bug/tint/1046.wgsl.expected.glsl
@@ -6,6 +6,7 @@
 struct PointLight {
   vec4 position;
 };
+
 struct Uniforms {
   mat4 worldView;
   mat4 proj;
@@ -21,10 +22,10 @@
   uint color_source;
   vec4 color;
 } uniforms;
+
 layout(binding = 1) buffer PointLights_1 {
   PointLight values[];
 } pointLights;
-
 struct FragmentInput {
   vec4 position;
   vec4 view_position;
@@ -32,9 +33,11 @@
   vec2 uv;
   vec4 color;
 };
+
 struct FragmentOutput {
   vec4 color;
 };
+
 struct tint_symbol_3 {
   vec4 view_position;
   vec4 normal;
@@ -42,6 +45,7 @@
   vec4 color;
   vec4 position;
 };
+
 struct tint_symbol_4 {
   vec4 color;
 };
@@ -63,7 +67,9 @@
 layout(location = 1) in vec4 normal;
 layout(location = 2) in vec2 uv;
 layout(location = 3) in vec4 color;
+
 layout(location = 0) out vec4 color;
+
 void main() {
   tint_symbol_3 inputs;
   inputs.view_position = view_position;
@@ -76,9 +82,8 @@
   color = outputs.color;
 }
 
-
 Error parsing GLSL shader:
-ERROR: 0:64: 'color' : redefinition 
+ERROR: 0:69: 'color' : redefinition 
 ERROR: 1 compilation errors.  No code generated.
 
 
diff --git a/test/bug/tint/1064.wgsl.expected.glsl b/test/bug/tint/1064.wgsl.expected.glsl
index c93c639..2f81388 100644
--- a/test/bug/tint/1064.wgsl.expected.glsl
+++ b/test/bug/tint/1064.wgsl.expected.glsl
@@ -16,8 +16,8 @@
   }
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/bug/tint/1076.wgsl.expected.glsl b/test/bug/tint/1076.wgsl.expected.glsl
index 659072c..e79fb56 100644
--- a/test/bug/tint/1076.wgsl.expected.glsl
+++ b/test/bug/tint/1076.wgsl.expected.glsl
@@ -7,11 +7,13 @@
   float a;
   uint mask;
 };
+
 struct tint_symbol_3 {
   float a;
   float b;
   uint mask;
 };
+
 struct tint_symbol_4 {
   float a;
   uint mask;
@@ -35,7 +37,10 @@
 }
 layout(location = 0) in float a;
 layout(location = 1) in float b;
+
 layout(location = 0) out float a;
+
+
 void main() {
   tint_symbol_3 inputs;
   inputs.a = a;
@@ -47,9 +52,8 @@
   gl_SampleMask = outputs.mask;
 }
 
-
 Error parsing GLSL shader:
-ERROR: 0:36: 'a' : redefinition 
+ERROR: 0:39: 'a' : redefinition 
 ERROR: 1 compilation errors.  No code generated.
 
 
diff --git a/test/bug/tint/1081.wgsl.expected.glsl b/test/bug/tint/1081.wgsl.expected.glsl
index a0b53fa..57544d7 100644
--- a/test/bug/tint/1081.wgsl.expected.glsl
+++ b/test/bug/tint/1081.wgsl.expected.glsl
@@ -11,6 +11,7 @@
 struct tint_symbol_2 {
   ivec3 x;
 };
+
 struct tint_symbol_3 {
   int value;
 };
@@ -34,6 +35,7 @@
 }
 layout(location = 1) flat in ivec3 x;
 layout(location = 2) out int value;
+
 void main() {
   tint_symbol_2 inputs;
   inputs.x = x;
@@ -42,4 +44,3 @@
   value = outputs.value;
 }
 
-
diff --git a/test/bug/tint/1083.wgsl.expected.glsl b/test/bug/tint/1083.wgsl.expected.glsl
index 96a62a0..8c230a2 100644
--- a/test/bug/tint/1083.wgsl.expected.glsl
+++ b/test/bug/tint/1083.wgsl.expected.glsl
@@ -6,8 +6,8 @@
   int c = (1 / 0);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/bug/tint/1086.wgsl.expected.glsl b/test/bug/tint/1086.wgsl.expected.glsl
index 23d3599..0c69c4f 100644
--- a/test/bug/tint/1086.wgsl.expected.glsl
+++ b/test/bug/tint/1086.wgsl.expected.glsl
@@ -2,7 +2,6 @@
 precision mediump float;
 
 float v = 0.0f;
-
 void x(inout float p) {
   p = 0.0f;
 }
@@ -15,8 +14,8 @@
   g();
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/bug/tint/1088.spvasm.expected.glsl b/test/bug/tint/1088.spvasm.expected.glsl
index 9deb3a6..c665add 100644
--- a/test/bug/tint/1088.spvasm.expected.glsl
+++ b/test/bug/tint/1088.spvasm.expected.glsl
@@ -4,6 +4,7 @@
 struct tint_padded_array_element {
   float el;
 };
+
 struct LeftOver {
   mat4 worldViewProjection;
   float time;
@@ -18,11 +19,11 @@
   mat4 test2[2];
   tint_padded_array_element test[4];
 } x_14;
+
 vec2 vUV = vec2(0.0f, 0.0f);
 vec2 uv = vec2(0.0f, 0.0f);
 vec3 normal = vec3(0.0f, 0.0f, 0.0f);
 vec4 tint_symbol = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-
 void main_1() {
   vec4 q = vec4(0.0f, 0.0f, 0.0f, 0.0f);
   vec3 p = vec3(0.0f, 0.0f, 0.0f);
@@ -51,11 +52,13 @@
   vec4 tint_symbol;
   vec2 vUV_1;
 };
+
 struct tint_symbol_3 {
   vec3 position_param;
   vec3 normal_param;
   vec2 uv_param;
 };
+
 struct tint_symbol_4 {
   vec2 vUV_1;
   vec4 tint_symbol;
@@ -81,6 +84,8 @@
 layout(location = 1) in vec3 normal_param;
 layout(location = 2) in vec2 uv_param;
 layout(location = 0) out vec2 vUV_1;
+
+
 void main() {
   tint_symbol_3 inputs;
   inputs.position_param = position_param;
@@ -94,4 +99,3 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
diff --git a/test/bug/tint/1113.wgsl.expected.glsl b/test/bug/tint/1113.wgsl.expected.glsl
index f4dcd18..1fbe960 100644
--- a/test/bug/tint/1113.wgsl.expected.glsl
+++ b/test/bug/tint/1113.wgsl.expected.glsl
@@ -9,6 +9,7 @@
   vec3 bbMin;
   vec3 bbMax;
 };
+
 struct Dbg {
   uint offsetCounter;
   uint pad0;
@@ -32,6 +33,7 @@
   vec3 bbMin;
   vec3 bbMax;
 } uniforms;
+
 layout(binding = 10) buffer U32s_1 {
   uint values[];
 } indices;
@@ -58,7 +60,6 @@
   float value_f32_2;
   float value_f32_3;
 } dbg;
-
 vec3 toVoxelPos(vec3 position) {
   vec3 bbMin = vec3(uniforms.bbMin.x, uniforms.bbMin.y, uniforms.bbMin.z);
   vec3 bbMax = vec3(uniforms.bbMax.x, uniforms.bbMax.y, uniforms.bbMax.z);
@@ -121,6 +122,7 @@
 struct tint_symbol_3 {
   uvec3 GlobalInvocationID;
 };
+
 struct tint_symbol_5 {
   uvec3 GlobalInvocationID;
 };
@@ -130,13 +132,14 @@
   main_count_inner(tint_symbol.GlobalInvocationID);
   return;
 }
+
+
 void main() {
   tint_symbol_1 inputs;
   inputs.GlobalInvocationID = gl_GlobalInvocationID;
   main_count(inputs);
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -148,6 +151,7 @@
   vec3 bbMin;
   vec3 bbMax;
 };
+
 struct Dbg {
   uint offsetCounter;
   uint pad0;
@@ -171,6 +175,7 @@
   vec3 bbMin;
   vec3 bbMax;
 } uniforms;
+
 layout(binding = 10) buffer U32s_1 {
   uint values[];
 } indices;
@@ -197,7 +202,6 @@
   float value_f32_2;
   float value_f32_3;
 } dbg;
-
 void doIgnore() {
   uint g42 = uniforms.numTriangles;
   uint kj6 = dbg.value1;
@@ -210,6 +214,7 @@
 struct tint_symbol_1 {
   uvec3 GlobalInvocationID;
 };
+
 struct tint_symbol_3 {
   uvec3 GlobalInvocationID;
 };
@@ -238,13 +243,14 @@
   main_create_lut_inner(tint_symbol_2.GlobalInvocationID);
   return;
 }
+
+
 void main() {
   tint_symbol_3 inputs;
   inputs.GlobalInvocationID = gl_GlobalInvocationID;
   main_create_lut(inputs);
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -256,6 +262,7 @@
   vec3 bbMin;
   vec3 bbMax;
 };
+
 struct Dbg {
   uint offsetCounter;
   uint pad0;
@@ -279,6 +286,7 @@
   vec3 bbMin;
   vec3 bbMax;
 } uniforms;
+
 layout(binding = 10) buffer U32s_1 {
   uint values[];
 } indices;
@@ -305,7 +313,6 @@
   float value_f32_2;
   float value_f32_3;
 } dbg;
-
 vec3 toVoxelPos(vec3 position) {
   vec3 bbMin = vec3(uniforms.bbMin.x, uniforms.bbMin.y, uniforms.bbMin.z);
   vec3 bbMax = vec3(uniforms.bbMax.x, uniforms.bbMax.y, uniforms.bbMax.z);
@@ -340,9 +347,11 @@
 struct tint_symbol_1 {
   uvec3 GlobalInvocationID;
 };
+
 struct tint_symbol_3 {
   uvec3 GlobalInvocationID;
 };
+
 struct tint_symbol_5 {
   uvec3 GlobalInvocationID;
 };
@@ -370,10 +379,11 @@
   main_sort_triangles_inner(tint_symbol_4.GlobalInvocationID);
   return;
 }
+
+
 void main() {
   tint_symbol_5 inputs;
   inputs.GlobalInvocationID = gl_GlobalInvocationID;
   main_sort_triangles(inputs);
 }
 
-
diff --git a/test/bug/tint/1121.wgsl.expected.glsl b/test/bug/tint/1121.wgsl.expected.glsl
index 7796c15..c656693 100644
--- a/test/bug/tint/1121.wgsl.expected.glsl
+++ b/test/bug/tint/1121.wgsl.expected.glsl
@@ -10,11 +10,11 @@
 layout(binding = 0) buffer LightsBuffer_1 {
   LightData lights[];
 } lightsBuffer;
-
 struct TileLightIdData {
   uint count;
   uint lightId[64];
 };
+
 struct Tiles {
   TileLightIdData data[4];
 };
@@ -22,7 +22,6 @@
 layout(binding = 0) buffer Tiles_1 {
   TileLightIdData data[4];
 } tileLightId;
-
 struct Config {
   uint numLights;
   uint numTiles;
@@ -146,10 +145,11 @@
   tint_symbol_2_inner(tint_symbol_3.GlobalInvocationID);
   return;
 }
+
+
 void main() {
   tint_symbol_4 inputs;
   inputs.GlobalInvocationID = gl_GlobalInvocationID;
   tint_symbol_2(inputs);
 }
 
-
diff --git a/test/bug/tint/1136.wgsl.expected.glsl b/test/bug/tint/1136.wgsl.expected.glsl
index 670b1e6..67d68ec 100644
--- a/test/bug/tint/1136.wgsl.expected.glsl
+++ b/test/bug/tint/1136.wgsl.expected.glsl
@@ -5,12 +5,11 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 struct Buffer {
   uint data;
 };
@@ -18,7 +17,7 @@
 layout(binding = 0) buffer Buffer_1 {
   uint data;
 } tint_symbol;
-
 void tint_symbol_1() {
   tint_symbol.data = (tint_symbol.data + 1u);
 }
+
diff --git a/test/bug/tint/1321.wgsl.expected.glsl b/test/bug/tint/1321.wgsl.expected.glsl
index 30ed395..6bff13a 100644
--- a/test/bug/tint/1321.wgsl.expected.glsl
+++ b/test/bug/tint/1321.wgsl.expected.glsl
@@ -16,8 +16,8 @@
   }
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/bug/tint/1369.wgsl.expected.glsl b/test/bug/tint/1369.wgsl.expected.glsl
index e167ca9..bb2aa75 100644
--- a/test/bug/tint/1369.wgsl.expected.glsl
+++ b/test/bug/tint/1369.wgsl.expected.glsl
@@ -19,8 +19,8 @@
   bool also_unreachable = false;
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/bug/tint/1385.wgsl.expected.glsl b/test/bug/tint/1385.wgsl.expected.glsl
index 52becb3..9edbf0d 100644
--- a/test/bug/tint/1385.wgsl.expected.glsl
+++ b/test/bug/tint/1385.wgsl.expected.glsl
@@ -1,11 +1,9 @@
 #version 310 es
 precision mediump float;
 
-
 layout(binding = 1) buffer data_block_1 {
   int inner[];
 } data;
-
 int foo() {
   return data.inner[0];
 }
@@ -15,8 +13,8 @@
   foo();
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/bug/tint/219.spvasm.expected.glsl b/test/bug/tint/219.spvasm.expected.glsl
index 2eeb7d1..cd71522 100644
--- a/test/bug/tint/219.spvasm.expected.glsl
+++ b/test/bug/tint/219.spvasm.expected.glsl
@@ -17,8 +17,8 @@
   main_1();
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/bug/tint/221.wgsl.expected.glsl b/test/bug/tint/221.wgsl.expected.glsl
index a6dab15..1c037d0 100644
--- a/test/bug/tint/221.wgsl.expected.glsl
+++ b/test/bug/tint/221.wgsl.expected.glsl
@@ -10,7 +10,6 @@
   uint count;
   uint data[50];
 } b;
-
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void tint_symbol() {
   uint i = 0u;
@@ -34,8 +33,8 @@
   }
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/bug/tint/292.wgsl.expected.glsl b/test/bug/tint/292.wgsl.expected.glsl
index e43a4bb..8b91111 100644
--- a/test/bug/tint/292.wgsl.expected.glsl
+++ b/test/bug/tint/292.wgsl.expected.glsl
@@ -17,6 +17,8 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
 void main() {
   tint_symbol_1 outputs;
   outputs = tint_symbol();
@@ -25,4 +27,3 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
diff --git a/test/bug/tint/294.wgsl.expected.glsl b/test/bug/tint/294.wgsl.expected.glsl
index 0aa593b..4132290 100644
--- a/test/bug/tint/294.wgsl.expected.glsl
+++ b/test/bug/tint/294.wgsl.expected.glsl
@@ -5,12 +5,11 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 struct Light {
   vec3 position;
   vec3 colour;
diff --git a/test/bug/tint/369.wgsl.expected.glsl b/test/bug/tint/369.wgsl.expected.glsl
index a21973d..2e41e93 100644
--- a/test/bug/tint/369.wgsl.expected.glsl
+++ b/test/bug/tint/369.wgsl.expected.glsl
@@ -5,12 +5,11 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 struct S {
   mat2 m;
 };
@@ -21,3 +20,4 @@
 layout(binding = 0) uniform S_2 {
   mat2 m;
 } UBO;
+
diff --git a/test/bug/tint/403.wgsl.expected.glsl b/test/bug/tint/403.wgsl.expected.glsl
index ec211c6..a0a75b1 100644
--- a/test/bug/tint/403.wgsl.expected.glsl
+++ b/test/bug/tint/403.wgsl.expected.glsl
@@ -4,6 +4,7 @@
 struct vertexUniformBuffer1 {
   mat2 transform1;
 };
+
 struct vertexUniformBuffer2 {
   mat2 transform2;
 };
@@ -11,6 +12,7 @@
 layout(binding = 0) uniform vertexUniformBuffer1_1 {
   mat2 transform1;
 } x_20;
+
 layout(binding = 0) uniform vertexUniformBuffer2_1 {
   mat2 transform2;
 } x_26;
@@ -18,6 +20,7 @@
 struct tint_symbol_3 {
   uint tint_symbol_1;
 };
+
 struct tint_symbol_4 {
   vec4 value;
 };
@@ -40,6 +43,9 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
+
 void main() {
   tint_symbol_3 inputs;
   inputs.tint_symbol_1 = uint(gl_VertexID);
@@ -50,4 +56,3 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
diff --git a/test/bug/tint/413.spvasm.expected.glsl b/test/bug/tint/413.spvasm.expected.glsl
index 35e2e10..5b7a5dd 100644
--- a/test/bug/tint/413.spvasm.expected.glsl
+++ b/test/bug/tint/413.spvasm.expected.glsl
@@ -3,7 +3,6 @@
 
 uniform highp usampler2D Src_1;
 layout(r32ui) uniform highp writeonly uimage2D Dst_1;
-
 void main_1() {
   uvec4 srcValue = uvec4(0u, 0u, 0u, 0u);
   uvec4 x_18 = texelFetch(Src_1, ivec2(0, 0), 0);
@@ -19,8 +18,8 @@
   main_1();
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/bug/tint/453.wgsl.expected.glsl b/test/bug/tint/453.wgsl.expected.glsl
index f1478dd..2fca5d8 100644
--- a/test/bug/tint/453.wgsl.expected.glsl
+++ b/test/bug/tint/453.wgsl.expected.glsl
@@ -3,7 +3,6 @@
 
 uniform highp usampler2D Src_1;
 layout(r32ui) uniform highp writeonly uimage2D Dst_1;
-
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void tint_symbol() {
   uvec4 srcValue = uvec4(0u, 0u, 0u, 0u);
@@ -14,8 +13,8 @@
   imageStore(Dst_1, ivec2(0, 0), srcValue.xxxx);
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/bug/tint/492.wgsl.expected.glsl b/test/bug/tint/492.wgsl.expected.glsl
index 31dca81..ecec574 100644
--- a/test/bug/tint/492.wgsl.expected.glsl
+++ b/test/bug/tint/492.wgsl.expected.glsl
@@ -8,14 +8,13 @@
 layout(binding = 0) buffer S_1 {
   int a;
 } buf;
-
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void tint_symbol() {
   buf.a = 12;
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/bug/tint/534.wgsl.expected.glsl b/test/bug/tint/534.wgsl.expected.glsl
index b8c0f43..d7ae9be 100644
--- a/test/bug/tint/534.wgsl.expected.glsl
+++ b/test/bug/tint/534.wgsl.expected.glsl
@@ -28,7 +28,6 @@
 
 uniform highp sampler2D src_1;
 uniform highp sampler2D dst_1;
-
 void tint_symbol_1_inner(uvec3 GlobalInvocationID) {
   ivec2 size = textureSize(src_1, 0);
   ivec2 dstTexCoord = ivec2(GlobalInvocationID.xy);
@@ -64,10 +63,11 @@
   tint_symbol_1_inner(tint_symbol_2.GlobalInvocationID);
   return;
 }
+
+
 void main() {
   tint_symbol_3 inputs;
   inputs.GlobalInvocationID = gl_GlobalInvocationID;
   tint_symbol_1(inputs);
 }
 
-
diff --git a/test/bug/tint/744.wgsl.expected.glsl b/test/bug/tint/744.wgsl.expected.glsl
index bab0034..37a6a7d 100644
--- a/test/bug/tint/744.wgsl.expected.glsl
+++ b/test/bug/tint/744.wgsl.expected.glsl
@@ -47,10 +47,11 @@
   tint_symbol_inner(tint_symbol_1.global_id);
   return;
 }
+
+
 void main() {
   tint_symbol_2 inputs;
   inputs.global_id = gl_GlobalInvocationID;
   tint_symbol(inputs);
 }
 
-
diff --git a/test/bug/tint/749.spvasm.expected.glsl b/test/bug/tint/749.spvasm.expected.glsl
index 95eeb34..816362b 100644
--- a/test/bug/tint/749.spvasm.expected.glsl
+++ b/test/bug/tint/749.spvasm.expected.glsl
@@ -4,6 +4,7 @@
 struct QuicksortObject {
   int numbers[10];
 };
+
 struct buf0 {
   vec2 resolution;
 };
@@ -13,8 +14,8 @@
 layout(binding = 0) uniform buf0_1 {
   vec2 resolution;
 } x_188;
-vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
 
+vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
 void swap_i1_i1_(inout int i, inout int j) {
   int temp = 0;
   int x_932 = temp;
@@ -1546,9 +1547,11 @@
 struct main_out {
   vec4 x_GLF_color_1;
 };
+
 struct tint_symbol_4 {
   vec4 tint_symbol_2;
 };
+
 struct tint_symbol_5 {
   vec4 x_GLF_color_1;
 };
@@ -1566,7 +1569,9 @@
   wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
   return wrapper_result;
 }
+
 layout(location = 0) out vec4 x_GLF_color_1;
+
 void main() {
   tint_symbol_4 inputs;
   inputs.tint_symbol_2 = gl_FragCoord;
@@ -1575,4 +1580,3 @@
   x_GLF_color_1 = outputs.x_GLF_color_1;
 }
 
-
diff --git a/test/bug/tint/757.wgsl.expected.glsl b/test/bug/tint/757.wgsl.expected.glsl
index b6776b2..ffa7615 100644
--- a/test/bug/tint/757.wgsl.expected.glsl
+++ b/test/bug/tint/757.wgsl.expected.glsl
@@ -8,13 +8,11 @@
 layout(binding = 3) buffer Result_1 {
   float values[];
 } result;
-
 struct tint_symbol_2 {
   uvec3 GlobalInvocationID;
 };
 
 uniform highp sampler2DArray myTexture_1;
-
 void tint_symbol_inner(uvec3 GlobalInvocationID) {
   uint flatIndex = ((((2u * 2u) * GlobalInvocationID.z) + (2u * GlobalInvocationID.y)) + GlobalInvocationID.x);
   flatIndex = (flatIndex * 1u);
@@ -31,10 +29,11 @@
   tint_symbol_inner(tint_symbol_1.GlobalInvocationID);
   return;
 }
+
+
 void main() {
   tint_symbol_2 inputs;
   inputs.GlobalInvocationID = gl_GlobalInvocationID;
   tint_symbol(inputs);
 }
 
-
diff --git a/test/bug/tint/764.wgsl.expected.glsl b/test/bug/tint/764.wgsl.expected.glsl
index 61aaa72..b2546df 100644
--- a/test/bug/tint/764.wgsl.expected.glsl
+++ b/test/bug/tint/764.wgsl.expected.glsl
@@ -5,14 +5,14 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 void f() {
   mat4 m = mat4(vec4(1.0f, 1.0f, 1.0f, 1.0f), vec4(1.0f, 1.0f, 1.0f, 1.0f), vec4(1.0f, 1.0f, 1.0f, 1.0f), vec4(1.0f, 1.0f, 1.0f, 1.0f));
   vec4 v1 = m[0];
   float a = v1[0];
 }
+
diff --git a/test/bug/tint/782.wgsl.expected.glsl b/test/bug/tint/782.wgsl.expected.glsl
index 946b9f4..0b8c375 100644
--- a/test/bug/tint/782.wgsl.expected.glsl
+++ b/test/bug/tint/782.wgsl.expected.glsl
@@ -5,14 +5,14 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 void foo() {
   int explicit[2] = int[2](0, 0);
   int implict[2] = int[2](0, 0);
   implict = explicit;
 }
+
diff --git a/test/bug/tint/824.wgsl.expected.glsl b/test/bug/tint/824.wgsl.expected.glsl
index 121d097..43a5596 100644
--- a/test/bug/tint/824.wgsl.expected.glsl
+++ b/test/bug/tint/824.wgsl.expected.glsl
@@ -5,10 +5,12 @@
   vec4 Position;
   vec4 color;
 };
+
 struct tint_symbol_3 {
   uint VertexIndex;
   uint InstanceIndex;
 };
+
 struct tint_symbol_4 {
   vec4 color;
   vec4 Position;
@@ -31,7 +33,11 @@
   wrapper_result.color = inner_result.color;
   return wrapper_result;
 }
+
+
 layout(location = 0) out vec4 color;
+
+
 void main() {
   tint_symbol_3 inputs;
   inputs.VertexIndex = uint(gl_VertexID);
@@ -44,4 +50,3 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
diff --git a/test/bug/tint/825.wgsl.expected.glsl b/test/bug/tint/825.wgsl.expected.glsl
index 3132ef8..e1d52ca 100644
--- a/test/bug/tint/825.wgsl.expected.glsl
+++ b/test/bug/tint/825.wgsl.expected.glsl
@@ -5,15 +5,15 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 void f() {
   int i = 0;
   int j = 0;
   mat2 m = mat2(vec2(1.0f, 2.0f), vec2(3.0f, 4.0f));
   float f_1 = m[i][j];
 }
+
diff --git a/test/bug/tint/827.wgsl.expected.glsl b/test/bug/tint/827.wgsl.expected.glsl
index 43f7189..72c1e8d 100644
--- a/test/bug/tint/827.wgsl.expected.glsl
+++ b/test/bug/tint/827.wgsl.expected.glsl
@@ -1,18 +1,15 @@
 #version 310 es
 precision mediump float;
 
-
 const uint width = 128u;
 layout(binding = 1) buffer Result_1 {
   float values[];
 } result;
-
 struct tint_symbol_2 {
   uvec3 GlobalInvocationId;
 };
 
 uniform highp sampler2D tex_1;
-
 void tint_symbol_inner(uvec3 GlobalInvocationId) {
   result.values[((GlobalInvocationId.y * width) + GlobalInvocationId.x)] = texelFetch(tex_1, ivec2(int(GlobalInvocationId.x), int(GlobalInvocationId.y)), 0).x;
 }
@@ -22,10 +19,11 @@
   tint_symbol_inner(tint_symbol_1.GlobalInvocationId);
   return;
 }
+
+
 void main() {
   tint_symbol_2 inputs;
   inputs.GlobalInvocationId = gl_GlobalInvocationID;
   tint_symbol(inputs);
 }
 
-
diff --git a/test/bug/tint/870.spvasm.expected.glsl b/test/bug/tint/870.spvasm.expected.glsl
index 479def4..b6579fa 100644
--- a/test/bug/tint/870.spvasm.expected.glsl
+++ b/test/bug/tint/870.spvasm.expected.glsl
@@ -7,6 +7,7 @@
   int essence;
   int orientation[6];
 };
+
 struct x_B4_BuildInformation {
   sspp962805860buildInformationS passthru;
 };
@@ -14,7 +15,6 @@
 layout(binding = 2) buffer x_B4_BuildInformation_1 {
   sspp962805860buildInformationS passthru;
 } sspp962805860buildInformation;
-
 void main_1() {
   int orientation[6] = int[6](0, 0, 0, 0, 0, 0);
   int x_23[6] = sspp962805860buildInformation.passthru.orientation;
@@ -31,8 +31,8 @@
   main_1();
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/bug/tint/913.wgsl.expected.glsl b/test/bug/tint/913.wgsl.expected.glsl
index 06b7211..5535fd9 100644
--- a/test/bug/tint/913.wgsl.expected.glsl
+++ b/test/bug/tint/913.wgsl.expected.glsl
@@ -30,7 +30,6 @@
 
 uniform highp sampler2D src_1;
 uniform highp sampler2D dst_1;
-
 void tint_symbol_1_inner(uvec3 GlobalInvocationID) {
   ivec2 srcSize = textureSize(src_1, 0);
   ivec2 dstSize = textureSize(dst_1, 0);
@@ -105,10 +104,11 @@
   tint_symbol_1_inner(tint_symbol_2.GlobalInvocationID);
   return;
 }
+
+
 void main() {
   tint_symbol_3 inputs;
   inputs.GlobalInvocationID = gl_GlobalInvocationID;
   tint_symbol_1(inputs);
 }
 
-
diff --git a/test/bug/tint/914.wgsl.expected.glsl b/test/bug/tint/914.wgsl.expected.glsl
index efacf5c..2c7faa5 100644
--- a/test/bug/tint/914.wgsl.expected.glsl
+++ b/test/bug/tint/914.wgsl.expected.glsl
@@ -62,7 +62,6 @@
 const uint TileInner = 64u;
 shared float mm_Asub[64][64];
 shared float mm_Bsub[64][64];
-
 struct tint_symbol_2 {
   uvec3 local_id;
   uint local_invocation_index;
@@ -161,6 +160,10 @@
   tint_symbol_inner(tint_symbol_1.local_id, tint_symbol_1.global_id, tint_symbol_1.local_invocation_index);
   return;
 }
+
+
+
+
 void main() {
   tint_symbol_2 inputs;
   inputs.local_id = gl_LocalInvocationID;
@@ -169,4 +172,3 @@
   tint_symbol(inputs);
 }
 
-
diff --git a/test/bug/tint/922.wgsl.expected.glsl b/test/bug/tint/922.wgsl.expected.glsl
index 4aab100..da0e4c7 100644
--- a/test/bug/tint/922.wgsl.expected.glsl
+++ b/test/bug/tint/922.wgsl.expected.glsl
@@ -9,25 +9,31 @@
   vec4 mz;
   vec4 mw;
 };
+
 struct Mat4x3_ {
   vec4 mx;
   vec4 my;
   vec4 mz;
 };
+
 struct Mat4x2_ {
   vec4 mx;
   vec4 my;
 };
+
 struct ub_SceneParams {
   Mat4x4_ u_Projection;
 };
+
 struct ub_MaterialParams {
   Mat4x2_ u_TexMtx[1];
   vec4 u_Misc0_;
 };
+
 struct ub_PacketParams {
   Mat4x3_ u_PosMtx[32];
 };
+
 struct VertexOutput {
   vec4 v_Color;
   vec2 v_TexCoord;
@@ -37,13 +43,16 @@
 layout(binding = 0) uniform ub_SceneParams_1 {
   Mat4x4_ u_Projection;
 } global;
+
 layout(binding = 1) uniform ub_MaterialParams_1 {
   Mat4x2_ u_TexMtx[1];
   vec4 u_Misc0_;
 } global1;
+
 layout(binding = 2) uniform ub_PacketParams_1 {
   Mat4x3_ u_PosMtx[32];
 } global2;
+
 vec3 a_Position1 = vec3(0.0f, 0.0f, 0.0f);
 vec2 a_UV1 = vec2(0.0f, 0.0f);
 vec4 a_Color1 = vec4(0.0f, 0.0f, 0.0f, 0.0f);
@@ -52,7 +61,6 @@
 vec4 v_Color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
 vec2 v_TexCoord = vec2(0.0f, 0.0f);
 vec4 tint_symbol = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-
 vec4 Mul(Mat4x4_ m8, vec4 v) {
   Mat4x4_ m9 = Mat4x4_(vec4(0.0f, 0.0f, 0.0f, 0.0f), vec4(0.0f, 0.0f, 0.0f, 0.0f), vec4(0.0f, 0.0f, 0.0f, 0.0f), vec4(0.0f, 0.0f, 0.0f, 0.0f));
   vec4 v1 = vec4(0.0f, 0.0f, 0.0f, 0.0f);
@@ -136,6 +144,7 @@
   vec3 a_Normal;
   float a_PosMtxIdx;
 };
+
 struct tint_symbol_4 {
   vec4 v_Color;
   vec2 v_TexCoord;
@@ -168,6 +177,8 @@
 layout(location = 4) in float a_PosMtxIdx;
 layout(location = 0) out vec4 v_Color;
 layout(location = 1) out vec2 v_TexCoord;
+
+
 void main() {
   tint_symbol_3 inputs;
   inputs.a_Position = a_Position;
@@ -184,9 +195,8 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 Error parsing GLSL shader:
-ERROR: 0:167: 'v_Color' : redefinition 
+ERROR: 0:176: 'v_Color' : redefinition 
 ERROR: 1 compilation errors.  No code generated.
 
 
diff --git a/test/bug/tint/926.wgsl.expected.glsl b/test/bug/tint/926.wgsl.expected.glsl
index ff825f6..525f25f 100644
--- a/test/bug/tint/926.wgsl.expected.glsl
+++ b/test/bug/tint/926.wgsl.expected.glsl
@@ -9,7 +9,6 @@
   uint vertexCount;
 } drawOut;
 uint cubeVerts = 0u;
-
 struct tint_symbol_1 {
   uvec3 global_id;
 };
@@ -23,10 +22,11 @@
   computeMain_inner(tint_symbol.global_id);
   return;
 }
+
+
 void main() {
   tint_symbol_1 inputs;
   inputs.global_id = gl_GlobalInvocationID;
   computeMain(inputs);
 }
 
-
diff --git a/test/bug/tint/942.wgsl.expected.glsl b/test/bug/tint/942.wgsl.expected.glsl
index a3bc1dd..e665621 100644
--- a/test/bug/tint/942.wgsl.expected.glsl
+++ b/test/bug/tint/942.wgsl.expected.glsl
@@ -18,8 +18,8 @@
 layout(binding = 3) uniform Flip_1 {
   uint value;
 } flip;
-shared vec3 tile[4][256];
 
+shared vec3 tile[4][256];
 struct tint_symbol_2 {
   uvec3 LocalInvocationID;
   uint local_invocation_index;
@@ -30,7 +30,6 @@
 uniform highp sampler2D inputTex_samp;
 layout(rgba8) uniform highp writeonly image2D outputTex_1;
 
-
 void tint_symbol_inner(uvec3 WorkGroupID, uvec3 LocalInvocationID, uint local_invocation_index) {
   {
     for(uint idx = local_invocation_index; (idx < 1024u); idx = (idx + 64u)) {
@@ -95,6 +94,10 @@
   tint_symbol_inner(tint_symbol_1.WorkGroupID, tint_symbol_1.LocalInvocationID, tint_symbol_1.local_invocation_index);
   return;
 }
+
+
+
+
 void main() {
   tint_symbol_2 inputs;
   inputs.LocalInvocationID = gl_LocalInvocationID;
@@ -103,4 +106,3 @@
   tint_symbol(inputs);
 }
 
-
diff --git a/test/bug/tint/943.spvasm.expected.glsl b/test/bug/tint/943.spvasm.expected.glsl
index eddfd9d..a834d1f 100644
--- a/test/bug/tint/943.spvasm.expected.glsl
+++ b/test/bug/tint/943.spvasm.expected.glsl
@@ -10,12 +10,15 @@
   ivec3 outShape;
   ivec2 outShapeStrides;
 };
+
 struct ssbOut {
   float result[];
 };
+
 struct ssbA {
   float A[];
 };
+
 struct ssbB {
   float B[];
 };
@@ -28,6 +31,7 @@
   ivec3 outShape;
   ivec2 outShapeStrides;
 } x_48;
+
 int dimInner_1 = 0;
 int dimBOuter_1 = 0;
 layout(binding = 0) buffer ssbOut_1 {
@@ -44,7 +48,6 @@
 layout(binding = 2) buffer ssbB_1 {
   float B[];
 } x_185;
-
 bool coordsInBounds_vi2_vi2_(inout ivec2 coord, inout ivec2 shape) {
   bool x_87 = false;
   bool x_88_phi = false;
@@ -401,6 +404,10 @@
   tint_symbol_2_inner(tint_symbol_5.tint_symbol_3, tint_symbol_5.tint_symbol_4, tint_symbol_5.local_invocation_index);
   return;
 }
+
+
+
+
 void main() {
   tint_symbol_6 inputs;
   inputs.tint_symbol_3 = gl_LocalInvocationID;
@@ -409,10 +416,9 @@
   tint_symbol_2(inputs);
 }
 
-
 Error parsing GLSL shader:
-ERROR: 0:12: '' : array size required 
-ERROR: 0:13: '' : compilation terminated 
+ERROR: 0:13: '' : array size required 
+ERROR: 0:14: '' : compilation terminated 
 ERROR: 2 compilation errors.  No code generated.
 
 
diff --git a/test/bug/tint/948.wgsl.expected.glsl b/test/bug/tint/948.wgsl.expected.glsl
index b619e1c..759dcf5 100644
--- a/test/bug/tint/948.wgsl.expected.glsl
+++ b/test/bug/tint/948.wgsl.expected.glsl
@@ -26,6 +26,7 @@
   float spriteCount;
   vec3 colorMul;
 } x_20;
+
 vec2 tUV = vec2(0.0f, 0.0f);
 float mt = 0.0f;
 vec4 glFragColor = vec4(0.0f, 0.0f, 0.0f, 0.0f);
@@ -36,7 +37,6 @@
 vec2 vUV = vec2(0.0f, 0.0f);
 uniform highp sampler2D frameMapTexture_frameMapSampler;
 
-
 mat4 getFrameData_f1_(inout float frameID) {
   float fX = 0.0f;
   float x_15 = frameID;
@@ -52,7 +52,6 @@
 uniform highp sampler2D tileMapsTexture0_tileMapsSampler;
 uniform highp sampler2D animationMapTexture_animationMapSampler;
 uniform highp sampler2D spriteSheetTexture_spriteSheetSampler;
-
 void main_1() {
   vec4 color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
   vec2 tileUV = vec2(0.0f, 0.0f);
@@ -175,6 +174,7 @@
 struct main_out {
   vec4 glFragColor_1;
 };
+
 struct tint_symbol_2 {
   vec3 vPosition_param;
   vec2 vUV_param;
@@ -183,6 +183,7 @@
   vec2 levelUnits_param;
   vec2 tileID_1_param;
 };
+
 struct tint_symbol_3 {
   vec4 glFragColor_1;
 };
@@ -212,6 +213,7 @@
 layout(location = 4) in vec2 levelUnits_param;
 layout(location = 5) in vec2 tileID_1_param;
 layout(location = 0) out vec4 glFragColor_1;
+
 void main() {
   tint_symbol_2 inputs;
   inputs.vPosition_param = vPosition_param;
@@ -225,11 +227,10 @@
   glFragColor_1 = outputs.glFragColor_1;
 }
 
-
 Error parsing GLSL shader:
-ERROR: 0:74: 'frac' : no matching overloaded function found 
-ERROR: 0:74: 'assign' :  cannot convert from ' const float' to ' temp mediump 2-component vector of float'
-ERROR: 0:74: '' : compilation terminated 
+ERROR: 0:73: 'frac' : no matching overloaded function found 
+ERROR: 0:73: 'assign' :  cannot convert from ' const float' to ' temp mediump 2-component vector of float'
+ERROR: 0:73: '' : compilation terminated 
 ERROR: 3 compilation errors.  No code generated.
 
 
diff --git a/test/bug/tint/949.wgsl.expected.glsl b/test/bug/tint/949.wgsl.expected.glsl
index 50e1728..a77020e 100644
--- a/test/bug/tint/949.wgsl.expected.glsl
+++ b/test/bug/tint/949.wgsl.expected.glsl
@@ -7,6 +7,7 @@
   vec3 diffuse;
   vec3 specular;
 };
+
 struct LeftOver {
   mat4 u_World;
   mat4 u_ViewProjection;
@@ -18,6 +19,7 @@
   uint padding_1;
   vec2 tangentSpaceParameter0;
 };
+
 struct Light0 {
   vec4 vLightData;
   vec4 vLightDiffuse;
@@ -42,6 +44,7 @@
   uint padding_1;
   vec2 tangentSpaceParameter0;
 } x_269;
+
 vec4 v_output1 = vec4(0.0f, 0.0f, 0.0f, 0.0f);
 bool tint_symbol = false;
 vec2 v_uv = vec2(0.0f, 0.0f);
@@ -55,8 +58,8 @@
   vec4 shadowsInfo;
   vec2 depthValues;
 } light0;
-vec4 glFragColor = vec4(0.0f, 0.0f, 0.0f, 0.0f);
 
+vec4 glFragColor = vec4(0.0f, 0.0f, 0.0f, 0.0f);
 mat3 cotangent_frame_vf3_vf3_vf2_vf2_(inout vec3 normal_1, inout vec3 p, inout vec2 uv, inout vec2 tangentSpaceParams) {
   vec3 dp1 = vec3(0.0f, 0.0f, 0.0f);
   vec3 dp2 = vec3(0.0f, 0.0f, 0.0f);
@@ -177,7 +180,6 @@
 uniform highp sampler2D TextureSamplerTexture_TextureSamplerSampler;
 uniform highp sampler2D TextureSampler1Texture_TextureSampler1Sampler;
 
-
 void main_1() {
   vec4 tempTextureRead = vec4(0.0f, 0.0f, 0.0f, 0.0f);
   vec3 rgb = vec3(0.0f, 0.0f, 0.0f);
@@ -350,6 +352,7 @@
 struct main_out {
   vec4 glFragColor_1;
 };
+
 struct tint_symbol_4 {
   vec4 v_output1_param;
   vec2 vMainuv_param;
@@ -357,6 +360,7 @@
   vec2 v_uv_param;
   bool tint_symbol_2;
 };
+
 struct tint_symbol_5 {
   vec4 glFragColor_1;
 };
@@ -382,7 +386,9 @@
 layout(location = 1) in vec2 vMainuv_param;
 layout(location = 2) in vec4 v_output2_param;
 layout(location = 3) in vec2 v_uv_param;
+
 layout(location = 0) out vec4 glFragColor_1;
+
 void main() {
   tint_symbol_4 inputs;
   inputs.v_output1_param = v_output1_param;
@@ -395,11 +401,10 @@
   glFragColor_1 = outputs.glFragColor_1;
 }
 
-
 Error parsing GLSL shader:
-ERROR: 0:69: 'ddx' : no matching overloaded function found 
-ERROR: 0:69: 'assign' :  cannot convert from ' const float' to ' temp mediump 3-component vector of float'
-ERROR: 0:69: '' : compilation terminated 
+ERROR: 0:72: 'ddx' : no matching overloaded function found 
+ERROR: 0:72: 'assign' :  cannot convert from ' const float' to ' temp mediump 3-component vector of float'
+ERROR: 0:72: '' : compilation terminated 
 ERROR: 3 compilation errors.  No code generated.
 
 
diff --git a/test/bug/tint/951.spvasm.expected.glsl b/test/bug/tint/951.spvasm.expected.glsl
index 96a555d..bee1da4 100644
--- a/test/bug/tint/951.spvasm.expected.glsl
+++ b/test/bug/tint/951.spvasm.expected.glsl
@@ -6,9 +6,11 @@
 struct ssbOut {
   float result[];
 };
+
 struct ssbA {
   float A[];
 };
+
 struct Uniforms {
   float NAN;
   int aShape;
@@ -90,13 +92,14 @@
   tint_symbol_1_inner(tint_symbol_3.tint_symbol_2);
   return;
 }
+
+
 void main() {
   tint_symbol_4 inputs;
   inputs.tint_symbol_2 = gl_GlobalInvocationID;
   tint_symbol_1(inputs);
 }
 
-
 Error parsing GLSL shader:
 ERROR: 0:5: '' : array size required 
 ERROR: 0:6: '' : compilation terminated 
diff --git a/test/bug/tint/959.wgsl.expected.glsl b/test/bug/tint/959.wgsl.expected.glsl
index addc2c2..388ba36 100644
--- a/test/bug/tint/959.wgsl.expected.glsl
+++ b/test/bug/tint/959.wgsl.expected.glsl
@@ -32,24 +32,31 @@
 layout(binding = 1) uniform S_9 {
   float a;
 } b8;
+
 layout(binding = 1) uniform S_10 {
   float a;
 } b9;
+
 layout(binding = 1) uniform S_11 {
   float a;
 } b10;
+
 layout(binding = 1) uniform S_12 {
   float a;
 } b11;
+
 layout(binding = 1) uniform S_13 {
   float a;
 } b12;
+
 layout(binding = 1) uniform S_14 {
   float a;
 } b13;
+
 layout(binding = 1) uniform S_15 {
   float a;
 } b14;
+
 layout(binding = 1) uniform S_16 {
   float a;
 } b15;
@@ -57,8 +64,8 @@
 void tint_symbol() {
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/bug/tint/977.spvasm.expected.glsl b/test/bug/tint/977.spvasm.expected.glsl
index 1b19349..0cfd8e3 100644
--- a/test/bug/tint/977.spvasm.expected.glsl
+++ b/test/bug/tint/977.spvasm.expected.glsl
@@ -6,12 +6,15 @@
 struct ResultMatrix {
   float numbers[];
 };
+
 struct FirstMatrix {
   float numbers[];
 };
+
 struct SecondMatrix {
   float numbers[];
 };
+
 struct Uniforms {
   float NAN;
   int sizeA;
@@ -22,7 +25,6 @@
 layout(binding = 2) buffer ResultMatrix_1 {
   float numbers[];
 } resultMatrix;
-
 float binaryOperation_f1_f1_(inout float a, inout float b) {
   float x_26 = 0.0f;
   float x_13 = b;
@@ -73,13 +75,14 @@
   tint_symbol_1_inner(tint_symbol_3.tint_symbol_2);
   return;
 }
+
+
 void main() {
   tint_symbol_4 inputs;
   inputs.tint_symbol_2 = gl_GlobalInvocationID;
   tint_symbol_1(inputs);
 }
 
-
 Error parsing GLSL shader:
 ERROR: 0:5: '' : array size required 
 ERROR: 0:6: '' : compilation terminated 
diff --git a/test/bug/tint/978.wgsl.expected.glsl b/test/bug/tint/978.wgsl.expected.glsl
index 3f9b60f..e9785e7 100644
--- a/test/bug/tint/978.wgsl.expected.glsl
+++ b/test/bug/tint/978.wgsl.expected.glsl
@@ -4,19 +4,21 @@
 struct FragmentInput {
   vec2 vUv;
 };
+
 struct FragmentOutput {
   vec4 color;
 };
+
 struct tint_symbol_3 {
   vec2 vUv;
 };
+
 struct tint_symbol_4 {
   vec4 color;
 };
 
 uniform highp sampler2D depthMap_texSampler;
 
-
 FragmentOutput tint_symbol_inner(FragmentInput fIn) {
   float tint_symbol_1 = texture(depthMap_texSampler, fIn.vUv).x;
   vec3 color = vec3(tint_symbol_1, tint_symbol_1, tint_symbol_1);
@@ -34,6 +36,7 @@
 }
 layout(location = 2) in vec2 vUv;
 layout(location = 0) out vec4 color;
+
 void main() {
   tint_symbol_3 inputs;
   inputs.vUv = vUv;
@@ -42,4 +45,3 @@
   color = outputs.color;
 }
 
-
diff --git a/test/bug/tint/980.wgsl.expected.glsl b/test/bug/tint/980.wgsl.expected.glsl
index f21bafb..26f1552 100644
--- a/test/bug/tint/980.wgsl.expected.glsl
+++ b/test/bug/tint/980.wgsl.expected.glsl
@@ -16,7 +16,6 @@
   vec3 v;
   uint i;
 } io;
-
 struct tint_symbol_2 {
   uint idx;
 };
@@ -30,10 +29,11 @@
   tint_symbol_inner(tint_symbol_1.idx);
   return;
 }
+
+
 void main() {
   tint_symbol_2 inputs;
   inputs.idx = uint(gl_LocalInvocationIndex);
   tint_symbol(inputs);
 }
 
-
diff --git a/test/bug/tint/990.wgsl.expected.glsl b/test/bug/tint/990.wgsl.expected.glsl
index d9b7b77..8a446ee 100644
--- a/test/bug/tint/990.wgsl.expected.glsl
+++ b/test/bug/tint/990.wgsl.expected.glsl
@@ -5,12 +5,11 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 void f() {
   int i = 0;
   {
@@ -18,3 +17,4 @@
     }
   }
 }
+
diff --git a/test/bug/tint/992.wgsl.expected.glsl b/test/bug/tint/992.wgsl.expected.glsl
index 569029a..19b9edf 100644
--- a/test/bug/tint/992.wgsl.expected.glsl
+++ b/test/bug/tint/992.wgsl.expected.glsl
@@ -18,10 +18,10 @@
   return wrapper_result;
 }
 layout(location = 0) out vec4 value;
+
 void main() {
   tint_symbol outputs;
   outputs = frag_main();
   value = outputs.value;
 }
 
-
diff --git a/test/bug/tint/993.wgsl.expected.glsl b/test/bug/tint/993.wgsl.expected.glsl
index 3c7ba42..67a394a 100644
--- a/test/bug/tint/993.wgsl.expected.glsl
+++ b/test/bug/tint/993.wgsl.expected.glsl
@@ -16,7 +16,6 @@
 layout(binding = 1) buffer Result_1 {
   uint value;
 } result;
-
 struct TestData {
   int data[3];
 };
@@ -24,7 +23,6 @@
 layout(binding = 0) buffer TestData_1 {
   int data[3];
 } s;
-
 int runTest() {
   return atomicOr(s.data[(0u + uint(constants.zero))], 0);
 }
@@ -34,8 +32,8 @@
   result.value = uint(runTest());
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/bug/tint/998.wgsl.expected.glsl b/test/bug/tint/998.wgsl.expected.glsl
index 1717c91..62e80ae 100644
--- a/test/bug/tint/998.wgsl.expected.glsl
+++ b/test/bug/tint/998.wgsl.expected.glsl
@@ -12,19 +12,19 @@
 struct Result {
   uint value;
 };
+
 struct S {
   uint data[3];
 };
 
 S s = S(uint[3](0u, 0u, 0u));
-
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void tint_symbol() {
   s.data[constants.zero] = 0u;
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/expressions/binary/add/mat3x3-mat3x3/f32.wgsl.expected.glsl b/test/expressions/binary/add/mat3x3-mat3x3/f32.wgsl.expected.glsl
index 034c499..88b1b8f 100644
--- a/test/expressions/binary/add/mat3x3-mat3x3/f32.wgsl.expected.glsl
+++ b/test/expressions/binary/add/mat3x3-mat3x3/f32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   mat3 r = (a + b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/add/scalar-scalar/f32.wgsl.expected.glsl b/test/expressions/binary/add/scalar-scalar/f32.wgsl.expected.glsl
index a11adca..0b90ef1 100644
--- a/test/expressions/binary/add/scalar-scalar/f32.wgsl.expected.glsl
+++ b/test/expressions/binary/add/scalar-scalar/f32.wgsl.expected.glsl
@@ -6,8 +6,8 @@
   float r = (1.0f + 2.0f);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/add/scalar-scalar/i32.wgsl.expected.glsl b/test/expressions/binary/add/scalar-scalar/i32.wgsl.expected.glsl
index 4390508..5803fdc 100644
--- a/test/expressions/binary/add/scalar-scalar/i32.wgsl.expected.glsl
+++ b/test/expressions/binary/add/scalar-scalar/i32.wgsl.expected.glsl
@@ -6,8 +6,8 @@
   int r = (1 + 2);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/add/scalar-scalar/u32.wgsl.expected.glsl b/test/expressions/binary/add/scalar-scalar/u32.wgsl.expected.glsl
index 5e1db81..a7ec957 100644
--- a/test/expressions/binary/add/scalar-scalar/u32.wgsl.expected.glsl
+++ b/test/expressions/binary/add/scalar-scalar/u32.wgsl.expected.glsl
@@ -6,8 +6,8 @@
   uint r = (1u + 2u);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/add/scalar-vec3/f32.wgsl.expected.glsl b/test/expressions/binary/add/scalar-vec3/f32.wgsl.expected.glsl
index 0655ac2..e54fe43 100644
--- a/test/expressions/binary/add/scalar-vec3/f32.wgsl.expected.glsl
+++ b/test/expressions/binary/add/scalar-vec3/f32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   vec3 r = (a + b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/add/scalar-vec3/i32.wgsl.expected.glsl b/test/expressions/binary/add/scalar-vec3/i32.wgsl.expected.glsl
index ea0ed84..a9808d1 100644
--- a/test/expressions/binary/add/scalar-vec3/i32.wgsl.expected.glsl
+++ b/test/expressions/binary/add/scalar-vec3/i32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   ivec3 r = (a + b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/add/scalar-vec3/u32.wgsl.expected.glsl b/test/expressions/binary/add/scalar-vec3/u32.wgsl.expected.glsl
index 0fe0f75..6144b34 100644
--- a/test/expressions/binary/add/scalar-vec3/u32.wgsl.expected.glsl
+++ b/test/expressions/binary/add/scalar-vec3/u32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   uvec3 r = (a + b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/add/vec3-scalar/f32.wgsl.expected.glsl b/test/expressions/binary/add/vec3-scalar/f32.wgsl.expected.glsl
index e7a2730..63461e9 100644
--- a/test/expressions/binary/add/vec3-scalar/f32.wgsl.expected.glsl
+++ b/test/expressions/binary/add/vec3-scalar/f32.wgsl.expected.glsl
@@ -7,8 +7,8 @@
   vec3 r = (a + 4.0f);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/add/vec3-scalar/i32.wgsl.expected.glsl b/test/expressions/binary/add/vec3-scalar/i32.wgsl.expected.glsl
index 7882f3b..b13d477 100644
--- a/test/expressions/binary/add/vec3-scalar/i32.wgsl.expected.glsl
+++ b/test/expressions/binary/add/vec3-scalar/i32.wgsl.expected.glsl
@@ -7,8 +7,8 @@
   ivec3 r = (a + 4);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/add/vec3-scalar/u32.wgsl.expected.glsl b/test/expressions/binary/add/vec3-scalar/u32.wgsl.expected.glsl
index 160e65c..b1d217c 100644
--- a/test/expressions/binary/add/vec3-scalar/u32.wgsl.expected.glsl
+++ b/test/expressions/binary/add/vec3-scalar/u32.wgsl.expected.glsl
@@ -7,8 +7,8 @@
   uvec3 r = (a + 4u);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/add/vec3-vec3/f32.wgsl.expected.glsl b/test/expressions/binary/add/vec3-vec3/f32.wgsl.expected.glsl
index 7bd2c34..5afc728 100644
--- a/test/expressions/binary/add/vec3-vec3/f32.wgsl.expected.glsl
+++ b/test/expressions/binary/add/vec3-vec3/f32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   vec3 r = (a + b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/add/vec3-vec3/i32.wgsl.expected.glsl b/test/expressions/binary/add/vec3-vec3/i32.wgsl.expected.glsl
index 0b48495..14f55b4 100644
--- a/test/expressions/binary/add/vec3-vec3/i32.wgsl.expected.glsl
+++ b/test/expressions/binary/add/vec3-vec3/i32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   ivec3 r = (a + b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/add/vec3-vec3/u32.wgsl.expected.glsl b/test/expressions/binary/add/vec3-vec3/u32.wgsl.expected.glsl
index bff24ce..9956af3 100644
--- a/test/expressions/binary/add/vec3-vec3/u32.wgsl.expected.glsl
+++ b/test/expressions/binary/add/vec3-vec3/u32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   uvec3 r = (a + b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/bit-and/scalar-scalar/i32.wgsl.expected.glsl b/test/expressions/binary/bit-and/scalar-scalar/i32.wgsl.expected.glsl
index ea9a02a..4e33041 100644
--- a/test/expressions/binary/bit-and/scalar-scalar/i32.wgsl.expected.glsl
+++ b/test/expressions/binary/bit-and/scalar-scalar/i32.wgsl.expected.glsl
@@ -6,8 +6,8 @@
   int r = (1 & 2);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/bit-and/scalar-scalar/u32.wgsl.expected.glsl b/test/expressions/binary/bit-and/scalar-scalar/u32.wgsl.expected.glsl
index f46f9cd..ae4149d 100644
--- a/test/expressions/binary/bit-and/scalar-scalar/u32.wgsl.expected.glsl
+++ b/test/expressions/binary/bit-and/scalar-scalar/u32.wgsl.expected.glsl
@@ -6,8 +6,8 @@
   uint r = (1u & 2u);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/bit-and/vec3-vec3/i32.wgsl.expected.glsl b/test/expressions/binary/bit-and/vec3-vec3/i32.wgsl.expected.glsl
index d03945b..1091a53 100644
--- a/test/expressions/binary/bit-and/vec3-vec3/i32.wgsl.expected.glsl
+++ b/test/expressions/binary/bit-and/vec3-vec3/i32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   ivec3 r = (a & b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/bit-and/vec3-vec3/u32.wgsl.expected.glsl b/test/expressions/binary/bit-and/vec3-vec3/u32.wgsl.expected.glsl
index 1fc4c7f..d594442 100644
--- a/test/expressions/binary/bit-and/vec3-vec3/u32.wgsl.expected.glsl
+++ b/test/expressions/binary/bit-and/vec3-vec3/u32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   uvec3 r = (a & b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/bit-or/scalar-scalar/i32.wgsl.expected.glsl b/test/expressions/binary/bit-or/scalar-scalar/i32.wgsl.expected.glsl
index 519f411..db2479f 100644
--- a/test/expressions/binary/bit-or/scalar-scalar/i32.wgsl.expected.glsl
+++ b/test/expressions/binary/bit-or/scalar-scalar/i32.wgsl.expected.glsl
@@ -6,8 +6,8 @@
   int r = (1 | 2);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/bit-or/scalar-scalar/u32.wgsl.expected.glsl b/test/expressions/binary/bit-or/scalar-scalar/u32.wgsl.expected.glsl
index 52ae9c0..38b5d66 100644
--- a/test/expressions/binary/bit-or/scalar-scalar/u32.wgsl.expected.glsl
+++ b/test/expressions/binary/bit-or/scalar-scalar/u32.wgsl.expected.glsl
@@ -6,8 +6,8 @@
   uint r = (1u | 2u);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/bit-or/vec3-vec3/i32.wgsl.expected.glsl b/test/expressions/binary/bit-or/vec3-vec3/i32.wgsl.expected.glsl
index a16e26d..37b3d5f 100644
--- a/test/expressions/binary/bit-or/vec3-vec3/i32.wgsl.expected.glsl
+++ b/test/expressions/binary/bit-or/vec3-vec3/i32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   ivec3 r = (a | b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/bit-or/vec3-vec3/u32.wgsl.expected.glsl b/test/expressions/binary/bit-or/vec3-vec3/u32.wgsl.expected.glsl
index 887fc52..e938edb 100644
--- a/test/expressions/binary/bit-or/vec3-vec3/u32.wgsl.expected.glsl
+++ b/test/expressions/binary/bit-or/vec3-vec3/u32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   uvec3 r = (a | b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/bit-xor/scalar-scalar/i32.wgsl.expected.glsl b/test/expressions/binary/bit-xor/scalar-scalar/i32.wgsl.expected.glsl
index 05cd2f1..0bf5a9e 100644
--- a/test/expressions/binary/bit-xor/scalar-scalar/i32.wgsl.expected.glsl
+++ b/test/expressions/binary/bit-xor/scalar-scalar/i32.wgsl.expected.glsl
@@ -6,8 +6,8 @@
   int r = (1 ^ 2);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/bit-xor/scalar-scalar/u32.wgsl.expected.glsl b/test/expressions/binary/bit-xor/scalar-scalar/u32.wgsl.expected.glsl
index 284867d..5509458 100644
--- a/test/expressions/binary/bit-xor/scalar-scalar/u32.wgsl.expected.glsl
+++ b/test/expressions/binary/bit-xor/scalar-scalar/u32.wgsl.expected.glsl
@@ -6,8 +6,8 @@
   uint r = (1u ^ 2u);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/bit-xor/vec3-vec3/i32.wgsl.expected.glsl b/test/expressions/binary/bit-xor/vec3-vec3/i32.wgsl.expected.glsl
index 8b212ba..386ff24 100644
--- a/test/expressions/binary/bit-xor/vec3-vec3/i32.wgsl.expected.glsl
+++ b/test/expressions/binary/bit-xor/vec3-vec3/i32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   ivec3 r = (a ^ b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/bit-xor/vec3-vec3/u32.wgsl.expected.glsl b/test/expressions/binary/bit-xor/vec3-vec3/u32.wgsl.expected.glsl
index 59b5058..4b18413 100644
--- a/test/expressions/binary/bit-xor/vec3-vec3/u32.wgsl.expected.glsl
+++ b/test/expressions/binary/bit-xor/vec3-vec3/u32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   uvec3 r = (a ^ b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/div/scalar-scalar/f32.wgsl.expected.glsl b/test/expressions/binary/div/scalar-scalar/f32.wgsl.expected.glsl
index 7db6fa7..9ce3552 100644
--- a/test/expressions/binary/div/scalar-scalar/f32.wgsl.expected.glsl
+++ b/test/expressions/binary/div/scalar-scalar/f32.wgsl.expected.glsl
@@ -6,8 +6,8 @@
   float r = (1.0f / 2.0f);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/div/scalar-scalar/i32.wgsl.expected.glsl b/test/expressions/binary/div/scalar-scalar/i32.wgsl.expected.glsl
index f0efa17..04a161e 100644
--- a/test/expressions/binary/div/scalar-scalar/i32.wgsl.expected.glsl
+++ b/test/expressions/binary/div/scalar-scalar/i32.wgsl.expected.glsl
@@ -6,8 +6,8 @@
   int r = (1 / 2);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/div/scalar-scalar/u32.wgsl.expected.glsl b/test/expressions/binary/div/scalar-scalar/u32.wgsl.expected.glsl
index d5d5366..16baff5 100644
--- a/test/expressions/binary/div/scalar-scalar/u32.wgsl.expected.glsl
+++ b/test/expressions/binary/div/scalar-scalar/u32.wgsl.expected.glsl
@@ -6,8 +6,8 @@
   uint r = (1u / 2u);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/div/scalar-vec3/f32.wgsl.expected.glsl b/test/expressions/binary/div/scalar-vec3/f32.wgsl.expected.glsl
index 6512ba3..968e319 100644
--- a/test/expressions/binary/div/scalar-vec3/f32.wgsl.expected.glsl
+++ b/test/expressions/binary/div/scalar-vec3/f32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   vec3 r = (a / b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/div/scalar-vec3/i32.wgsl.expected.glsl b/test/expressions/binary/div/scalar-vec3/i32.wgsl.expected.glsl
index 08c20db..0a2c8b3 100644
--- a/test/expressions/binary/div/scalar-vec3/i32.wgsl.expected.glsl
+++ b/test/expressions/binary/div/scalar-vec3/i32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   ivec3 r = (a / b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/div/scalar-vec3/u32.wgsl.expected.glsl b/test/expressions/binary/div/scalar-vec3/u32.wgsl.expected.glsl
index 1ee9726..c5ab59f 100644
--- a/test/expressions/binary/div/scalar-vec3/u32.wgsl.expected.glsl
+++ b/test/expressions/binary/div/scalar-vec3/u32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   uvec3 r = (a / b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/div/vec3-scalar/f32.wgsl.expected.glsl b/test/expressions/binary/div/vec3-scalar/f32.wgsl.expected.glsl
index 28eea80..ce2532e 100644
--- a/test/expressions/binary/div/vec3-scalar/f32.wgsl.expected.glsl
+++ b/test/expressions/binary/div/vec3-scalar/f32.wgsl.expected.glsl
@@ -7,8 +7,8 @@
   vec3 r = (a / 4.0f);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/div/vec3-scalar/i32.wgsl.expected.glsl b/test/expressions/binary/div/vec3-scalar/i32.wgsl.expected.glsl
index 126af32..9d8ce73 100644
--- a/test/expressions/binary/div/vec3-scalar/i32.wgsl.expected.glsl
+++ b/test/expressions/binary/div/vec3-scalar/i32.wgsl.expected.glsl
@@ -7,8 +7,8 @@
   ivec3 r = (a / 4);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/div/vec3-scalar/u32.wgsl.expected.glsl b/test/expressions/binary/div/vec3-scalar/u32.wgsl.expected.glsl
index 6442c2c..05c23d9 100644
--- a/test/expressions/binary/div/vec3-scalar/u32.wgsl.expected.glsl
+++ b/test/expressions/binary/div/vec3-scalar/u32.wgsl.expected.glsl
@@ -7,8 +7,8 @@
   uvec3 r = (a / 4u);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/div/vec3-vec3/f32.wgsl.expected.glsl b/test/expressions/binary/div/vec3-vec3/f32.wgsl.expected.glsl
index 4c1e415..03e4822 100644
--- a/test/expressions/binary/div/vec3-vec3/f32.wgsl.expected.glsl
+++ b/test/expressions/binary/div/vec3-vec3/f32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   vec3 r = (a / b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/div/vec3-vec3/i32.wgsl.expected.glsl b/test/expressions/binary/div/vec3-vec3/i32.wgsl.expected.glsl
index 18991b5..b25a8ae 100644
--- a/test/expressions/binary/div/vec3-vec3/i32.wgsl.expected.glsl
+++ b/test/expressions/binary/div/vec3-vec3/i32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   ivec3 r = (a / b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/div/vec3-vec3/u32.wgsl.expected.glsl b/test/expressions/binary/div/vec3-vec3/u32.wgsl.expected.glsl
index 8b8ddcb..faac292 100644
--- a/test/expressions/binary/div/vec3-vec3/u32.wgsl.expected.glsl
+++ b/test/expressions/binary/div/vec3-vec3/u32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   uvec3 r = (a / b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/div_by_zero/by_constant/scalar-scalar/f32.wgsl.expected.glsl b/test/expressions/binary/div_by_zero/by_constant/scalar-scalar/f32.wgsl.expected.glsl
index a07511d..a9f5867 100644
--- a/test/expressions/binary/div_by_zero/by_constant/scalar-scalar/f32.wgsl.expected.glsl
+++ b/test/expressions/binary/div_by_zero/by_constant/scalar-scalar/f32.wgsl.expected.glsl
@@ -6,8 +6,8 @@
   float r = (1.0f / 0.0f);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/div_by_zero/by_constant/scalar-scalar/i32.wgsl.expected.glsl b/test/expressions/binary/div_by_zero/by_constant/scalar-scalar/i32.wgsl.expected.glsl
index 0eb418f..5aecc10 100644
--- a/test/expressions/binary/div_by_zero/by_constant/scalar-scalar/i32.wgsl.expected.glsl
+++ b/test/expressions/binary/div_by_zero/by_constant/scalar-scalar/i32.wgsl.expected.glsl
@@ -6,8 +6,8 @@
   int r = (1 / 0);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/div_by_zero/by_constant/scalar-scalar/u32.wgsl.expected.glsl b/test/expressions/binary/div_by_zero/by_constant/scalar-scalar/u32.wgsl.expected.glsl
index d45aa3d..9a9100c 100644
--- a/test/expressions/binary/div_by_zero/by_constant/scalar-scalar/u32.wgsl.expected.glsl
+++ b/test/expressions/binary/div_by_zero/by_constant/scalar-scalar/u32.wgsl.expected.glsl
@@ -6,8 +6,8 @@
   uint r = (1u / 0u);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/div_by_zero/by_constant/scalar-vec3/f32.wgsl.expected.glsl b/test/expressions/binary/div_by_zero/by_constant/scalar-vec3/f32.wgsl.expected.glsl
index 2043793..296587e 100644
--- a/test/expressions/binary/div_by_zero/by_constant/scalar-vec3/f32.wgsl.expected.glsl
+++ b/test/expressions/binary/div_by_zero/by_constant/scalar-vec3/f32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   vec3 r = (a / b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/div_by_zero/by_constant/scalar-vec3/i32.wgsl.expected.glsl b/test/expressions/binary/div_by_zero/by_constant/scalar-vec3/i32.wgsl.expected.glsl
index f2e29a8..19372fd 100644
--- a/test/expressions/binary/div_by_zero/by_constant/scalar-vec3/i32.wgsl.expected.glsl
+++ b/test/expressions/binary/div_by_zero/by_constant/scalar-vec3/i32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   ivec3 r = (a / b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/div_by_zero/by_constant/scalar-vec3/u32.wgsl.expected.glsl b/test/expressions/binary/div_by_zero/by_constant/scalar-vec3/u32.wgsl.expected.glsl
index ab8795d..2ca5062 100644
--- a/test/expressions/binary/div_by_zero/by_constant/scalar-vec3/u32.wgsl.expected.glsl
+++ b/test/expressions/binary/div_by_zero/by_constant/scalar-vec3/u32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   uvec3 r = (a / b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/div_by_zero/by_constant/vec3-scalar/f32.wgsl.expected.glsl b/test/expressions/binary/div_by_zero/by_constant/vec3-scalar/f32.wgsl.expected.glsl
index 1b67029..4e2085b 100644
--- a/test/expressions/binary/div_by_zero/by_constant/vec3-scalar/f32.wgsl.expected.glsl
+++ b/test/expressions/binary/div_by_zero/by_constant/vec3-scalar/f32.wgsl.expected.glsl
@@ -7,8 +7,8 @@
   vec3 r = (a / 0.0f);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/div_by_zero/by_constant/vec3-scalar/i32.wgsl.expected.glsl b/test/expressions/binary/div_by_zero/by_constant/vec3-scalar/i32.wgsl.expected.glsl
index 7eccb90..47945cb 100644
--- a/test/expressions/binary/div_by_zero/by_constant/vec3-scalar/i32.wgsl.expected.glsl
+++ b/test/expressions/binary/div_by_zero/by_constant/vec3-scalar/i32.wgsl.expected.glsl
@@ -7,8 +7,8 @@
   ivec3 r = (a / 0);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/div_by_zero/by_constant/vec3-scalar/u32.wgsl.expected.glsl b/test/expressions/binary/div_by_zero/by_constant/vec3-scalar/u32.wgsl.expected.glsl
index 2b5b406..0c9cf4c 100644
--- a/test/expressions/binary/div_by_zero/by_constant/vec3-scalar/u32.wgsl.expected.glsl
+++ b/test/expressions/binary/div_by_zero/by_constant/vec3-scalar/u32.wgsl.expected.glsl
@@ -7,8 +7,8 @@
   uvec3 r = (a / 0u);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/div_by_zero/by_constant/vec3-vec3/f32.wgsl.expected.glsl b/test/expressions/binary/div_by_zero/by_constant/vec3-vec3/f32.wgsl.expected.glsl
index a92210d..fe6684d 100644
--- a/test/expressions/binary/div_by_zero/by_constant/vec3-vec3/f32.wgsl.expected.glsl
+++ b/test/expressions/binary/div_by_zero/by_constant/vec3-vec3/f32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   vec3 r = (a / b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/div_by_zero/by_constant/vec3-vec3/i32.wgsl.expected.glsl b/test/expressions/binary/div_by_zero/by_constant/vec3-vec3/i32.wgsl.expected.glsl
index eb947d2..d20b10d 100644
--- a/test/expressions/binary/div_by_zero/by_constant/vec3-vec3/i32.wgsl.expected.glsl
+++ b/test/expressions/binary/div_by_zero/by_constant/vec3-vec3/i32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   ivec3 r = (a / b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/div_by_zero/by_constant/vec3-vec3/u32.wgsl.expected.glsl b/test/expressions/binary/div_by_zero/by_constant/vec3-vec3/u32.wgsl.expected.glsl
index 607c183..3fc99d1 100644
--- a/test/expressions/binary/div_by_zero/by_constant/vec3-vec3/u32.wgsl.expected.glsl
+++ b/test/expressions/binary/div_by_zero/by_constant/vec3-vec3/u32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   uvec3 r = (a / b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/div_by_zero/by_expression/scalar-scalar/f32.wgsl.expected.glsl b/test/expressions/binary/div_by_zero/by_expression/scalar-scalar/f32.wgsl.expected.glsl
index 5c949fc..1410729 100644
--- a/test/expressions/binary/div_by_zero/by_expression/scalar-scalar/f32.wgsl.expected.glsl
+++ b/test/expressions/binary/div_by_zero/by_expression/scalar-scalar/f32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   float r = (a / (b + b));
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/div_by_zero/by_expression/scalar-scalar/i32.wgsl.expected.glsl b/test/expressions/binary/div_by_zero/by_expression/scalar-scalar/i32.wgsl.expected.glsl
index 2677dda..53c8ba4 100644
--- a/test/expressions/binary/div_by_zero/by_expression/scalar-scalar/i32.wgsl.expected.glsl
+++ b/test/expressions/binary/div_by_zero/by_expression/scalar-scalar/i32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   int r = (a / (b + b));
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/div_by_zero/by_expression/scalar-scalar/u32.wgsl.expected.glsl b/test/expressions/binary/div_by_zero/by_expression/scalar-scalar/u32.wgsl.expected.glsl
index 3db6a58..7b857f9 100644
--- a/test/expressions/binary/div_by_zero/by_expression/scalar-scalar/u32.wgsl.expected.glsl
+++ b/test/expressions/binary/div_by_zero/by_expression/scalar-scalar/u32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   uint r = (a / (b + b));
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/div_by_zero/by_expression/scalar-vec3/f32.wgsl.expected.glsl b/test/expressions/binary/div_by_zero/by_expression/scalar-vec3/f32.wgsl.expected.glsl
index d4073b3..709ea3b 100644
--- a/test/expressions/binary/div_by_zero/by_expression/scalar-vec3/f32.wgsl.expected.glsl
+++ b/test/expressions/binary/div_by_zero/by_expression/scalar-vec3/f32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   vec3 r = (a / (b + b));
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/div_by_zero/by_expression/scalar-vec3/i32.wgsl.expected.glsl b/test/expressions/binary/div_by_zero/by_expression/scalar-vec3/i32.wgsl.expected.glsl
index b6fc980..b9172f6 100644
--- a/test/expressions/binary/div_by_zero/by_expression/scalar-vec3/i32.wgsl.expected.glsl
+++ b/test/expressions/binary/div_by_zero/by_expression/scalar-vec3/i32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   ivec3 r = (a / (b + b));
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/div_by_zero/by_expression/scalar-vec3/u32.wgsl.expected.glsl b/test/expressions/binary/div_by_zero/by_expression/scalar-vec3/u32.wgsl.expected.glsl
index f8a5911..9b2455b 100644
--- a/test/expressions/binary/div_by_zero/by_expression/scalar-vec3/u32.wgsl.expected.glsl
+++ b/test/expressions/binary/div_by_zero/by_expression/scalar-vec3/u32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   uvec3 r = (a / (b + b));
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/div_by_zero/by_expression/vec3-scalar/f32.wgsl.expected.glsl b/test/expressions/binary/div_by_zero/by_expression/vec3-scalar/f32.wgsl.expected.glsl
index b9a0d2c..c98f287 100644
--- a/test/expressions/binary/div_by_zero/by_expression/vec3-scalar/f32.wgsl.expected.glsl
+++ b/test/expressions/binary/div_by_zero/by_expression/vec3-scalar/f32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   vec3 r = (a / (b + b));
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/div_by_zero/by_expression/vec3-scalar/i32.wgsl.expected.glsl b/test/expressions/binary/div_by_zero/by_expression/vec3-scalar/i32.wgsl.expected.glsl
index 383f01b..3178cf2 100644
--- a/test/expressions/binary/div_by_zero/by_expression/vec3-scalar/i32.wgsl.expected.glsl
+++ b/test/expressions/binary/div_by_zero/by_expression/vec3-scalar/i32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   ivec3 r = (a / (b + b));
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/div_by_zero/by_expression/vec3-scalar/u32.wgsl.expected.glsl b/test/expressions/binary/div_by_zero/by_expression/vec3-scalar/u32.wgsl.expected.glsl
index ef21236..00dd875 100644
--- a/test/expressions/binary/div_by_zero/by_expression/vec3-scalar/u32.wgsl.expected.glsl
+++ b/test/expressions/binary/div_by_zero/by_expression/vec3-scalar/u32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   uvec3 r = (a / (b + b));
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/div_by_zero/by_expression/vec3-vec3/f32.wgsl.expected.glsl b/test/expressions/binary/div_by_zero/by_expression/vec3-vec3/f32.wgsl.expected.glsl
index b60c041..7f66bc7 100644
--- a/test/expressions/binary/div_by_zero/by_expression/vec3-vec3/f32.wgsl.expected.glsl
+++ b/test/expressions/binary/div_by_zero/by_expression/vec3-vec3/f32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   vec3 r = (a / (b + b));
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/div_by_zero/by_expression/vec3-vec3/i32.wgsl.expected.glsl b/test/expressions/binary/div_by_zero/by_expression/vec3-vec3/i32.wgsl.expected.glsl
index 4908466..ff1cd8d 100644
--- a/test/expressions/binary/div_by_zero/by_expression/vec3-vec3/i32.wgsl.expected.glsl
+++ b/test/expressions/binary/div_by_zero/by_expression/vec3-vec3/i32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   ivec3 r = (a / (b + b));
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/div_by_zero/by_expression/vec3-vec3/u32.wgsl.expected.glsl b/test/expressions/binary/div_by_zero/by_expression/vec3-vec3/u32.wgsl.expected.glsl
index d97e26c..328c0a2 100644
--- a/test/expressions/binary/div_by_zero/by_expression/vec3-vec3/u32.wgsl.expected.glsl
+++ b/test/expressions/binary/div_by_zero/by_expression/vec3-vec3/u32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   uvec3 r = (a / (b + b));
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/div_by_zero/by_identifier/scalar-scalar/f32.wgsl.expected.glsl b/test/expressions/binary/div_by_zero/by_identifier/scalar-scalar/f32.wgsl.expected.glsl
index 7c9bba5..09ba0c8 100644
--- a/test/expressions/binary/div_by_zero/by_identifier/scalar-scalar/f32.wgsl.expected.glsl
+++ b/test/expressions/binary/div_by_zero/by_identifier/scalar-scalar/f32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   float r = (a / b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/div_by_zero/by_identifier/scalar-scalar/i32.wgsl.expected.glsl b/test/expressions/binary/div_by_zero/by_identifier/scalar-scalar/i32.wgsl.expected.glsl
index c4ef3a3..f545f0b 100644
--- a/test/expressions/binary/div_by_zero/by_identifier/scalar-scalar/i32.wgsl.expected.glsl
+++ b/test/expressions/binary/div_by_zero/by_identifier/scalar-scalar/i32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   int r = (a / b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/div_by_zero/by_identifier/scalar-scalar/u32.wgsl.expected.glsl b/test/expressions/binary/div_by_zero/by_identifier/scalar-scalar/u32.wgsl.expected.glsl
index 09fa79e..37ae046 100644
--- a/test/expressions/binary/div_by_zero/by_identifier/scalar-scalar/u32.wgsl.expected.glsl
+++ b/test/expressions/binary/div_by_zero/by_identifier/scalar-scalar/u32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   uint r = (a / b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/div_by_zero/by_identifier/scalar-vec3/f32.wgsl.expected.glsl b/test/expressions/binary/div_by_zero/by_identifier/scalar-vec3/f32.wgsl.expected.glsl
index 2043793..296587e 100644
--- a/test/expressions/binary/div_by_zero/by_identifier/scalar-vec3/f32.wgsl.expected.glsl
+++ b/test/expressions/binary/div_by_zero/by_identifier/scalar-vec3/f32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   vec3 r = (a / b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/div_by_zero/by_identifier/scalar-vec3/i32.wgsl.expected.glsl b/test/expressions/binary/div_by_zero/by_identifier/scalar-vec3/i32.wgsl.expected.glsl
index f2e29a8..19372fd 100644
--- a/test/expressions/binary/div_by_zero/by_identifier/scalar-vec3/i32.wgsl.expected.glsl
+++ b/test/expressions/binary/div_by_zero/by_identifier/scalar-vec3/i32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   ivec3 r = (a / b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/div_by_zero/by_identifier/scalar-vec3/u32.wgsl.expected.glsl b/test/expressions/binary/div_by_zero/by_identifier/scalar-vec3/u32.wgsl.expected.glsl
index ab8795d..2ca5062 100644
--- a/test/expressions/binary/div_by_zero/by_identifier/scalar-vec3/u32.wgsl.expected.glsl
+++ b/test/expressions/binary/div_by_zero/by_identifier/scalar-vec3/u32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   uvec3 r = (a / b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/div_by_zero/by_identifier/vec3-scalar/f32.wgsl.expected.glsl b/test/expressions/binary/div_by_zero/by_identifier/vec3-scalar/f32.wgsl.expected.glsl
index b3a53e9..ffa9909 100644
--- a/test/expressions/binary/div_by_zero/by_identifier/vec3-scalar/f32.wgsl.expected.glsl
+++ b/test/expressions/binary/div_by_zero/by_identifier/vec3-scalar/f32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   vec3 r = (a / b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/div_by_zero/by_identifier/vec3-scalar/i32.wgsl.expected.glsl b/test/expressions/binary/div_by_zero/by_identifier/vec3-scalar/i32.wgsl.expected.glsl
index 0be07ba..58899fd 100644
--- a/test/expressions/binary/div_by_zero/by_identifier/vec3-scalar/i32.wgsl.expected.glsl
+++ b/test/expressions/binary/div_by_zero/by_identifier/vec3-scalar/i32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   ivec3 r = (a / b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/div_by_zero/by_identifier/vec3-scalar/u32.wgsl.expected.glsl b/test/expressions/binary/div_by_zero/by_identifier/vec3-scalar/u32.wgsl.expected.glsl
index c872141..b1bcc1c 100644
--- a/test/expressions/binary/div_by_zero/by_identifier/vec3-scalar/u32.wgsl.expected.glsl
+++ b/test/expressions/binary/div_by_zero/by_identifier/vec3-scalar/u32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   uvec3 r = (a / b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/div_by_zero/by_identifier/vec3-vec3/f32.wgsl.expected.glsl b/test/expressions/binary/div_by_zero/by_identifier/vec3-vec3/f32.wgsl.expected.glsl
index a92210d..fe6684d 100644
--- a/test/expressions/binary/div_by_zero/by_identifier/vec3-vec3/f32.wgsl.expected.glsl
+++ b/test/expressions/binary/div_by_zero/by_identifier/vec3-vec3/f32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   vec3 r = (a / b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/div_by_zero/by_identifier/vec3-vec3/i32.wgsl.expected.glsl b/test/expressions/binary/div_by_zero/by_identifier/vec3-vec3/i32.wgsl.expected.glsl
index eb947d2..d20b10d 100644
--- a/test/expressions/binary/div_by_zero/by_identifier/vec3-vec3/i32.wgsl.expected.glsl
+++ b/test/expressions/binary/div_by_zero/by_identifier/vec3-vec3/i32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   ivec3 r = (a / b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/div_by_zero/by_identifier/vec3-vec3/u32.wgsl.expected.glsl b/test/expressions/binary/div_by_zero/by_identifier/vec3-vec3/u32.wgsl.expected.glsl
index 607c183..3fc99d1 100644
--- a/test/expressions/binary/div_by_zero/by_identifier/vec3-vec3/u32.wgsl.expected.glsl
+++ b/test/expressions/binary/div_by_zero/by_identifier/vec3-vec3/u32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   uvec3 r = (a / b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/left-shift/scalar-scalar/i32.wgsl.expected.glsl b/test/expressions/binary/left-shift/scalar-scalar/i32.wgsl.expected.glsl
index 11e2270..f57ae36 100644
--- a/test/expressions/binary/left-shift/scalar-scalar/i32.wgsl.expected.glsl
+++ b/test/expressions/binary/left-shift/scalar-scalar/i32.wgsl.expected.glsl
@@ -6,8 +6,8 @@
   int r = (1 << 2u);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/left-shift/scalar-scalar/u32.wgsl.expected.glsl b/test/expressions/binary/left-shift/scalar-scalar/u32.wgsl.expected.glsl
index 8c7242c..4d0d3ce 100644
--- a/test/expressions/binary/left-shift/scalar-scalar/u32.wgsl.expected.glsl
+++ b/test/expressions/binary/left-shift/scalar-scalar/u32.wgsl.expected.glsl
@@ -6,8 +6,8 @@
   uint r = (1u << 2u);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/left-shift/vector-vector/i32.wgsl.expected.glsl b/test/expressions/binary/left-shift/vector-vector/i32.wgsl.expected.glsl
index 71fa7c5..db0ef8f 100644
--- a/test/expressions/binary/left-shift/vector-vector/i32.wgsl.expected.glsl
+++ b/test/expressions/binary/left-shift/vector-vector/i32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   ivec3 r = (a << b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/left-shift/vector-vector/u32.wgsl.expected.glsl b/test/expressions/binary/left-shift/vector-vector/u32.wgsl.expected.glsl
index e7cf54f..f886625 100644
--- a/test/expressions/binary/left-shift/vector-vector/u32.wgsl.expected.glsl
+++ b/test/expressions/binary/left-shift/vector-vector/u32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   uvec3 r = (a << b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/mod/scalar-scalar/f32.wgsl.expected.glsl b/test/expressions/binary/mod/scalar-scalar/f32.wgsl.expected.glsl
index e0fd1be..7587ea3 100644
--- a/test/expressions/binary/mod/scalar-scalar/f32.wgsl.expected.glsl
+++ b/test/expressions/binary/mod/scalar-scalar/f32.wgsl.expected.glsl
@@ -8,11 +8,11 @@
   float r = (1.0f % 2.0f);
   return;
 }
+
 void main() {
   f();
 }
 
-
 Error parsing GLSL shader:
 ERROR: 0:6: '%' :  wrong operand types: no operation '%' exists that takes a left-hand operand of type ' const float' and a right operand of type ' const float' (or there is no acceptable conversion)
 ERROR: 0:6: '' : compilation terminated 
diff --git a/test/expressions/binary/mod/scalar-scalar/i32.wgsl.expected.glsl b/test/expressions/binary/mod/scalar-scalar/i32.wgsl.expected.glsl
index 5c42789..506196a 100644
--- a/test/expressions/binary/mod/scalar-scalar/i32.wgsl.expected.glsl
+++ b/test/expressions/binary/mod/scalar-scalar/i32.wgsl.expected.glsl
@@ -6,8 +6,8 @@
   int r = (1 % 2);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/mod/scalar-scalar/u32.wgsl.expected.glsl b/test/expressions/binary/mod/scalar-scalar/u32.wgsl.expected.glsl
index 0015a14..0040d2b 100644
--- a/test/expressions/binary/mod/scalar-scalar/u32.wgsl.expected.glsl
+++ b/test/expressions/binary/mod/scalar-scalar/u32.wgsl.expected.glsl
@@ -6,8 +6,8 @@
   uint r = (1u % 2u);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/mod/vec3-vec3/f32.wgsl.expected.glsl b/test/expressions/binary/mod/vec3-vec3/f32.wgsl.expected.glsl
index 602ca02..fbf2962 100644
--- a/test/expressions/binary/mod/vec3-vec3/f32.wgsl.expected.glsl
+++ b/test/expressions/binary/mod/vec3-vec3/f32.wgsl.expected.glsl
@@ -10,11 +10,11 @@
   vec3 r = (a % b);
   return;
 }
+
 void main() {
   f();
 }
 
-
 Error parsing GLSL shader:
 ERROR: 0:8: '%' :  wrong operand types: no operation '%' exists that takes a left-hand operand of type ' temp mediump 3-component vector of float' and a right operand of type ' temp mediump 3-component vector of float' (or there is no acceptable conversion)
 ERROR: 0:8: '' : compilation terminated 
diff --git a/test/expressions/binary/mod/vec3-vec3/i32.wgsl.expected.glsl b/test/expressions/binary/mod/vec3-vec3/i32.wgsl.expected.glsl
index 7fa186b..685f89d 100644
--- a/test/expressions/binary/mod/vec3-vec3/i32.wgsl.expected.glsl
+++ b/test/expressions/binary/mod/vec3-vec3/i32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   ivec3 r = (a % b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/mod/vec3-vec3/u32.wgsl.expected.glsl b/test/expressions/binary/mod/vec3-vec3/u32.wgsl.expected.glsl
index 101e545..fe2fe88 100644
--- a/test/expressions/binary/mod/vec3-vec3/u32.wgsl.expected.glsl
+++ b/test/expressions/binary/mod/vec3-vec3/u32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   uvec3 r = (a % b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/mod_by_zero/by_constant/scalar-scalar/f32.wgsl.expected.glsl b/test/expressions/binary/mod_by_zero/by_constant/scalar-scalar/f32.wgsl.expected.glsl
index 34e9cf4..6d3d71d 100644
--- a/test/expressions/binary/mod_by_zero/by_constant/scalar-scalar/f32.wgsl.expected.glsl
+++ b/test/expressions/binary/mod_by_zero/by_constant/scalar-scalar/f32.wgsl.expected.glsl
@@ -8,11 +8,11 @@
   float r = (1.0f % 0.0f);
   return;
 }
+
 void main() {
   f();
 }
 
-
 Error parsing GLSL shader:
 ERROR: 0:6: '%' :  wrong operand types: no operation '%' exists that takes a left-hand operand of type ' const float' and a right operand of type ' const float' (or there is no acceptable conversion)
 ERROR: 0:6: '' : compilation terminated 
diff --git a/test/expressions/binary/mod_by_zero/by_constant/scalar-scalar/i32.wgsl.expected.glsl b/test/expressions/binary/mod_by_zero/by_constant/scalar-scalar/i32.wgsl.expected.glsl
index bec5c24..6bef751 100644
--- a/test/expressions/binary/mod_by_zero/by_constant/scalar-scalar/i32.wgsl.expected.glsl
+++ b/test/expressions/binary/mod_by_zero/by_constant/scalar-scalar/i32.wgsl.expected.glsl
@@ -6,8 +6,8 @@
   int r = (1 % 0);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/mod_by_zero/by_constant/scalar-scalar/u32.wgsl.expected.glsl b/test/expressions/binary/mod_by_zero/by_constant/scalar-scalar/u32.wgsl.expected.glsl
index 2d2b907..56ac547 100644
--- a/test/expressions/binary/mod_by_zero/by_constant/scalar-scalar/u32.wgsl.expected.glsl
+++ b/test/expressions/binary/mod_by_zero/by_constant/scalar-scalar/u32.wgsl.expected.glsl
@@ -6,8 +6,8 @@
   uint r = (1u % 0u);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/mod_by_zero/by_constant/scalar-vec3/i32.wgsl.expected.glsl b/test/expressions/binary/mod_by_zero/by_constant/scalar-vec3/i32.wgsl.expected.glsl
index 2f83124..589fb87 100644
--- a/test/expressions/binary/mod_by_zero/by_constant/scalar-vec3/i32.wgsl.expected.glsl
+++ b/test/expressions/binary/mod_by_zero/by_constant/scalar-vec3/i32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   ivec3 r = (a % b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/mod_by_zero/by_constant/scalar-vec3/u32.wgsl.expected.glsl b/test/expressions/binary/mod_by_zero/by_constant/scalar-vec3/u32.wgsl.expected.glsl
index 6d65fc6..a4b1c80 100644
--- a/test/expressions/binary/mod_by_zero/by_constant/scalar-vec3/u32.wgsl.expected.glsl
+++ b/test/expressions/binary/mod_by_zero/by_constant/scalar-vec3/u32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   uvec3 r = (a % b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/mod_by_zero/by_constant/vec3-scalar/i32.wgsl.expected.glsl b/test/expressions/binary/mod_by_zero/by_constant/vec3-scalar/i32.wgsl.expected.glsl
index a2fb916..1c492a5 100644
--- a/test/expressions/binary/mod_by_zero/by_constant/vec3-scalar/i32.wgsl.expected.glsl
+++ b/test/expressions/binary/mod_by_zero/by_constant/vec3-scalar/i32.wgsl.expected.glsl
@@ -7,8 +7,8 @@
   ivec3 r = (a % 0);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/mod_by_zero/by_constant/vec3-scalar/u32.wgsl.expected.glsl b/test/expressions/binary/mod_by_zero/by_constant/vec3-scalar/u32.wgsl.expected.glsl
index 4fad4fb..6a048ef 100644
--- a/test/expressions/binary/mod_by_zero/by_constant/vec3-scalar/u32.wgsl.expected.glsl
+++ b/test/expressions/binary/mod_by_zero/by_constant/vec3-scalar/u32.wgsl.expected.glsl
@@ -7,8 +7,8 @@
   uvec3 r = (a % 0u);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/mod_by_zero/by_constant/vec3-vec3/f32.wgsl.expected.glsl b/test/expressions/binary/mod_by_zero/by_constant/vec3-vec3/f32.wgsl.expected.glsl
index d75e8d6..9a5fc61 100644
--- a/test/expressions/binary/mod_by_zero/by_constant/vec3-vec3/f32.wgsl.expected.glsl
+++ b/test/expressions/binary/mod_by_zero/by_constant/vec3-vec3/f32.wgsl.expected.glsl
@@ -10,11 +10,11 @@
   vec3 r = (a % b);
   return;
 }
+
 void main() {
   f();
 }
 
-
 Error parsing GLSL shader:
 ERROR: 0:8: '%' :  wrong operand types: no operation '%' exists that takes a left-hand operand of type ' temp mediump 3-component vector of float' and a right operand of type ' temp mediump 3-component vector of float' (or there is no acceptable conversion)
 ERROR: 0:8: '' : compilation terminated 
diff --git a/test/expressions/binary/mod_by_zero/by_constant/vec3-vec3/i32.wgsl.expected.glsl b/test/expressions/binary/mod_by_zero/by_constant/vec3-vec3/i32.wgsl.expected.glsl
index 6fa1fb7..d7abe79 100644
--- a/test/expressions/binary/mod_by_zero/by_constant/vec3-vec3/i32.wgsl.expected.glsl
+++ b/test/expressions/binary/mod_by_zero/by_constant/vec3-vec3/i32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   ivec3 r = (a % b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/mod_by_zero/by_constant/vec3-vec3/u32.wgsl.expected.glsl b/test/expressions/binary/mod_by_zero/by_constant/vec3-vec3/u32.wgsl.expected.glsl
index ed6faa1..dd411f1 100644
--- a/test/expressions/binary/mod_by_zero/by_constant/vec3-vec3/u32.wgsl.expected.glsl
+++ b/test/expressions/binary/mod_by_zero/by_constant/vec3-vec3/u32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   uvec3 r = (a % b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/mod_by_zero/by_expression/scalar-scalar/f32.wgsl.expected.glsl b/test/expressions/binary/mod_by_zero/by_expression/scalar-scalar/f32.wgsl.expected.glsl
index 0090c86..14d3b41 100644
--- a/test/expressions/binary/mod_by_zero/by_expression/scalar-scalar/f32.wgsl.expected.glsl
+++ b/test/expressions/binary/mod_by_zero/by_expression/scalar-scalar/f32.wgsl.expected.glsl
@@ -10,11 +10,11 @@
   float r = (a % (b + b));
   return;
 }
+
 void main() {
   f();
 }
 
-
 Error parsing GLSL shader:
 ERROR: 0:8: '%' :  wrong operand types: no operation '%' exists that takes a left-hand operand of type ' temp mediump float' and a right operand of type ' temp mediump float' (or there is no acceptable conversion)
 ERROR: 0:8: '' : compilation terminated 
diff --git a/test/expressions/binary/mod_by_zero/by_expression/scalar-scalar/i32.wgsl.expected.glsl b/test/expressions/binary/mod_by_zero/by_expression/scalar-scalar/i32.wgsl.expected.glsl
index 053101e..501dc92 100644
--- a/test/expressions/binary/mod_by_zero/by_expression/scalar-scalar/i32.wgsl.expected.glsl
+++ b/test/expressions/binary/mod_by_zero/by_expression/scalar-scalar/i32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   int r = (a % (b + b));
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/mod_by_zero/by_expression/scalar-scalar/u32.wgsl.expected.glsl b/test/expressions/binary/mod_by_zero/by_expression/scalar-scalar/u32.wgsl.expected.glsl
index 85af6af..988e967 100644
--- a/test/expressions/binary/mod_by_zero/by_expression/scalar-scalar/u32.wgsl.expected.glsl
+++ b/test/expressions/binary/mod_by_zero/by_expression/scalar-scalar/u32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   uint r = (a % (b + b));
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/mod_by_zero/by_expression/scalar-vec3/i32.wgsl.expected.glsl b/test/expressions/binary/mod_by_zero/by_expression/scalar-vec3/i32.wgsl.expected.glsl
index ebb12f2..97ce0fa 100644
--- a/test/expressions/binary/mod_by_zero/by_expression/scalar-vec3/i32.wgsl.expected.glsl
+++ b/test/expressions/binary/mod_by_zero/by_expression/scalar-vec3/i32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   ivec3 r = (a % (b + b));
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/mod_by_zero/by_expression/scalar-vec3/u32.wgsl.expected.glsl b/test/expressions/binary/mod_by_zero/by_expression/scalar-vec3/u32.wgsl.expected.glsl
index d7da750..9bd7ffb 100644
--- a/test/expressions/binary/mod_by_zero/by_expression/scalar-vec3/u32.wgsl.expected.glsl
+++ b/test/expressions/binary/mod_by_zero/by_expression/scalar-vec3/u32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   uvec3 r = (a % (b + b));
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/mod_by_zero/by_expression/vec3-scalar/i32.wgsl.expected.glsl b/test/expressions/binary/mod_by_zero/by_expression/vec3-scalar/i32.wgsl.expected.glsl
index 60e75ff..e0a0c05 100644
--- a/test/expressions/binary/mod_by_zero/by_expression/vec3-scalar/i32.wgsl.expected.glsl
+++ b/test/expressions/binary/mod_by_zero/by_expression/vec3-scalar/i32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   ivec3 r = (a % (b + b));
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/mod_by_zero/by_expression/vec3-scalar/u32.wgsl.expected.glsl b/test/expressions/binary/mod_by_zero/by_expression/vec3-scalar/u32.wgsl.expected.glsl
index 0c1b086..7e5a571 100644
--- a/test/expressions/binary/mod_by_zero/by_expression/vec3-scalar/u32.wgsl.expected.glsl
+++ b/test/expressions/binary/mod_by_zero/by_expression/vec3-scalar/u32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   uvec3 r = (a % (b + b));
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/mod_by_zero/by_expression/vec3-vec3/f32.wgsl.expected.glsl b/test/expressions/binary/mod_by_zero/by_expression/vec3-vec3/f32.wgsl.expected.glsl
index 88ca6ba..4c2f21f 100644
--- a/test/expressions/binary/mod_by_zero/by_expression/vec3-vec3/f32.wgsl.expected.glsl
+++ b/test/expressions/binary/mod_by_zero/by_expression/vec3-vec3/f32.wgsl.expected.glsl
@@ -10,11 +10,11 @@
   vec3 r = (a % (b + b));
   return;
 }
+
 void main() {
   f();
 }
 
-
 Error parsing GLSL shader:
 ERROR: 0:8: '%' :  wrong operand types: no operation '%' exists that takes a left-hand operand of type ' temp mediump 3-component vector of float' and a right operand of type ' temp mediump 3-component vector of float' (or there is no acceptable conversion)
 ERROR: 0:8: '' : compilation terminated 
diff --git a/test/expressions/binary/mod_by_zero/by_expression/vec3-vec3/i32.wgsl.expected.glsl b/test/expressions/binary/mod_by_zero/by_expression/vec3-vec3/i32.wgsl.expected.glsl
index 0c114a5..70a09f5 100644
--- a/test/expressions/binary/mod_by_zero/by_expression/vec3-vec3/i32.wgsl.expected.glsl
+++ b/test/expressions/binary/mod_by_zero/by_expression/vec3-vec3/i32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   ivec3 r = (a % (b + b));
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/mod_by_zero/by_expression/vec3-vec3/u32.wgsl.expected.glsl b/test/expressions/binary/mod_by_zero/by_expression/vec3-vec3/u32.wgsl.expected.glsl
index c2619d8..aea8897 100644
--- a/test/expressions/binary/mod_by_zero/by_expression/vec3-vec3/u32.wgsl.expected.glsl
+++ b/test/expressions/binary/mod_by_zero/by_expression/vec3-vec3/u32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   uvec3 r = (a % (b + b));
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/mod_by_zero/by_identifier/scalar-scalar/f32.wgsl.expected.glsl b/test/expressions/binary/mod_by_zero/by_identifier/scalar-scalar/f32.wgsl.expected.glsl
index 6611689..29fd5fe 100644
--- a/test/expressions/binary/mod_by_zero/by_identifier/scalar-scalar/f32.wgsl.expected.glsl
+++ b/test/expressions/binary/mod_by_zero/by_identifier/scalar-scalar/f32.wgsl.expected.glsl
@@ -10,11 +10,11 @@
   float r = (a % b);
   return;
 }
+
 void main() {
   f();
 }
 
-
 Error parsing GLSL shader:
 ERROR: 0:8: '%' :  wrong operand types: no operation '%' exists that takes a left-hand operand of type ' temp mediump float' and a right operand of type ' temp mediump float' (or there is no acceptable conversion)
 ERROR: 0:8: '' : compilation terminated 
diff --git a/test/expressions/binary/mod_by_zero/by_identifier/scalar-scalar/i32.wgsl.expected.glsl b/test/expressions/binary/mod_by_zero/by_identifier/scalar-scalar/i32.wgsl.expected.glsl
index fcbb1c3..1b64b4a 100644
--- a/test/expressions/binary/mod_by_zero/by_identifier/scalar-scalar/i32.wgsl.expected.glsl
+++ b/test/expressions/binary/mod_by_zero/by_identifier/scalar-scalar/i32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   int r = (a % b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/mod_by_zero/by_identifier/scalar-scalar/u32.wgsl.expected.glsl b/test/expressions/binary/mod_by_zero/by_identifier/scalar-scalar/u32.wgsl.expected.glsl
index 8e628f4..eca91f8 100644
--- a/test/expressions/binary/mod_by_zero/by_identifier/scalar-scalar/u32.wgsl.expected.glsl
+++ b/test/expressions/binary/mod_by_zero/by_identifier/scalar-scalar/u32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   uint r = (a % b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/mod_by_zero/by_identifier/scalar-vec3/i32.wgsl.expected.glsl b/test/expressions/binary/mod_by_zero/by_identifier/scalar-vec3/i32.wgsl.expected.glsl
index 2f83124..589fb87 100644
--- a/test/expressions/binary/mod_by_zero/by_identifier/scalar-vec3/i32.wgsl.expected.glsl
+++ b/test/expressions/binary/mod_by_zero/by_identifier/scalar-vec3/i32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   ivec3 r = (a % b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/mod_by_zero/by_identifier/scalar-vec3/u32.wgsl.expected.glsl b/test/expressions/binary/mod_by_zero/by_identifier/scalar-vec3/u32.wgsl.expected.glsl
index 6d65fc6..a4b1c80 100644
--- a/test/expressions/binary/mod_by_zero/by_identifier/scalar-vec3/u32.wgsl.expected.glsl
+++ b/test/expressions/binary/mod_by_zero/by_identifier/scalar-vec3/u32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   uvec3 r = (a % b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/mod_by_zero/by_identifier/vec3-scalar/i32.wgsl.expected.glsl b/test/expressions/binary/mod_by_zero/by_identifier/vec3-scalar/i32.wgsl.expected.glsl
index 49d0cc0..797a0d7 100644
--- a/test/expressions/binary/mod_by_zero/by_identifier/vec3-scalar/i32.wgsl.expected.glsl
+++ b/test/expressions/binary/mod_by_zero/by_identifier/vec3-scalar/i32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   ivec3 r = (a % b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/mod_by_zero/by_identifier/vec3-scalar/u32.wgsl.expected.glsl b/test/expressions/binary/mod_by_zero/by_identifier/vec3-scalar/u32.wgsl.expected.glsl
index 3e616b3..241eab3 100644
--- a/test/expressions/binary/mod_by_zero/by_identifier/vec3-scalar/u32.wgsl.expected.glsl
+++ b/test/expressions/binary/mod_by_zero/by_identifier/vec3-scalar/u32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   uvec3 r = (a % b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/mod_by_zero/by_identifier/vec3-vec3/f32.wgsl.expected.glsl b/test/expressions/binary/mod_by_zero/by_identifier/vec3-vec3/f32.wgsl.expected.glsl
index d75e8d6..9a5fc61 100644
--- a/test/expressions/binary/mod_by_zero/by_identifier/vec3-vec3/f32.wgsl.expected.glsl
+++ b/test/expressions/binary/mod_by_zero/by_identifier/vec3-vec3/f32.wgsl.expected.glsl
@@ -10,11 +10,11 @@
   vec3 r = (a % b);
   return;
 }
+
 void main() {
   f();
 }
 
-
 Error parsing GLSL shader:
 ERROR: 0:8: '%' :  wrong operand types: no operation '%' exists that takes a left-hand operand of type ' temp mediump 3-component vector of float' and a right operand of type ' temp mediump 3-component vector of float' (or there is no acceptable conversion)
 ERROR: 0:8: '' : compilation terminated 
diff --git a/test/expressions/binary/mod_by_zero/by_identifier/vec3-vec3/i32.wgsl.expected.glsl b/test/expressions/binary/mod_by_zero/by_identifier/vec3-vec3/i32.wgsl.expected.glsl
index 6fa1fb7..d7abe79 100644
--- a/test/expressions/binary/mod_by_zero/by_identifier/vec3-vec3/i32.wgsl.expected.glsl
+++ b/test/expressions/binary/mod_by_zero/by_identifier/vec3-vec3/i32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   ivec3 r = (a % b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/mod_by_zero/by_identifier/vec3-vec3/u32.wgsl.expected.glsl b/test/expressions/binary/mod_by_zero/by_identifier/vec3-vec3/u32.wgsl.expected.glsl
index ed6faa1..dd411f1 100644
--- a/test/expressions/binary/mod_by_zero/by_identifier/vec3-vec3/u32.wgsl.expected.glsl
+++ b/test/expressions/binary/mod_by_zero/by_identifier/vec3-vec3/u32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   uvec3 r = (a % b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/mul/mat2x4-mat4x2/f32.wgsl.expected.glsl b/test/expressions/binary/mul/mat2x4-mat4x2/f32.wgsl.expected.glsl
index 36ae96a..e37618d 100644
--- a/test/expressions/binary/mul/mat2x4-mat4x2/f32.wgsl.expected.glsl
+++ b/test/expressions/binary/mul/mat2x4-mat4x2/f32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   mat4 r = (a * b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/mul/mat3x2-vec3/f32.wgsl.expected.glsl b/test/expressions/binary/mul/mat3x2-vec3/f32.wgsl.expected.glsl
index e494482..16350dc 100644
--- a/test/expressions/binary/mul/mat3x2-vec3/f32.wgsl.expected.glsl
+++ b/test/expressions/binary/mul/mat3x2-vec3/f32.wgsl.expected.glsl
@@ -15,8 +15,8 @@
   vec2 x = (data.matrix * data.vector);
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/expressions/binary/mul/mat3x3-mat3x3/f32.wgsl.expected.glsl b/test/expressions/binary/mul/mat3x3-mat3x3/f32.wgsl.expected.glsl
index 924136f..dec5c80 100644
--- a/test/expressions/binary/mul/mat3x3-mat3x3/f32.wgsl.expected.glsl
+++ b/test/expressions/binary/mul/mat3x3-mat3x3/f32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   mat3 r = (a * b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/mul/mat3x3-vec3/f32.wgsl.expected.glsl b/test/expressions/binary/mul/mat3x3-vec3/f32.wgsl.expected.glsl
index b1959cb..65c991c 100644
--- a/test/expressions/binary/mul/mat3x3-vec3/f32.wgsl.expected.glsl
+++ b/test/expressions/binary/mul/mat3x3-vec3/f32.wgsl.expected.glsl
@@ -15,8 +15,8 @@
   vec3 x = (data.matrix * data.vector);
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/expressions/binary/mul/mat4x2-mat2x4/f32.wgsl.expected.glsl b/test/expressions/binary/mul/mat4x2-mat2x4/f32.wgsl.expected.glsl
index 2596862..92bdac6 100644
--- a/test/expressions/binary/mul/mat4x2-mat2x4/f32.wgsl.expected.glsl
+++ b/test/expressions/binary/mul/mat4x2-mat2x4/f32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   mat2 r = (a * b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/mul/scalar-scalar/f32.wgsl.expected.glsl b/test/expressions/binary/mul/scalar-scalar/f32.wgsl.expected.glsl
index 1629327..094d946 100644
--- a/test/expressions/binary/mul/scalar-scalar/f32.wgsl.expected.glsl
+++ b/test/expressions/binary/mul/scalar-scalar/f32.wgsl.expected.glsl
@@ -6,8 +6,8 @@
   float r = (1.0f * 2.0f);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/mul/scalar-scalar/i32.wgsl.expected.glsl b/test/expressions/binary/mul/scalar-scalar/i32.wgsl.expected.glsl
index 917ae68..6fcda38 100644
--- a/test/expressions/binary/mul/scalar-scalar/i32.wgsl.expected.glsl
+++ b/test/expressions/binary/mul/scalar-scalar/i32.wgsl.expected.glsl
@@ -6,8 +6,8 @@
   int r = (1 * 2);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/mul/scalar-scalar/u32.wgsl.expected.glsl b/test/expressions/binary/mul/scalar-scalar/u32.wgsl.expected.glsl
index 22b2997..6bc6361 100644
--- a/test/expressions/binary/mul/scalar-scalar/u32.wgsl.expected.glsl
+++ b/test/expressions/binary/mul/scalar-scalar/u32.wgsl.expected.glsl
@@ -6,8 +6,8 @@
   uint r = (1u * 2u);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/mul/scalar-vec3/f32.wgsl.expected.glsl b/test/expressions/binary/mul/scalar-vec3/f32.wgsl.expected.glsl
index 9c4bb5b..1e77318 100644
--- a/test/expressions/binary/mul/scalar-vec3/f32.wgsl.expected.glsl
+++ b/test/expressions/binary/mul/scalar-vec3/f32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   vec3 r = (a * b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/mul/scalar-vec3/i32.wgsl.expected.glsl b/test/expressions/binary/mul/scalar-vec3/i32.wgsl.expected.glsl
index b3e5917..9ccdf10 100644
--- a/test/expressions/binary/mul/scalar-vec3/i32.wgsl.expected.glsl
+++ b/test/expressions/binary/mul/scalar-vec3/i32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   ivec3 r = (a * b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/mul/scalar-vec3/u32.wgsl.expected.glsl b/test/expressions/binary/mul/scalar-vec3/u32.wgsl.expected.glsl
index 2d2fbf7..95d55a2 100644
--- a/test/expressions/binary/mul/scalar-vec3/u32.wgsl.expected.glsl
+++ b/test/expressions/binary/mul/scalar-vec3/u32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   uvec3 r = (a * b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/mul/vec3-mat3x3/f32.wgsl.expected.glsl b/test/expressions/binary/mul/vec3-mat3x3/f32.wgsl.expected.glsl
index 3603b2e..19b9f42 100644
--- a/test/expressions/binary/mul/vec3-mat3x3/f32.wgsl.expected.glsl
+++ b/test/expressions/binary/mul/vec3-mat3x3/f32.wgsl.expected.glsl
@@ -15,8 +15,8 @@
   vec3 x = (data.vector * data.matrix);
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/expressions/binary/mul/vec3-mat4x3/f32.wgsl.expected.glsl b/test/expressions/binary/mul/vec3-mat4x3/f32.wgsl.expected.glsl
index 2805876..889c660 100644
--- a/test/expressions/binary/mul/vec3-mat4x3/f32.wgsl.expected.glsl
+++ b/test/expressions/binary/mul/vec3-mat4x3/f32.wgsl.expected.glsl
@@ -15,8 +15,8 @@
   vec4 x = (data.vector * data.matrix);
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/expressions/binary/mul/vec3-scalar/f32.wgsl.expected.glsl b/test/expressions/binary/mul/vec3-scalar/f32.wgsl.expected.glsl
index 68aadcc..a96dd5b 100644
--- a/test/expressions/binary/mul/vec3-scalar/f32.wgsl.expected.glsl
+++ b/test/expressions/binary/mul/vec3-scalar/f32.wgsl.expected.glsl
@@ -7,8 +7,8 @@
   vec3 r = (a * 4.0f);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/mul/vec3-scalar/i32.wgsl.expected.glsl b/test/expressions/binary/mul/vec3-scalar/i32.wgsl.expected.glsl
index 7e33049..83736fb 100644
--- a/test/expressions/binary/mul/vec3-scalar/i32.wgsl.expected.glsl
+++ b/test/expressions/binary/mul/vec3-scalar/i32.wgsl.expected.glsl
@@ -7,8 +7,8 @@
   ivec3 r = (a * 4);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/mul/vec3-scalar/u32.wgsl.expected.glsl b/test/expressions/binary/mul/vec3-scalar/u32.wgsl.expected.glsl
index 9c19c28..d08bd4a 100644
--- a/test/expressions/binary/mul/vec3-scalar/u32.wgsl.expected.glsl
+++ b/test/expressions/binary/mul/vec3-scalar/u32.wgsl.expected.glsl
@@ -7,8 +7,8 @@
   uvec3 r = (a * 4u);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/mul/vec3-vec3/f32.wgsl.expected.glsl b/test/expressions/binary/mul/vec3-vec3/f32.wgsl.expected.glsl
index fdfb8b4..e99d96f 100644
--- a/test/expressions/binary/mul/vec3-vec3/f32.wgsl.expected.glsl
+++ b/test/expressions/binary/mul/vec3-vec3/f32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   vec3 r = (a * b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/mul/vec3-vec3/i32.wgsl.expected.glsl b/test/expressions/binary/mul/vec3-vec3/i32.wgsl.expected.glsl
index bd7f2b7..2af834d 100644
--- a/test/expressions/binary/mul/vec3-vec3/i32.wgsl.expected.glsl
+++ b/test/expressions/binary/mul/vec3-vec3/i32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   ivec3 r = (a * b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/mul/vec3-vec3/u32.wgsl.expected.glsl b/test/expressions/binary/mul/vec3-vec3/u32.wgsl.expected.glsl
index 20ed770..889cd57 100644
--- a/test/expressions/binary/mul/vec3-vec3/u32.wgsl.expected.glsl
+++ b/test/expressions/binary/mul/vec3-vec3/u32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   uvec3 r = (a * b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/right-shift/scalar-scalar/i32.wgsl.expected.glsl b/test/expressions/binary/right-shift/scalar-scalar/i32.wgsl.expected.glsl
index 040542f..6d118f1 100644
--- a/test/expressions/binary/right-shift/scalar-scalar/i32.wgsl.expected.glsl
+++ b/test/expressions/binary/right-shift/scalar-scalar/i32.wgsl.expected.glsl
@@ -6,8 +6,8 @@
   int r = (1 >> 2u);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/right-shift/scalar-scalar/u32.wgsl.expected.glsl b/test/expressions/binary/right-shift/scalar-scalar/u32.wgsl.expected.glsl
index 7eeeb71..bd44d7d 100644
--- a/test/expressions/binary/right-shift/scalar-scalar/u32.wgsl.expected.glsl
+++ b/test/expressions/binary/right-shift/scalar-scalar/u32.wgsl.expected.glsl
@@ -6,8 +6,8 @@
   uint r = (1u >> 2u);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/right-shift/vector-vector/i32.wgsl.expected.glsl b/test/expressions/binary/right-shift/vector-vector/i32.wgsl.expected.glsl
index eb2f2ed..1429a39 100644
--- a/test/expressions/binary/right-shift/vector-vector/i32.wgsl.expected.glsl
+++ b/test/expressions/binary/right-shift/vector-vector/i32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   ivec3 r = (a >> b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/right-shift/vector-vector/u32.wgsl.expected.glsl b/test/expressions/binary/right-shift/vector-vector/u32.wgsl.expected.glsl
index e62bc29..7c63c6d 100644
--- a/test/expressions/binary/right-shift/vector-vector/u32.wgsl.expected.glsl
+++ b/test/expressions/binary/right-shift/vector-vector/u32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   uvec3 r = (a >> b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/sub/mat3x3-mat3x3/f32.wgsl.expected.glsl b/test/expressions/binary/sub/mat3x3-mat3x3/f32.wgsl.expected.glsl
index 358b664..92c2f6c 100644
--- a/test/expressions/binary/sub/mat3x3-mat3x3/f32.wgsl.expected.glsl
+++ b/test/expressions/binary/sub/mat3x3-mat3x3/f32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   mat3 r = (a - b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/sub/scalar-scalar/f32.wgsl.expected.glsl b/test/expressions/binary/sub/scalar-scalar/f32.wgsl.expected.glsl
index 116ab47..7b84b8f 100644
--- a/test/expressions/binary/sub/scalar-scalar/f32.wgsl.expected.glsl
+++ b/test/expressions/binary/sub/scalar-scalar/f32.wgsl.expected.glsl
@@ -6,8 +6,8 @@
   float r = (1.0f - 2.0f);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/sub/scalar-scalar/i32.wgsl.expected.glsl b/test/expressions/binary/sub/scalar-scalar/i32.wgsl.expected.glsl
index 01bf2df..f0334a1 100644
--- a/test/expressions/binary/sub/scalar-scalar/i32.wgsl.expected.glsl
+++ b/test/expressions/binary/sub/scalar-scalar/i32.wgsl.expected.glsl
@@ -6,8 +6,8 @@
   int r = (1 - 2);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/sub/scalar-scalar/u32.wgsl.expected.glsl b/test/expressions/binary/sub/scalar-scalar/u32.wgsl.expected.glsl
index 682d1bf..d4f1aff 100644
--- a/test/expressions/binary/sub/scalar-scalar/u32.wgsl.expected.glsl
+++ b/test/expressions/binary/sub/scalar-scalar/u32.wgsl.expected.glsl
@@ -6,8 +6,8 @@
   uint r = (1u - 2u);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/sub/scalar-vec3/f32.wgsl.expected.glsl b/test/expressions/binary/sub/scalar-vec3/f32.wgsl.expected.glsl
index 67f29c6..9e497a0 100644
--- a/test/expressions/binary/sub/scalar-vec3/f32.wgsl.expected.glsl
+++ b/test/expressions/binary/sub/scalar-vec3/f32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   vec3 r = (a - b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/sub/scalar-vec3/i32.wgsl.expected.glsl b/test/expressions/binary/sub/scalar-vec3/i32.wgsl.expected.glsl
index 66d19e2..f655d71 100644
--- a/test/expressions/binary/sub/scalar-vec3/i32.wgsl.expected.glsl
+++ b/test/expressions/binary/sub/scalar-vec3/i32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   ivec3 r = (a - b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/sub/scalar-vec3/u32.wgsl.expected.glsl b/test/expressions/binary/sub/scalar-vec3/u32.wgsl.expected.glsl
index e23b5c6..1474d6c 100644
--- a/test/expressions/binary/sub/scalar-vec3/u32.wgsl.expected.glsl
+++ b/test/expressions/binary/sub/scalar-vec3/u32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   uvec3 r = (a - b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/sub/vec3-scalar/f32.wgsl.expected.glsl b/test/expressions/binary/sub/vec3-scalar/f32.wgsl.expected.glsl
index b2a2318..dbfdc78 100644
--- a/test/expressions/binary/sub/vec3-scalar/f32.wgsl.expected.glsl
+++ b/test/expressions/binary/sub/vec3-scalar/f32.wgsl.expected.glsl
@@ -7,8 +7,8 @@
   vec3 r = (a - 4.0f);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/sub/vec3-scalar/i32.wgsl.expected.glsl b/test/expressions/binary/sub/vec3-scalar/i32.wgsl.expected.glsl
index 225c732..1d34062 100644
--- a/test/expressions/binary/sub/vec3-scalar/i32.wgsl.expected.glsl
+++ b/test/expressions/binary/sub/vec3-scalar/i32.wgsl.expected.glsl
@@ -7,8 +7,8 @@
   ivec3 r = (a - 4);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/sub/vec3-scalar/u32.wgsl.expected.glsl b/test/expressions/binary/sub/vec3-scalar/u32.wgsl.expected.glsl
index 23e6c8a..35eed7d 100644
--- a/test/expressions/binary/sub/vec3-scalar/u32.wgsl.expected.glsl
+++ b/test/expressions/binary/sub/vec3-scalar/u32.wgsl.expected.glsl
@@ -7,8 +7,8 @@
   uvec3 r = (a - 4u);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/sub/vec3-vec3/f32.wgsl.expected.glsl b/test/expressions/binary/sub/vec3-vec3/f32.wgsl.expected.glsl
index 88ca974..2f73e34 100644
--- a/test/expressions/binary/sub/vec3-vec3/f32.wgsl.expected.glsl
+++ b/test/expressions/binary/sub/vec3-vec3/f32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   vec3 r = (a - b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/sub/vec3-vec3/i32.wgsl.expected.glsl b/test/expressions/binary/sub/vec3-vec3/i32.wgsl.expected.glsl
index 13aca0a8..8869edf 100644
--- a/test/expressions/binary/sub/vec3-vec3/i32.wgsl.expected.glsl
+++ b/test/expressions/binary/sub/vec3-vec3/i32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   ivec3 r = (a - b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/binary/sub/vec3-vec3/u32.wgsl.expected.glsl b/test/expressions/binary/sub/vec3-vec3/u32.wgsl.expected.glsl
index 5495326..64053c8 100644
--- a/test/expressions/binary/sub/vec3-vec3/u32.wgsl.expected.glsl
+++ b/test/expressions/binary/sub/vec3-vec3/u32.wgsl.expected.glsl
@@ -8,8 +8,8 @@
   uvec3 r = (a - b);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/bitcast/scalar/f32-f32.wgsl.expected.glsl b/test/expressions/bitcast/scalar/f32-f32.wgsl.expected.glsl
index 5d6e5d0..16f1b89 100644
--- a/test/expressions/bitcast/scalar/f32-f32.wgsl.expected.glsl
+++ b/test/expressions/bitcast/scalar/f32-f32.wgsl.expected.glsl
@@ -6,8 +6,8 @@
   float b = 1.0f;
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/bitcast/scalar/f32-i32.wgsl.expected.glsl b/test/expressions/bitcast/scalar/f32-i32.wgsl.expected.glsl
index 33b530b..2b27534 100644
--- a/test/expressions/bitcast/scalar/f32-i32.wgsl.expected.glsl
+++ b/test/expressions/bitcast/scalar/f32-i32.wgsl.expected.glsl
@@ -6,8 +6,8 @@
   int b = floatBitsToInt(1.0f);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/bitcast/scalar/f32-u32.wgsl.expected.glsl b/test/expressions/bitcast/scalar/f32-u32.wgsl.expected.glsl
index f2f8061..e73f2a1 100644
--- a/test/expressions/bitcast/scalar/f32-u32.wgsl.expected.glsl
+++ b/test/expressions/bitcast/scalar/f32-u32.wgsl.expected.glsl
@@ -6,8 +6,8 @@
   uint b = floatBitsToUint(1.0f);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/bitcast/scalar/i32-f32.wgsl.expected.glsl b/test/expressions/bitcast/scalar/i32-f32.wgsl.expected.glsl
index 7f8a6e5..1dc97ed 100644
--- a/test/expressions/bitcast/scalar/i32-f32.wgsl.expected.glsl
+++ b/test/expressions/bitcast/scalar/i32-f32.wgsl.expected.glsl
@@ -6,8 +6,8 @@
   float b = intBitsToFloat(1);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/bitcast/scalar/i32-i32.wgsl.expected.glsl b/test/expressions/bitcast/scalar/i32-i32.wgsl.expected.glsl
index 6675356..5b18f96 100644
--- a/test/expressions/bitcast/scalar/i32-i32.wgsl.expected.glsl
+++ b/test/expressions/bitcast/scalar/i32-i32.wgsl.expected.glsl
@@ -6,8 +6,8 @@
   int b = 1;
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/bitcast/scalar/i32-u32.wgsl.expected.glsl b/test/expressions/bitcast/scalar/i32-u32.wgsl.expected.glsl
index 5adfadd..d17ef1b 100644
--- a/test/expressions/bitcast/scalar/i32-u32.wgsl.expected.glsl
+++ b/test/expressions/bitcast/scalar/i32-u32.wgsl.expected.glsl
@@ -6,8 +6,8 @@
   uint b = uint(1);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/bitcast/scalar/i32min-u32.wgsl.expected.glsl b/test/expressions/bitcast/scalar/i32min-u32.wgsl.expected.glsl
index faefd2d..fe0dbfb 100644
--- a/test/expressions/bitcast/scalar/i32min-u32.wgsl.expected.glsl
+++ b/test/expressions/bitcast/scalar/i32min-u32.wgsl.expected.glsl
@@ -6,8 +6,8 @@
   uint b = uint(-2147483648);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/bitcast/scalar/u32-f32.wgsl.expected.glsl b/test/expressions/bitcast/scalar/u32-f32.wgsl.expected.glsl
index dd904cd..35a3458 100644
--- a/test/expressions/bitcast/scalar/u32-f32.wgsl.expected.glsl
+++ b/test/expressions/bitcast/scalar/u32-f32.wgsl.expected.glsl
@@ -6,8 +6,8 @@
   float b = uintBitsToFloat(1u);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/bitcast/scalar/u32-i32.wgsl.expected.glsl b/test/expressions/bitcast/scalar/u32-i32.wgsl.expected.glsl
index 6ca4979..8a04668 100644
--- a/test/expressions/bitcast/scalar/u32-i32.wgsl.expected.glsl
+++ b/test/expressions/bitcast/scalar/u32-i32.wgsl.expected.glsl
@@ -6,8 +6,8 @@
   int b = int(1u);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/bitcast/scalar/u32-u32.wgsl.expected.glsl b/test/expressions/bitcast/scalar/u32-u32.wgsl.expected.glsl
index fb6eff6..2e0049a 100644
--- a/test/expressions/bitcast/scalar/u32-u32.wgsl.expected.glsl
+++ b/test/expressions/bitcast/scalar/u32-u32.wgsl.expected.glsl
@@ -6,8 +6,8 @@
   uint b = 1u;
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/bitcast/vector/f32-f32.wgsl.expected.glsl b/test/expressions/bitcast/vector/f32-f32.wgsl.expected.glsl
index 6ace57f..79506a2 100644
--- a/test/expressions/bitcast/vector/f32-f32.wgsl.expected.glsl
+++ b/test/expressions/bitcast/vector/f32-f32.wgsl.expected.glsl
@@ -7,8 +7,8 @@
   vec3 b = a;
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/bitcast/vector/f32-i32.wgsl.expected.glsl b/test/expressions/bitcast/vector/f32-i32.wgsl.expected.glsl
index 3ada590..8905d2c 100644
--- a/test/expressions/bitcast/vector/f32-i32.wgsl.expected.glsl
+++ b/test/expressions/bitcast/vector/f32-i32.wgsl.expected.glsl
@@ -7,8 +7,8 @@
   ivec3 b = floatBitsToInt(a);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/bitcast/vector/f32-u32.wgsl.expected.glsl b/test/expressions/bitcast/vector/f32-u32.wgsl.expected.glsl
index 69e07dc..3df55ec 100644
--- a/test/expressions/bitcast/vector/f32-u32.wgsl.expected.glsl
+++ b/test/expressions/bitcast/vector/f32-u32.wgsl.expected.glsl
@@ -7,8 +7,8 @@
   uvec3 b = floatBitsToUint(a);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/bitcast/vector/i32-f32.wgsl.expected.glsl b/test/expressions/bitcast/vector/i32-f32.wgsl.expected.glsl
index 9efb6f6..7b652bf 100644
--- a/test/expressions/bitcast/vector/i32-f32.wgsl.expected.glsl
+++ b/test/expressions/bitcast/vector/i32-f32.wgsl.expected.glsl
@@ -7,8 +7,8 @@
   vec3 b = intBitsToFloat(a);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/bitcast/vector/i32-i32.wgsl.expected.glsl b/test/expressions/bitcast/vector/i32-i32.wgsl.expected.glsl
index f951aae..1c28025 100644
--- a/test/expressions/bitcast/vector/i32-i32.wgsl.expected.glsl
+++ b/test/expressions/bitcast/vector/i32-i32.wgsl.expected.glsl
@@ -7,8 +7,8 @@
   ivec3 b = a;
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/bitcast/vector/i32-u32.wgsl.expected.glsl b/test/expressions/bitcast/vector/i32-u32.wgsl.expected.glsl
index ecc1fd4..9115f4a 100644
--- a/test/expressions/bitcast/vector/i32-u32.wgsl.expected.glsl
+++ b/test/expressions/bitcast/vector/i32-u32.wgsl.expected.glsl
@@ -7,8 +7,8 @@
   uvec3 b = uvec3(a);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/bitcast/vector/u32-f32.wgsl.expected.glsl b/test/expressions/bitcast/vector/u32-f32.wgsl.expected.glsl
index 77ee422..9d1ac80 100644
--- a/test/expressions/bitcast/vector/u32-f32.wgsl.expected.glsl
+++ b/test/expressions/bitcast/vector/u32-f32.wgsl.expected.glsl
@@ -7,8 +7,8 @@
   vec3 b = uintBitsToFloat(a);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/bitcast/vector/u32-i32.wgsl.expected.glsl b/test/expressions/bitcast/vector/u32-i32.wgsl.expected.glsl
index 0e98c52..fec2255 100644
--- a/test/expressions/bitcast/vector/u32-i32.wgsl.expected.glsl
+++ b/test/expressions/bitcast/vector/u32-i32.wgsl.expected.glsl
@@ -7,8 +7,8 @@
   ivec3 b = ivec3(a);
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/bitcast/vector/u32-u32.wgsl.expected.glsl b/test/expressions/bitcast/vector/u32-u32.wgsl.expected.glsl
index 615f2f0..da18fc0 100644
--- a/test/expressions/bitcast/vector/u32-u32.wgsl.expected.glsl
+++ b/test/expressions/bitcast/vector/u32-u32.wgsl.expected.glsl
@@ -7,8 +7,8 @@
   uvec3 b = a;
   return;
 }
+
 void main() {
   f();
 }
 
-
diff --git a/test/expressions/index/let/let/literal/array.wgsl.expected.glsl b/test/expressions/index/let/let/literal/array.wgsl.expected.glsl
index 2f0abd5..2225238 100644
--- a/test/expressions/index/let/let/literal/array.wgsl.expected.glsl
+++ b/test/expressions/index/let/let/literal/array.wgsl.expected.glsl
@@ -5,13 +5,13 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 int f() {
   int a[8] = int[8](1, 2, 3, 4, 5, 6, 7, 8);
   return a[1];
 }
+
diff --git a/test/expressions/index/let/let/literal/matrix.wgsl.expected.glsl b/test/expressions/index/let/let/literal/matrix.wgsl.expected.glsl
index cd0f7ba..a0ebffd 100644
--- a/test/expressions/index/let/let/literal/matrix.wgsl.expected.glsl
+++ b/test/expressions/index/let/let/literal/matrix.wgsl.expected.glsl
@@ -5,13 +5,13 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 vec3 f() {
   mat3 m = mat3(1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f);
   return m[1];
 }
+
diff --git a/test/expressions/index/let/let/literal/vector.wgsl.expected.glsl b/test/expressions/index/let/let/literal/vector.wgsl.expected.glsl
index 1db8e0b..5d98a76 100644
--- a/test/expressions/index/let/let/literal/vector.wgsl.expected.glsl
+++ b/test/expressions/index/let/let/literal/vector.wgsl.expected.glsl
@@ -5,13 +5,13 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 float f() {
   vec3 v = vec3(1.0f, 2.0f, 3.0f);
   return v[1];
 }
+
diff --git a/test/expressions/index/let/let/param/array.wgsl.expected.glsl b/test/expressions/index/let/let/param/array.wgsl.expected.glsl
index ea27712..88547d5 100644
--- a/test/expressions/index/let/let/param/array.wgsl.expected.glsl
+++ b/test/expressions/index/let/let/param/array.wgsl.expected.glsl
@@ -5,13 +5,13 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 int f(int x) {
   int a[8] = int[8](1, 2, 3, 4, 5, 6, 7, 8);
   return a[x];
 }
+
diff --git a/test/expressions/index/let/let/param/matrix.wgsl.expected.glsl b/test/expressions/index/let/let/param/matrix.wgsl.expected.glsl
index a9ae0fd..32e6a8b 100644
--- a/test/expressions/index/let/let/param/matrix.wgsl.expected.glsl
+++ b/test/expressions/index/let/let/param/matrix.wgsl.expected.glsl
@@ -5,13 +5,13 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 vec3 f(int x) {
   mat3 m = mat3(1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f);
   return m[x];
 }
+
diff --git a/test/expressions/index/let/let/param/vector.wgsl.expected.glsl b/test/expressions/index/let/let/param/vector.wgsl.expected.glsl
index 0a3af1c..cad5646 100644
--- a/test/expressions/index/let/let/param/vector.wgsl.expected.glsl
+++ b/test/expressions/index/let/let/param/vector.wgsl.expected.glsl
@@ -5,13 +5,13 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 float f(int x) {
   vec3 v = vec3(1.0f, 2.0f, 3.0f);
   return v[x];
 }
+
diff --git a/test/expressions/index/let/literal/array.wgsl.expected.glsl b/test/expressions/index/let/literal/array.wgsl.expected.glsl
index 2f0abd5..2225238 100644
--- a/test/expressions/index/let/literal/array.wgsl.expected.glsl
+++ b/test/expressions/index/let/literal/array.wgsl.expected.glsl
@@ -5,13 +5,13 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 int f() {
   int a[8] = int[8](1, 2, 3, 4, 5, 6, 7, 8);
   return a[1];
 }
+
diff --git a/test/expressions/index/let/literal/matrix.wgsl.expected.glsl b/test/expressions/index/let/literal/matrix.wgsl.expected.glsl
index cd0f7ba..a0ebffd 100644
--- a/test/expressions/index/let/literal/matrix.wgsl.expected.glsl
+++ b/test/expressions/index/let/literal/matrix.wgsl.expected.glsl
@@ -5,13 +5,13 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 vec3 f() {
   mat3 m = mat3(1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f);
   return m[1];
 }
+
diff --git a/test/expressions/index/let/literal/vector.wgsl.expected.glsl b/test/expressions/index/let/literal/vector.wgsl.expected.glsl
index 1db8e0b..5d98a76 100644
--- a/test/expressions/index/let/literal/vector.wgsl.expected.glsl
+++ b/test/expressions/index/let/literal/vector.wgsl.expected.glsl
@@ -5,13 +5,13 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 float f() {
   vec3 v = vec3(1.0f, 2.0f, 3.0f);
   return v[1];
 }
+
diff --git a/test/expressions/index/let/param/array.wgsl.expected.glsl b/test/expressions/index/let/param/array.wgsl.expected.glsl
index 1d881bf..17f4054 100644
--- a/test/expressions/index/let/param/array.wgsl.expected.glsl
+++ b/test/expressions/index/let/param/array.wgsl.expected.glsl
@@ -5,13 +5,13 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 int f(int i) {
   int a[8] = int[8](1, 2, 3, 4, 5, 6, 7, 8);
   return a[i];
 }
+
diff --git a/test/expressions/index/let/param/matrix.wgsl.expected.glsl b/test/expressions/index/let/param/matrix.wgsl.expected.glsl
index d4a28b3..e150094 100644
--- a/test/expressions/index/let/param/matrix.wgsl.expected.glsl
+++ b/test/expressions/index/let/param/matrix.wgsl.expected.glsl
@@ -5,13 +5,13 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 vec3 f(int i) {
   mat3 m = mat3(1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f);
   return m[i];
 }
+
diff --git a/test/expressions/index/let/param/vector.wgsl.expected.glsl b/test/expressions/index/let/param/vector.wgsl.expected.glsl
index 6a2d0bf..e4da58c 100644
--- a/test/expressions/index/let/param/vector.wgsl.expected.glsl
+++ b/test/expressions/index/let/param/vector.wgsl.expected.glsl
@@ -5,13 +5,13 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 float f(int i) {
   vec3 v = vec3(1.0f, 2.0f, 3.0f);
   return v[i];
 }
+
diff --git a/test/expressions/index/let/var/literal/array.wgsl.expected.glsl b/test/expressions/index/let/var/literal/array.wgsl.expected.glsl
index 2f0abd5..2225238 100644
--- a/test/expressions/index/let/var/literal/array.wgsl.expected.glsl
+++ b/test/expressions/index/let/var/literal/array.wgsl.expected.glsl
@@ -5,13 +5,13 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 int f() {
   int a[8] = int[8](1, 2, 3, 4, 5, 6, 7, 8);
   return a[1];
 }
+
diff --git a/test/expressions/index/let/var/literal/matrix.wgsl.expected.glsl b/test/expressions/index/let/var/literal/matrix.wgsl.expected.glsl
index cd0f7ba..a0ebffd 100644
--- a/test/expressions/index/let/var/literal/matrix.wgsl.expected.glsl
+++ b/test/expressions/index/let/var/literal/matrix.wgsl.expected.glsl
@@ -5,13 +5,13 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 vec3 f() {
   mat3 m = mat3(1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f);
   return m[1];
 }
+
diff --git a/test/expressions/index/let/var/literal/vector.wgsl.expected.glsl b/test/expressions/index/let/var/literal/vector.wgsl.expected.glsl
index 1db8e0b..5d98a76 100644
--- a/test/expressions/index/let/var/literal/vector.wgsl.expected.glsl
+++ b/test/expressions/index/let/var/literal/vector.wgsl.expected.glsl
@@ -5,13 +5,13 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 float f() {
   vec3 v = vec3(1.0f, 2.0f, 3.0f);
   return v[1];
 }
+
diff --git a/test/expressions/index/var/let/literal/array.wgsl.expected.glsl b/test/expressions/index/var/let/literal/array.wgsl.expected.glsl
index 2f0abd5..2225238 100644
--- a/test/expressions/index/var/let/literal/array.wgsl.expected.glsl
+++ b/test/expressions/index/var/let/literal/array.wgsl.expected.glsl
@@ -5,13 +5,13 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 int f() {
   int a[8] = int[8](1, 2, 3, 4, 5, 6, 7, 8);
   return a[1];
 }
+
diff --git a/test/expressions/index/var/let/literal/matrix.wgsl.expected.glsl b/test/expressions/index/var/let/literal/matrix.wgsl.expected.glsl
index cd0f7ba..a0ebffd 100644
--- a/test/expressions/index/var/let/literal/matrix.wgsl.expected.glsl
+++ b/test/expressions/index/var/let/literal/matrix.wgsl.expected.glsl
@@ -5,13 +5,13 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 vec3 f() {
   mat3 m = mat3(1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f);
   return m[1];
 }
+
diff --git a/test/expressions/index/var/let/literal/vector.wgsl.expected.glsl b/test/expressions/index/var/let/literal/vector.wgsl.expected.glsl
index 1db8e0b..5d98a76 100644
--- a/test/expressions/index/var/let/literal/vector.wgsl.expected.glsl
+++ b/test/expressions/index/var/let/literal/vector.wgsl.expected.glsl
@@ -5,13 +5,13 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 float f() {
   vec3 v = vec3(1.0f, 2.0f, 3.0f);
   return v[1];
 }
+
diff --git a/test/expressions/index/var/let/param/array.wgsl.expected.glsl b/test/expressions/index/var/let/param/array.wgsl.expected.glsl
index ea27712..88547d5 100644
--- a/test/expressions/index/var/let/param/array.wgsl.expected.glsl
+++ b/test/expressions/index/var/let/param/array.wgsl.expected.glsl
@@ -5,13 +5,13 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 int f(int x) {
   int a[8] = int[8](1, 2, 3, 4, 5, 6, 7, 8);
   return a[x];
 }
+
diff --git a/test/expressions/index/var/let/param/matrix.wgsl.expected.glsl b/test/expressions/index/var/let/param/matrix.wgsl.expected.glsl
index a9ae0fd..32e6a8b 100644
--- a/test/expressions/index/var/let/param/matrix.wgsl.expected.glsl
+++ b/test/expressions/index/var/let/param/matrix.wgsl.expected.glsl
@@ -5,13 +5,13 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 vec3 f(int x) {
   mat3 m = mat3(1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f);
   return m[x];
 }
+
diff --git a/test/expressions/index/var/let/param/vector.wgsl.expected.glsl b/test/expressions/index/var/let/param/vector.wgsl.expected.glsl
index 0a3af1c..cad5646 100644
--- a/test/expressions/index/var/let/param/vector.wgsl.expected.glsl
+++ b/test/expressions/index/var/let/param/vector.wgsl.expected.glsl
@@ -5,13 +5,13 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 float f(int x) {
   vec3 v = vec3(1.0f, 2.0f, 3.0f);
   return v[x];
 }
+
diff --git a/test/expressions/index/var/literal/array.wgsl.expected.glsl b/test/expressions/index/var/literal/array.wgsl.expected.glsl
index 2f0abd5..2225238 100644
--- a/test/expressions/index/var/literal/array.wgsl.expected.glsl
+++ b/test/expressions/index/var/literal/array.wgsl.expected.glsl
@@ -5,13 +5,13 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 int f() {
   int a[8] = int[8](1, 2, 3, 4, 5, 6, 7, 8);
   return a[1];
 }
+
diff --git a/test/expressions/index/var/literal/matrix.wgsl.expected.glsl b/test/expressions/index/var/literal/matrix.wgsl.expected.glsl
index cd0f7ba..a0ebffd 100644
--- a/test/expressions/index/var/literal/matrix.wgsl.expected.glsl
+++ b/test/expressions/index/var/literal/matrix.wgsl.expected.glsl
@@ -5,13 +5,13 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 vec3 f() {
   mat3 m = mat3(1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f);
   return m[1];
 }
+
diff --git a/test/expressions/index/var/literal/vector.wgsl.expected.glsl b/test/expressions/index/var/literal/vector.wgsl.expected.glsl
index 1db8e0b..5d98a76 100644
--- a/test/expressions/index/var/literal/vector.wgsl.expected.glsl
+++ b/test/expressions/index/var/literal/vector.wgsl.expected.glsl
@@ -5,13 +5,13 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 float f() {
   vec3 v = vec3(1.0f, 2.0f, 3.0f);
   return v[1];
 }
+
diff --git a/test/expressions/index/var/param/array.wgsl.expected.glsl b/test/expressions/index/var/param/array.wgsl.expected.glsl
index 1d881bf..17f4054 100644
--- a/test/expressions/index/var/param/array.wgsl.expected.glsl
+++ b/test/expressions/index/var/param/array.wgsl.expected.glsl
@@ -5,13 +5,13 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 int f(int i) {
   int a[8] = int[8](1, 2, 3, 4, 5, 6, 7, 8);
   return a[i];
 }
+
diff --git a/test/expressions/index/var/param/matrix.wgsl.expected.glsl b/test/expressions/index/var/param/matrix.wgsl.expected.glsl
index d4a28b3..e150094 100644
--- a/test/expressions/index/var/param/matrix.wgsl.expected.glsl
+++ b/test/expressions/index/var/param/matrix.wgsl.expected.glsl
@@ -5,13 +5,13 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 vec3 f(int i) {
   mat3 m = mat3(1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f);
   return m[i];
 }
+
diff --git a/test/expressions/index/var/param/vector.wgsl.expected.glsl b/test/expressions/index/var/param/vector.wgsl.expected.glsl
index 6a2d0bf..e4da58c 100644
--- a/test/expressions/index/var/param/vector.wgsl.expected.glsl
+++ b/test/expressions/index/var/param/vector.wgsl.expected.glsl
@@ -5,13 +5,13 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 float f(int i) {
   vec3 v = vec3(1.0f, 2.0f, 3.0f);
   return v[i];
 }
+
diff --git a/test/expressions/literals/-inf.spvasm.expected.glsl b/test/expressions/literals/-inf.spvasm.expected.glsl
index 77a7f64..78232f1 100644
--- a/test/expressions/literals/-inf.spvasm.expected.glsl
+++ b/test/expressions/literals/-inf.spvasm.expected.glsl
@@ -2,7 +2,6 @@
 precision mediump float;
 
 vec4 out_var_SV_TARGET = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-
 void main_1() {
   out_var_SV_TARGET = vec4(uintBitsToFloat(0xff800000u), uintBitsToFloat(0xff800000u), uintBitsToFloat(0xff800000u), uintBitsToFloat(0xff800000u));
   return;
@@ -11,6 +10,7 @@
 struct main_out {
   vec4 out_var_SV_TARGET_1;
 };
+
 struct tint_symbol_1 {
   vec4 out_var_SV_TARGET_1;
 };
@@ -28,10 +28,10 @@
   return wrapper_result;
 }
 layout(location = 0) out vec4 out_var_SV_TARGET_1;
+
 void main() {
   tint_symbol_1 outputs;
   outputs = tint_symbol();
   out_var_SV_TARGET_1 = outputs.out_var_SV_TARGET_1;
 }
 
-
diff --git a/test/expressions/literals/inf.spvasm.expected.glsl b/test/expressions/literals/inf.spvasm.expected.glsl
index 9c7b69f..022c655 100644
--- a/test/expressions/literals/inf.spvasm.expected.glsl
+++ b/test/expressions/literals/inf.spvasm.expected.glsl
@@ -2,7 +2,6 @@
 precision mediump float;
 
 vec4 out_var_SV_TARGET = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-
 void main_1() {
   out_var_SV_TARGET = vec4(uintBitsToFloat(0x7f800000u), uintBitsToFloat(0x7f800000u), uintBitsToFloat(0x7f800000u), uintBitsToFloat(0x7f800000u));
   return;
@@ -11,6 +10,7 @@
 struct main_out {
   vec4 out_var_SV_TARGET_1;
 };
+
 struct tint_symbol_1 {
   vec4 out_var_SV_TARGET_1;
 };
@@ -28,10 +28,10 @@
   return wrapper_result;
 }
 layout(location = 0) out vec4 out_var_SV_TARGET_1;
+
 void main() {
   tint_symbol_1 outputs;
   outputs = tint_symbol();
   out_var_SV_TARGET_1 = outputs.out_var_SV_TARGET_1;
 }
 
-
diff --git a/test/expressions/literals/intmin.wgsl.expected.glsl b/test/expressions/literals/intmin.wgsl.expected.glsl
index 0fcbd6e..89d8f8f 100644
--- a/test/expressions/literals/intmin.wgsl.expected.glsl
+++ b/test/expressions/literals/intmin.wgsl.expected.glsl
@@ -5,15 +5,15 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 int add_int_min_explicit() {
   int a = -2147483648;
   int b = (a + 1);
   int c = (-2147483648 + 1);
   return c;
 }
+
diff --git a/test/expressions/literals/nan.spvasm.expected.glsl b/test/expressions/literals/nan.spvasm.expected.glsl
index a09810e..96d9709 100644
--- a/test/expressions/literals/nan.spvasm.expected.glsl
+++ b/test/expressions/literals/nan.spvasm.expected.glsl
@@ -2,7 +2,6 @@
 precision mediump float;
 
 vec4 out_var_SV_TARGET = vec4(0.0f, 0.0f, 0.0f, 0.0f);
-
 void main_1() {
   out_var_SV_TARGET = vec4(uintBitsToFloat(0x7fc00000u), uintBitsToFloat(0x7fc00000u), uintBitsToFloat(0x7fc00000u), uintBitsToFloat(0x7fc00000u));
   return;
@@ -11,6 +10,7 @@
 struct main_out {
   vec4 out_var_SV_TARGET_1;
 };
+
 struct tint_symbol_1 {
   vec4 out_var_SV_TARGET_1;
 };
@@ -28,10 +28,10 @@
   return wrapper_result;
 }
 layout(location = 0) out vec4 out_var_SV_TARGET_1;
+
 void main() {
   tint_symbol_1 outputs;
   outputs = tint_symbol();
   out_var_SV_TARGET_1 = outputs.out_var_SV_TARGET_1;
 }
 
-
diff --git a/test/expressions/splat/call/bool.wgsl.expected.glsl b/test/expressions/splat/call/bool.wgsl.expected.glsl
index 7088506..02056af 100644
--- a/test/expressions/splat/call/bool.wgsl.expected.glsl
+++ b/test/expressions/splat/call/bool.wgsl.expected.glsl
@@ -5,12 +5,11 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 bool get_bool() {
   return true;
 }
@@ -20,3 +19,4 @@
   bvec3 v3 = bvec3(get_bool());
   bvec4 v4 = bvec4(get_bool());
 }
+
diff --git a/test/expressions/splat/call/f32.wgsl.expected.glsl b/test/expressions/splat/call/f32.wgsl.expected.glsl
index cfd01c6..3bd3b4d 100644
--- a/test/expressions/splat/call/f32.wgsl.expected.glsl
+++ b/test/expressions/splat/call/f32.wgsl.expected.glsl
@@ -5,12 +5,11 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 float get_f32() {
   return 1.0f;
 }
@@ -20,3 +19,4 @@
   vec3 v3 = vec3(get_f32());
   vec4 v4 = vec4(get_f32());
 }
+
diff --git a/test/expressions/splat/call/i32.wgsl.expected.glsl b/test/expressions/splat/call/i32.wgsl.expected.glsl
index 0f8a5bc..03c2a0c 100644
--- a/test/expressions/splat/call/i32.wgsl.expected.glsl
+++ b/test/expressions/splat/call/i32.wgsl.expected.glsl
@@ -5,12 +5,11 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 int get_i32() {
   return 1;
 }
@@ -20,3 +19,4 @@
   ivec3 v3 = ivec3(get_i32());
   ivec4 v4 = ivec4(get_i32());
 }
+
diff --git a/test/expressions/splat/call/u32.wgsl.expected.glsl b/test/expressions/splat/call/u32.wgsl.expected.glsl
index 78d1b6a..62f5fe2 100644
--- a/test/expressions/splat/call/u32.wgsl.expected.glsl
+++ b/test/expressions/splat/call/u32.wgsl.expected.glsl
@@ -5,12 +5,11 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 uint get_u32() {
   return 1u;
 }
@@ -20,3 +19,4 @@
   uvec3 v3 = uvec3(get_u32());
   uvec4 v4 = uvec4(get_u32());
 }
+
diff --git a/test/expressions/splat/expression/bool.wgsl.expected.glsl b/test/expressions/splat/expression/bool.wgsl.expected.glsl
index 63b1d0f..d9c81de 100644
--- a/test/expressions/splat/expression/bool.wgsl.expected.glsl
+++ b/test/expressions/splat/expression/bool.wgsl.expected.glsl
@@ -5,12 +5,11 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 void f() {
   bool tint_tmp = true;
   if (!tint_tmp) {
@@ -28,3 +27,4 @@
   }
   bvec4 v4 = bvec4((tint_tmp_2));
 }
+
diff --git a/test/expressions/splat/expression/f32.wgsl.expected.glsl b/test/expressions/splat/expression/f32.wgsl.expected.glsl
index 572896e..3facaa3 100644
--- a/test/expressions/splat/expression/f32.wgsl.expected.glsl
+++ b/test/expressions/splat/expression/f32.wgsl.expected.glsl
@@ -5,14 +5,14 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 void f() {
   vec2 v2 = vec2((1.0f + 2.0f));
   vec3 v3 = vec3((1.0f + 2.0f));
   vec4 v4 = vec4((1.0f + 2.0f));
 }
+
diff --git a/test/expressions/splat/expression/i32.wgsl.expected.glsl b/test/expressions/splat/expression/i32.wgsl.expected.glsl
index c577b3c..cf07c63 100644
--- a/test/expressions/splat/expression/i32.wgsl.expected.glsl
+++ b/test/expressions/splat/expression/i32.wgsl.expected.glsl
@@ -5,14 +5,14 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 void f() {
   ivec2 v2 = ivec2((1 + 2));
   ivec3 v3 = ivec3((1 + 2));
   ivec4 v4 = ivec4((1 + 2));
 }
+
diff --git a/test/expressions/splat/expression/u32.wgsl.expected.glsl b/test/expressions/splat/expression/u32.wgsl.expected.glsl
index d1a6597..2b80e5f 100644
--- a/test/expressions/splat/expression/u32.wgsl.expected.glsl
+++ b/test/expressions/splat/expression/u32.wgsl.expected.glsl
@@ -5,14 +5,14 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 void f() {
   uvec2 v2 = uvec2((1u + 2u));
   uvec3 v3 = uvec3((1u + 2u));
   uvec4 v4 = uvec4((1u + 2u));
 }
+
diff --git a/test/expressions/splat/immediate/bool.wgsl.expected.glsl b/test/expressions/splat/immediate/bool.wgsl.expected.glsl
index 01f1069..fb64865 100644
--- a/test/expressions/splat/immediate/bool.wgsl.expected.glsl
+++ b/test/expressions/splat/immediate/bool.wgsl.expected.glsl
@@ -5,14 +5,14 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 void f() {
   bvec2 v2 = bvec2(true);
   bvec3 v3 = bvec3(true);
   bvec4 v4 = bvec4(true);
 }
+
diff --git a/test/expressions/splat/immediate/f32.wgsl.expected.glsl b/test/expressions/splat/immediate/f32.wgsl.expected.glsl
index 25d356c..e5bd309 100644
--- a/test/expressions/splat/immediate/f32.wgsl.expected.glsl
+++ b/test/expressions/splat/immediate/f32.wgsl.expected.glsl
@@ -5,14 +5,14 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 void f() {
   vec2 v2 = vec2(1.0f);
   vec3 v3 = vec3(1.0f);
   vec4 v4 = vec4(1.0f);
 }
+
diff --git a/test/expressions/splat/immediate/i32.wgsl.expected.glsl b/test/expressions/splat/immediate/i32.wgsl.expected.glsl
index 9610fe1..a693e22 100644
--- a/test/expressions/splat/immediate/i32.wgsl.expected.glsl
+++ b/test/expressions/splat/immediate/i32.wgsl.expected.glsl
@@ -5,14 +5,14 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 void f() {
   ivec2 v2 = ivec2(1);
   ivec3 v3 = ivec3(1);
   ivec4 v4 = ivec4(1);
 }
+
diff --git a/test/expressions/splat/immediate/u32.wgsl.expected.glsl b/test/expressions/splat/immediate/u32.wgsl.expected.glsl
index ecc9601..b0a88ab 100644
--- a/test/expressions/splat/immediate/u32.wgsl.expected.glsl
+++ b/test/expressions/splat/immediate/u32.wgsl.expected.glsl
@@ -5,14 +5,14 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 void f() {
   uvec2 v2 = uvec2(1u);
   uvec3 v3 = uvec3(1u);
   uvec4 v4 = uvec4(1u);
 }
+
diff --git a/test/expressions/splat/var/bool.wgsl.expected.glsl b/test/expressions/splat/var/bool.wgsl.expected.glsl
index 643b38c..e0488a1 100644
--- a/test/expressions/splat/var/bool.wgsl.expected.glsl
+++ b/test/expressions/splat/var/bool.wgsl.expected.glsl
@@ -5,12 +5,11 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 void f() {
   bool tint_tmp = true;
   if (!tint_tmp) {
@@ -21,3 +20,4 @@
   bvec3 v3 = bvec3(v);
   bvec4 v4 = bvec4(v);
 }
+
diff --git a/test/expressions/splat/var/f32.wgsl.expected.glsl b/test/expressions/splat/var/f32.wgsl.expected.glsl
index 82daaee..92b82c8 100644
--- a/test/expressions/splat/var/f32.wgsl.expected.glsl
+++ b/test/expressions/splat/var/f32.wgsl.expected.glsl
@@ -5,15 +5,15 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 void f() {
   float v = (1.0f + 2.0f);
   vec2 v2 = vec2(v);
   vec3 v3 = vec3(v);
   vec4 v4 = vec4(v);
 }
+
diff --git a/test/expressions/splat/var/i32.wgsl.expected.glsl b/test/expressions/splat/var/i32.wgsl.expected.glsl
index 74374ba..e55c53b 100644
--- a/test/expressions/splat/var/i32.wgsl.expected.glsl
+++ b/test/expressions/splat/var/i32.wgsl.expected.glsl
@@ -5,15 +5,15 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 void f() {
   int v = (1 + 2);
   ivec2 v2 = ivec2(v);
   ivec3 v3 = ivec3(v);
   ivec4 v4 = ivec4(v);
 }
+
diff --git a/test/expressions/splat/var/u32.wgsl.expected.glsl b/test/expressions/splat/var/u32.wgsl.expected.glsl
index 2ec3ca5..5b0bdfd 100644
--- a/test/expressions/splat/var/u32.wgsl.expected.glsl
+++ b/test/expressions/splat/var/u32.wgsl.expected.glsl
@@ -5,15 +5,15 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 void f() {
   uint v = (1u + 2u);
   uvec2 v2 = uvec2(v);
   uvec3 v3 = uvec3(v);
   uvec4 v4 = uvec4(v);
 }
+
diff --git a/test/expressions/splat/with_swizzle/f32.wgsl.expected.glsl b/test/expressions/splat/with_swizzle/f32.wgsl.expected.glsl
index b1bd888..6bfa65d 100644
--- a/test/expressions/splat/with_swizzle/f32.wgsl.expected.glsl
+++ b/test/expressions/splat/with_swizzle/f32.wgsl.expected.glsl
@@ -5,14 +5,14 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 void f() {
   float a = vec2(1.0f).y;
   float b = vec3(1.0f).z;
   float c = vec4(1.0f).w;
 }
+
diff --git a/test/expressions/swizzle/read/packed_vec3/f32.wgsl.expected.glsl b/test/expressions/swizzle/read/packed_vec3/f32.wgsl.expected.glsl
index 42a3628..7d88333 100644
--- a/test/expressions/swizzle/read/packed_vec3/f32.wgsl.expected.glsl
+++ b/test/expressions/swizzle/read/packed_vec3/f32.wgsl.expected.glsl
@@ -5,12 +5,11 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 struct S {
   vec3 v;
 };
@@ -142,3 +141,4 @@
   vec4 zzzy = U.v.zzzy;
   vec4 zzzz = U.v.zzzz;
 }
+
diff --git a/test/expressions/swizzle/read/packed_vec3/i32.wgsl.expected.glsl b/test/expressions/swizzle/read/packed_vec3/i32.wgsl.expected.glsl
index ceac2a9..2f1d6f3 100644
--- a/test/expressions/swizzle/read/packed_vec3/i32.wgsl.expected.glsl
+++ b/test/expressions/swizzle/read/packed_vec3/i32.wgsl.expected.glsl
@@ -5,12 +5,11 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 struct S {
   ivec3 v;
 };
@@ -142,3 +141,4 @@
   ivec4 zzzy = U.v.zzzy;
   ivec4 zzzz = U.v.zzzz;
 }
+
diff --git a/test/expressions/swizzle/read/packed_vec3/u32.wgsl.expected.glsl b/test/expressions/swizzle/read/packed_vec3/u32.wgsl.expected.glsl
index 843a272..b26c59b 100644
--- a/test/expressions/swizzle/read/packed_vec3/u32.wgsl.expected.glsl
+++ b/test/expressions/swizzle/read/packed_vec3/u32.wgsl.expected.glsl
@@ -5,12 +5,11 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 struct S {
   uvec3 v;
 };
@@ -142,3 +141,4 @@
   uvec4 zzzy = U.v.zzzy;
   uvec4 zzzz = U.v.zzzz;
 }
+
diff --git a/test/expressions/swizzle/read/vec3/f32.wgsl.expected.glsl b/test/expressions/swizzle/read/vec3/f32.wgsl.expected.glsl
index 8ca7c27..b4a8307 100644
--- a/test/expressions/swizzle/read/vec3/f32.wgsl.expected.glsl
+++ b/test/expressions/swizzle/read/vec3/f32.wgsl.expected.glsl
@@ -5,18 +5,16 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 struct S {
   vec3 v;
 };
 
 S P = S(vec3(0.0f, 0.0f, 0.0f));
-
 void f() {
   vec3 v = P.v;
   float x = P.v.x;
@@ -140,3 +138,4 @@
   vec4 zzzy = P.v.zzzy;
   vec4 zzzz = P.v.zzzz;
 }
+
diff --git a/test/expressions/swizzle/read/vec3/i32.wgsl.expected.glsl b/test/expressions/swizzle/read/vec3/i32.wgsl.expected.glsl
index 65df566..9418255 100644
--- a/test/expressions/swizzle/read/vec3/i32.wgsl.expected.glsl
+++ b/test/expressions/swizzle/read/vec3/i32.wgsl.expected.glsl
@@ -5,18 +5,16 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 struct S {
   ivec3 v;
 };
 
 S P = S(ivec3(0, 0, 0));
-
 void f() {
   ivec3 v = P.v;
   int x = P.v.x;
@@ -140,3 +138,4 @@
   ivec4 zzzy = P.v.zzzy;
   ivec4 zzzz = P.v.zzzz;
 }
+
diff --git a/test/expressions/swizzle/read/vec3/u32.wgsl.expected.glsl b/test/expressions/swizzle/read/vec3/u32.wgsl.expected.glsl
index 5616b2f..6b8eddc 100644
--- a/test/expressions/swizzle/read/vec3/u32.wgsl.expected.glsl
+++ b/test/expressions/swizzle/read/vec3/u32.wgsl.expected.glsl
@@ -5,18 +5,16 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 struct S {
   uvec3 v;
 };
 
 S P = S(uvec3(0u, 0u, 0u));
-
 void f() {
   uvec3 v = P.v;
   uint x = P.v.x;
@@ -140,3 +138,4 @@
   uvec4 zzzy = P.v.zzzy;
   uvec4 zzzz = P.v.zzzz;
 }
+
diff --git a/test/expressions/swizzle/write/packed_vec3/f32.wgsl.expected.glsl b/test/expressions/swizzle/write/packed_vec3/f32.wgsl.expected.glsl
index 7b0238a..4aa813a 100644
--- a/test/expressions/swizzle/write/packed_vec3/f32.wgsl.expected.glsl
+++ b/test/expressions/swizzle/write/packed_vec3/f32.wgsl.expected.glsl
@@ -5,12 +5,11 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 struct S {
   vec3 v;
 };
@@ -18,10 +17,10 @@
 layout(binding = 0) buffer S_1 {
   vec3 v;
 } U;
-
 void f() {
   U.v = vec3(1.0f, 2.0f, 3.0f);
   U.v.x = 1.0f;
   U.v.y = 2.0f;
   U.v.z = 3.0f;
 }
+
diff --git a/test/expressions/swizzle/write/packed_vec3/i32.wgsl.expected.glsl b/test/expressions/swizzle/write/packed_vec3/i32.wgsl.expected.glsl
index 6a11c23..8eafeb8 100644
--- a/test/expressions/swizzle/write/packed_vec3/i32.wgsl.expected.glsl
+++ b/test/expressions/swizzle/write/packed_vec3/i32.wgsl.expected.glsl
@@ -5,12 +5,11 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 struct S {
   ivec3 v;
 };
@@ -18,10 +17,10 @@
 layout(binding = 0) buffer S_1 {
   ivec3 v;
 } U;
-
 void f() {
   U.v = ivec3(1, 2, 3);
   U.v.x = 1;
   U.v.y = 2;
   U.v.z = 3;
 }
+
diff --git a/test/expressions/swizzle/write/packed_vec3/u32.wgsl.expected.glsl b/test/expressions/swizzle/write/packed_vec3/u32.wgsl.expected.glsl
index 7cbf102..741633c 100644
--- a/test/expressions/swizzle/write/packed_vec3/u32.wgsl.expected.glsl
+++ b/test/expressions/swizzle/write/packed_vec3/u32.wgsl.expected.glsl
@@ -5,12 +5,11 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 struct S {
   uvec3 v;
 };
@@ -18,10 +17,10 @@
 layout(binding = 0) buffer S_1 {
   uvec3 v;
 } U;
-
 void f() {
   U.v = uvec3(1u, 2u, 3u);
   U.v.x = 1u;
   U.v.y = 2u;
   U.v.z = 3u;
 }
+
diff --git a/test/expressions/swizzle/write/vec3/f32.wgsl.expected.glsl b/test/expressions/swizzle/write/vec3/f32.wgsl.expected.glsl
index 5cf34f4..cee44ac 100644
--- a/test/expressions/swizzle/write/vec3/f32.wgsl.expected.glsl
+++ b/test/expressions/swizzle/write/vec3/f32.wgsl.expected.glsl
@@ -5,21 +5,20 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 struct S {
   vec3 v;
 };
 
 S P = S(vec3(0.0f, 0.0f, 0.0f));
-
 void f() {
   P.v = vec3(1.0f, 2.0f, 3.0f);
   P.v.x = 1.0f;
   P.v.y = 2.0f;
   P.v.z = 3.0f;
 }
+
diff --git a/test/expressions/swizzle/write/vec3/i32.wgsl.expected.glsl b/test/expressions/swizzle/write/vec3/i32.wgsl.expected.glsl
index 5780025..112ae41 100644
--- a/test/expressions/swizzle/write/vec3/i32.wgsl.expected.glsl
+++ b/test/expressions/swizzle/write/vec3/i32.wgsl.expected.glsl
@@ -5,21 +5,20 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 struct S {
   ivec3 v;
 };
 
 S P = S(ivec3(0, 0, 0));
-
 void f() {
   P.v = ivec3(1, 2, 3);
   P.v.x = 1;
   P.v.y = 2;
   P.v.z = 3;
 }
+
diff --git a/test/expressions/swizzle/write/vec3/u32.wgsl.expected.glsl b/test/expressions/swizzle/write/vec3/u32.wgsl.expected.glsl
index 053311a..436eff0 100644
--- a/test/expressions/swizzle/write/vec3/u32.wgsl.expected.glsl
+++ b/test/expressions/swizzle/write/vec3/u32.wgsl.expected.glsl
@@ -5,21 +5,20 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 struct S {
   uvec3 v;
 };
 
 S P = S(uvec3(0u, 0u, 0u));
-
 void f() {
   P.v = uvec3(1u, 2u, 3u);
   P.v.x = 1u;
   P.v.y = 2u;
   P.v.z = 3u;
 }
+
diff --git a/test/expressions/type_ctor/mat2x2/explicit/scalars/f32.wgsl.expected.glsl b/test/expressions/type_ctor/mat2x2/explicit/scalars/f32.wgsl.expected.glsl
index ce52794..f2b52ac 100644
--- a/test/expressions/type_ctor/mat2x2/explicit/scalars/f32.wgsl.expected.glsl
+++ b/test/expressions/type_ctor/mat2x2/explicit/scalars/f32.wgsl.expected.glsl
@@ -5,10 +5,9 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 const mat2 m = mat2(0.0f, 1.0f, 2.0f, 3.0f);
diff --git a/test/expressions/type_ctor/mat2x2/explicit/vectors/f32.wgsl.expected.glsl b/test/expressions/type_ctor/mat2x2/explicit/vectors/f32.wgsl.expected.glsl
index 1b41ea2..06c93e9 100644
--- a/test/expressions/type_ctor/mat2x2/explicit/vectors/f32.wgsl.expected.glsl
+++ b/test/expressions/type_ctor/mat2x2/explicit/vectors/f32.wgsl.expected.glsl
@@ -5,10 +5,9 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 const mat2 m = mat2(vec2(0.0f, 1.0f), vec2(2.0f, 3.0f));
diff --git a/test/expressions/type_ctor/mat2x2/inferred/scalars/f32.wgsl.expected.glsl b/test/expressions/type_ctor/mat2x2/inferred/scalars/f32.wgsl.expected.glsl
index ce52794..f2b52ac 100644
--- a/test/expressions/type_ctor/mat2x2/inferred/scalars/f32.wgsl.expected.glsl
+++ b/test/expressions/type_ctor/mat2x2/inferred/scalars/f32.wgsl.expected.glsl
@@ -5,10 +5,9 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 const mat2 m = mat2(0.0f, 1.0f, 2.0f, 3.0f);
diff --git a/test/expressions/type_ctor/mat2x2/inferred/vectors/f32.wgsl.expected.glsl b/test/expressions/type_ctor/mat2x2/inferred/vectors/f32.wgsl.expected.glsl
index 1b41ea2..06c93e9 100644
--- a/test/expressions/type_ctor/mat2x2/inferred/vectors/f32.wgsl.expected.glsl
+++ b/test/expressions/type_ctor/mat2x2/inferred/vectors/f32.wgsl.expected.glsl
@@ -5,10 +5,9 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 const mat2 m = mat2(vec2(0.0f, 1.0f), vec2(2.0f, 3.0f));
diff --git a/test/expressions/type_ctor/mat2x3/explicit/scalars/f32.wgsl.expected.glsl b/test/expressions/type_ctor/mat2x3/explicit/scalars/f32.wgsl.expected.glsl
index 57f04b5..04b32b6 100644
--- a/test/expressions/type_ctor/mat2x3/explicit/scalars/f32.wgsl.expected.glsl
+++ b/test/expressions/type_ctor/mat2x3/explicit/scalars/f32.wgsl.expected.glsl
@@ -5,10 +5,9 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 const mat2x3 m = mat2x3(0.0f, 1.0f, 2.0f, 3.0f, 4.0f, 5.0f);
diff --git a/test/expressions/type_ctor/mat2x3/explicit/vectors/f32.wgsl.expected.glsl b/test/expressions/type_ctor/mat2x3/explicit/vectors/f32.wgsl.expected.glsl
index 7c1c90b..c78cd8d 100644
--- a/test/expressions/type_ctor/mat2x3/explicit/vectors/f32.wgsl.expected.glsl
+++ b/test/expressions/type_ctor/mat2x3/explicit/vectors/f32.wgsl.expected.glsl
@@ -5,10 +5,9 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 const mat2x3 m = mat2x3(vec3(0.0f, 1.0f, 2.0f), vec3(3.0f, 4.0f, 5.0f));
diff --git a/test/expressions/type_ctor/mat2x3/inferred/scalars/f32.wgsl.expected.glsl b/test/expressions/type_ctor/mat2x3/inferred/scalars/f32.wgsl.expected.glsl
index 57f04b5..04b32b6 100644
--- a/test/expressions/type_ctor/mat2x3/inferred/scalars/f32.wgsl.expected.glsl
+++ b/test/expressions/type_ctor/mat2x3/inferred/scalars/f32.wgsl.expected.glsl
@@ -5,10 +5,9 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 const mat2x3 m = mat2x3(0.0f, 1.0f, 2.0f, 3.0f, 4.0f, 5.0f);
diff --git a/test/expressions/type_ctor/mat2x3/inferred/vectors/f32.wgsl.expected.glsl b/test/expressions/type_ctor/mat2x3/inferred/vectors/f32.wgsl.expected.glsl
index 7c1c90b..c78cd8d 100644
--- a/test/expressions/type_ctor/mat2x3/inferred/vectors/f32.wgsl.expected.glsl
+++ b/test/expressions/type_ctor/mat2x3/inferred/vectors/f32.wgsl.expected.glsl
@@ -5,10 +5,9 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 const mat2x3 m = mat2x3(vec3(0.0f, 1.0f, 2.0f), vec3(3.0f, 4.0f, 5.0f));
diff --git a/test/expressions/type_ctor/mat2x4/explicit/scalars/f32.wgsl.expected.glsl b/test/expressions/type_ctor/mat2x4/explicit/scalars/f32.wgsl.expected.glsl
index a487bc8..122dc44 100644
--- a/test/expressions/type_ctor/mat2x4/explicit/scalars/f32.wgsl.expected.glsl
+++ b/test/expressions/type_ctor/mat2x4/explicit/scalars/f32.wgsl.expected.glsl
@@ -5,10 +5,9 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 const mat2x4 m = mat2x4(0.0f, 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f);
diff --git a/test/expressions/type_ctor/mat2x4/explicit/vectors/f32.wgsl.expected.glsl b/test/expressions/type_ctor/mat2x4/explicit/vectors/f32.wgsl.expected.glsl
index ceca1c8..801356a 100644
--- a/test/expressions/type_ctor/mat2x4/explicit/vectors/f32.wgsl.expected.glsl
+++ b/test/expressions/type_ctor/mat2x4/explicit/vectors/f32.wgsl.expected.glsl
@@ -5,10 +5,9 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 const mat2x4 m = mat2x4(vec4(0.0f, 1.0f, 2.0f, 3.0f), vec4(4.0f, 5.0f, 6.0f, 7.0f));
diff --git a/test/expressions/type_ctor/mat2x4/inferred/scalars/f32.wgsl.expected.glsl b/test/expressions/type_ctor/mat2x4/inferred/scalars/f32.wgsl.expected.glsl
index a487bc8..122dc44 100644
--- a/test/expressions/type_ctor/mat2x4/inferred/scalars/f32.wgsl.expected.glsl
+++ b/test/expressions/type_ctor/mat2x4/inferred/scalars/f32.wgsl.expected.glsl
@@ -5,10 +5,9 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 const mat2x4 m = mat2x4(0.0f, 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f);
diff --git a/test/expressions/type_ctor/mat2x4/inferred/vectors/f32.wgsl.expected.glsl b/test/expressions/type_ctor/mat2x4/inferred/vectors/f32.wgsl.expected.glsl
index ceca1c8..801356a 100644
--- a/test/expressions/type_ctor/mat2x4/inferred/vectors/f32.wgsl.expected.glsl
+++ b/test/expressions/type_ctor/mat2x4/inferred/vectors/f32.wgsl.expected.glsl
@@ -5,10 +5,9 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 const mat2x4 m = mat2x4(vec4(0.0f, 1.0f, 2.0f, 3.0f), vec4(4.0f, 5.0f, 6.0f, 7.0f));
diff --git a/test/expressions/type_ctor/mat3x2/explicit/scalars/f32.wgsl.expected.glsl b/test/expressions/type_ctor/mat3x2/explicit/scalars/f32.wgsl.expected.glsl
index 1f1bbe1..55235ae 100644
--- a/test/expressions/type_ctor/mat3x2/explicit/scalars/f32.wgsl.expected.glsl
+++ b/test/expressions/type_ctor/mat3x2/explicit/scalars/f32.wgsl.expected.glsl
@@ -5,10 +5,9 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 const mat3x2 m = mat3x2(0.0f, 1.0f, 2.0f, 3.0f, 4.0f, 5.0f);
diff --git a/test/expressions/type_ctor/mat3x2/explicit/vectors/f32.wgsl.expected.glsl b/test/expressions/type_ctor/mat3x2/explicit/vectors/f32.wgsl.expected.glsl
index 19bfb0b..6bedaa5 100644
--- a/test/expressions/type_ctor/mat3x2/explicit/vectors/f32.wgsl.expected.glsl
+++ b/test/expressions/type_ctor/mat3x2/explicit/vectors/f32.wgsl.expected.glsl
@@ -5,10 +5,9 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 const mat3x2 m = mat3x2(vec2(0.0f, 1.0f), vec2(2.0f, 3.0f), vec2(4.0f, 5.0f));
diff --git a/test/expressions/type_ctor/mat3x2/inferred/scalars/f32.wgsl.expected.glsl b/test/expressions/type_ctor/mat3x2/inferred/scalars/f32.wgsl.expected.glsl
index 1f1bbe1..55235ae 100644
--- a/test/expressions/type_ctor/mat3x2/inferred/scalars/f32.wgsl.expected.glsl
+++ b/test/expressions/type_ctor/mat3x2/inferred/scalars/f32.wgsl.expected.glsl
@@ -5,10 +5,9 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 const mat3x2 m = mat3x2(0.0f, 1.0f, 2.0f, 3.0f, 4.0f, 5.0f);
diff --git a/test/expressions/type_ctor/mat3x2/inferred/vectors/f32.wgsl.expected.glsl b/test/expressions/type_ctor/mat3x2/inferred/vectors/f32.wgsl.expected.glsl
index 19bfb0b..6bedaa5 100644
--- a/test/expressions/type_ctor/mat3x2/inferred/vectors/f32.wgsl.expected.glsl
+++ b/test/expressions/type_ctor/mat3x2/inferred/vectors/f32.wgsl.expected.glsl
@@ -5,10 +5,9 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 const mat3x2 m = mat3x2(vec2(0.0f, 1.0f), vec2(2.0f, 3.0f), vec2(4.0f, 5.0f));
diff --git a/test/expressions/type_ctor/mat3x3/explicit/scalars/f32.wgsl.expected.glsl b/test/expressions/type_ctor/mat3x3/explicit/scalars/f32.wgsl.expected.glsl
index 3657e1d..a712081 100644
--- a/test/expressions/type_ctor/mat3x3/explicit/scalars/f32.wgsl.expected.glsl
+++ b/test/expressions/type_ctor/mat3x3/explicit/scalars/f32.wgsl.expected.glsl
@@ -5,10 +5,9 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 const mat3 m = mat3(0.0f, 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f);
diff --git a/test/expressions/type_ctor/mat3x3/explicit/vectors/f32.wgsl.expected.glsl b/test/expressions/type_ctor/mat3x3/explicit/vectors/f32.wgsl.expected.glsl
index 1a551bb..cbf652b 100644
--- a/test/expressions/type_ctor/mat3x3/explicit/vectors/f32.wgsl.expected.glsl
+++ b/test/expressions/type_ctor/mat3x3/explicit/vectors/f32.wgsl.expected.glsl
@@ -5,10 +5,9 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 const mat3 m = mat3(vec3(0.0f, 1.0f, 2.0f), vec3(3.0f, 4.0f, 5.0f), vec3(6.0f, 7.0f, 8.0f));
diff --git a/test/expressions/type_ctor/mat3x3/inferred/scalars/f32.wgsl.expected.glsl b/test/expressions/type_ctor/mat3x3/inferred/scalars/f32.wgsl.expected.glsl
index 3657e1d..a712081 100644
--- a/test/expressions/type_ctor/mat3x3/inferred/scalars/f32.wgsl.expected.glsl
+++ b/test/expressions/type_ctor/mat3x3/inferred/scalars/f32.wgsl.expected.glsl
@@ -5,10 +5,9 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 const mat3 m = mat3(0.0f, 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f);
diff --git a/test/expressions/type_ctor/mat3x3/inferred/vectors/f32.wgsl.expected.glsl b/test/expressions/type_ctor/mat3x3/inferred/vectors/f32.wgsl.expected.glsl
index 1a551bb..cbf652b 100644
--- a/test/expressions/type_ctor/mat3x3/inferred/vectors/f32.wgsl.expected.glsl
+++ b/test/expressions/type_ctor/mat3x3/inferred/vectors/f32.wgsl.expected.glsl
@@ -5,10 +5,9 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 const mat3 m = mat3(vec3(0.0f, 1.0f, 2.0f), vec3(3.0f, 4.0f, 5.0f), vec3(6.0f, 7.0f, 8.0f));
diff --git a/test/expressions/type_ctor/mat3x4/explicit/scalars/f32.wgsl.expected.glsl b/test/expressions/type_ctor/mat3x4/explicit/scalars/f32.wgsl.expected.glsl
index ef53b66..7cb85e1 100644
--- a/test/expressions/type_ctor/mat3x4/explicit/scalars/f32.wgsl.expected.glsl
+++ b/test/expressions/type_ctor/mat3x4/explicit/scalars/f32.wgsl.expected.glsl
@@ -5,10 +5,9 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 const mat3x4 m = mat3x4(0.0f, 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f);
diff --git a/test/expressions/type_ctor/mat3x4/explicit/vectors/f32.wgsl.expected.glsl b/test/expressions/type_ctor/mat3x4/explicit/vectors/f32.wgsl.expected.glsl
index 48eb1fa..84ba7f1 100644
--- a/test/expressions/type_ctor/mat3x4/explicit/vectors/f32.wgsl.expected.glsl
+++ b/test/expressions/type_ctor/mat3x4/explicit/vectors/f32.wgsl.expected.glsl
@@ -5,10 +5,9 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 const mat3x4 m = mat3x4(vec4(0.0f, 1.0f, 2.0f, 3.0f), vec4(4.0f, 5.0f, 6.0f, 7.0f), vec4(8.0f, 9.0f, 10.0f, 11.0f));
diff --git a/test/expressions/type_ctor/mat3x4/inferred/scalars/f32.wgsl.expected.glsl b/test/expressions/type_ctor/mat3x4/inferred/scalars/f32.wgsl.expected.glsl
index ef53b66..7cb85e1 100644
--- a/test/expressions/type_ctor/mat3x4/inferred/scalars/f32.wgsl.expected.glsl
+++ b/test/expressions/type_ctor/mat3x4/inferred/scalars/f32.wgsl.expected.glsl
@@ -5,10 +5,9 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 const mat3x4 m = mat3x4(0.0f, 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f);
diff --git a/test/expressions/type_ctor/mat3x4/inferred/vectors/f32.wgsl.expected.glsl b/test/expressions/type_ctor/mat3x4/inferred/vectors/f32.wgsl.expected.glsl
index 48eb1fa..84ba7f1 100644
--- a/test/expressions/type_ctor/mat3x4/inferred/vectors/f32.wgsl.expected.glsl
+++ b/test/expressions/type_ctor/mat3x4/inferred/vectors/f32.wgsl.expected.glsl
@@ -5,10 +5,9 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 const mat3x4 m = mat3x4(vec4(0.0f, 1.0f, 2.0f, 3.0f), vec4(4.0f, 5.0f, 6.0f, 7.0f), vec4(8.0f, 9.0f, 10.0f, 11.0f));
diff --git a/test/expressions/type_ctor/mat4x2/explicit/scalars/f32.wgsl.expected.glsl b/test/expressions/type_ctor/mat4x2/explicit/scalars/f32.wgsl.expected.glsl
index 503820e..402014f 100644
--- a/test/expressions/type_ctor/mat4x2/explicit/scalars/f32.wgsl.expected.glsl
+++ b/test/expressions/type_ctor/mat4x2/explicit/scalars/f32.wgsl.expected.glsl
@@ -5,10 +5,9 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 const mat4x2 m = mat4x2(0.0f, 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f);
diff --git a/test/expressions/type_ctor/mat4x2/explicit/vectors/f32.wgsl.expected.glsl b/test/expressions/type_ctor/mat4x2/explicit/vectors/f32.wgsl.expected.glsl
index 17038f0..bae5a65 100644
--- a/test/expressions/type_ctor/mat4x2/explicit/vectors/f32.wgsl.expected.glsl
+++ b/test/expressions/type_ctor/mat4x2/explicit/vectors/f32.wgsl.expected.glsl
@@ -5,10 +5,9 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 const mat4x2 m = mat4x2(vec2(0.0f, 1.0f), vec2(2.0f, 3.0f), vec2(4.0f, 5.0f), vec2(6.0f, 7.0f));
diff --git a/test/expressions/type_ctor/mat4x2/inferred/scalars/f32.wgsl.expected.glsl b/test/expressions/type_ctor/mat4x2/inferred/scalars/f32.wgsl.expected.glsl
index 503820e..402014f 100644
--- a/test/expressions/type_ctor/mat4x2/inferred/scalars/f32.wgsl.expected.glsl
+++ b/test/expressions/type_ctor/mat4x2/inferred/scalars/f32.wgsl.expected.glsl
@@ -5,10 +5,9 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 const mat4x2 m = mat4x2(0.0f, 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f);
diff --git a/test/expressions/type_ctor/mat4x2/inferred/vectors/f32.wgsl.expected.glsl b/test/expressions/type_ctor/mat4x2/inferred/vectors/f32.wgsl.expected.glsl
index 17038f0..bae5a65 100644
--- a/test/expressions/type_ctor/mat4x2/inferred/vectors/f32.wgsl.expected.glsl
+++ b/test/expressions/type_ctor/mat4x2/inferred/vectors/f32.wgsl.expected.glsl
@@ -5,10 +5,9 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 const mat4x2 m = mat4x2(vec2(0.0f, 1.0f), vec2(2.0f, 3.0f), vec2(4.0f, 5.0f), vec2(6.0f, 7.0f));
diff --git a/test/expressions/type_ctor/mat4x3/explicit/scalars/f32.wgsl.expected.glsl b/test/expressions/type_ctor/mat4x3/explicit/scalars/f32.wgsl.expected.glsl
index 085b370..115a572 100644
--- a/test/expressions/type_ctor/mat4x3/explicit/scalars/f32.wgsl.expected.glsl
+++ b/test/expressions/type_ctor/mat4x3/explicit/scalars/f32.wgsl.expected.glsl
@@ -5,10 +5,9 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 const mat4x3 m = mat4x3(0.0f, 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f);
diff --git a/test/expressions/type_ctor/mat4x3/explicit/vectors/f32.wgsl.expected.glsl b/test/expressions/type_ctor/mat4x3/explicit/vectors/f32.wgsl.expected.glsl
index 12a476b..f5559a8 100644
--- a/test/expressions/type_ctor/mat4x3/explicit/vectors/f32.wgsl.expected.glsl
+++ b/test/expressions/type_ctor/mat4x3/explicit/vectors/f32.wgsl.expected.glsl
@@ -5,10 +5,9 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 const mat4x3 m = mat4x3(vec3(0.0f, 1.0f, 2.0f), vec3(3.0f, 4.0f, 5.0f), vec3(6.0f, 7.0f, 8.0f), vec3(9.0f, 10.0f, 11.0f));
diff --git a/test/expressions/type_ctor/mat4x3/inferred/scalars/f32.wgsl.expected.glsl b/test/expressions/type_ctor/mat4x3/inferred/scalars/f32.wgsl.expected.glsl
index 085b370..115a572 100644
--- a/test/expressions/type_ctor/mat4x3/inferred/scalars/f32.wgsl.expected.glsl
+++ b/test/expressions/type_ctor/mat4x3/inferred/scalars/f32.wgsl.expected.glsl
@@ -5,10 +5,9 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 const mat4x3 m = mat4x3(0.0f, 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f);
diff --git a/test/expressions/type_ctor/mat4x3/inferred/vectors/f32.wgsl.expected.glsl b/test/expressions/type_ctor/mat4x3/inferred/vectors/f32.wgsl.expected.glsl
index 12a476b..f5559a8 100644
--- a/test/expressions/type_ctor/mat4x3/inferred/vectors/f32.wgsl.expected.glsl
+++ b/test/expressions/type_ctor/mat4x3/inferred/vectors/f32.wgsl.expected.glsl
@@ -5,10 +5,9 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 const mat4x3 m = mat4x3(vec3(0.0f, 1.0f, 2.0f), vec3(3.0f, 4.0f, 5.0f), vec3(6.0f, 7.0f, 8.0f), vec3(9.0f, 10.0f, 11.0f));
diff --git a/test/expressions/type_ctor/mat4x4/explicit/scalars/f32.wgsl.expected.glsl b/test/expressions/type_ctor/mat4x4/explicit/scalars/f32.wgsl.expected.glsl
index 4d57ae1..5a35fce 100644
--- a/test/expressions/type_ctor/mat4x4/explicit/scalars/f32.wgsl.expected.glsl
+++ b/test/expressions/type_ctor/mat4x4/explicit/scalars/f32.wgsl.expected.glsl
@@ -5,10 +5,9 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 const mat4 m = mat4(0.0f, 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f, 13.0f, 14.0f, 15.0f);
diff --git a/test/expressions/type_ctor/mat4x4/explicit/vectors/f32.wgsl.expected.glsl b/test/expressions/type_ctor/mat4x4/explicit/vectors/f32.wgsl.expected.glsl
index 0d9377e..155df1e 100644
--- a/test/expressions/type_ctor/mat4x4/explicit/vectors/f32.wgsl.expected.glsl
+++ b/test/expressions/type_ctor/mat4x4/explicit/vectors/f32.wgsl.expected.glsl
@@ -5,10 +5,9 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 const mat4 m = mat4(vec4(0.0f, 1.0f, 2.0f, 3.0f), vec4(4.0f, 5.0f, 6.0f, 7.0f), vec4(8.0f, 9.0f, 10.0f, 11.0f), vec4(12.0f, 13.0f, 14.0f, 15.0f));
diff --git a/test/expressions/type_ctor/mat4x4/inferred/scalars/f32.wgsl.expected.glsl b/test/expressions/type_ctor/mat4x4/inferred/scalars/f32.wgsl.expected.glsl
index 4d57ae1..5a35fce 100644
--- a/test/expressions/type_ctor/mat4x4/inferred/scalars/f32.wgsl.expected.glsl
+++ b/test/expressions/type_ctor/mat4x4/inferred/scalars/f32.wgsl.expected.glsl
@@ -5,10 +5,9 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 const mat4 m = mat4(0.0f, 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f, 11.0f, 12.0f, 13.0f, 14.0f, 15.0f);
diff --git a/test/expressions/type_ctor/mat4x4/inferred/vectors/f32.wgsl.expected.glsl b/test/expressions/type_ctor/mat4x4/inferred/vectors/f32.wgsl.expected.glsl
index 0d9377e..155df1e 100644
--- a/test/expressions/type_ctor/mat4x4/inferred/vectors/f32.wgsl.expected.glsl
+++ b/test/expressions/type_ctor/mat4x4/inferred/vectors/f32.wgsl.expected.glsl
@@ -5,10 +5,9 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 const mat4 m = mat4(vec4(0.0f, 1.0f, 2.0f, 3.0f), vec4(4.0f, 5.0f, 6.0f, 7.0f), vec4(8.0f, 9.0f, 10.0f, 11.0f), vec4(12.0f, 13.0f, 14.0f, 15.0f));
diff --git a/test/expressions/type_ctor/vec2/explicit/bool.wgsl.expected.glsl b/test/expressions/type_ctor/vec2/explicit/bool.wgsl.expected.glsl
index b008ac7..5f0a93c 100644
--- a/test/expressions/type_ctor/vec2/explicit/bool.wgsl.expected.glsl
+++ b/test/expressions/type_ctor/vec2/explicit/bool.wgsl.expected.glsl
@@ -5,10 +5,9 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 const bvec2 v = bvec2(false, true);
diff --git a/test/expressions/type_ctor/vec2/explicit/f32.wgsl.expected.glsl b/test/expressions/type_ctor/vec2/explicit/f32.wgsl.expected.glsl
index c507eb0..82f16fa 100644
--- a/test/expressions/type_ctor/vec2/explicit/f32.wgsl.expected.glsl
+++ b/test/expressions/type_ctor/vec2/explicit/f32.wgsl.expected.glsl
@@ -5,10 +5,9 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 const vec2 v = vec2(0.0f, 1.0f);
diff --git a/test/expressions/type_ctor/vec2/explicit/i32.wgsl.expected.glsl b/test/expressions/type_ctor/vec2/explicit/i32.wgsl.expected.glsl
index eaf0db6..b96b5c7 100644
--- a/test/expressions/type_ctor/vec2/explicit/i32.wgsl.expected.glsl
+++ b/test/expressions/type_ctor/vec2/explicit/i32.wgsl.expected.glsl
@@ -5,10 +5,9 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 const ivec2 v = ivec2(0, 1);
diff --git a/test/expressions/type_ctor/vec2/explicit/u32.wgsl.expected.glsl b/test/expressions/type_ctor/vec2/explicit/u32.wgsl.expected.glsl
index 9bfce2d..682a6c0 100644
--- a/test/expressions/type_ctor/vec2/explicit/u32.wgsl.expected.glsl
+++ b/test/expressions/type_ctor/vec2/explicit/u32.wgsl.expected.glsl
@@ -5,10 +5,9 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 const uvec2 v = uvec2(0u, 1u);
diff --git a/test/expressions/type_ctor/vec2/inferred/bool.wgsl.expected.glsl b/test/expressions/type_ctor/vec2/inferred/bool.wgsl.expected.glsl
index b008ac7..5f0a93c 100644
--- a/test/expressions/type_ctor/vec2/inferred/bool.wgsl.expected.glsl
+++ b/test/expressions/type_ctor/vec2/inferred/bool.wgsl.expected.glsl
@@ -5,10 +5,9 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 const bvec2 v = bvec2(false, true);
diff --git a/test/expressions/type_ctor/vec2/inferred/f32.wgsl.expected.glsl b/test/expressions/type_ctor/vec2/inferred/f32.wgsl.expected.glsl
index c507eb0..82f16fa 100644
--- a/test/expressions/type_ctor/vec2/inferred/f32.wgsl.expected.glsl
+++ b/test/expressions/type_ctor/vec2/inferred/f32.wgsl.expected.glsl
@@ -5,10 +5,9 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 const vec2 v = vec2(0.0f, 1.0f);
diff --git a/test/expressions/type_ctor/vec2/inferred/i32.wgsl.expected.glsl b/test/expressions/type_ctor/vec2/inferred/i32.wgsl.expected.glsl
index eaf0db6..b96b5c7 100644
--- a/test/expressions/type_ctor/vec2/inferred/i32.wgsl.expected.glsl
+++ b/test/expressions/type_ctor/vec2/inferred/i32.wgsl.expected.glsl
@@ -5,10 +5,9 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 const ivec2 v = ivec2(0, 1);
diff --git a/test/expressions/type_ctor/vec2/inferred/u32.wgsl.expected.glsl b/test/expressions/type_ctor/vec2/inferred/u32.wgsl.expected.glsl
index 9bfce2d..682a6c0 100644
--- a/test/expressions/type_ctor/vec2/inferred/u32.wgsl.expected.glsl
+++ b/test/expressions/type_ctor/vec2/inferred/u32.wgsl.expected.glsl
@@ -5,10 +5,9 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 const uvec2 v = uvec2(0u, 1u);
diff --git a/test/expressions/type_ctor/vec3/explicit/bool.wgsl.expected.glsl b/test/expressions/type_ctor/vec3/explicit/bool.wgsl.expected.glsl
index e9a10c1..148321a 100644
--- a/test/expressions/type_ctor/vec3/explicit/bool.wgsl.expected.glsl
+++ b/test/expressions/type_ctor/vec3/explicit/bool.wgsl.expected.glsl
@@ -5,10 +5,9 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 const bvec3 v = bvec3(false, true, false);
diff --git a/test/expressions/type_ctor/vec3/explicit/f32.wgsl.expected.glsl b/test/expressions/type_ctor/vec3/explicit/f32.wgsl.expected.glsl
index 315fe8c..4918115 100644
--- a/test/expressions/type_ctor/vec3/explicit/f32.wgsl.expected.glsl
+++ b/test/expressions/type_ctor/vec3/explicit/f32.wgsl.expected.glsl
@@ -5,10 +5,9 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 const vec3 v = vec3(0.0f, 1.0f, 2.0f);
diff --git a/test/expressions/type_ctor/vec3/explicit/i32.wgsl.expected.glsl b/test/expressions/type_ctor/vec3/explicit/i32.wgsl.expected.glsl
index bbef576..7958518 100644
--- a/test/expressions/type_ctor/vec3/explicit/i32.wgsl.expected.glsl
+++ b/test/expressions/type_ctor/vec3/explicit/i32.wgsl.expected.glsl
@@ -5,10 +5,9 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 const ivec3 v = ivec3(0, 1, 2);
diff --git a/test/expressions/type_ctor/vec3/explicit/u32.wgsl.expected.glsl b/test/expressions/type_ctor/vec3/explicit/u32.wgsl.expected.glsl
index 68d9ed4..aa7de93 100644
--- a/test/expressions/type_ctor/vec3/explicit/u32.wgsl.expected.glsl
+++ b/test/expressions/type_ctor/vec3/explicit/u32.wgsl.expected.glsl
@@ -5,10 +5,9 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 const uvec3 v = uvec3(0u, 1u, 2u);
diff --git a/test/expressions/type_ctor/vec4/explicit/bool.wgsl.expected.glsl b/test/expressions/type_ctor/vec4/explicit/bool.wgsl.expected.glsl
index 47ddaeb..a93f549 100644
--- a/test/expressions/type_ctor/vec4/explicit/bool.wgsl.expected.glsl
+++ b/test/expressions/type_ctor/vec4/explicit/bool.wgsl.expected.glsl
@@ -5,10 +5,9 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 const bvec4 v = bvec4(false, true, false, true);
diff --git a/test/expressions/type_ctor/vec4/explicit/f32.wgsl.expected.glsl b/test/expressions/type_ctor/vec4/explicit/f32.wgsl.expected.glsl
index d5bb0b5..35b45c1 100644
--- a/test/expressions/type_ctor/vec4/explicit/f32.wgsl.expected.glsl
+++ b/test/expressions/type_ctor/vec4/explicit/f32.wgsl.expected.glsl
@@ -5,10 +5,9 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 const vec4 v = vec4(0.0f, 1.0f, 2.0f, 3.0f);
diff --git a/test/expressions/type_ctor/vec4/explicit/i32.wgsl.expected.glsl b/test/expressions/type_ctor/vec4/explicit/i32.wgsl.expected.glsl
index 76fbdd0..a572594 100644
--- a/test/expressions/type_ctor/vec4/explicit/i32.wgsl.expected.glsl
+++ b/test/expressions/type_ctor/vec4/explicit/i32.wgsl.expected.glsl
@@ -5,10 +5,9 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 const ivec4 v = ivec4(0, 1, 2, 3);
diff --git a/test/expressions/type_ctor/vec4/explicit/u32.wgsl.expected.glsl b/test/expressions/type_ctor/vec4/explicit/u32.wgsl.expected.glsl
index 17a431e..aa3aca8 100644
--- a/test/expressions/type_ctor/vec4/explicit/u32.wgsl.expected.glsl
+++ b/test/expressions/type_ctor/vec4/explicit/u32.wgsl.expected.glsl
@@ -5,10 +5,9 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 const uvec4 v = uvec4(0u, 1u, 2u, 3u);
diff --git a/test/expressions/unary/complement/complement.wgsl.expected.glsl b/test/expressions/unary/complement/complement.wgsl.expected.glsl
index 9edee88..5bec84b 100644
--- a/test/expressions/unary/complement/complement.wgsl.expected.glsl
+++ b/test/expressions/unary/complement/complement.wgsl.expected.glsl
@@ -5,12 +5,11 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 int i(int x) {
   return ~(x);
 }
@@ -26,3 +25,4 @@
 uvec4 vu(uvec4 x) {
   return ~(x);
 }
+
diff --git a/test/expressions/unary/negate/negate.wgsl.expected.glsl b/test/expressions/unary/negate/negate.wgsl.expected.glsl
index b2ace9d..d964058 100644
--- a/test/expressions/unary/negate/negate.wgsl.expected.glsl
+++ b/test/expressions/unary/negate/negate.wgsl.expected.glsl
@@ -5,12 +5,11 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 int i(int x) {
   return -(x);
 }
@@ -18,3 +17,4 @@
 ivec4 vi(ivec4 x) {
   return -(x);
 }
+
diff --git a/test/expressions/zero_init/array/bool.wgsl.expected.glsl b/test/expressions/zero_init/array/bool.wgsl.expected.glsl
index 57b69ce..2d7cab4 100644
--- a/test/expressions/zero_init/array/bool.wgsl.expected.glsl
+++ b/test/expressions/zero_init/array/bool.wgsl.expected.glsl
@@ -5,12 +5,12 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 void f() {
   bool v[4] = bool[4](false, false, false, false);
 }
+
diff --git a/test/expressions/zero_init/array/f32.wgsl.expected.glsl b/test/expressions/zero_init/array/f32.wgsl.expected.glsl
index 622b0ba..7022024 100644
--- a/test/expressions/zero_init/array/f32.wgsl.expected.glsl
+++ b/test/expressions/zero_init/array/f32.wgsl.expected.glsl
@@ -5,12 +5,12 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 void f() {
   float v[4] = float[4](0.0f, 0.0f, 0.0f, 0.0f);
 }
+
diff --git a/test/expressions/zero_init/array/i32.wgsl.expected.glsl b/test/expressions/zero_init/array/i32.wgsl.expected.glsl
index 5d2d392..41cfbb6 100644
--- a/test/expressions/zero_init/array/i32.wgsl.expected.glsl
+++ b/test/expressions/zero_init/array/i32.wgsl.expected.glsl
@@ -5,12 +5,12 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 void f() {
   int v[4] = int[4](0, 0, 0, 0);
 }
+
diff --git a/test/expressions/zero_init/array/struct.wgsl.expected.glsl b/test/expressions/zero_init/array/struct.wgsl.expected.glsl
index 65d0490..89eed92 100644
--- a/test/expressions/zero_init/array/struct.wgsl.expected.glsl
+++ b/test/expressions/zero_init/array/struct.wgsl.expected.glsl
@@ -5,12 +5,11 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 struct S {
   int i;
   uint u;
@@ -21,3 +20,4 @@
 void f() {
   S v[4] = S[4](S(0, 0u, 0.0f, false), S(0, 0u, 0.0f, false), S(0, 0u, 0.0f, false), S(0, 0u, 0.0f, false));
 }
+
diff --git a/test/expressions/zero_init/array/u32.wgsl.expected.glsl b/test/expressions/zero_init/array/u32.wgsl.expected.glsl
index 6a20609..f78daa6 100644
--- a/test/expressions/zero_init/array/u32.wgsl.expected.glsl
+++ b/test/expressions/zero_init/array/u32.wgsl.expected.glsl
@@ -5,12 +5,12 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 void f() {
   uint v[4] = uint[4](0u, 0u, 0u, 0u);
 }
+
diff --git a/test/expressions/zero_init/mat2x2/f32.wgsl.expected.glsl b/test/expressions/zero_init/mat2x2/f32.wgsl.expected.glsl
index d333532..517a2a7 100644
--- a/test/expressions/zero_init/mat2x2/f32.wgsl.expected.glsl
+++ b/test/expressions/zero_init/mat2x2/f32.wgsl.expected.glsl
@@ -5,12 +5,12 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 void f() {
   mat2 v = mat2(0.0f, 0.0f, 0.0f, 0.0f);
 }
+
diff --git a/test/expressions/zero_init/mat2x3/f32.wgsl.expected.glsl b/test/expressions/zero_init/mat2x3/f32.wgsl.expected.glsl
index b836b1a..7fa2090 100644
--- a/test/expressions/zero_init/mat2x3/f32.wgsl.expected.glsl
+++ b/test/expressions/zero_init/mat2x3/f32.wgsl.expected.glsl
@@ -5,12 +5,12 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 void f() {
   mat2x3 v = mat2x3(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
 }
+
diff --git a/test/expressions/zero_init/mat2x4/f32.wgsl.expected.glsl b/test/expressions/zero_init/mat2x4/f32.wgsl.expected.glsl
index b575ffd..1abeed6 100644
--- a/test/expressions/zero_init/mat2x4/f32.wgsl.expected.glsl
+++ b/test/expressions/zero_init/mat2x4/f32.wgsl.expected.glsl
@@ -5,12 +5,12 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 void f() {
   mat2x4 v = mat2x4(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
 }
+
diff --git a/test/expressions/zero_init/mat3x2/f32.wgsl.expected.glsl b/test/expressions/zero_init/mat3x2/f32.wgsl.expected.glsl
index a5ee363..40e1a7f 100644
--- a/test/expressions/zero_init/mat3x2/f32.wgsl.expected.glsl
+++ b/test/expressions/zero_init/mat3x2/f32.wgsl.expected.glsl
@@ -5,12 +5,12 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 void f() {
   mat3x2 v = mat3x2(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
 }
+
diff --git a/test/expressions/zero_init/mat3x3/f32.wgsl.expected.glsl b/test/expressions/zero_init/mat3x3/f32.wgsl.expected.glsl
index e283116..cfd03bb 100644
--- a/test/expressions/zero_init/mat3x3/f32.wgsl.expected.glsl
+++ b/test/expressions/zero_init/mat3x3/f32.wgsl.expected.glsl
@@ -5,12 +5,12 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 void f() {
   mat3 v = mat3(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
 }
+
diff --git a/test/expressions/zero_init/mat3x4/f32.wgsl.expected.glsl b/test/expressions/zero_init/mat3x4/f32.wgsl.expected.glsl
index a9af0e9..979ea88 100644
--- a/test/expressions/zero_init/mat3x4/f32.wgsl.expected.glsl
+++ b/test/expressions/zero_init/mat3x4/f32.wgsl.expected.glsl
@@ -5,12 +5,12 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 void f() {
   mat3x4 v = mat3x4(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
 }
+
diff --git a/test/expressions/zero_init/mat4x2/f32.wgsl.expected.glsl b/test/expressions/zero_init/mat4x2/f32.wgsl.expected.glsl
index 22cca40..2d5d77a 100644
--- a/test/expressions/zero_init/mat4x2/f32.wgsl.expected.glsl
+++ b/test/expressions/zero_init/mat4x2/f32.wgsl.expected.glsl
@@ -5,12 +5,12 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 void f() {
   mat4x2 v = mat4x2(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
 }
+
diff --git a/test/expressions/zero_init/mat4x3/f32.wgsl.expected.glsl b/test/expressions/zero_init/mat4x3/f32.wgsl.expected.glsl
index 2dc748e..7a71b37 100644
--- a/test/expressions/zero_init/mat4x3/f32.wgsl.expected.glsl
+++ b/test/expressions/zero_init/mat4x3/f32.wgsl.expected.glsl
@@ -5,12 +5,12 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 void f() {
   mat4x3 v = 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);
 }
+
diff --git a/test/expressions/zero_init/mat4x4/f32.wgsl.expected.glsl b/test/expressions/zero_init/mat4x4/f32.wgsl.expected.glsl
index 70b877a..1f94079 100644
--- a/test/expressions/zero_init/mat4x4/f32.wgsl.expected.glsl
+++ b/test/expressions/zero_init/mat4x4/f32.wgsl.expected.glsl
@@ -5,12 +5,12 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 void f() {
   mat4 v = 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);
 }
+
diff --git a/test/expressions/zero_init/scalar/bool.wgsl.expected.glsl b/test/expressions/zero_init/scalar/bool.wgsl.expected.glsl
index e8ff5f5..a7f7c2d 100644
--- a/test/expressions/zero_init/scalar/bool.wgsl.expected.glsl
+++ b/test/expressions/zero_init/scalar/bool.wgsl.expected.glsl
@@ -5,12 +5,12 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 void f() {
   bool v = false;
 }
+
diff --git a/test/expressions/zero_init/scalar/f32.wgsl.expected.glsl b/test/expressions/zero_init/scalar/f32.wgsl.expected.glsl
index 73fd41c..e0fa8af 100644
--- a/test/expressions/zero_init/scalar/f32.wgsl.expected.glsl
+++ b/test/expressions/zero_init/scalar/f32.wgsl.expected.glsl
@@ -5,12 +5,12 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 void f() {
   float v = 0.0f;
 }
+
diff --git a/test/expressions/zero_init/scalar/i32.wgsl.expected.glsl b/test/expressions/zero_init/scalar/i32.wgsl.expected.glsl
index 37ec2a1..e2e115e 100644
--- a/test/expressions/zero_init/scalar/i32.wgsl.expected.glsl
+++ b/test/expressions/zero_init/scalar/i32.wgsl.expected.glsl
@@ -5,12 +5,12 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 void f() {
   int v = 0;
 }
+
diff --git a/test/expressions/zero_init/scalar/u32.wgsl.expected.glsl b/test/expressions/zero_init/scalar/u32.wgsl.expected.glsl
index 8b743c5..29a2c66 100644
--- a/test/expressions/zero_init/scalar/u32.wgsl.expected.glsl
+++ b/test/expressions/zero_init/scalar/u32.wgsl.expected.glsl
@@ -5,12 +5,12 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 void f() {
   uint v = 0u;
 }
+
diff --git a/test/expressions/zero_init/struct/array.wgsl.expected.glsl b/test/expressions/zero_init/struct/array.wgsl.expected.glsl
index eb0a146..b51d09b 100644
--- a/test/expressions/zero_init/struct/array.wgsl.expected.glsl
+++ b/test/expressions/zero_init/struct/array.wgsl.expected.glsl
@@ -5,12 +5,11 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 struct S {
   float a[4];
 };
@@ -18,3 +17,4 @@
 void f() {
   S v = S(float[4](0.0f, 0.0f, 0.0f, 0.0f));
 }
+
diff --git a/test/expressions/zero_init/struct/scalar.wgsl.expected.glsl b/test/expressions/zero_init/struct/scalar.wgsl.expected.glsl
index 1aaa3c6..7c2cf98 100644
--- a/test/expressions/zero_init/struct/scalar.wgsl.expected.glsl
+++ b/test/expressions/zero_init/struct/scalar.wgsl.expected.glsl
@@ -5,12 +5,11 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 struct S {
   int i;
   uint u;
@@ -21,3 +20,4 @@
 void f() {
   S v = S(0, 0u, 0.0f, false);
 }
+
diff --git a/test/expressions/zero_init/vec2/bool.wgsl.expected.glsl b/test/expressions/zero_init/vec2/bool.wgsl.expected.glsl
index 564132f..73bbf51 100644
--- a/test/expressions/zero_init/vec2/bool.wgsl.expected.glsl
+++ b/test/expressions/zero_init/vec2/bool.wgsl.expected.glsl
@@ -5,12 +5,12 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 void f() {
   bvec2 v = bvec2(false, false);
 }
+
diff --git a/test/expressions/zero_init/vec2/f32.wgsl.expected.glsl b/test/expressions/zero_init/vec2/f32.wgsl.expected.glsl
index 777431c..7e16662 100644
--- a/test/expressions/zero_init/vec2/f32.wgsl.expected.glsl
+++ b/test/expressions/zero_init/vec2/f32.wgsl.expected.glsl
@@ -5,12 +5,12 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 void f() {
   vec2 v = vec2(0.0f, 0.0f);
 }
+
diff --git a/test/expressions/zero_init/vec2/i32.wgsl.expected.glsl b/test/expressions/zero_init/vec2/i32.wgsl.expected.glsl
index 63ced7c..7d201b3 100644
--- a/test/expressions/zero_init/vec2/i32.wgsl.expected.glsl
+++ b/test/expressions/zero_init/vec2/i32.wgsl.expected.glsl
@@ -5,12 +5,12 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 void f() {
   ivec2 v = ivec2(0, 0);
 }
+
diff --git a/test/expressions/zero_init/vec2/u32.wgsl.expected.glsl b/test/expressions/zero_init/vec2/u32.wgsl.expected.glsl
index 9952538..eb07fe3 100644
--- a/test/expressions/zero_init/vec2/u32.wgsl.expected.glsl
+++ b/test/expressions/zero_init/vec2/u32.wgsl.expected.glsl
@@ -5,12 +5,12 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 void f() {
   uvec2 v = uvec2(0u, 0u);
 }
+
diff --git a/test/expressions/zero_init/vec3/bool.wgsl.expected.glsl b/test/expressions/zero_init/vec3/bool.wgsl.expected.glsl
index 8da4d24..fe62845 100644
--- a/test/expressions/zero_init/vec3/bool.wgsl.expected.glsl
+++ b/test/expressions/zero_init/vec3/bool.wgsl.expected.glsl
@@ -5,12 +5,12 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 void f() {
   bvec3 v = bvec3(false, false, false);
 }
+
diff --git a/test/expressions/zero_init/vec3/f32.wgsl.expected.glsl b/test/expressions/zero_init/vec3/f32.wgsl.expected.glsl
index 9bf7e46..03af60b 100644
--- a/test/expressions/zero_init/vec3/f32.wgsl.expected.glsl
+++ b/test/expressions/zero_init/vec3/f32.wgsl.expected.glsl
@@ -5,12 +5,12 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 void f() {
   vec3 v = vec3(0.0f, 0.0f, 0.0f);
 }
+
diff --git a/test/expressions/zero_init/vec3/i32.wgsl.expected.glsl b/test/expressions/zero_init/vec3/i32.wgsl.expected.glsl
index 85ff26b..c99c12d 100644
--- a/test/expressions/zero_init/vec3/i32.wgsl.expected.glsl
+++ b/test/expressions/zero_init/vec3/i32.wgsl.expected.glsl
@@ -5,12 +5,12 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 void f() {
   ivec3 v = ivec3(0, 0, 0);
 }
+
diff --git a/test/expressions/zero_init/vec3/u32.wgsl.expected.glsl b/test/expressions/zero_init/vec3/u32.wgsl.expected.glsl
index 9618466..9ea7708 100644
--- a/test/expressions/zero_init/vec3/u32.wgsl.expected.glsl
+++ b/test/expressions/zero_init/vec3/u32.wgsl.expected.glsl
@@ -5,12 +5,12 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 void f() {
   uvec3 v = uvec3(0u, 0u, 0u);
 }
+
diff --git a/test/expressions/zero_init/vec4/bool.wgsl.expected.glsl b/test/expressions/zero_init/vec4/bool.wgsl.expected.glsl
index 486e93f..31e837d 100644
--- a/test/expressions/zero_init/vec4/bool.wgsl.expected.glsl
+++ b/test/expressions/zero_init/vec4/bool.wgsl.expected.glsl
@@ -5,12 +5,12 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 void f() {
   bvec4 v = bvec4(false, false, false, false);
 }
+
diff --git a/test/expressions/zero_init/vec4/f32.wgsl.expected.glsl b/test/expressions/zero_init/vec4/f32.wgsl.expected.glsl
index a80e2f4..049ff23 100644
--- a/test/expressions/zero_init/vec4/f32.wgsl.expected.glsl
+++ b/test/expressions/zero_init/vec4/f32.wgsl.expected.glsl
@@ -5,12 +5,12 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 void f() {
   vec4 v = vec4(0.0f, 0.0f, 0.0f, 0.0f);
 }
+
diff --git a/test/expressions/zero_init/vec4/i32.wgsl.expected.glsl b/test/expressions/zero_init/vec4/i32.wgsl.expected.glsl
index de96120..354ec54 100644
--- a/test/expressions/zero_init/vec4/i32.wgsl.expected.glsl
+++ b/test/expressions/zero_init/vec4/i32.wgsl.expected.glsl
@@ -5,12 +5,12 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 void f() {
   ivec4 v = ivec4(0, 0, 0, 0);
 }
+
diff --git a/test/expressions/zero_init/vec4/u32.wgsl.expected.glsl b/test/expressions/zero_init/vec4/u32.wgsl.expected.glsl
index f83dbc4..d2e1db5 100644
--- a/test/expressions/zero_init/vec4/u32.wgsl.expected.glsl
+++ b/test/expressions/zero_init/vec4/u32.wgsl.expected.glsl
@@ -5,12 +5,12 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 void f() {
   uvec4 v = uvec4(0u, 0u, 0u, 0u);
 }
+
diff --git a/test/identifiers/underscore/double/alias.wgsl.expected.glsl b/test/identifiers/underscore/double/alias.wgsl.expected.glsl
index 53fcf10..e4a9a6b 100644
--- a/test/identifiers/underscore/double/alias.wgsl.expected.glsl
+++ b/test/identifiers/underscore/double/alias.wgsl.expected.glsl
@@ -5,13 +5,13 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 void f() {
   int c = 0;
   int d = 0;
 }
+
diff --git a/test/identifiers/underscore/double/fn.wgsl.expected.glsl b/test/identifiers/underscore/double/fn.wgsl.expected.glsl
index 7b2cd08..7db0e21 100644
--- a/test/identifiers/underscore/double/fn.wgsl.expected.glsl
+++ b/test/identifiers/underscore/double/fn.wgsl.expected.glsl
@@ -5,12 +5,11 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 void a() {
 }
 
@@ -24,3 +23,4 @@
 void b__() {
   a__();
 }
+
diff --git a/test/identifiers/underscore/double/let.wgsl.expected.glsl b/test/identifiers/underscore/double/let.wgsl.expected.glsl
index 8930f1d..78fedf7 100644
--- a/test/identifiers/underscore/double/let.wgsl.expected.glsl
+++ b/test/identifiers/underscore/double/let.wgsl.expected.glsl
@@ -5,16 +5,15 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 const int a = 1;
 const int a__ = 2;
-
 void f() {
   int b = a;
   int b__ = a__;
 }
+
diff --git a/test/identifiers/underscore/double/parameter.wgsl.expected.glsl b/test/identifiers/underscore/double/parameter.wgsl.expected.glsl
index 3fb63a8..e1b6103 100644
--- a/test/identifiers/underscore/double/parameter.wgsl.expected.glsl
+++ b/test/identifiers/underscore/double/parameter.wgsl.expected.glsl
@@ -5,12 +5,12 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 void f(int a__) {
   int b = a__;
 }
+
diff --git a/test/identifiers/underscore/double/struct.wgsl.expected.glsl b/test/identifiers/underscore/double/struct.wgsl.expected.glsl
index 42b0567..55043eb 100644
--- a/test/identifiers/underscore/double/struct.wgsl.expected.glsl
+++ b/test/identifiers/underscore/double/struct.wgsl.expected.glsl
@@ -5,15 +5,15 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 struct a {
   int b;
 };
+
 struct a__ {
   int b__;
 };
@@ -22,3 +22,4 @@
   a__ c = a__(0);
   int d = c.b__;
 }
+
diff --git a/test/identifiers/underscore/double/var.wgsl.expected.glsl b/test/identifiers/underscore/double/var.wgsl.expected.glsl
index 5ce98aa..0a28a9e 100644
--- a/test/identifiers/underscore/double/var.wgsl.expected.glsl
+++ b/test/identifiers/underscore/double/var.wgsl.expected.glsl
@@ -5,16 +5,15 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 int a = 1;
 int a__ = 2;
-
 void f() {
   int b = a;
   int b__ = a__;
 }
+
diff --git a/test/identifiers/underscore/prefix/lower/alias.wgsl.expected.glsl b/test/identifiers/underscore/prefix/lower/alias.wgsl.expected.glsl
index 53fcf10..e4a9a6b 100644
--- a/test/identifiers/underscore/prefix/lower/alias.wgsl.expected.glsl
+++ b/test/identifiers/underscore/prefix/lower/alias.wgsl.expected.glsl
@@ -5,13 +5,13 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 void f() {
   int c = 0;
   int d = 0;
 }
+
diff --git a/test/identifiers/underscore/prefix/lower/fn.wgsl.expected.glsl b/test/identifiers/underscore/prefix/lower/fn.wgsl.expected.glsl
index 1160ea6..17482fd 100644
--- a/test/identifiers/underscore/prefix/lower/fn.wgsl.expected.glsl
+++ b/test/identifiers/underscore/prefix/lower/fn.wgsl.expected.glsl
@@ -5,12 +5,11 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 void a() {
 }
 
@@ -24,3 +23,4 @@
 void _b() {
   _a();
 }
+
diff --git a/test/identifiers/underscore/prefix/lower/let.wgsl.expected.glsl b/test/identifiers/underscore/prefix/lower/let.wgsl.expected.glsl
index 8f043f1..f4f4bea 100644
--- a/test/identifiers/underscore/prefix/lower/let.wgsl.expected.glsl
+++ b/test/identifiers/underscore/prefix/lower/let.wgsl.expected.glsl
@@ -5,16 +5,15 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 const int a = 1;
 const int _a = 2;
-
 void f() {
   int b = a;
   int _b = _a;
 }
+
diff --git a/test/identifiers/underscore/prefix/lower/parameter.wgsl.expected.glsl b/test/identifiers/underscore/prefix/lower/parameter.wgsl.expected.glsl
index 670f017..e87ca0b 100644
--- a/test/identifiers/underscore/prefix/lower/parameter.wgsl.expected.glsl
+++ b/test/identifiers/underscore/prefix/lower/parameter.wgsl.expected.glsl
@@ -5,12 +5,12 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 void f(int _a) {
   int b = _a;
 }
+
diff --git a/test/identifiers/underscore/prefix/lower/struct.wgsl.expected.glsl b/test/identifiers/underscore/prefix/lower/struct.wgsl.expected.glsl
index ca7b774..1ff7bdc 100644
--- a/test/identifiers/underscore/prefix/lower/struct.wgsl.expected.glsl
+++ b/test/identifiers/underscore/prefix/lower/struct.wgsl.expected.glsl
@@ -5,15 +5,15 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 struct a {
   int b;
 };
+
 struct _a {
   int _b;
 };
@@ -22,3 +22,4 @@
   _a c = _a(0);
   int d = c._b;
 }
+
diff --git a/test/identifiers/underscore/prefix/lower/var.wgsl.expected.glsl b/test/identifiers/underscore/prefix/lower/var.wgsl.expected.glsl
index 677a81e..db69473 100644
--- a/test/identifiers/underscore/prefix/lower/var.wgsl.expected.glsl
+++ b/test/identifiers/underscore/prefix/lower/var.wgsl.expected.glsl
@@ -5,16 +5,15 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 int a = 1;
 int _a = 2;
-
 void f() {
   int b = a;
   int _b = _a;
 }
+
diff --git a/test/identifiers/underscore/prefix/upper/alias.wgsl.expected.glsl b/test/identifiers/underscore/prefix/upper/alias.wgsl.expected.glsl
index 53fcf10..e4a9a6b 100644
--- a/test/identifiers/underscore/prefix/upper/alias.wgsl.expected.glsl
+++ b/test/identifiers/underscore/prefix/upper/alias.wgsl.expected.glsl
@@ -5,13 +5,13 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 void f() {
   int c = 0;
   int d = 0;
 }
+
diff --git a/test/identifiers/underscore/prefix/upper/fn.wgsl.expected.glsl b/test/identifiers/underscore/prefix/upper/fn.wgsl.expected.glsl
index aad927e..3088dd6 100644
--- a/test/identifiers/underscore/prefix/upper/fn.wgsl.expected.glsl
+++ b/test/identifiers/underscore/prefix/upper/fn.wgsl.expected.glsl
@@ -5,12 +5,11 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 void A() {
 }
 
@@ -24,3 +23,4 @@
 void _B() {
   _A();
 }
+
diff --git a/test/identifiers/underscore/prefix/upper/let.wgsl.expected.glsl b/test/identifiers/underscore/prefix/upper/let.wgsl.expected.glsl
index 6d5f7d2..de02479 100644
--- a/test/identifiers/underscore/prefix/upper/let.wgsl.expected.glsl
+++ b/test/identifiers/underscore/prefix/upper/let.wgsl.expected.glsl
@@ -5,16 +5,15 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 const int A = 1;
 const int _A = 2;
-
 void f() {
   int B = A;
   int _B = _A;
 }
+
diff --git a/test/identifiers/underscore/prefix/upper/parameter.wgsl.expected.glsl b/test/identifiers/underscore/prefix/upper/parameter.wgsl.expected.glsl
index 6bed49e..7b37d8f 100644
--- a/test/identifiers/underscore/prefix/upper/parameter.wgsl.expected.glsl
+++ b/test/identifiers/underscore/prefix/upper/parameter.wgsl.expected.glsl
@@ -5,12 +5,12 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 void f(int _A) {
   int B = _A;
 }
+
diff --git a/test/identifiers/underscore/prefix/upper/struct.wgsl.expected.glsl b/test/identifiers/underscore/prefix/upper/struct.wgsl.expected.glsl
index 05d196e..8334244 100644
--- a/test/identifiers/underscore/prefix/upper/struct.wgsl.expected.glsl
+++ b/test/identifiers/underscore/prefix/upper/struct.wgsl.expected.glsl
@@ -5,15 +5,15 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 struct A {
   int B;
 };
+
 struct _A {
   int _B;
 };
@@ -22,3 +22,4 @@
   _A c = _A(0);
   int d = c._B;
 }
+
diff --git a/test/identifiers/underscore/prefix/upper/var.wgsl.expected.glsl b/test/identifiers/underscore/prefix/upper/var.wgsl.expected.glsl
index 96d1732..8285b2a 100644
--- a/test/identifiers/underscore/prefix/upper/var.wgsl.expected.glsl
+++ b/test/identifiers/underscore/prefix/upper/var.wgsl.expected.glsl
@@ -5,16 +5,15 @@
 void unused_entry_point() {
   return;
 }
+
 void main() {
   unused_entry_point();
 }
 
-
-
 int A = 1;
 int _A = 2;
-
 void f() {
   int B = A;
   int _B = _A;
 }
+
diff --git a/test/intrinsics/arrayLength/complex_via_let.wgsl.expected.glsl b/test/intrinsics/arrayLength/complex_via_let.wgsl.expected.glsl
index 1768180..b3f0b74 100644
--- a/test/intrinsics/arrayLength/complex_via_let.wgsl.expected.glsl
+++ b/test/intrinsics/arrayLength/complex_via_let.wgsl.expected.glsl
@@ -3,11 +3,9 @@
 #version 310 es
 precision mediump float;
 
-
 layout(binding = 0) buffer S_1 {
   int a[];
 } G;
-
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void tint_symbol() {
   uint tint_symbol_2 = 0u;
@@ -16,14 +14,14 @@
   uint l1 = tint_symbol_3;
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
 Error parsing GLSL shader:
-ERROR: 0:12: 'GetDimensions' : no such field in structure 
-ERROR: 0:12: '' : compilation terminated 
+ERROR: 0:10: 'GetDimensions' : no such field in structure 
+ERROR: 0:10: '' : compilation terminated 
 ERROR: 2 compilation errors.  No code generated.
 
 
diff --git a/test/intrinsics/arrayLength/complex_via_let_no_struct.wgsl.expected.glsl b/test/intrinsics/arrayLength/complex_via_let_no_struct.wgsl.expected.glsl
index 068c081..36ad7bd 100644
--- a/test/intrinsics/arrayLength/complex_via_let_no_struct.wgsl.expected.glsl
+++ b/test/intrinsics/arrayLength/complex_via_let_no_struct.wgsl.expected.glsl
@@ -3,11 +3,9 @@
 #version 310 es
 precision mediump float;
 
-
 layout(binding = 0) buffer G_block_1 {
   int inner[];
 } G;
-
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void tint_symbol() {
   uint tint_symbol_2 = 0u;
@@ -16,14 +14,14 @@
   uint l1 = tint_symbol_3;
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
 Error parsing GLSL shader:
-ERROR: 0:12: '.' : cannot apply to an array: GetDimensions
-ERROR: 0:12: '' : compilation terminated 
+ERROR: 0:10: '.' : cannot apply to an array: GetDimensions
+ERROR: 0:10: '' : compilation terminated 
 ERROR: 2 compilation errors.  No code generated.
 
 
diff --git a/test/intrinsics/arrayLength/deprecated.wgsl.expected.glsl b/test/intrinsics/arrayLength/deprecated.wgsl.expected.glsl
index fa23904..86ee59c 100644
--- a/test/intrinsics/arrayLength/deprecated.wgsl.expected.glsl
+++ b/test/intrinsics/arrayLength/deprecated.wgsl.expected.glsl
@@ -3,11 +3,9 @@
 #version 310 es
 precision mediump float;
 
-
 layout(binding = 0) buffer S_1 {
   int a[];
 } G;
-
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void tint_symbol() {
   uint tint_symbol_2 = 0u;
@@ -17,14 +15,14 @@
   uint l2 = tint_symbol_3;
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
 Error parsing GLSL shader:
-ERROR: 0:12: 'GetDimensions' : no such field in structure 
-ERROR: 0:12: '' : compilation terminated 
+ERROR: 0:10: 'GetDimensions' : no such field in structure 
+ERROR: 0:10: '' : compilation terminated 
 ERROR: 2 compilation errors.  No code generated.
 
 
diff --git a/test/intrinsics/arrayLength/simple.wgsl.expected.glsl b/test/intrinsics/arrayLength/simple.wgsl.expected.glsl
index 1768180..b3f0b74 100644
--- a/test/intrinsics/arrayLength/simple.wgsl.expected.glsl
+++ b/test/intrinsics/arrayLength/simple.wgsl.expected.glsl
@@ -3,11 +3,9 @@
 #version 310 es
 precision mediump float;
 
-
 layout(binding = 0) buffer S_1 {
   int a[];
 } G;
-
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void tint_symbol() {
   uint tint_symbol_2 = 0u;
@@ -16,14 +14,14 @@
   uint l1 = tint_symbol_3;
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
 Error parsing GLSL shader:
-ERROR: 0:12: 'GetDimensions' : no such field in structure 
-ERROR: 0:12: '' : compilation terminated 
+ERROR: 0:10: 'GetDimensions' : no such field in structure 
+ERROR: 0:10: '' : compilation terminated 
 ERROR: 2 compilation errors.  No code generated.
 
 
diff --git a/test/intrinsics/arrayLength/simple_no_struct.wgsl.expected.glsl b/test/intrinsics/arrayLength/simple_no_struct.wgsl.expected.glsl
index 068c081..36ad7bd 100644
--- a/test/intrinsics/arrayLength/simple_no_struct.wgsl.expected.glsl
+++ b/test/intrinsics/arrayLength/simple_no_struct.wgsl.expected.glsl
@@ -3,11 +3,9 @@
 #version 310 es
 precision mediump float;
 
-
 layout(binding = 0) buffer G_block_1 {
   int inner[];
 } G;
-
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void tint_symbol() {
   uint tint_symbol_2 = 0u;
@@ -16,14 +14,14 @@
   uint l1 = tint_symbol_3;
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
 Error parsing GLSL shader:
-ERROR: 0:12: '.' : cannot apply to an array: GetDimensions
-ERROR: 0:12: '' : compilation terminated 
+ERROR: 0:10: '.' : cannot apply to an array: GetDimensions
+ERROR: 0:10: '' : compilation terminated 
 ERROR: 2 compilation errors.  No code generated.
 
 
diff --git a/test/intrinsics/arrayLength/via_let.wgsl.expected.glsl b/test/intrinsics/arrayLength/via_let.wgsl.expected.glsl
index 1768180..b3f0b74 100644
--- a/test/intrinsics/arrayLength/via_let.wgsl.expected.glsl
+++ b/test/intrinsics/arrayLength/via_let.wgsl.expected.glsl
@@ -3,11 +3,9 @@
 #version 310 es
 precision mediump float;
 
-
 layout(binding = 0) buffer S_1 {
   int a[];
 } G;
-
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void tint_symbol() {
   uint tint_symbol_2 = 0u;
@@ -16,14 +14,14 @@
   uint l1 = tint_symbol_3;
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
 Error parsing GLSL shader:
-ERROR: 0:12: 'GetDimensions' : no such field in structure 
-ERROR: 0:12: '' : compilation terminated 
+ERROR: 0:10: 'GetDimensions' : no such field in structure 
+ERROR: 0:10: '' : compilation terminated 
 ERROR: 2 compilation errors.  No code generated.
 
 
diff --git a/test/intrinsics/arrayLength/via_let_complex.wgsl.expected.glsl b/test/intrinsics/arrayLength/via_let_complex.wgsl.expected.glsl
index 1768180..b3f0b74 100644
--- a/test/intrinsics/arrayLength/via_let_complex.wgsl.expected.glsl
+++ b/test/intrinsics/arrayLength/via_let_complex.wgsl.expected.glsl
@@ -3,11 +3,9 @@
 #version 310 es
 precision mediump float;
 
-
 layout(binding = 0) buffer S_1 {
   int a[];
 } G;
-
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void tint_symbol() {
   uint tint_symbol_2 = 0u;
@@ -16,14 +14,14 @@
   uint l1 = tint_symbol_3;
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
 Error parsing GLSL shader:
-ERROR: 0:12: 'GetDimensions' : no such field in structure 
-ERROR: 0:12: '' : compilation terminated 
+ERROR: 0:10: 'GetDimensions' : no such field in structure 
+ERROR: 0:10: '' : compilation terminated 
 ERROR: 2 compilation errors.  No code generated.
 
 
diff --git a/test/intrinsics/arrayLength/via_let_complex_no_struct.wgsl.expected.glsl b/test/intrinsics/arrayLength/via_let_complex_no_struct.wgsl.expected.glsl
index 068c081..36ad7bd 100644
--- a/test/intrinsics/arrayLength/via_let_complex_no_struct.wgsl.expected.glsl
+++ b/test/intrinsics/arrayLength/via_let_complex_no_struct.wgsl.expected.glsl
@@ -3,11 +3,9 @@
 #version 310 es
 precision mediump float;
 
-
 layout(binding = 0) buffer G_block_1 {
   int inner[];
 } G;
-
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void tint_symbol() {
   uint tint_symbol_2 = 0u;
@@ -16,14 +14,14 @@
   uint l1 = tint_symbol_3;
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
 Error parsing GLSL shader:
-ERROR: 0:12: '.' : cannot apply to an array: GetDimensions
-ERROR: 0:12: '' : compilation terminated 
+ERROR: 0:10: '.' : cannot apply to an array: GetDimensions
+ERROR: 0:10: '' : compilation terminated 
 ERROR: 2 compilation errors.  No code generated.
 
 
diff --git a/test/intrinsics/arrayLength/via_let_no_struct.wgsl.expected.glsl b/test/intrinsics/arrayLength/via_let_no_struct.wgsl.expected.glsl
index 068c081..36ad7bd 100644
--- a/test/intrinsics/arrayLength/via_let_no_struct.wgsl.expected.glsl
+++ b/test/intrinsics/arrayLength/via_let_no_struct.wgsl.expected.glsl
@@ -3,11 +3,9 @@
 #version 310 es
 precision mediump float;
 
-
 layout(binding = 0) buffer G_block_1 {
   int inner[];
 } G;
-
 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
 void tint_symbol() {
   uint tint_symbol_2 = 0u;
@@ -16,14 +14,14 @@
   uint l1 = tint_symbol_3;
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
 Error parsing GLSL shader:
-ERROR: 0:12: '.' : cannot apply to an array: GetDimensions
-ERROR: 0:12: '' : compilation terminated 
+ERROR: 0:10: '.' : cannot apply to an array: GetDimensions
+ERROR: 0:10: '' : compilation terminated 
 ERROR: 2 compilation errors.  No code generated.
 
 
diff --git a/test/intrinsics/degrees.spvasm.expected.glsl b/test/intrinsics/degrees.spvasm.expected.glsl
index 2069052..7512959 100644
--- a/test/intrinsics/degrees.spvasm.expected.glsl
+++ b/test/intrinsics/degrees.spvasm.expected.glsl
@@ -19,8 +19,8 @@
   main_1();
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
diff --git a/test/intrinsics/frexp.wgsl.expected.glsl b/test/intrinsics/frexp.wgsl.expected.glsl
index a0d5cde..cf882c2 100644
--- a/test/intrinsics/frexp.wgsl.expected.glsl
+++ b/test/intrinsics/frexp.wgsl.expected.glsl
@@ -7,6 +7,7 @@
   float sig;
   int exp;
 };
+
 frexp_result tint_frexp(float param_0) {
   float exp;
   float sig = frexp(param_0, exp);
@@ -22,14 +23,14 @@
   float sig = res.sig;
   return;
 }
+
 void main() {
   tint_symbol();
 }
 
-
 Error parsing GLSL shader:
-ERROR: 0:10: 'frexp' : no matching overloaded function found 
-ERROR: 0:10: '' : compilation terminated 
+ERROR: 0:11: 'frexp' : no matching overloaded function found 
+ERROR: 0:11: '' : compilation terminated 
 ERROR: 2 compilation errors.  No code generated.
 
 
diff --git a/test/intrinsics/gen/abs/002533.wgsl.expected.glsl b/test/intrinsics/gen/abs/002533.wgsl.expected.glsl
index a9d9604..7506230 100644
--- a/test/intrinsics/gen/abs/002533.wgsl.expected.glsl
+++ b/test/intrinsics/gen/abs/002533.wgsl.expected.glsl
@@ -20,6 +20,8 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
 void main() {
   tint_symbol outputs;
   outputs = vertex_main();
@@ -28,7 +30,6 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -44,11 +45,11 @@
   abs_002533();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -65,8 +66,8 @@
   abs_002533();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/abs/005174.wgsl.expected.glsl b/test/intrinsics/gen/abs/005174.wgsl.expected.glsl
index 71f22f8..937d4f0 100644
--- a/test/intrinsics/gen/abs/005174.wgsl.expected.glsl
+++ b/test/intrinsics/gen/abs/005174.wgsl.expected.glsl
@@ -20,6 +20,8 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
 void main() {
   tint_symbol outputs;
   outputs = vertex_main();
@@ -28,7 +30,6 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -44,11 +45,11 @@
   abs_005174();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -65,8 +66,8 @@
   abs_005174();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/abs/1ce782.wgsl.expected.glsl b/test/intrinsics/gen/abs/1ce782.wgsl.expected.glsl
index 1f4097a..d3ffa08 100644
--- a/test/intrinsics/gen/abs/1ce782.wgsl.expected.glsl
+++ b/test/intrinsics/gen/abs/1ce782.wgsl.expected.glsl
@@ -22,6 +22,8 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
 void main() {
   tint_symbol outputs;
   outputs = vertex_main();
@@ -30,7 +32,6 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 Error parsing GLSL shader:
 ERROR: 0:5: 'abs' : no matching overloaded function found 
 ERROR: 0:5: '=' :  cannot convert from ' const float' to ' temp highp 4-component vector of uint'
@@ -54,11 +55,11 @@
   abs_1ce782();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 Error parsing GLSL shader:
 ERROR: 0:5: 'abs' : no matching overloaded function found 
 ERROR: 0:5: '=' :  cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
@@ -83,11 +84,11 @@
   abs_1ce782();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
 Error parsing GLSL shader:
 ERROR: 0:5: 'abs' : no matching overloaded function found 
 ERROR: 0:5: '=' :  cannot convert from ' const float' to ' temp highp 4-component vector of uint'
diff --git a/test/intrinsics/gen/abs/1e9d53.wgsl.expected.glsl b/test/intrinsics/gen/abs/1e9d53.wgsl.expected.glsl
index cabdd21..5fdaf61 100644
--- a/test/intrinsics/gen/abs/1e9d53.wgsl.expected.glsl
+++ b/test/intrinsics/gen/abs/1e9d53.wgsl.expected.glsl
@@ -20,6 +20,8 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
 void main() {
   tint_symbol outputs;
   outputs = vertex_main();
@@ -28,7 +30,6 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -44,11 +45,11 @@
   abs_1e9d53();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -65,8 +66,8 @@
   abs_1e9d53();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/abs/467cd1.wgsl.expected.glsl b/test/intrinsics/gen/abs/467cd1.wgsl.expected.glsl
index 219081c..fe400bb 100644
--- a/test/intrinsics/gen/abs/467cd1.wgsl.expected.glsl
+++ b/test/intrinsics/gen/abs/467cd1.wgsl.expected.glsl
@@ -22,6 +22,8 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
 void main() {
   tint_symbol outputs;
   outputs = vertex_main();
@@ -30,7 +32,6 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 Error parsing GLSL shader:
 ERROR: 0:5: 'abs' : no matching overloaded function found 
 ERROR: 0:5: '=' :  cannot convert from ' const float' to ' temp highp uint'
@@ -54,11 +55,11 @@
   abs_467cd1();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 Error parsing GLSL shader:
 ERROR: 0:5: 'abs' : no matching overloaded function found 
 ERROR: 0:5: '=' :  cannot convert from ' const float' to ' temp mediump uint'
@@ -83,11 +84,11 @@
   abs_467cd1();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
 Error parsing GLSL shader:
 ERROR: 0:5: 'abs' : no matching overloaded function found 
 ERROR: 0:5: '=' :  cannot convert from ' const float' to ' temp highp uint'
diff --git a/test/intrinsics/gen/abs/4ad288.wgsl.expected.glsl b/test/intrinsics/gen/abs/4ad288.wgsl.expected.glsl
index d13d663..8e23912 100644
--- a/test/intrinsics/gen/abs/4ad288.wgsl.expected.glsl
+++ b/test/intrinsics/gen/abs/4ad288.wgsl.expected.glsl
@@ -20,6 +20,8 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
 void main() {
   tint_symbol outputs;
   outputs = vertex_main();
@@ -28,7 +30,6 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -44,11 +45,11 @@
   abs_4ad288();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -65,8 +66,8 @@
   abs_4ad288();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/abs/5ad50a.wgsl.expected.glsl b/test/intrinsics/gen/abs/5ad50a.wgsl.expected.glsl
index 87e4f31..3c90e55 100644
--- a/test/intrinsics/gen/abs/5ad50a.wgsl.expected.glsl
+++ b/test/intrinsics/gen/abs/5ad50a.wgsl.expected.glsl
@@ -20,6 +20,8 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
 void main() {
   tint_symbol outputs;
   outputs = vertex_main();
@@ -28,7 +30,6 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -44,11 +45,11 @@
   abs_5ad50a();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -65,8 +66,8 @@
   abs_5ad50a();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/abs/7326de.wgsl.expected.glsl b/test/intrinsics/gen/abs/7326de.wgsl.expected.glsl
index cba64f1..149dfb5 100644
--- a/test/intrinsics/gen/abs/7326de.wgsl.expected.glsl
+++ b/test/intrinsics/gen/abs/7326de.wgsl.expected.glsl
@@ -22,6 +22,8 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
 void main() {
   tint_symbol outputs;
   outputs = vertex_main();
@@ -30,7 +32,6 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 Error parsing GLSL shader:
 ERROR: 0:5: 'abs' : no matching overloaded function found 
 ERROR: 0:5: '=' :  cannot convert from ' const float' to ' temp highp 3-component vector of uint'
@@ -54,11 +55,11 @@
   abs_7326de();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 Error parsing GLSL shader:
 ERROR: 0:5: 'abs' : no matching overloaded function found 
 ERROR: 0:5: '=' :  cannot convert from ' const float' to ' temp mediump 3-component vector of uint'
@@ -83,11 +84,11 @@
   abs_7326de();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
 Error parsing GLSL shader:
 ERROR: 0:5: 'abs' : no matching overloaded function found 
 ERROR: 0:5: '=' :  cannot convert from ' const float' to ' temp highp 3-component vector of uint'
diff --git a/test/intrinsics/gen/abs/7f28e6.wgsl.expected.glsl b/test/intrinsics/gen/abs/7f28e6.wgsl.expected.glsl
index 4040568..61a6d18 100644
--- a/test/intrinsics/gen/abs/7f28e6.wgsl.expected.glsl
+++ b/test/intrinsics/gen/abs/7f28e6.wgsl.expected.glsl
@@ -22,6 +22,8 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
 void main() {
   tint_symbol outputs;
   outputs = vertex_main();
@@ -30,7 +32,6 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 Error parsing GLSL shader:
 ERROR: 0:5: 'abs' : no matching overloaded function found 
 ERROR: 0:5: '=' :  cannot convert from ' const float' to ' temp highp 2-component vector of uint'
@@ -54,11 +55,11 @@
   abs_7f28e6();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 Error parsing GLSL shader:
 ERROR: 0:5: 'abs' : no matching overloaded function found 
 ERROR: 0:5: '=' :  cannot convert from ' const float' to ' temp mediump 2-component vector of uint'
@@ -83,11 +84,11 @@
   abs_7f28e6();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
 Error parsing GLSL shader:
 ERROR: 0:5: 'abs' : no matching overloaded function found 
 ERROR: 0:5: '=' :  cannot convert from ' const float' to ' temp highp 2-component vector of uint'
diff --git a/test/intrinsics/gen/abs/7faa9e.wgsl.expected.glsl b/test/intrinsics/gen/abs/7faa9e.wgsl.expected.glsl
index 5937ef3..668bba9 100644
--- a/test/intrinsics/gen/abs/7faa9e.wgsl.expected.glsl
+++ b/test/intrinsics/gen/abs/7faa9e.wgsl.expected.glsl
@@ -20,6 +20,8 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
 void main() {
   tint_symbol outputs;
   outputs = vertex_main();
@@ -28,7 +30,6 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -44,11 +45,11 @@
   abs_7faa9e();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -65,8 +66,8 @@
   abs_7faa9e();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/abs/9c80a6.wgsl.expected.glsl b/test/intrinsics/gen/abs/9c80a6.wgsl.expected.glsl
index 0d7c01a..c396532 100644
--- a/test/intrinsics/gen/abs/9c80a6.wgsl.expected.glsl
+++ b/test/intrinsics/gen/abs/9c80a6.wgsl.expected.glsl
@@ -20,6 +20,8 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
 void main() {
   tint_symbol outputs;
   outputs = vertex_main();
@@ -28,7 +30,6 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -44,11 +45,11 @@
   abs_9c80a6();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -65,8 +66,8 @@
   abs_9c80a6();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/abs/b96037.wgsl.expected.glsl b/test/intrinsics/gen/abs/b96037.wgsl.expected.glsl
index 09f3cae..f5d5e91 100644
--- a/test/intrinsics/gen/abs/b96037.wgsl.expected.glsl
+++ b/test/intrinsics/gen/abs/b96037.wgsl.expected.glsl
@@ -20,6 +20,8 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
 void main() {
   tint_symbol outputs;
   outputs = vertex_main();
@@ -28,7 +30,6 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -44,11 +45,11 @@
   abs_b96037();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -65,8 +66,8 @@
   abs_b96037();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/acos/489247.wgsl.expected.glsl b/test/intrinsics/gen/acos/489247.wgsl.expected.glsl
index a70ce0b..9b74954 100644
--- a/test/intrinsics/gen/acos/489247.wgsl.expected.glsl
+++ b/test/intrinsics/gen/acos/489247.wgsl.expected.glsl
@@ -20,6 +20,8 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
 void main() {
   tint_symbol outputs;
   outputs = vertex_main();
@@ -28,7 +30,6 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -44,11 +45,11 @@
   acos_489247();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -65,8 +66,8 @@
   acos_489247();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/acos/8e2acf.wgsl.expected.glsl b/test/intrinsics/gen/acos/8e2acf.wgsl.expected.glsl
index 6022d54..e6d69bd 100644
--- a/test/intrinsics/gen/acos/8e2acf.wgsl.expected.glsl
+++ b/test/intrinsics/gen/acos/8e2acf.wgsl.expected.glsl
@@ -20,6 +20,8 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
 void main() {
   tint_symbol outputs;
   outputs = vertex_main();
@@ -28,7 +30,6 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -44,11 +45,11 @@
   acos_8e2acf();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -65,8 +66,8 @@
   acos_8e2acf();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/acos/a610c4.wgsl.expected.glsl b/test/intrinsics/gen/acos/a610c4.wgsl.expected.glsl
index 80ccb9b..20c61a6 100644
--- a/test/intrinsics/gen/acos/a610c4.wgsl.expected.glsl
+++ b/test/intrinsics/gen/acos/a610c4.wgsl.expected.glsl
@@ -20,6 +20,8 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
 void main() {
   tint_symbol outputs;
   outputs = vertex_main();
@@ -28,7 +30,6 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -44,11 +45,11 @@
   acos_a610c4();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -65,8 +66,8 @@
   acos_a610c4();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/acos/dfc915.wgsl.expected.glsl b/test/intrinsics/gen/acos/dfc915.wgsl.expected.glsl
index 1c696f0..5d54b67 100644
--- a/test/intrinsics/gen/acos/dfc915.wgsl.expected.glsl
+++ b/test/intrinsics/gen/acos/dfc915.wgsl.expected.glsl
@@ -20,6 +20,8 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
 void main() {
   tint_symbol outputs;
   outputs = vertex_main();
@@ -28,7 +30,6 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -44,11 +45,11 @@
   acos_dfc915();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -65,8 +66,8 @@
   acos_dfc915();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/all/353d6a.wgsl.expected.glsl b/test/intrinsics/gen/all/353d6a.wgsl.expected.glsl
index 5873a4a..293dff0 100644
--- a/test/intrinsics/gen/all/353d6a.wgsl.expected.glsl
+++ b/test/intrinsics/gen/all/353d6a.wgsl.expected.glsl
@@ -22,6 +22,8 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
 void main() {
   tint_symbol outputs;
   outputs = vertex_main();
@@ -30,7 +32,6 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 Error parsing GLSL shader:
 ERROR: 0:5: 'all' : no matching overloaded function found 
 ERROR: 0:5: '=' :  cannot convert from ' const float' to ' temp bool'
@@ -54,11 +55,11 @@
   all_353d6a();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 Error parsing GLSL shader:
 ERROR: 0:5: 'all' : no matching overloaded function found 
 ERROR: 0:5: '=' :  cannot convert from ' const float' to ' temp bool'
@@ -83,11 +84,11 @@
   all_353d6a();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
 Error parsing GLSL shader:
 ERROR: 0:5: 'all' : no matching overloaded function found 
 ERROR: 0:5: '=' :  cannot convert from ' const float' to ' temp bool'
diff --git a/test/intrinsics/gen/all/986c7b.wgsl.expected.glsl b/test/intrinsics/gen/all/986c7b.wgsl.expected.glsl
index 9da0a90..0e91cf6 100644
--- a/test/intrinsics/gen/all/986c7b.wgsl.expected.glsl
+++ b/test/intrinsics/gen/all/986c7b.wgsl.expected.glsl
@@ -20,6 +20,8 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
 void main() {
   tint_symbol outputs;
   outputs = vertex_main();
@@ -28,7 +30,6 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -44,11 +45,11 @@
   all_986c7b();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -65,8 +66,8 @@
   all_986c7b();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/all/bd2dba.wgsl.expected.glsl b/test/intrinsics/gen/all/bd2dba.wgsl.expected.glsl
index f8de1d2..111a40a 100644
--- a/test/intrinsics/gen/all/bd2dba.wgsl.expected.glsl
+++ b/test/intrinsics/gen/all/bd2dba.wgsl.expected.glsl
@@ -20,6 +20,8 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
 void main() {
   tint_symbol outputs;
   outputs = vertex_main();
@@ -28,7 +30,6 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -44,11 +45,11 @@
   all_bd2dba();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -65,8 +66,8 @@
   all_bd2dba();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/all/f46790.wgsl.expected.glsl b/test/intrinsics/gen/all/f46790.wgsl.expected.glsl
index d3bc0fe..ca1909a 100644
--- a/test/intrinsics/gen/all/f46790.wgsl.expected.glsl
+++ b/test/intrinsics/gen/all/f46790.wgsl.expected.glsl
@@ -20,6 +20,8 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
 void main() {
   tint_symbol outputs;
   outputs = vertex_main();
@@ -28,7 +30,6 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -44,11 +45,11 @@
   all_f46790();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -65,8 +66,8 @@
   all_f46790();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/any/083428.wgsl.expected.glsl b/test/intrinsics/gen/any/083428.wgsl.expected.glsl
index 168f1d3..0e3b9ab 100644
--- a/test/intrinsics/gen/any/083428.wgsl.expected.glsl
+++ b/test/intrinsics/gen/any/083428.wgsl.expected.glsl
@@ -20,6 +20,8 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
 void main() {
   tint_symbol outputs;
   outputs = vertex_main();
@@ -28,7 +30,6 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -44,11 +45,11 @@
   any_083428();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -65,8 +66,8 @@
   any_083428();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/any/0e3e58.wgsl.expected.glsl b/test/intrinsics/gen/any/0e3e58.wgsl.expected.glsl
index 22a2676..e2b9708 100644
--- a/test/intrinsics/gen/any/0e3e58.wgsl.expected.glsl
+++ b/test/intrinsics/gen/any/0e3e58.wgsl.expected.glsl
@@ -20,6 +20,8 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
 void main() {
   tint_symbol outputs;
   outputs = vertex_main();
@@ -28,7 +30,6 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -44,11 +45,11 @@
   any_0e3e58();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -65,8 +66,8 @@
   any_0e3e58();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/any/2ab91a.wgsl.expected.glsl b/test/intrinsics/gen/any/2ab91a.wgsl.expected.glsl
index eecacd1..fcfa374 100644
--- a/test/intrinsics/gen/any/2ab91a.wgsl.expected.glsl
+++ b/test/intrinsics/gen/any/2ab91a.wgsl.expected.glsl
@@ -22,6 +22,8 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
 void main() {
   tint_symbol outputs;
   outputs = vertex_main();
@@ -30,7 +32,6 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 Error parsing GLSL shader:
 ERROR: 0:5: 'any' : no matching overloaded function found 
 ERROR: 0:5: '=' :  cannot convert from ' const float' to ' temp bool'
@@ -54,11 +55,11 @@
   any_2ab91a();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 Error parsing GLSL shader:
 ERROR: 0:5: 'any' : no matching overloaded function found 
 ERROR: 0:5: '=' :  cannot convert from ' const float' to ' temp bool'
@@ -83,11 +84,11 @@
   any_2ab91a();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
 Error parsing GLSL shader:
 ERROR: 0:5: 'any' : no matching overloaded function found 
 ERROR: 0:5: '=' :  cannot convert from ' const float' to ' temp bool'
diff --git a/test/intrinsics/gen/any/e755c1.wgsl.expected.glsl b/test/intrinsics/gen/any/e755c1.wgsl.expected.glsl
index c07e8ae..a729c5c 100644
--- a/test/intrinsics/gen/any/e755c1.wgsl.expected.glsl
+++ b/test/intrinsics/gen/any/e755c1.wgsl.expected.glsl
@@ -20,6 +20,8 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
 void main() {
   tint_symbol outputs;
   outputs = vertex_main();
@@ -28,7 +30,6 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -44,11 +45,11 @@
   any_e755c1();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -65,8 +66,8 @@
   any_e755c1();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/arrayLength/1588cd.wgsl.expected.glsl b/test/intrinsics/gen/arrayLength/1588cd.wgsl.expected.glsl
index 79b0117..6b1d6e3 100644
--- a/test/intrinsics/gen/arrayLength/1588cd.wgsl.expected.glsl
+++ b/test/intrinsics/gen/arrayLength/1588cd.wgsl.expected.glsl
@@ -3,11 +3,9 @@
 #version 310 es
 precision mediump float;
 
-
 layout(binding = 1) buffer SB_RO_1 {
   int arg_0[];
 } sb_ro;
-
 void arrayLength_1588cd() {
   uint tint_symbol_2 = 0u;
   sb_ro.GetDimensions(tint_symbol_2);
@@ -30,6 +28,8 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
 void main() {
   tint_symbol outputs;
   outputs = vertex_main();
@@ -38,10 +38,9 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 Error parsing GLSL shader:
-ERROR: 0:11: 'GetDimensions' : no such field in structure 
-ERROR: 0:11: '' : compilation terminated 
+ERROR: 0:9: 'GetDimensions' : no such field in structure 
+ERROR: 0:9: '' : compilation terminated 
 ERROR: 2 compilation errors.  No code generated.
 
 
@@ -49,11 +48,9 @@
 #version 310 es
 precision mediump float;
 
-
 layout(binding = 1) buffer SB_RO_1 {
   int arg_0[];
 } sb_ro;
-
 void arrayLength_1588cd() {
   uint tint_symbol_2 = 0u;
   sb_ro.GetDimensions(tint_symbol_2);
@@ -69,14 +66,14 @@
   arrayLength_1588cd();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 Error parsing GLSL shader:
-ERROR: 0:11: 'GetDimensions' : no such field in structure 
-ERROR: 0:11: '' : compilation terminated 
+ERROR: 0:9: 'GetDimensions' : no such field in structure 
+ERROR: 0:9: '' : compilation terminated 
 ERROR: 2 compilation errors.  No code generated.
 
 
@@ -84,11 +81,9 @@
 #version 310 es
 precision mediump float;
 
-
 layout(binding = 1) buffer SB_RO_1 {
   int arg_0[];
 } sb_ro;
-
 void arrayLength_1588cd() {
   uint tint_symbol_2 = 0u;
   sb_ro.GetDimensions(tint_symbol_2);
@@ -105,14 +100,14 @@
   arrayLength_1588cd();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
 Error parsing GLSL shader:
-ERROR: 0:11: 'GetDimensions' : no such field in structure 
-ERROR: 0:11: '' : compilation terminated 
+ERROR: 0:9: 'GetDimensions' : no such field in structure 
+ERROR: 0:9: '' : compilation terminated 
 ERROR: 2 compilation errors.  No code generated.
 
 
diff --git a/test/intrinsics/gen/arrayLength/61b1c7.wgsl.expected.glsl b/test/intrinsics/gen/arrayLength/61b1c7.wgsl.expected.glsl
index 39316b0..452afab 100644
--- a/test/intrinsics/gen/arrayLength/61b1c7.wgsl.expected.glsl
+++ b/test/intrinsics/gen/arrayLength/61b1c7.wgsl.expected.glsl
@@ -3,11 +3,9 @@
 #version 310 es
 precision mediump float;
 
-
 layout(binding = 0) buffer SB_RW_1 {
   int arg_0[];
 } sb_rw;
-
 void arrayLength_61b1c7() {
   uint tint_symbol_2 = 0u;
   sb_rw.GetDimensions(tint_symbol_2);
@@ -30,6 +28,8 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
 void main() {
   tint_symbol outputs;
   outputs = vertex_main();
@@ -38,10 +38,9 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 Error parsing GLSL shader:
-ERROR: 0:11: 'GetDimensions' : no such field in structure 
-ERROR: 0:11: '' : compilation terminated 
+ERROR: 0:9: 'GetDimensions' : no such field in structure 
+ERROR: 0:9: '' : compilation terminated 
 ERROR: 2 compilation errors.  No code generated.
 
 
@@ -49,11 +48,9 @@
 #version 310 es
 precision mediump float;
 
-
 layout(binding = 0) buffer SB_RW_1 {
   int arg_0[];
 } sb_rw;
-
 void arrayLength_61b1c7() {
   uint tint_symbol_2 = 0u;
   sb_rw.GetDimensions(tint_symbol_2);
@@ -69,14 +66,14 @@
   arrayLength_61b1c7();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 Error parsing GLSL shader:
-ERROR: 0:11: 'GetDimensions' : no such field in structure 
-ERROR: 0:11: '' : compilation terminated 
+ERROR: 0:9: 'GetDimensions' : no such field in structure 
+ERROR: 0:9: '' : compilation terminated 
 ERROR: 2 compilation errors.  No code generated.
 
 
@@ -84,11 +81,9 @@
 #version 310 es
 precision mediump float;
 
-
 layout(binding = 0) buffer SB_RW_1 {
   int arg_0[];
 } sb_rw;
-
 void arrayLength_61b1c7() {
   uint tint_symbol_2 = 0u;
   sb_rw.GetDimensions(tint_symbol_2);
@@ -105,14 +100,14 @@
   arrayLength_61b1c7();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
 Error parsing GLSL shader:
-ERROR: 0:11: 'GetDimensions' : no such field in structure 
-ERROR: 0:11: '' : compilation terminated 
+ERROR: 0:9: 'GetDimensions' : no such field in structure 
+ERROR: 0:9: '' : compilation terminated 
 ERROR: 2 compilation errors.  No code generated.
 
 
diff --git a/test/intrinsics/gen/arrayLength/a0f5ca.wgsl.expected.glsl b/test/intrinsics/gen/arrayLength/a0f5ca.wgsl.expected.glsl
index 98c7ec5..8c76c14 100644
--- a/test/intrinsics/gen/arrayLength/a0f5ca.wgsl.expected.glsl
+++ b/test/intrinsics/gen/arrayLength/a0f5ca.wgsl.expected.glsl
@@ -3,11 +3,9 @@
 #version 310 es
 precision mediump float;
 
-
 layout(binding = 1) buffer SB_RO_1 {
   float arg_0[];
 } sb_ro;
-
 void arrayLength_a0f5ca() {
   uint tint_symbol_2 = 0u;
   sb_ro.GetDimensions(tint_symbol_2);
@@ -30,6 +28,8 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
 void main() {
   tint_symbol outputs;
   outputs = vertex_main();
@@ -38,10 +38,9 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 Error parsing GLSL shader:
-ERROR: 0:11: 'GetDimensions' : no such field in structure 
-ERROR: 0:11: '' : compilation terminated 
+ERROR: 0:9: 'GetDimensions' : no such field in structure 
+ERROR: 0:9: '' : compilation terminated 
 ERROR: 2 compilation errors.  No code generated.
 
 
@@ -49,11 +48,9 @@
 #version 310 es
 precision mediump float;
 
-
 layout(binding = 1) buffer SB_RO_1 {
   float arg_0[];
 } sb_ro;
-
 void arrayLength_a0f5ca() {
   uint tint_symbol_2 = 0u;
   sb_ro.GetDimensions(tint_symbol_2);
@@ -69,14 +66,14 @@
   arrayLength_a0f5ca();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 Error parsing GLSL shader:
-ERROR: 0:11: 'GetDimensions' : no such field in structure 
-ERROR: 0:11: '' : compilation terminated 
+ERROR: 0:9: 'GetDimensions' : no such field in structure 
+ERROR: 0:9: '' : compilation terminated 
 ERROR: 2 compilation errors.  No code generated.
 
 
@@ -84,11 +81,9 @@
 #version 310 es
 precision mediump float;
 
-
 layout(binding = 1) buffer SB_RO_1 {
   float arg_0[];
 } sb_ro;
-
 void arrayLength_a0f5ca() {
   uint tint_symbol_2 = 0u;
   sb_ro.GetDimensions(tint_symbol_2);
@@ -105,14 +100,14 @@
   arrayLength_a0f5ca();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
 Error parsing GLSL shader:
-ERROR: 0:11: 'GetDimensions' : no such field in structure 
-ERROR: 0:11: '' : compilation terminated 
+ERROR: 0:9: 'GetDimensions' : no such field in structure 
+ERROR: 0:9: '' : compilation terminated 
 ERROR: 2 compilation errors.  No code generated.
 
 
diff --git a/test/intrinsics/gen/arrayLength/cdd123.wgsl.expected.glsl b/test/intrinsics/gen/arrayLength/cdd123.wgsl.expected.glsl
index 5b23df4..fa58e97 100644
--- a/test/intrinsics/gen/arrayLength/cdd123.wgsl.expected.glsl
+++ b/test/intrinsics/gen/arrayLength/cdd123.wgsl.expected.glsl
@@ -3,11 +3,9 @@
 #version 310 es
 precision mediump float;
 
-
 layout(binding = 0) buffer SB_RW_1 {
   float arg_0[];
 } sb_rw;
-
 void arrayLength_cdd123() {
   uint tint_symbol_2 = 0u;
   sb_rw.GetDimensions(tint_symbol_2);
@@ -30,6 +28,8 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
 void main() {
   tint_symbol outputs;
   outputs = vertex_main();
@@ -38,10 +38,9 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 Error parsing GLSL shader:
-ERROR: 0:11: 'GetDimensions' : no such field in structure 
-ERROR: 0:11: '' : compilation terminated 
+ERROR: 0:9: 'GetDimensions' : no such field in structure 
+ERROR: 0:9: '' : compilation terminated 
 ERROR: 2 compilation errors.  No code generated.
 
 
@@ -49,11 +48,9 @@
 #version 310 es
 precision mediump float;
 
-
 layout(binding = 0) buffer SB_RW_1 {
   float arg_0[];
 } sb_rw;
-
 void arrayLength_cdd123() {
   uint tint_symbol_2 = 0u;
   sb_rw.GetDimensions(tint_symbol_2);
@@ -69,14 +66,14 @@
   arrayLength_cdd123();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 Error parsing GLSL shader:
-ERROR: 0:11: 'GetDimensions' : no such field in structure 
-ERROR: 0:11: '' : compilation terminated 
+ERROR: 0:9: 'GetDimensions' : no such field in structure 
+ERROR: 0:9: '' : compilation terminated 
 ERROR: 2 compilation errors.  No code generated.
 
 
@@ -84,11 +81,9 @@
 #version 310 es
 precision mediump float;
 
-
 layout(binding = 0) buffer SB_RW_1 {
   float arg_0[];
 } sb_rw;
-
 void arrayLength_cdd123() {
   uint tint_symbol_2 = 0u;
   sb_rw.GetDimensions(tint_symbol_2);
@@ -105,14 +100,14 @@
   arrayLength_cdd123();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
 Error parsing GLSL shader:
-ERROR: 0:11: 'GetDimensions' : no such field in structure 
-ERROR: 0:11: '' : compilation terminated 
+ERROR: 0:9: 'GetDimensions' : no such field in structure 
+ERROR: 0:9: '' : compilation terminated 
 ERROR: 2 compilation errors.  No code generated.
 
 
diff --git a/test/intrinsics/gen/arrayLength/cfca0a.wgsl.expected.glsl b/test/intrinsics/gen/arrayLength/cfca0a.wgsl.expected.glsl
index a482ec8..5ac52d7 100644
--- a/test/intrinsics/gen/arrayLength/cfca0a.wgsl.expected.glsl
+++ b/test/intrinsics/gen/arrayLength/cfca0a.wgsl.expected.glsl
@@ -3,11 +3,9 @@
 #version 310 es
 precision mediump float;
 
-
 layout(binding = 1) buffer SB_RO_1 {
   uint arg_0[];
 } sb_ro;
-
 void arrayLength_cfca0a() {
   uint tint_symbol_2 = 0u;
   sb_ro.GetDimensions(tint_symbol_2);
@@ -30,6 +28,8 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
 void main() {
   tint_symbol outputs;
   outputs = vertex_main();
@@ -38,10 +38,9 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 Error parsing GLSL shader:
-ERROR: 0:11: 'GetDimensions' : no such field in structure 
-ERROR: 0:11: '' : compilation terminated 
+ERROR: 0:9: 'GetDimensions' : no such field in structure 
+ERROR: 0:9: '' : compilation terminated 
 ERROR: 2 compilation errors.  No code generated.
 
 
@@ -49,11 +48,9 @@
 #version 310 es
 precision mediump float;
 
-
 layout(binding = 1) buffer SB_RO_1 {
   uint arg_0[];
 } sb_ro;
-
 void arrayLength_cfca0a() {
   uint tint_symbol_2 = 0u;
   sb_ro.GetDimensions(tint_symbol_2);
@@ -69,14 +66,14 @@
   arrayLength_cfca0a();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 Error parsing GLSL shader:
-ERROR: 0:11: 'GetDimensions' : no such field in structure 
-ERROR: 0:11: '' : compilation terminated 
+ERROR: 0:9: 'GetDimensions' : no such field in structure 
+ERROR: 0:9: '' : compilation terminated 
 ERROR: 2 compilation errors.  No code generated.
 
 
@@ -84,11 +81,9 @@
 #version 310 es
 precision mediump float;
 
-
 layout(binding = 1) buffer SB_RO_1 {
   uint arg_0[];
 } sb_ro;
-
 void arrayLength_cfca0a() {
   uint tint_symbol_2 = 0u;
   sb_ro.GetDimensions(tint_symbol_2);
@@ -105,14 +100,14 @@
   arrayLength_cfca0a();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
 Error parsing GLSL shader:
-ERROR: 0:11: 'GetDimensions' : no such field in structure 
-ERROR: 0:11: '' : compilation terminated 
+ERROR: 0:9: 'GetDimensions' : no such field in structure 
+ERROR: 0:9: '' : compilation terminated 
 ERROR: 2 compilation errors.  No code generated.
 
 
diff --git a/test/intrinsics/gen/arrayLength/eb510f.wgsl.expected.glsl b/test/intrinsics/gen/arrayLength/eb510f.wgsl.expected.glsl
index 54ac47a..006963f 100644
--- a/test/intrinsics/gen/arrayLength/eb510f.wgsl.expected.glsl
+++ b/test/intrinsics/gen/arrayLength/eb510f.wgsl.expected.glsl
@@ -3,11 +3,9 @@
 #version 310 es
 precision mediump float;
 
-
 layout(binding = 0) buffer SB_RW_1 {
   uint arg_0[];
 } sb_rw;
-
 void arrayLength_eb510f() {
   uint tint_symbol_2 = 0u;
   sb_rw.GetDimensions(tint_symbol_2);
@@ -30,6 +28,8 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
 void main() {
   tint_symbol outputs;
   outputs = vertex_main();
@@ -38,10 +38,9 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 Error parsing GLSL shader:
-ERROR: 0:11: 'GetDimensions' : no such field in structure 
-ERROR: 0:11: '' : compilation terminated 
+ERROR: 0:9: 'GetDimensions' : no such field in structure 
+ERROR: 0:9: '' : compilation terminated 
 ERROR: 2 compilation errors.  No code generated.
 
 
@@ -49,11 +48,9 @@
 #version 310 es
 precision mediump float;
 
-
 layout(binding = 0) buffer SB_RW_1 {
   uint arg_0[];
 } sb_rw;
-
 void arrayLength_eb510f() {
   uint tint_symbol_2 = 0u;
   sb_rw.GetDimensions(tint_symbol_2);
@@ -69,14 +66,14 @@
   arrayLength_eb510f();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 Error parsing GLSL shader:
-ERROR: 0:11: 'GetDimensions' : no such field in structure 
-ERROR: 0:11: '' : compilation terminated 
+ERROR: 0:9: 'GetDimensions' : no such field in structure 
+ERROR: 0:9: '' : compilation terminated 
 ERROR: 2 compilation errors.  No code generated.
 
 
@@ -84,11 +81,9 @@
 #version 310 es
 precision mediump float;
 
-
 layout(binding = 0) buffer SB_RW_1 {
   uint arg_0[];
 } sb_rw;
-
 void arrayLength_eb510f() {
   uint tint_symbol_2 = 0u;
   sb_rw.GetDimensions(tint_symbol_2);
@@ -105,14 +100,14 @@
   arrayLength_eb510f();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
 Error parsing GLSL shader:
-ERROR: 0:11: 'GetDimensions' : no such field in structure 
-ERROR: 0:11: '' : compilation terminated 
+ERROR: 0:9: 'GetDimensions' : no such field in structure 
+ERROR: 0:9: '' : compilation terminated 
 ERROR: 2 compilation errors.  No code generated.
 
 
diff --git a/test/intrinsics/gen/asin/064953.wgsl.expected.glsl b/test/intrinsics/gen/asin/064953.wgsl.expected.glsl
index 77c5c16..6f9fb5f 100644
--- a/test/intrinsics/gen/asin/064953.wgsl.expected.glsl
+++ b/test/intrinsics/gen/asin/064953.wgsl.expected.glsl
@@ -20,6 +20,8 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
 void main() {
   tint_symbol outputs;
   outputs = vertex_main();
@@ -28,7 +30,6 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -44,11 +45,11 @@
   asin_064953();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -65,8 +66,8 @@
   asin_064953();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/asin/7b6a44.wgsl.expected.glsl b/test/intrinsics/gen/asin/7b6a44.wgsl.expected.glsl
index eb9d035..3cb463d 100644
--- a/test/intrinsics/gen/asin/7b6a44.wgsl.expected.glsl
+++ b/test/intrinsics/gen/asin/7b6a44.wgsl.expected.glsl
@@ -20,6 +20,8 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
 void main() {
   tint_symbol outputs;
   outputs = vertex_main();
@@ -28,7 +30,6 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -44,11 +45,11 @@
   asin_7b6a44();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -65,8 +66,8 @@
   asin_7b6a44();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/asin/8cd9c9.wgsl.expected.glsl b/test/intrinsics/gen/asin/8cd9c9.wgsl.expected.glsl
index 74f5c46..26ae968 100644
--- a/test/intrinsics/gen/asin/8cd9c9.wgsl.expected.glsl
+++ b/test/intrinsics/gen/asin/8cd9c9.wgsl.expected.glsl
@@ -20,6 +20,8 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
 void main() {
   tint_symbol outputs;
   outputs = vertex_main();
@@ -28,7 +30,6 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -44,11 +45,11 @@
   asin_8cd9c9();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -65,8 +66,8 @@
   asin_8cd9c9();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/asin/c0c272.wgsl.expected.glsl b/test/intrinsics/gen/asin/c0c272.wgsl.expected.glsl
index 3b4521e..46b4799 100644
--- a/test/intrinsics/gen/asin/c0c272.wgsl.expected.glsl
+++ b/test/intrinsics/gen/asin/c0c272.wgsl.expected.glsl
@@ -20,6 +20,8 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
 void main() {
   tint_symbol outputs;
   outputs = vertex_main();
@@ -28,7 +30,6 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -44,11 +45,11 @@
   asin_c0c272();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -65,8 +66,8 @@
   asin_c0c272();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/atan/02979a.wgsl.expected.glsl b/test/intrinsics/gen/atan/02979a.wgsl.expected.glsl
index 6c7de9b..db1ced4 100644
--- a/test/intrinsics/gen/atan/02979a.wgsl.expected.glsl
+++ b/test/intrinsics/gen/atan/02979a.wgsl.expected.glsl
@@ -20,6 +20,8 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
 void main() {
   tint_symbol outputs;
   outputs = vertex_main();
@@ -28,7 +30,6 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -44,11 +45,11 @@
   atan_02979a();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -65,8 +66,8 @@
   atan_02979a();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/atan/331e6d.wgsl.expected.glsl b/test/intrinsics/gen/atan/331e6d.wgsl.expected.glsl
index dfd43f2..1f9b3f4 100644
--- a/test/intrinsics/gen/atan/331e6d.wgsl.expected.glsl
+++ b/test/intrinsics/gen/atan/331e6d.wgsl.expected.glsl
@@ -20,6 +20,8 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
 void main() {
   tint_symbol outputs;
   outputs = vertex_main();
@@ -28,7 +30,6 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -44,11 +45,11 @@
   atan_331e6d();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -65,8 +66,8 @@
   atan_331e6d();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/atan/a8b696.wgsl.expected.glsl b/test/intrinsics/gen/atan/a8b696.wgsl.expected.glsl
index 4adb5b2..68eeb28 100644
--- a/test/intrinsics/gen/atan/a8b696.wgsl.expected.glsl
+++ b/test/intrinsics/gen/atan/a8b696.wgsl.expected.glsl
@@ -20,6 +20,8 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
 void main() {
   tint_symbol outputs;
   outputs = vertex_main();
@@ -28,7 +30,6 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -44,11 +45,11 @@
   atan_a8b696();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -65,8 +66,8 @@
   atan_a8b696();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/atan/ad96e4.wgsl.expected.glsl b/test/intrinsics/gen/atan/ad96e4.wgsl.expected.glsl
index 7f0420a..80f0885 100644
--- a/test/intrinsics/gen/atan/ad96e4.wgsl.expected.glsl
+++ b/test/intrinsics/gen/atan/ad96e4.wgsl.expected.glsl
@@ -20,6 +20,8 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
 void main() {
   tint_symbol outputs;
   outputs = vertex_main();
@@ -28,7 +30,6 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -44,11 +45,11 @@
   atan_ad96e4();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -65,8 +66,8 @@
   atan_ad96e4();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/atan2/57fb13.wgsl.expected.glsl b/test/intrinsics/gen/atan2/57fb13.wgsl.expected.glsl
index 26eca58..c81d3b3 100644
--- a/test/intrinsics/gen/atan2/57fb13.wgsl.expected.glsl
+++ b/test/intrinsics/gen/atan2/57fb13.wgsl.expected.glsl
@@ -20,6 +20,8 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
 void main() {
   tint_symbol outputs;
   outputs = vertex_main();
@@ -28,7 +30,6 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -44,11 +45,11 @@
   atan2_57fb13();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -65,8 +66,8 @@
   atan2_57fb13();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/atan2/96057c.wgsl.expected.glsl b/test/intrinsics/gen/atan2/96057c.wgsl.expected.glsl
index ab55de0..12b8b57 100644
--- a/test/intrinsics/gen/atan2/96057c.wgsl.expected.glsl
+++ b/test/intrinsics/gen/atan2/96057c.wgsl.expected.glsl
@@ -20,6 +20,8 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
 void main() {
   tint_symbol outputs;
   outputs = vertex_main();
@@ -28,7 +30,6 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -44,11 +45,11 @@
   atan2_96057c();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -65,8 +66,8 @@
   atan2_96057c();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/atan2/a70d0d.wgsl.expected.glsl b/test/intrinsics/gen/atan2/a70d0d.wgsl.expected.glsl
index 49d65c5..ca014e6 100644
--- a/test/intrinsics/gen/atan2/a70d0d.wgsl.expected.glsl
+++ b/test/intrinsics/gen/atan2/a70d0d.wgsl.expected.glsl
@@ -20,6 +20,8 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
 void main() {
   tint_symbol outputs;
   outputs = vertex_main();
@@ -28,7 +30,6 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -44,11 +45,11 @@
   atan2_a70d0d();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -65,8 +66,8 @@
   atan2_a70d0d();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/atan2/ae713e.wgsl.expected.glsl b/test/intrinsics/gen/atan2/ae713e.wgsl.expected.glsl
index e0bcc8a..58481e6 100644
--- a/test/intrinsics/gen/atan2/ae713e.wgsl.expected.glsl
+++ b/test/intrinsics/gen/atan2/ae713e.wgsl.expected.glsl
@@ -20,6 +20,8 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
 void main() {
   tint_symbol outputs;
   outputs = vertex_main();
@@ -28,7 +30,6 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -44,11 +45,11 @@
   atan2_ae713e();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -65,8 +66,8 @@
   atan2_ae713e();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/atomicAdd/794055.wgsl.expected.glsl b/test/intrinsics/gen/atomicAdd/794055.wgsl.expected.glsl
index 55ffa25..715d36d 100644
--- a/test/intrinsics/gen/atomicAdd/794055.wgsl.expected.glsl
+++ b/test/intrinsics/gen/atomicAdd/794055.wgsl.expected.glsl
@@ -2,7 +2,6 @@
 precision mediump float;
 
 shared int arg_0;
-
 void atomicAdd_794055() {
   int res = atomicAdd(arg_0, 1);
 }
@@ -24,10 +23,11 @@
   compute_main_inner(tint_symbol.local_invocation_index);
   return;
 }
+
+
 void main() {
   tint_symbol_1 inputs;
   inputs.local_invocation_index = uint(gl_LocalInvocationIndex);
   compute_main(inputs);
 }
 
-
diff --git a/test/intrinsics/gen/atomicAdd/8a199a.wgsl.expected.glsl b/test/intrinsics/gen/atomicAdd/8a199a.wgsl.expected.glsl
index a25340d..a718035 100644
--- a/test/intrinsics/gen/atomicAdd/8a199a.wgsl.expected.glsl
+++ b/test/intrinsics/gen/atomicAdd/8a199a.wgsl.expected.glsl
@@ -8,7 +8,6 @@
 layout(binding = 0) buffer SB_RW_1 {
   uint arg_0;
 } sb_rw;
-
 void atomicAdd_8a199a() {
   uint res = atomicAdd(sb_rw.arg_0, 1u);
 }
@@ -17,11 +16,11 @@
   atomicAdd_8a199a();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -32,7 +31,6 @@
 layout(binding = 0) buffer SB_RW_1 {
   uint arg_0;
 } sb_rw;
-
 void atomicAdd_8a199a() {
   uint res = atomicAdd(sb_rw.arg_0, 1u);
 }
@@ -42,8 +40,8 @@
   atomicAdd_8a199a();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/atomicAdd/d32fe4.wgsl.expected.glsl b/test/intrinsics/gen/atomicAdd/d32fe4.wgsl.expected.glsl
index 17d866b..6f142ad 100644
--- a/test/intrinsics/gen/atomicAdd/d32fe4.wgsl.expected.glsl
+++ b/test/intrinsics/gen/atomicAdd/d32fe4.wgsl.expected.glsl
@@ -8,7 +8,6 @@
 layout(binding = 0) buffer SB_RW_1 {
   int arg_0;
 } sb_rw;
-
 void atomicAdd_d32fe4() {
   int res = atomicAdd(sb_rw.arg_0, 1);
 }
@@ -17,11 +16,11 @@
   atomicAdd_d32fe4();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -32,7 +31,6 @@
 layout(binding = 0) buffer SB_RW_1 {
   int arg_0;
 } sb_rw;
-
 void atomicAdd_d32fe4() {
   int res = atomicAdd(sb_rw.arg_0, 1);
 }
@@ -42,8 +40,8 @@
   atomicAdd_d32fe4();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/atomicAdd/d5db1d.wgsl.expected.glsl b/test/intrinsics/gen/atomicAdd/d5db1d.wgsl.expected.glsl
index 9a3d9a1..77ff3cc 100644
--- a/test/intrinsics/gen/atomicAdd/d5db1d.wgsl.expected.glsl
+++ b/test/intrinsics/gen/atomicAdd/d5db1d.wgsl.expected.glsl
@@ -2,7 +2,6 @@
 precision mediump float;
 
 shared uint arg_0;
-
 void atomicAdd_d5db1d() {
   uint res = atomicAdd(arg_0, 1u);
 }
@@ -24,10 +23,11 @@
   compute_main_inner(tint_symbol.local_invocation_index);
   return;
 }
+
+
 void main() {
   tint_symbol_1 inputs;
   inputs.local_invocation_index = uint(gl_LocalInvocationIndex);
   compute_main(inputs);
 }
 
-
diff --git a/test/intrinsics/gen/atomicAnd/152966.wgsl.expected.glsl b/test/intrinsics/gen/atomicAnd/152966.wgsl.expected.glsl
index 1bcff31..cb8b590 100644
--- a/test/intrinsics/gen/atomicAnd/152966.wgsl.expected.glsl
+++ b/test/intrinsics/gen/atomicAnd/152966.wgsl.expected.glsl
@@ -8,7 +8,6 @@
 layout(binding = 0) buffer SB_RW_1 {
   int arg_0;
 } sb_rw;
-
 void atomicAnd_152966() {
   int res = atomicAnd(sb_rw.arg_0, 1);
 }
@@ -17,11 +16,11 @@
   atomicAnd_152966();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -32,7 +31,6 @@
 layout(binding = 0) buffer SB_RW_1 {
   int arg_0;
 } sb_rw;
-
 void atomicAnd_152966() {
   int res = atomicAnd(sb_rw.arg_0, 1);
 }
@@ -42,8 +40,8 @@
   atomicAnd_152966();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/atomicAnd/34edd3.wgsl.expected.glsl b/test/intrinsics/gen/atomicAnd/34edd3.wgsl.expected.glsl
index 8ab60de..893ba81 100644
--- a/test/intrinsics/gen/atomicAnd/34edd3.wgsl.expected.glsl
+++ b/test/intrinsics/gen/atomicAnd/34edd3.wgsl.expected.glsl
@@ -2,7 +2,6 @@
 precision mediump float;
 
 shared uint arg_0;
-
 void atomicAnd_34edd3() {
   uint res = atomicAnd(arg_0, 1u);
 }
@@ -24,10 +23,11 @@
   compute_main_inner(tint_symbol.local_invocation_index);
   return;
 }
+
+
 void main() {
   tint_symbol_1 inputs;
   inputs.local_invocation_index = uint(gl_LocalInvocationIndex);
   compute_main(inputs);
 }
 
-
diff --git a/test/intrinsics/gen/atomicAnd/45a819.wgsl.expected.glsl b/test/intrinsics/gen/atomicAnd/45a819.wgsl.expected.glsl
index af28d89..29566d1 100644
--- a/test/intrinsics/gen/atomicAnd/45a819.wgsl.expected.glsl
+++ b/test/intrinsics/gen/atomicAnd/45a819.wgsl.expected.glsl
@@ -2,7 +2,6 @@
 precision mediump float;
 
 shared int arg_0;
-
 void atomicAnd_45a819() {
   int res = atomicAnd(arg_0, 1);
 }
@@ -24,10 +23,11 @@
   compute_main_inner(tint_symbol.local_invocation_index);
   return;
 }
+
+
 void main() {
   tint_symbol_1 inputs;
   inputs.local_invocation_index = uint(gl_LocalInvocationIndex);
   compute_main(inputs);
 }
 
-
diff --git a/test/intrinsics/gen/atomicAnd/85a8d9.wgsl.expected.glsl b/test/intrinsics/gen/atomicAnd/85a8d9.wgsl.expected.glsl
index 7a483e0..9260151 100644
--- a/test/intrinsics/gen/atomicAnd/85a8d9.wgsl.expected.glsl
+++ b/test/intrinsics/gen/atomicAnd/85a8d9.wgsl.expected.glsl
@@ -8,7 +8,6 @@
 layout(binding = 0) buffer SB_RW_1 {
   uint arg_0;
 } sb_rw;
-
 void atomicAnd_85a8d9() {
   uint res = atomicAnd(sb_rw.arg_0, 1u);
 }
@@ -17,11 +16,11 @@
   atomicAnd_85a8d9();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -32,7 +31,6 @@
 layout(binding = 0) buffer SB_RW_1 {
   uint arg_0;
 } sb_rw;
-
 void atomicAnd_85a8d9() {
   uint res = atomicAnd(sb_rw.arg_0, 1u);
 }
@@ -42,8 +40,8 @@
   atomicAnd_85a8d9();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/atomicCompareExchangeWeak/12871c.wgsl.expected.glsl b/test/intrinsics/gen/atomicCompareExchangeWeak/12871c.wgsl.expected.glsl
index 00386ca..3d91ea5 100644
--- a/test/intrinsics/gen/atomicCompareExchangeWeak/12871c.wgsl.expected.glsl
+++ b/test/intrinsics/gen/atomicCompareExchangeWeak/12871c.wgsl.expected.glsl
@@ -16,7 +16,6 @@
 layout(binding = 0) buffer SB_RW_1 {
   int arg_0;
 } sb_rw;
-
 void atomicCompareExchangeWeak_12871c() {
   ivec2 res = tint_atomicCompareExchangeWeak(sb_rw.arg_0, 1, 1);
 }
@@ -25,11 +24,11 @@
   atomicCompareExchangeWeak_12871c();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -48,7 +47,6 @@
 layout(binding = 0) buffer SB_RW_1 {
   int arg_0;
 } sb_rw;
-
 void atomicCompareExchangeWeak_12871c() {
   ivec2 res = tint_atomicCompareExchangeWeak(sb_rw.arg_0, 1, 1);
 }
@@ -58,8 +56,8 @@
   atomicCompareExchangeWeak_12871c();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/atomicCompareExchangeWeak/6673da.wgsl.expected.glsl b/test/intrinsics/gen/atomicCompareExchangeWeak/6673da.wgsl.expected.glsl
index 7b5dda5..dd307ae 100644
--- a/test/intrinsics/gen/atomicCompareExchangeWeak/6673da.wgsl.expected.glsl
+++ b/test/intrinsics/gen/atomicCompareExchangeWeak/6673da.wgsl.expected.glsl
@@ -16,7 +16,6 @@
 layout(binding = 0) buffer SB_RW_1 {
   uint arg_0;
 } sb_rw;
-
 void atomicCompareExchangeWeak_6673da() {
   uvec2 res = tint_atomicCompareExchangeWeak(sb_rw.arg_0, 1u, 1u);
 }
@@ -25,11 +24,11 @@
   atomicCompareExchangeWeak_6673da();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -48,7 +47,6 @@
 layout(binding = 0) buffer SB_RW_1 {
   uint arg_0;
 } sb_rw;
-
 void atomicCompareExchangeWeak_6673da() {
   uvec2 res = tint_atomicCompareExchangeWeak(sb_rw.arg_0, 1u, 1u);
 }
@@ -58,8 +56,8 @@
   atomicCompareExchangeWeak_6673da();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/atomicCompareExchangeWeak/89ea3b.wgsl.expected.glsl b/test/intrinsics/gen/atomicCompareExchangeWeak/89ea3b.wgsl.expected.glsl
index aaaf177..fc9c6e6 100644
--- a/test/intrinsics/gen/atomicCompareExchangeWeak/89ea3b.wgsl.expected.glsl
+++ b/test/intrinsics/gen/atomicCompareExchangeWeak/89ea3b.wgsl.expected.glsl
@@ -10,7 +10,6 @@
 
 
 shared int arg_0;
-
 void atomicCompareExchangeWeak_89ea3b() {
   ivec2 res = tint_atomicCompareExchangeWeak(arg_0, 1, 1);
 }
@@ -32,10 +31,11 @@
   compute_main_inner(tint_symbol.local_invocation_index);
   return;
 }
+
+
 void main() {
   tint_symbol_1 inputs;
   inputs.local_invocation_index = uint(gl_LocalInvocationIndex);
   compute_main(inputs);
 }
 
-
diff --git a/test/intrinsics/gen/atomicCompareExchangeWeak/b2ab2c.wgsl.expected.glsl b/test/intrinsics/gen/atomicCompareExchangeWeak/b2ab2c.wgsl.expected.glsl
index 03b6857..01162d8 100644
--- a/test/intrinsics/gen/atomicCompareExchangeWeak/b2ab2c.wgsl.expected.glsl
+++ b/test/intrinsics/gen/atomicCompareExchangeWeak/b2ab2c.wgsl.expected.glsl
@@ -10,7 +10,6 @@
 
 
 shared uint arg_0;
-
 void atomicCompareExchangeWeak_b2ab2c() {
   uvec2 res = tint_atomicCompareExchangeWeak(arg_0, 1u, 1u);
 }
@@ -32,10 +31,11 @@
   compute_main_inner(tint_symbol.local_invocation_index);
   return;
 }
+
+
 void main() {
   tint_symbol_1 inputs;
   inputs.local_invocation_index = uint(gl_LocalInvocationIndex);
   compute_main(inputs);
 }
 
-
diff --git a/test/intrinsics/gen/atomicExchange/0a5dca.wgsl.expected.glsl b/test/intrinsics/gen/atomicExchange/0a5dca.wgsl.expected.glsl
index c97fd12..ceb8f2c 100644
--- a/test/intrinsics/gen/atomicExchange/0a5dca.wgsl.expected.glsl
+++ b/test/intrinsics/gen/atomicExchange/0a5dca.wgsl.expected.glsl
@@ -2,7 +2,6 @@
 precision mediump float;
 
 shared uint arg_0;
-
 void atomicExchange_0a5dca() {
   uint res = atomicExchange(arg_0, 1u);
 }
@@ -24,10 +23,11 @@
   compute_main_inner(tint_symbol.local_invocation_index);
   return;
 }
+
+
 void main() {
   tint_symbol_1 inputs;
   inputs.local_invocation_index = uint(gl_LocalInvocationIndex);
   compute_main(inputs);
 }
 
-
diff --git a/test/intrinsics/gen/atomicExchange/d59712.wgsl.expected.glsl b/test/intrinsics/gen/atomicExchange/d59712.wgsl.expected.glsl
index 93c7eb6..c8aeb19 100644
--- a/test/intrinsics/gen/atomicExchange/d59712.wgsl.expected.glsl
+++ b/test/intrinsics/gen/atomicExchange/d59712.wgsl.expected.glsl
@@ -8,7 +8,6 @@
 layout(binding = 0) buffer SB_RW_1 {
   uint arg_0;
 } sb_rw;
-
 void atomicExchange_d59712() {
   uint res = atomicExchange(sb_rw.arg_0, 1u);
 }
@@ -17,11 +16,11 @@
   atomicExchange_d59712();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -32,7 +31,6 @@
 layout(binding = 0) buffer SB_RW_1 {
   uint arg_0;
 } sb_rw;
-
 void atomicExchange_d59712() {
   uint res = atomicExchange(sb_rw.arg_0, 1u);
 }
@@ -42,8 +40,8 @@
   atomicExchange_d59712();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/atomicExchange/e114ba.wgsl.expected.glsl b/test/intrinsics/gen/atomicExchange/e114ba.wgsl.expected.glsl
index 52ae007..02874fa 100644
--- a/test/intrinsics/gen/atomicExchange/e114ba.wgsl.expected.glsl
+++ b/test/intrinsics/gen/atomicExchange/e114ba.wgsl.expected.glsl
@@ -2,7 +2,6 @@
 precision mediump float;
 
 shared int arg_0;
-
 void atomicExchange_e114ba() {
   int res = atomicExchange(arg_0, 1);
 }
@@ -24,10 +23,11 @@
   compute_main_inner(tint_symbol.local_invocation_index);
   return;
 }
+
+
 void main() {
   tint_symbol_1 inputs;
   inputs.local_invocation_index = uint(gl_LocalInvocationIndex);
   compute_main(inputs);
 }
 
-
diff --git a/test/intrinsics/gen/atomicExchange/f2e22f.wgsl.expected.glsl b/test/intrinsics/gen/atomicExchange/f2e22f.wgsl.expected.glsl
index 1491b52..89206eb 100644
--- a/test/intrinsics/gen/atomicExchange/f2e22f.wgsl.expected.glsl
+++ b/test/intrinsics/gen/atomicExchange/f2e22f.wgsl.expected.glsl
@@ -8,7 +8,6 @@
 layout(binding = 0) buffer SB_RW_1 {
   int arg_0;
 } sb_rw;
-
 void atomicExchange_f2e22f() {
   int res = atomicExchange(sb_rw.arg_0, 1);
 }
@@ -17,11 +16,11 @@
   atomicExchange_f2e22f();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -32,7 +31,6 @@
 layout(binding = 0) buffer SB_RW_1 {
   int arg_0;
 } sb_rw;
-
 void atomicExchange_f2e22f() {
   int res = atomicExchange(sb_rw.arg_0, 1);
 }
@@ -42,8 +40,8 @@
   atomicExchange_f2e22f();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/atomicLoad/0806ad.wgsl.expected.glsl b/test/intrinsics/gen/atomicLoad/0806ad.wgsl.expected.glsl
index 649a8e5..e8ec1aa 100644
--- a/test/intrinsics/gen/atomicLoad/0806ad.wgsl.expected.glsl
+++ b/test/intrinsics/gen/atomicLoad/0806ad.wgsl.expected.glsl
@@ -8,7 +8,6 @@
 layout(binding = 0) buffer SB_RW_1 {
   int arg_0;
 } sb_rw;
-
 void atomicLoad_0806ad() {
   int res = atomicOr(sb_rw.arg_0, 0);
 }
@@ -17,11 +16,11 @@
   atomicLoad_0806ad();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -32,7 +31,6 @@
 layout(binding = 0) buffer SB_RW_1 {
   int arg_0;
 } sb_rw;
-
 void atomicLoad_0806ad() {
   int res = atomicOr(sb_rw.arg_0, 0);
 }
@@ -42,8 +40,8 @@
   atomicLoad_0806ad();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/atomicLoad/361bf1.wgsl.expected.glsl b/test/intrinsics/gen/atomicLoad/361bf1.wgsl.expected.glsl
index de8c6c6..ec67ef6 100644
--- a/test/intrinsics/gen/atomicLoad/361bf1.wgsl.expected.glsl
+++ b/test/intrinsics/gen/atomicLoad/361bf1.wgsl.expected.glsl
@@ -2,7 +2,6 @@
 precision mediump float;
 
 shared uint arg_0;
-
 void atomicLoad_361bf1() {
   uint res = atomicOr(arg_0, 0u);
 }
@@ -24,10 +23,11 @@
   compute_main_inner(tint_symbol.local_invocation_index);
   return;
 }
+
+
 void main() {
   tint_symbol_1 inputs;
   inputs.local_invocation_index = uint(gl_LocalInvocationIndex);
   compute_main(inputs);
 }
 
-
diff --git a/test/intrinsics/gen/atomicLoad/afcc03.wgsl.expected.glsl b/test/intrinsics/gen/atomicLoad/afcc03.wgsl.expected.glsl
index 3f9ee82..f4c5fdc 100644
--- a/test/intrinsics/gen/atomicLoad/afcc03.wgsl.expected.glsl
+++ b/test/intrinsics/gen/atomicLoad/afcc03.wgsl.expected.glsl
@@ -2,7 +2,6 @@
 precision mediump float;
 
 shared int arg_0;
-
 void atomicLoad_afcc03() {
   int res = atomicOr(arg_0, 0);
 }
@@ -24,10 +23,11 @@
   compute_main_inner(tint_symbol.local_invocation_index);
   return;
 }
+
+
 void main() {
   tint_symbol_1 inputs;
   inputs.local_invocation_index = uint(gl_LocalInvocationIndex);
   compute_main(inputs);
 }
 
-
diff --git a/test/intrinsics/gen/atomicLoad/fe6cc3.wgsl.expected.glsl b/test/intrinsics/gen/atomicLoad/fe6cc3.wgsl.expected.glsl
index 71fe30f..315bfe3 100644
--- a/test/intrinsics/gen/atomicLoad/fe6cc3.wgsl.expected.glsl
+++ b/test/intrinsics/gen/atomicLoad/fe6cc3.wgsl.expected.glsl
@@ -8,7 +8,6 @@
 layout(binding = 0) buffer SB_RW_1 {
   uint arg_0;
 } sb_rw;
-
 void atomicLoad_fe6cc3() {
   uint res = atomicOr(sb_rw.arg_0, 0u);
 }
@@ -17,11 +16,11 @@
   atomicLoad_fe6cc3();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -32,7 +31,6 @@
 layout(binding = 0) buffer SB_RW_1 {
   uint arg_0;
 } sb_rw;
-
 void atomicLoad_fe6cc3() {
   uint res = atomicOr(sb_rw.arg_0, 0u);
 }
@@ -42,8 +40,8 @@
   atomicLoad_fe6cc3();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/atomicMax/51b9be.wgsl.expected.glsl b/test/intrinsics/gen/atomicMax/51b9be.wgsl.expected.glsl
index e638604..2a92b96 100644
--- a/test/intrinsics/gen/atomicMax/51b9be.wgsl.expected.glsl
+++ b/test/intrinsics/gen/atomicMax/51b9be.wgsl.expected.glsl
@@ -8,7 +8,6 @@
 layout(binding = 0) buffer SB_RW_1 {
   uint arg_0;
 } sb_rw;
-
 void atomicMax_51b9be() {
   uint res = atomicMax(sb_rw.arg_0, 1u);
 }
@@ -17,11 +16,11 @@
   atomicMax_51b9be();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -32,7 +31,6 @@
 layout(binding = 0) buffer SB_RW_1 {
   uint arg_0;
 } sb_rw;
-
 void atomicMax_51b9be() {
   uint res = atomicMax(sb_rw.arg_0, 1u);
 }
@@ -42,8 +40,8 @@
   atomicMax_51b9be();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/atomicMax/92aa72.wgsl.expected.glsl b/test/intrinsics/gen/atomicMax/92aa72.wgsl.expected.glsl
index f51238d..953c280 100644
--- a/test/intrinsics/gen/atomicMax/92aa72.wgsl.expected.glsl
+++ b/test/intrinsics/gen/atomicMax/92aa72.wgsl.expected.glsl
@@ -8,7 +8,6 @@
 layout(binding = 0) buffer SB_RW_1 {
   int arg_0;
 } sb_rw;
-
 void atomicMax_92aa72() {
   int res = atomicMax(sb_rw.arg_0, 1);
 }
@@ -17,11 +16,11 @@
   atomicMax_92aa72();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -32,7 +31,6 @@
 layout(binding = 0) buffer SB_RW_1 {
   int arg_0;
 } sb_rw;
-
 void atomicMax_92aa72() {
   int res = atomicMax(sb_rw.arg_0, 1);
 }
@@ -42,8 +40,8 @@
   atomicMax_92aa72();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/atomicMax/a89cc3.wgsl.expected.glsl b/test/intrinsics/gen/atomicMax/a89cc3.wgsl.expected.glsl
index 8a4aadd..bda8cf5 100644
--- a/test/intrinsics/gen/atomicMax/a89cc3.wgsl.expected.glsl
+++ b/test/intrinsics/gen/atomicMax/a89cc3.wgsl.expected.glsl
@@ -2,7 +2,6 @@
 precision mediump float;
 
 shared int arg_0;
-
 void atomicMax_a89cc3() {
   int res = atomicMax(arg_0, 1);
 }
@@ -24,10 +23,11 @@
   compute_main_inner(tint_symbol.local_invocation_index);
   return;
 }
+
+
 void main() {
   tint_symbol_1 inputs;
   inputs.local_invocation_index = uint(gl_LocalInvocationIndex);
   compute_main(inputs);
 }
 
-
diff --git a/test/intrinsics/gen/atomicMax/beccfc.wgsl.expected.glsl b/test/intrinsics/gen/atomicMax/beccfc.wgsl.expected.glsl
index 085ee2e..7ff699c 100644
--- a/test/intrinsics/gen/atomicMax/beccfc.wgsl.expected.glsl
+++ b/test/intrinsics/gen/atomicMax/beccfc.wgsl.expected.glsl
@@ -2,7 +2,6 @@
 precision mediump float;
 
 shared uint arg_0;
-
 void atomicMax_beccfc() {
   uint res = atomicMax(arg_0, 1u);
 }
@@ -24,10 +23,11 @@
   compute_main_inner(tint_symbol.local_invocation_index);
   return;
 }
+
+
 void main() {
   tint_symbol_1 inputs;
   inputs.local_invocation_index = uint(gl_LocalInvocationIndex);
   compute_main(inputs);
 }
 
-
diff --git a/test/intrinsics/gen/atomicMin/278235.wgsl.expected.glsl b/test/intrinsics/gen/atomicMin/278235.wgsl.expected.glsl
index a3e2d3b..924c3e5 100644
--- a/test/intrinsics/gen/atomicMin/278235.wgsl.expected.glsl
+++ b/test/intrinsics/gen/atomicMin/278235.wgsl.expected.glsl
@@ -2,7 +2,6 @@
 precision mediump float;
 
 shared int arg_0;
-
 void atomicMin_278235() {
   int res = atomicMin(arg_0, 1);
 }
@@ -24,10 +23,11 @@
   compute_main_inner(tint_symbol.local_invocation_index);
   return;
 }
+
+
 void main() {
   tint_symbol_1 inputs;
   inputs.local_invocation_index = uint(gl_LocalInvocationIndex);
   compute_main(inputs);
 }
 
-
diff --git a/test/intrinsics/gen/atomicMin/69d383.wgsl.expected.glsl b/test/intrinsics/gen/atomicMin/69d383.wgsl.expected.glsl
index 10e70a6..f872cf3 100644
--- a/test/intrinsics/gen/atomicMin/69d383.wgsl.expected.glsl
+++ b/test/intrinsics/gen/atomicMin/69d383.wgsl.expected.glsl
@@ -2,7 +2,6 @@
 precision mediump float;
 
 shared uint arg_0;
-
 void atomicMin_69d383() {
   uint res = atomicMin(arg_0, 1u);
 }
@@ -24,10 +23,11 @@
   compute_main_inner(tint_symbol.local_invocation_index);
   return;
 }
+
+
 void main() {
   tint_symbol_1 inputs;
   inputs.local_invocation_index = uint(gl_LocalInvocationIndex);
   compute_main(inputs);
 }
 
-
diff --git a/test/intrinsics/gen/atomicMin/8e38dc.wgsl.expected.glsl b/test/intrinsics/gen/atomicMin/8e38dc.wgsl.expected.glsl
index edfeb6e..3ef1cad 100644
--- a/test/intrinsics/gen/atomicMin/8e38dc.wgsl.expected.glsl
+++ b/test/intrinsics/gen/atomicMin/8e38dc.wgsl.expected.glsl
@@ -8,7 +8,6 @@
 layout(binding = 0) buffer SB_RW_1 {
   int arg_0;
 } sb_rw;
-
 void atomicMin_8e38dc() {
   int res = atomicMin(sb_rw.arg_0, 1);
 }
@@ -17,11 +16,11 @@
   atomicMin_8e38dc();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -32,7 +31,6 @@
 layout(binding = 0) buffer SB_RW_1 {
   int arg_0;
 } sb_rw;
-
 void atomicMin_8e38dc() {
   int res = atomicMin(sb_rw.arg_0, 1);
 }
@@ -42,8 +40,8 @@
   atomicMin_8e38dc();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/atomicMin/c67a74.wgsl.expected.glsl b/test/intrinsics/gen/atomicMin/c67a74.wgsl.expected.glsl
index 247ed1e..007cfa1 100644
--- a/test/intrinsics/gen/atomicMin/c67a74.wgsl.expected.glsl
+++ b/test/intrinsics/gen/atomicMin/c67a74.wgsl.expected.glsl
@@ -8,7 +8,6 @@
 layout(binding = 0) buffer SB_RW_1 {
   uint arg_0;
 } sb_rw;
-
 void atomicMin_c67a74() {
   uint res = atomicMin(sb_rw.arg_0, 1u);
 }
@@ -17,11 +16,11 @@
   atomicMin_c67a74();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -32,7 +31,6 @@
 layout(binding = 0) buffer SB_RW_1 {
   uint arg_0;
 } sb_rw;
-
 void atomicMin_c67a74() {
   uint res = atomicMin(sb_rw.arg_0, 1u);
 }
@@ -42,8 +40,8 @@
   atomicMin_c67a74();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/atomicOr/5e3d61.wgsl.expected.glsl b/test/intrinsics/gen/atomicOr/5e3d61.wgsl.expected.glsl
index 9fd6dfb..2da57b8 100644
--- a/test/intrinsics/gen/atomicOr/5e3d61.wgsl.expected.glsl
+++ b/test/intrinsics/gen/atomicOr/5e3d61.wgsl.expected.glsl
@@ -2,7 +2,6 @@
 precision mediump float;
 
 shared uint arg_0;
-
 void atomicOr_5e3d61() {
   uint res = atomicOr(arg_0, 1u);
 }
@@ -24,10 +23,11 @@
   compute_main_inner(tint_symbol.local_invocation_index);
   return;
 }
+
+
 void main() {
   tint_symbol_1 inputs;
   inputs.local_invocation_index = uint(gl_LocalInvocationIndex);
   compute_main(inputs);
 }
 
-
diff --git a/test/intrinsics/gen/atomicOr/5e95d4.wgsl.expected.glsl b/test/intrinsics/gen/atomicOr/5e95d4.wgsl.expected.glsl
index 905360c..e0066d7 100644
--- a/test/intrinsics/gen/atomicOr/5e95d4.wgsl.expected.glsl
+++ b/test/intrinsics/gen/atomicOr/5e95d4.wgsl.expected.glsl
@@ -8,7 +8,6 @@
 layout(binding = 0) buffer SB_RW_1 {
   uint arg_0;
 } sb_rw;
-
 void atomicOr_5e95d4() {
   uint res = atomicOr(sb_rw.arg_0, 1u);
 }
@@ -17,11 +16,11 @@
   atomicOr_5e95d4();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -32,7 +31,6 @@
 layout(binding = 0) buffer SB_RW_1 {
   uint arg_0;
 } sb_rw;
-
 void atomicOr_5e95d4() {
   uint res = atomicOr(sb_rw.arg_0, 1u);
 }
@@ -42,8 +40,8 @@
   atomicOr_5e95d4();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/atomicOr/8d96a0.wgsl.expected.glsl b/test/intrinsics/gen/atomicOr/8d96a0.wgsl.expected.glsl
index 5da969c..6e2be73 100644
--- a/test/intrinsics/gen/atomicOr/8d96a0.wgsl.expected.glsl
+++ b/test/intrinsics/gen/atomicOr/8d96a0.wgsl.expected.glsl
@@ -8,7 +8,6 @@
 layout(binding = 0) buffer SB_RW_1 {
   int arg_0;
 } sb_rw;
-
 void atomicOr_8d96a0() {
   int res = atomicOr(sb_rw.arg_0, 1);
 }
@@ -17,11 +16,11 @@
   atomicOr_8d96a0();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -32,7 +31,6 @@
 layout(binding = 0) buffer SB_RW_1 {
   int arg_0;
 } sb_rw;
-
 void atomicOr_8d96a0() {
   int res = atomicOr(sb_rw.arg_0, 1);
 }
@@ -42,8 +40,8 @@
   atomicOr_8d96a0();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/atomicOr/d09248.wgsl.expected.glsl b/test/intrinsics/gen/atomicOr/d09248.wgsl.expected.glsl
index 1bd396d..c2ab6ca 100644
--- a/test/intrinsics/gen/atomicOr/d09248.wgsl.expected.glsl
+++ b/test/intrinsics/gen/atomicOr/d09248.wgsl.expected.glsl
@@ -2,7 +2,6 @@
 precision mediump float;
 
 shared int arg_0;
-
 void atomicOr_d09248() {
   int res = atomicOr(arg_0, 1);
 }
@@ -24,10 +23,11 @@
   compute_main_inner(tint_symbol.local_invocation_index);
   return;
 }
+
+
 void main() {
   tint_symbol_1 inputs;
   inputs.local_invocation_index = uint(gl_LocalInvocationIndex);
   compute_main(inputs);
 }
 
-
diff --git a/test/intrinsics/gen/atomicStore/726882.wgsl.expected.glsl b/test/intrinsics/gen/atomicStore/726882.wgsl.expected.glsl
index 1539167..4810df6 100644
--- a/test/intrinsics/gen/atomicStore/726882.wgsl.expected.glsl
+++ b/test/intrinsics/gen/atomicStore/726882.wgsl.expected.glsl
@@ -2,7 +2,6 @@
 precision mediump float;
 
 shared uint arg_0;
-
 void atomicStore_726882() {
   atomicExchange(arg_0, 1u);
 }
@@ -24,10 +23,11 @@
   compute_main_inner(tint_symbol.local_invocation_index);
   return;
 }
+
+
 void main() {
   tint_symbol_1 inputs;
   inputs.local_invocation_index = uint(gl_LocalInvocationIndex);
   compute_main(inputs);
 }
 
-
diff --git a/test/intrinsics/gen/atomicStore/8bea94.wgsl.expected.glsl b/test/intrinsics/gen/atomicStore/8bea94.wgsl.expected.glsl
index d338acc..5c11b81 100644
--- a/test/intrinsics/gen/atomicStore/8bea94.wgsl.expected.glsl
+++ b/test/intrinsics/gen/atomicStore/8bea94.wgsl.expected.glsl
@@ -2,7 +2,6 @@
 precision mediump float;
 
 shared int arg_0;
-
 void atomicStore_8bea94() {
   atomicExchange(arg_0, 1);
 }
@@ -24,10 +23,11 @@
   compute_main_inner(tint_symbol.local_invocation_index);
   return;
 }
+
+
 void main() {
   tint_symbol_1 inputs;
   inputs.local_invocation_index = uint(gl_LocalInvocationIndex);
   compute_main(inputs);
 }
 
-
diff --git a/test/intrinsics/gen/atomicStore/cdc29e.wgsl.expected.glsl b/test/intrinsics/gen/atomicStore/cdc29e.wgsl.expected.glsl
index 7c31721..1e0429d 100644
--- a/test/intrinsics/gen/atomicStore/cdc29e.wgsl.expected.glsl
+++ b/test/intrinsics/gen/atomicStore/cdc29e.wgsl.expected.glsl
@@ -8,7 +8,6 @@
 layout(binding = 0) buffer SB_RW_1 {
   uint arg_0;
 } sb_rw;
-
 void atomicStore_cdc29e() {
   atomicExchange(sb_rw.arg_0, 1u);
 }
@@ -17,11 +16,11 @@
   atomicStore_cdc29e();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -32,7 +31,6 @@
 layout(binding = 0) buffer SB_RW_1 {
   uint arg_0;
 } sb_rw;
-
 void atomicStore_cdc29e() {
   atomicExchange(sb_rw.arg_0, 1u);
 }
@@ -42,8 +40,8 @@
   atomicStore_cdc29e();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/atomicStore/d1e9a6.wgsl.expected.glsl b/test/intrinsics/gen/atomicStore/d1e9a6.wgsl.expected.glsl
index c2ab929..ac7fa98 100644
--- a/test/intrinsics/gen/atomicStore/d1e9a6.wgsl.expected.glsl
+++ b/test/intrinsics/gen/atomicStore/d1e9a6.wgsl.expected.glsl
@@ -8,7 +8,6 @@
 layout(binding = 0) buffer SB_RW_1 {
   int arg_0;
 } sb_rw;
-
 void atomicStore_d1e9a6() {
   atomicExchange(sb_rw.arg_0, 1);
 }
@@ -17,11 +16,11 @@
   atomicStore_d1e9a6();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -32,7 +31,6 @@
 layout(binding = 0) buffer SB_RW_1 {
   int arg_0;
 } sb_rw;
-
 void atomicStore_d1e9a6() {
   atomicExchange(sb_rw.arg_0, 1);
 }
@@ -42,8 +40,8 @@
   atomicStore_d1e9a6();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/atomicSub/051100.wgsl.expected.glsl b/test/intrinsics/gen/atomicSub/051100.wgsl.expected.glsl
index 3294fbd..bc8a2ee 100644
--- a/test/intrinsics/gen/atomicSub/051100.wgsl.expected.glsl
+++ b/test/intrinsics/gen/atomicSub/051100.wgsl.expected.glsl
@@ -8,7 +8,6 @@
 layout(binding = 0) buffer SB_RW_1 {
   int arg_0;
 } sb_rw;
-
 void atomicSub_051100() {
   int res = atomicAdd(sb_rw.arg_0, 1);
 }
@@ -17,11 +16,11 @@
   atomicSub_051100();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -32,7 +31,6 @@
 layout(binding = 0) buffer SB_RW_1 {
   int arg_0;
 } sb_rw;
-
 void atomicSub_051100() {
   int res = atomicAdd(sb_rw.arg_0, 1);
 }
@@ -42,8 +40,8 @@
   atomicSub_051100();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/atomicSub/0d26c2.wgsl.expected.glsl b/test/intrinsics/gen/atomicSub/0d26c2.wgsl.expected.glsl
index b0bddda..f17a4f3 100644
--- a/test/intrinsics/gen/atomicSub/0d26c2.wgsl.expected.glsl
+++ b/test/intrinsics/gen/atomicSub/0d26c2.wgsl.expected.glsl
@@ -2,7 +2,6 @@
 precision mediump float;
 
 shared uint arg_0;
-
 void atomicSub_0d26c2() {
   uint res = atomicAdd(arg_0, 1u);
 }
@@ -24,10 +23,11 @@
   compute_main_inner(tint_symbol.local_invocation_index);
   return;
 }
+
+
 void main() {
   tint_symbol_1 inputs;
   inputs.local_invocation_index = uint(gl_LocalInvocationIndex);
   compute_main(inputs);
 }
 
-
diff --git a/test/intrinsics/gen/atomicSub/15bfc9.wgsl.expected.glsl b/test/intrinsics/gen/atomicSub/15bfc9.wgsl.expected.glsl
index 537de87..118bced 100644
--- a/test/intrinsics/gen/atomicSub/15bfc9.wgsl.expected.glsl
+++ b/test/intrinsics/gen/atomicSub/15bfc9.wgsl.expected.glsl
@@ -8,7 +8,6 @@
 layout(binding = 0) buffer SB_RW_1 {
   uint arg_0;
 } sb_rw;
-
 void atomicSub_15bfc9() {
   uint res = atomicAdd(sb_rw.arg_0, 1u);
 }
@@ -17,11 +16,11 @@
   atomicSub_15bfc9();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -32,7 +31,6 @@
 layout(binding = 0) buffer SB_RW_1 {
   uint arg_0;
 } sb_rw;
-
 void atomicSub_15bfc9() {
   uint res = atomicAdd(sb_rw.arg_0, 1u);
 }
@@ -42,8 +40,8 @@
   atomicSub_15bfc9();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/atomicSub/77883a.wgsl.expected.glsl b/test/intrinsics/gen/atomicSub/77883a.wgsl.expected.glsl
index 9c70e99..c8331da 100644
--- a/test/intrinsics/gen/atomicSub/77883a.wgsl.expected.glsl
+++ b/test/intrinsics/gen/atomicSub/77883a.wgsl.expected.glsl
@@ -2,7 +2,6 @@
 precision mediump float;
 
 shared int arg_0;
-
 void atomicSub_77883a() {
   int res = atomicAdd(arg_0, 1);
 }
@@ -24,10 +23,11 @@
   compute_main_inner(tint_symbol.local_invocation_index);
   return;
 }
+
+
 void main() {
   tint_symbol_1 inputs;
   inputs.local_invocation_index = uint(gl_LocalInvocationIndex);
   compute_main(inputs);
 }
 
-
diff --git a/test/intrinsics/gen/atomicXor/54510e.wgsl.expected.glsl b/test/intrinsics/gen/atomicXor/54510e.wgsl.expected.glsl
index e32e6b0..931dcf1 100644
--- a/test/intrinsics/gen/atomicXor/54510e.wgsl.expected.glsl
+++ b/test/intrinsics/gen/atomicXor/54510e.wgsl.expected.glsl
@@ -8,7 +8,6 @@
 layout(binding = 0) buffer SB_RW_1 {
   uint arg_0;
 } sb_rw;
-
 void atomicXor_54510e() {
   uint res = atomicXor(sb_rw.arg_0, 1u);
 }
@@ -17,11 +16,11 @@
   atomicXor_54510e();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -32,7 +31,6 @@
 layout(binding = 0) buffer SB_RW_1 {
   uint arg_0;
 } sb_rw;
-
 void atomicXor_54510e() {
   uint res = atomicXor(sb_rw.arg_0, 1u);
 }
@@ -42,8 +40,8 @@
   atomicXor_54510e();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/atomicXor/75dc95.wgsl.expected.glsl b/test/intrinsics/gen/atomicXor/75dc95.wgsl.expected.glsl
index 9917356..464b9e7 100644
--- a/test/intrinsics/gen/atomicXor/75dc95.wgsl.expected.glsl
+++ b/test/intrinsics/gen/atomicXor/75dc95.wgsl.expected.glsl
@@ -2,7 +2,6 @@
 precision mediump float;
 
 shared int arg_0;
-
 void atomicXor_75dc95() {
   int res = atomicXor(arg_0, 1);
 }
@@ -24,10 +23,11 @@
   compute_main_inner(tint_symbol.local_invocation_index);
   return;
 }
+
+
 void main() {
   tint_symbol_1 inputs;
   inputs.local_invocation_index = uint(gl_LocalInvocationIndex);
   compute_main(inputs);
 }
 
-
diff --git a/test/intrinsics/gen/atomicXor/c1b78c.wgsl.expected.glsl b/test/intrinsics/gen/atomicXor/c1b78c.wgsl.expected.glsl
index ce68be5..f91c27b 100644
--- a/test/intrinsics/gen/atomicXor/c1b78c.wgsl.expected.glsl
+++ b/test/intrinsics/gen/atomicXor/c1b78c.wgsl.expected.glsl
@@ -8,7 +8,6 @@
 layout(binding = 0) buffer SB_RW_1 {
   int arg_0;
 } sb_rw;
-
 void atomicXor_c1b78c() {
   int res = atomicXor(sb_rw.arg_0, 1);
 }
@@ -17,11 +16,11 @@
   atomicXor_c1b78c();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -32,7 +31,6 @@
 layout(binding = 0) buffer SB_RW_1 {
   int arg_0;
 } sb_rw;
-
 void atomicXor_c1b78c() {
   int res = atomicXor(sb_rw.arg_0, 1);
 }
@@ -42,8 +40,8 @@
   atomicXor_c1b78c();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/atomicXor/c8e6be.wgsl.expected.glsl b/test/intrinsics/gen/atomicXor/c8e6be.wgsl.expected.glsl
index bcc49d9..209ec0b 100644
--- a/test/intrinsics/gen/atomicXor/c8e6be.wgsl.expected.glsl
+++ b/test/intrinsics/gen/atomicXor/c8e6be.wgsl.expected.glsl
@@ -2,7 +2,6 @@
 precision mediump float;
 
 shared uint arg_0;
-
 void atomicXor_c8e6be() {
   uint res = atomicXor(arg_0, 1u);
 }
@@ -24,10 +23,11 @@
   compute_main_inner(tint_symbol.local_invocation_index);
   return;
 }
+
+
 void main() {
   tint_symbol_1 inputs;
   inputs.local_invocation_index = uint(gl_LocalInvocationIndex);
   compute_main(inputs);
 }
 
-
diff --git a/test/intrinsics/gen/ceil/34064b.wgsl.expected.glsl b/test/intrinsics/gen/ceil/34064b.wgsl.expected.glsl
index 956a395..7fb4dc5 100644
--- a/test/intrinsics/gen/ceil/34064b.wgsl.expected.glsl
+++ b/test/intrinsics/gen/ceil/34064b.wgsl.expected.glsl
@@ -20,6 +20,8 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
 void main() {
   tint_symbol outputs;
   outputs = vertex_main();
@@ -28,7 +30,6 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -44,11 +45,11 @@
   ceil_34064b();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -65,8 +66,8 @@
   ceil_34064b();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/ceil/678655.wgsl.expected.glsl b/test/intrinsics/gen/ceil/678655.wgsl.expected.glsl
index 31d306d..bf97f96 100644
--- a/test/intrinsics/gen/ceil/678655.wgsl.expected.glsl
+++ b/test/intrinsics/gen/ceil/678655.wgsl.expected.glsl
@@ -20,6 +20,8 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
 void main() {
   tint_symbol outputs;
   outputs = vertex_main();
@@ -28,7 +30,6 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -44,11 +45,11 @@
   ceil_678655();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -65,8 +66,8 @@
   ceil_678655();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/ceil/96f597.wgsl.expected.glsl b/test/intrinsics/gen/ceil/96f597.wgsl.expected.glsl
index d917e31..52ced7b 100644
--- a/test/intrinsics/gen/ceil/96f597.wgsl.expected.glsl
+++ b/test/intrinsics/gen/ceil/96f597.wgsl.expected.glsl
@@ -20,6 +20,8 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
 void main() {
   tint_symbol outputs;
   outputs = vertex_main();
@@ -28,7 +30,6 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -44,11 +45,11 @@
   ceil_96f597();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -65,8 +66,8 @@
   ceil_96f597();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/ceil/b74c16.wgsl.expected.glsl b/test/intrinsics/gen/ceil/b74c16.wgsl.expected.glsl
index 79d3a3c..1a3cac6 100644
--- a/test/intrinsics/gen/ceil/b74c16.wgsl.expected.glsl
+++ b/test/intrinsics/gen/ceil/b74c16.wgsl.expected.glsl
@@ -20,6 +20,8 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
 void main() {
   tint_symbol outputs;
   outputs = vertex_main();
@@ -28,7 +30,6 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -44,11 +45,11 @@
   ceil_b74c16();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -65,8 +66,8 @@
   ceil_b74c16();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/clamp/0acf8f.wgsl.expected.glsl b/test/intrinsics/gen/clamp/0acf8f.wgsl.expected.glsl
index 8ed088e..103572c 100644
--- a/test/intrinsics/gen/clamp/0acf8f.wgsl.expected.glsl
+++ b/test/intrinsics/gen/clamp/0acf8f.wgsl.expected.glsl
@@ -20,6 +20,8 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
 void main() {
   tint_symbol outputs;
   outputs = vertex_main();
@@ -28,7 +30,6 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -44,11 +45,11 @@
   clamp_0acf8f();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -65,8 +66,8 @@
   clamp_0acf8f();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/clamp/1a32e3.wgsl.expected.glsl b/test/intrinsics/gen/clamp/1a32e3.wgsl.expected.glsl
index 2efad4d..a2abc65 100644
--- a/test/intrinsics/gen/clamp/1a32e3.wgsl.expected.glsl
+++ b/test/intrinsics/gen/clamp/1a32e3.wgsl.expected.glsl
@@ -20,6 +20,8 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
 void main() {
   tint_symbol outputs;
   outputs = vertex_main();
@@ -28,7 +30,6 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -44,11 +45,11 @@
   clamp_1a32e3();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -65,8 +66,8 @@
   clamp_1a32e3();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/clamp/2bd567.wgsl.expected.glsl b/test/intrinsics/gen/clamp/2bd567.wgsl.expected.glsl
index a443a31..73faf97 100644
--- a/test/intrinsics/gen/clamp/2bd567.wgsl.expected.glsl
+++ b/test/intrinsics/gen/clamp/2bd567.wgsl.expected.glsl
@@ -20,6 +20,8 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
 void main() {
   tint_symbol outputs;
   outputs = vertex_main();
@@ -28,7 +30,6 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -44,11 +45,11 @@
   clamp_2bd567();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -65,8 +66,8 @@
   clamp_2bd567();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/clamp/2bde41.wgsl.expected.glsl b/test/intrinsics/gen/clamp/2bde41.wgsl.expected.glsl
index 3546e04..ed22707 100644
--- a/test/intrinsics/gen/clamp/2bde41.wgsl.expected.glsl
+++ b/test/intrinsics/gen/clamp/2bde41.wgsl.expected.glsl
@@ -20,6 +20,8 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
 void main() {
   tint_symbol outputs;
   outputs = vertex_main();
@@ -28,7 +30,6 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -44,11 +45,11 @@
   clamp_2bde41();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -65,8 +66,8 @@
   clamp_2bde41();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/clamp/548fc7.wgsl.expected.glsl b/test/intrinsics/gen/clamp/548fc7.wgsl.expected.glsl
index 389d818..9bdda9e 100644
--- a/test/intrinsics/gen/clamp/548fc7.wgsl.expected.glsl
+++ b/test/intrinsics/gen/clamp/548fc7.wgsl.expected.glsl
@@ -20,6 +20,8 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
 void main() {
   tint_symbol outputs;
   outputs = vertex_main();
@@ -28,7 +30,6 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -44,11 +45,11 @@
   clamp_548fc7();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -65,8 +66,8 @@
   clamp_548fc7();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/clamp/5f0819.wgsl.expected.glsl b/test/intrinsics/gen/clamp/5f0819.wgsl.expected.glsl
index dc61fb7..42ae5f6 100644
--- a/test/intrinsics/gen/clamp/5f0819.wgsl.expected.glsl
+++ b/test/intrinsics/gen/clamp/5f0819.wgsl.expected.glsl
@@ -20,6 +20,8 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
 void main() {
   tint_symbol outputs;
   outputs = vertex_main();
@@ -28,7 +30,6 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -44,11 +45,11 @@
   clamp_5f0819();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -65,8 +66,8 @@
   clamp_5f0819();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/clamp/6c1749.wgsl.expected.glsl b/test/intrinsics/gen/clamp/6c1749.wgsl.expected.glsl
index 5f2a0ec..37b11b6 100644
--- a/test/intrinsics/gen/clamp/6c1749.wgsl.expected.glsl
+++ b/test/intrinsics/gen/clamp/6c1749.wgsl.expected.glsl
@@ -20,6 +20,8 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
 void main() {
   tint_symbol outputs;
   outputs = vertex_main();
@@ -28,7 +30,6 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -44,11 +45,11 @@
   clamp_6c1749();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -65,8 +66,8 @@
   clamp_6c1749();
   return;
 }
+
 void main() {
   compute_main();
 }
 
-
diff --git a/test/intrinsics/gen/clamp/7706d7.wgsl.expected.glsl b/test/intrinsics/gen/clamp/7706d7.wgsl.expected.glsl
index 614bb6a..2b225ed 100644
--- a/test/intrinsics/gen/clamp/7706d7.wgsl.expected.glsl
+++ b/test/intrinsics/gen/clamp/7706d7.wgsl.expected.glsl
@@ -20,6 +20,8 @@
   wrapper_result.value = inner_result;
   return wrapper_result;
 }
+
+
 void main() {
   tint_symbol outputs;
   outputs = vertex_main();
@@ -28,7 +30,6 @@
   gl_Position.y = -gl_Position.y;
 }
 
-
 #version 310 es
 precision mediump float;
 
@@ -44,11 +45,11 @@
   clamp_7706d7();
   return;
 }
+
 void main() {
   fragment_main();
 }
 
-
 #version 310 es
<