static float2x4 x_1[2] = (float2x4[2])0;
static float4 x_2 = float4(0.0f, 0.0f, 0.0f, 0.0f);

void main_1() {
  return;
}

struct main_out {
  float4 x_2_1;
};
struct tint_symbol_1 {
  float4 x_1_param : TEXCOORD7;
  float4 x_1_param_1 : TEXCOORD8;
  float4 x_1_param_2 : TEXCOORD9;
  float4 x_1_param_3 : TEXCOORD10;
};
struct tint_symbol_2 {
  float4 x_2_1 : SV_Position;
};

tint_symbol_2 main(tint_symbol_1 tint_symbol) {
  const float4 x_1_param = tint_symbol.x_1_param;
  const float4 x_1_param_1 = tint_symbol.x_1_param_1;
  const float4 x_1_param_2 = tint_symbol.x_1_param_2;
  const float4 x_1_param_3 = tint_symbol.x_1_param_3;
  x_1[0][0] = x_1_param;
  x_1[0][1] = x_1_param_1;
  x_1[1][0] = x_1_param_2;
  x_1[1][1] = x_1_param_3;
  main_1();
  const main_out tint_symbol_3 = {x_2};
  const tint_symbol_2 tint_symbol_4 = {tint_symbol_3.x_2_1};
  return tint_symbol_4;
}
