diagnostic(off, derivative_uniformity);
diagnostic(off, chromium.unreachable_code);
struct _GlobalUniforms {
  testMatrix2x2: mat2x2<f32>,
  testMatrix3x3: mat3x3<f32>,
  testInputs: vec4<f32>,
  colorRed: vec4<f32>,
  colorGreen: vec4<f32>,
  unknownInput: f32,
};
@binding(0) @group(0) var<uniform> _globalUniforms: _GlobalUniforms;
fn test_no_op_mat2_X_vec2_b() -> bool {
  {
    var v: vec2<f32>;
    var vv: vec2<f32>;
    v = _globalUniforms.testInputs.xy;
    v = _globalUniforms.testInputs.xy;
    if any(v != _globalUniforms.testInputs.xy) {
      return false;
    }
    if any(v != _globalUniforms.testInputs.xy) {
      return false;
    }
    v = -_globalUniforms.testInputs.xy;
    v = -_globalUniforms.testInputs.xy;
    if any(v != (-_globalUniforms.testInputs.xy)) {
      return false;
    }
    vv = vec2<f32>(0.0);
    vv = vec2<f32>(0.0);
    return all(vv == vec2<f32>(0.0));
  }
}
fn test_no_op_mat3_X_vec3_b() -> bool {
  {
    var v: vec3<f32>;
    var vv: vec3<f32>;
    v = _globalUniforms.testInputs.xyz;
    v = _globalUniforms.testInputs.xyz;
    if any(v != _globalUniforms.testInputs.xyz) {
      return false;
    }
    if any(v != _globalUniforms.testInputs.xyz) {
      return false;
    }
    v = -_globalUniforms.testInputs.xyz;
    v = -_globalUniforms.testInputs.xyz;
    if any(v != (-_globalUniforms.testInputs.xyz)) {
      return false;
    }
    vv = vec3<f32>(0.0);
    vv = vec3<f32>(0.0);
    return all(vv == vec3<f32>(0.0));
  }
}
fn test_no_op_mat4_X_vec4_b() -> bool {
  {
    var v: vec4<f32>;
    var vv: vec4<f32>;
    v = _globalUniforms.testInputs;
    v = _globalUniforms.testInputs;
    if any(v != _globalUniforms.testInputs) {
      return false;
    }
    if any(v != _globalUniforms.testInputs) {
      return false;
    }
    v = -_globalUniforms.testInputs;
    v = -_globalUniforms.testInputs;
    if any(v != (-_globalUniforms.testInputs)) {
      return false;
    }
    vv = vec4<f32>(0.0);
    vv = vec4<f32>(0.0);
    return all(vv == vec4<f32>(0.0));
  }
}
fn test_no_op_vec2_X_mat2_b() -> bool {
  {
    const n: vec2<f32> = vec2<f32>(-1.0);
    const i: vec2<f32> = vec2<f32>(1.0);
    const z: vec2<f32> = vec2<f32>(0.0);
    var v: vec2<f32>;
    var vv: vec2<f32> = vec2<f32>(0.0);
    vv = vec2<f32>(0.0);
    if any(vv != z) {
      return false;
    }
    v = i * _globalUniforms.testMatrix2x2;
    if any(v != vec2<f32>(3.0, 7.0)) {
      return false;
    }
    v = _globalUniforms.testMatrix2x2 * i;
    if any(v != vec2<f32>(4.0, 6.0)) {
      return false;
    }
    v = n * _globalUniforms.testMatrix2x2;
    if any(v != vec2<f32>(-3.0, -7.0)) {
      return false;
    }
    v = _globalUniforms.testMatrix2x2 * n;
    return all(v == vec2<f32>(-4.0, -6.0));
  }
}
fn test_no_op_vec3_X_mat3_b() -> bool {
  {
    const n: vec3<f32> = vec3<f32>(-1.0);
    const i: vec3<f32> = vec3<f32>(1.0);
    const z: vec3<f32> = vec3<f32>(0.0);
    var v: vec3<f32>;
    var vv: vec3<f32> = vec3<f32>(0.0);
    vv = vec3<f32>(0.0);
    if any(vv != z) {
      return false;
    }
    v = i * _globalUniforms.testMatrix3x3;
    if any(v != vec3<f32>(6.0, 15.0, 24.0)) {
      return false;
    }
    v = _globalUniforms.testMatrix3x3 * i;
    if any(v != vec3<f32>(12.0, 15.0, 18.0)) {
      return false;
    }
    v = n * _globalUniforms.testMatrix3x3;
    if any(v != vec3<f32>(-6.0, -15.0, -24.0)) {
      return false;
    }
    v = _globalUniforms.testMatrix3x3 * n;
    return all(v == vec3<f32>(-12.0, -15.0, -18.0));
  }
}
fn test_no_op_vec4_X_mat4_b() -> bool {
  {
    const n: vec4<f32> = vec4<f32>(-1.0);
    const i: vec4<f32> = vec4<f32>(1.0);
    const z: vec4<f32> = vec4<f32>(0.0);
    let _skTemp0 = _globalUniforms.testMatrix2x2[0];
    let _skTemp1 = _globalUniforms.testMatrix2x2[1];
    let _skTemp2 = _globalUniforms.testMatrix2x2[0];
    let _skTemp3 = _globalUniforms.testMatrix2x2[1];
    let _skTemp4 = _globalUniforms.testMatrix2x2[0];
    let _skTemp5 = _globalUniforms.testMatrix2x2[1];
    let _skTemp6 = _globalUniforms.testMatrix2x2[0];
    let _skTemp7 = _globalUniforms.testMatrix2x2[1];
    var testMatrix4x4: mat4x4<f32> = mat4x4<f32>(_skTemp0[0], _skTemp0[1], _skTemp1[0], _skTemp1[1], _skTemp2[0], _skTemp2[1], _skTemp3[0], _skTemp3[1], _skTemp4[0], _skTemp4[1], _skTemp5[0], _skTemp5[1], _skTemp6[0], _skTemp6[1], _skTemp7[0], _skTemp7[1]);
    var v: vec4<f32>;
    var vv: vec4<f32> = vec4<f32>(0.0);
    vv = vec4<f32>(0.0);
    if any(vv != z) {
      return false;
    }
    v = i * testMatrix4x4;
    if any(v != vec4<f32>(10.0)) {
      return false;
    }
    v = testMatrix4x4 * i;
    if any(v != vec4<f32>(4.0, 8.0, 12.0, 16.0)) {
      return false;
    }
    v = n * testMatrix4x4;
    if any(v != vec4<f32>(-10.0)) {
      return false;
    }
    v = testMatrix4x4 * n;
    return all(v == vec4<f32>(-4.0, -8.0, -12.0, -16.0));
  }
}
fn _skslMain(coords: vec2<f32>) -> vec4<f32> {
  {
    var _skTemp8: vec4<f32>;
    var _skTemp9: bool;
    var _skTemp10: bool;
    var _skTemp11: bool;
    var _skTemp12: bool;
    var _skTemp13: bool;
    let _skTemp14 = test_no_op_mat2_X_vec2_b();
    if _skTemp14 {
      let _skTemp15 = test_no_op_mat3_X_vec3_b();
      _skTemp13 = _skTemp15;
    } else {
      _skTemp13 = false;
    }
    if _skTemp13 {
      let _skTemp16 = test_no_op_mat4_X_vec4_b();
      _skTemp12 = _skTemp16;
    } else {
      _skTemp12 = false;
    }
    if _skTemp12 {
      let _skTemp17 = test_no_op_vec2_X_mat2_b();
      _skTemp11 = _skTemp17;
    } else {
      _skTemp11 = false;
    }
    if _skTemp11 {
      let _skTemp18 = test_no_op_vec3_X_mat3_b();
      _skTemp10 = _skTemp18;
    } else {
      _skTemp10 = false;
    }
    if _skTemp10 {
      let _skTemp19 = test_no_op_vec4_X_mat4_b();
      _skTemp9 = _skTemp19;
    } else {
      _skTemp9 = false;
    }
    if _skTemp9 {
      _skTemp8 = _globalUniforms.colorGreen;
    } else {
      _skTemp8 = _globalUniforms.colorRed;
    }
    return _skTemp8;
  }
}
@fragment fn main(@location(0) _coords: vec2<f32>) -> @location(0) vec4<f32> {
  return _skslMain(_coords);
}
