#include <metal_stdlib>
using namespace metal;
struct tint_module_vars_struct {
  thread half2x3* m;
  device half2x3* out;
};

void tint_store_and_preserve_padding(device half2x3* const target, half2x3 value_param) {
  (*target)[0u] = value_param[0u];
  (*target)[1u] = value_param[1u];
}
kernel void f(device half2x3* out [[buffer(0)]]) {
  thread half2x3 m = half2x3(half3(0.0h, 1.0h, 2.0h), half3(3.0h, 4.0h, 5.0h));
  tint_module_vars_struct const tint_module_vars = {.m=(&m), .out=out};
  tint_store_and_preserve_padding(tint_module_vars.out, (*tint_module_vars.m));
}
