#include <metal_stdlib>
#pragma clang diagnostic ignored "-Wparentheses-equality"
using namespace metal;
constant half3 _xlat_mtl_const1[3] = {half3(1.0, 2.0, 3.0), half3(4.0, 5.0, 6.0), half3(7.0, 8.0, 9.0)};
constant float3 _xlat_mtl_const2[3] = {float3(11.0, 12.0, 13.0), float3(14.0, 15.0, 16.0), float3(17.0, 18.0, 19.0)};
struct xlatMtlShaderInput {
  half2 xlv_TEXCOORD0;
};
struct xlatMtlShaderOutput {
  half4 _glesFragData_0 [[color(0)]];
};
struct xlatMtlShaderUniform {
};
fragment xlatMtlShaderOutput xlatMtlMain (xlatMtlShaderInput _mtl_i [[stage_in]], constant xlatMtlShaderUniform& _mtl_u [[buffer(0)]])
{
  xlatMtlShaderOutput _mtl_o;
  half4 tmpvar_1 = 0;
  half2 tmpvar_2 = 0;
  tmpvar_2 = _mtl_i.xlv_TEXCOORD0;
  float3 p_4 = 0;
  float3 f_5 = 0;
  half3 h_6 = 0;
  h_6 = half3(float3(0.0, 0.0, 0.0));
  f_5 = float3(0.0, 0.0, 0.0);
  half3 tmpvar_7 = 0;
  tmpvar_7.z = half(1.0);
  tmpvar_7.xy = _mtl_i.xlv_TEXCOORD0;
  p_4 = float3(tmpvar_7);
  for (int j_3 = 0; j_3 < short((tmpvar_2.x * (half)(3.0))); j_3++) {
    h_6 = (h_6 + _xlat_mtl_const1[j_3]);
    f_5 = (f_5 + _xlat_mtl_const2[j_3]);
    f_5 = (f_5 + (p_4 * (float3)(half3(1.0, 2.0, 3.0))));
    f_5 = (f_5 + ((float3)(half3(4.0, 5.0, 6.0)) * p_4));
  };
  float4 tmpvar_8 = 0;
  tmpvar_8.xy = float2(h_6.xy);
  tmpvar_8.zw = f_5.xy;
  tmpvar_1 = half4(tmpvar_8);
  _mtl_o._glesFragData_0 = tmpvar_1;
  return _mtl_o;
}


// stats: 14 alu 0 tex 2 flow
// inputs: 1
//  #0: xlv_TEXCOORD0 (medium float) 2x1 [-1]
