[cts.https.html?q=webgpu:shader,validation,expression,binary,add_sub_mul:invalid_type_with_itself:*]
  implementation-status: backlog
  [:op="add";type="array";control=false]

  [:op="add";type="array";control=true]

  [:op="add";type="atomic";control=false]
    expected: FAIL

  [:op="add";type="atomic";control=true]

  [:op="add";type="ptr";control=false]

  [:op="add";type="ptr";control=true]

  [:op="add";type="sampler";control=false]

  [:op="add";type="sampler";control=true]

  [:op="add";type="struct";control=false]

  [:op="add";type="struct";control=true]

  [:op="add";type="texture";control=false]

  [:op="add";type="texture";control=true]

  [:op="mul";type="array";control=false]

  [:op="mul";type="array";control=true]

  [:op="mul";type="atomic";control=false]
    expected: FAIL

  [:op="mul";type="atomic";control=true]

  [:op="mul";type="ptr";control=false]

  [:op="mul";type="ptr";control=true]

  [:op="mul";type="sampler";control=false]

  [:op="mul";type="sampler";control=true]

  [:op="mul";type="struct";control=false]

  [:op="mul";type="struct";control=true]

  [:op="mul";type="texture";control=false]

  [:op="mul";type="texture";control=true]

  [:op="sub";type="array";control=false]

  [:op="sub";type="array";control=true]

  [:op="sub";type="atomic";control=false]
    expected: FAIL

  [:op="sub";type="atomic";control=true]

  [:op="sub";type="ptr";control=false]

  [:op="sub";type="ptr";control=true]

  [:op="sub";type="sampler";control=false]

  [:op="sub";type="sampler";control=true]

  [:op="sub";type="struct";control=false]

  [:op="sub";type="struct";control=true]

  [:op="sub";type="texture";control=false]

  [:op="sub";type="texture";control=true]


[cts.https.html?q=webgpu:shader,validation,expression,binary,add_sub_mul:scalar_vector:*]
  [:lhs="abstract-float";rhs="abstract-float";compound_assignment=false]

  [:lhs="abstract-float";rhs="abstract-float";compound_assignment=true]

  [:lhs="abstract-float";rhs="abstract-int";compound_assignment=false]

  [:lhs="abstract-float";rhs="abstract-int";compound_assignment=true]

  [:lhs="abstract-float";rhs="bool";compound_assignment=false]

  [:lhs="abstract-float";rhs="bool";compound_assignment=true]

  [:lhs="abstract-float";rhs="f16";compound_assignment=false]

  [:lhs="abstract-float";rhs="f16";compound_assignment=true]

  [:lhs="abstract-float";rhs="f32";compound_assignment=false]

  [:lhs="abstract-float";rhs="f32";compound_assignment=true]

  [:lhs="abstract-float";rhs="i32";compound_assignment=false]

  [:lhs="abstract-float";rhs="i32";compound_assignment=true]

  [:lhs="abstract-float";rhs="u32";compound_assignment=false]

  [:lhs="abstract-float";rhs="u32";compound_assignment=true]

  [:lhs="abstract-float";rhs="vec2%3Cabstract-float%3E";compound_assignment=false]

  [:lhs="abstract-float";rhs="vec2%3Cabstract-float%3E";compound_assignment=true]

  [:lhs="abstract-float";rhs="vec2%3Cabstract-int%3E";compound_assignment=false]

  [:lhs="abstract-float";rhs="vec2%3Cabstract-int%3E";compound_assignment=true]

  [:lhs="abstract-float";rhs="vec2%3Cbool%3E";compound_assignment=false]

  [:lhs="abstract-float";rhs="vec2%3Cbool%3E";compound_assignment=true]

  [:lhs="abstract-float";rhs="vec2%3Cf16%3E";compound_assignment=false]

  [:lhs="abstract-float";rhs="vec2%3Cf16%3E";compound_assignment=true]

  [:lhs="abstract-float";rhs="vec2%3Cf32%3E";compound_assignment=false]

  [:lhs="abstract-float";rhs="vec2%3Cf32%3E";compound_assignment=true]

  [:lhs="abstract-float";rhs="vec2%3Ci32%3E";compound_assignment=false]

  [:lhs="abstract-float";rhs="vec2%3Ci32%3E";compound_assignment=true]

  [:lhs="abstract-float";rhs="vec2%3Cu32%3E";compound_assignment=false]

  [:lhs="abstract-float";rhs="vec2%3Cu32%3E";compound_assignment=true]

  [:lhs="abstract-int";rhs="abstract-float";compound_assignment=false]

  [:lhs="abstract-int";rhs="abstract-float";compound_assignment=true]

  [:lhs="abstract-int";rhs="abstract-int";compound_assignment=false]

  [:lhs="abstract-int";rhs="abstract-int";compound_assignment=true]

  [:lhs="abstract-int";rhs="bool";compound_assignment=false]

  [:lhs="abstract-int";rhs="bool";compound_assignment=true]

  [:lhs="abstract-int";rhs="f16";compound_assignment=false]

  [:lhs="abstract-int";rhs="f16";compound_assignment=true]

  [:lhs="abstract-int";rhs="f32";compound_assignment=false]

  [:lhs="abstract-int";rhs="f32";compound_assignment=true]

  [:lhs="abstract-int";rhs="i32";compound_assignment=false]

  [:lhs="abstract-int";rhs="i32";compound_assignment=true]

  [:lhs="abstract-int";rhs="u32";compound_assignment=false]

  [:lhs="abstract-int";rhs="u32";compound_assignment=true]

  [:lhs="abstract-int";rhs="vec2%3Cabstract-float%3E";compound_assignment=false]

  [:lhs="abstract-int";rhs="vec2%3Cabstract-float%3E";compound_assignment=true]

  [:lhs="abstract-int";rhs="vec2%3Cabstract-int%3E";compound_assignment=false]

  [:lhs="abstract-int";rhs="vec2%3Cabstract-int%3E";compound_assignment=true]

  [:lhs="abstract-int";rhs="vec2%3Cbool%3E";compound_assignment=false]

  [:lhs="abstract-int";rhs="vec2%3Cbool%3E";compound_assignment=true]

  [:lhs="abstract-int";rhs="vec2%3Cf16%3E";compound_assignment=false]

  [:lhs="abstract-int";rhs="vec2%3Cf16%3E";compound_assignment=true]

  [:lhs="abstract-int";rhs="vec2%3Cf32%3E";compound_assignment=false]

  [:lhs="abstract-int";rhs="vec2%3Cf32%3E";compound_assignment=true]

  [:lhs="abstract-int";rhs="vec2%3Ci32%3E";compound_assignment=false]

  [:lhs="abstract-int";rhs="vec2%3Ci32%3E";compound_assignment=true]

  [:lhs="abstract-int";rhs="vec2%3Cu32%3E";compound_assignment=false]

  [:lhs="abstract-int";rhs="vec2%3Cu32%3E";compound_assignment=true]

  [:lhs="bool";rhs="abstract-float";compound_assignment=false]

  [:lhs="bool";rhs="abstract-float";compound_assignment=true]

  [:lhs="bool";rhs="abstract-int";compound_assignment=false]

  [:lhs="bool";rhs="abstract-int";compound_assignment=true]

  [:lhs="bool";rhs="bool";compound_assignment=false]

  [:lhs="bool";rhs="bool";compound_assignment=true]

  [:lhs="bool";rhs="f16";compound_assignment=false]

  [:lhs="bool";rhs="f16";compound_assignment=true]

  [:lhs="bool";rhs="f32";compound_assignment=false]

  [:lhs="bool";rhs="f32";compound_assignment=true]

  [:lhs="bool";rhs="i32";compound_assignment=false]

  [:lhs="bool";rhs="i32";compound_assignment=true]

  [:lhs="bool";rhs="u32";compound_assignment=false]

  [:lhs="bool";rhs="u32";compound_assignment=true]

  [:lhs="bool";rhs="vec2%3Cabstract-float%3E";compound_assignment=false]

  [:lhs="bool";rhs="vec2%3Cabstract-float%3E";compound_assignment=true]

  [:lhs="bool";rhs="vec2%3Cabstract-int%3E";compound_assignment=false]

  [:lhs="bool";rhs="vec2%3Cabstract-int%3E";compound_assignment=true]

  [:lhs="bool";rhs="vec2%3Cbool%3E";compound_assignment=false]

  [:lhs="bool";rhs="vec2%3Cbool%3E";compound_assignment=true]

  [:lhs="bool";rhs="vec2%3Cf16%3E";compound_assignment=false]

  [:lhs="bool";rhs="vec2%3Cf16%3E";compound_assignment=true]

  [:lhs="bool";rhs="vec2%3Cf32%3E";compound_assignment=false]

  [:lhs="bool";rhs="vec2%3Cf32%3E";compound_assignment=true]

  [:lhs="bool";rhs="vec2%3Ci32%3E";compound_assignment=false]

  [:lhs="bool";rhs="vec2%3Ci32%3E";compound_assignment=true]

  [:lhs="bool";rhs="vec2%3Cu32%3E";compound_assignment=false]

  [:lhs="bool";rhs="vec2%3Cu32%3E";compound_assignment=true]

  [:lhs="f16";rhs="abstract-float";compound_assignment=false]

  [:lhs="f16";rhs="abstract-float";compound_assignment=true]

  [:lhs="f16";rhs="abstract-int";compound_assignment=false]

  [:lhs="f16";rhs="abstract-int";compound_assignment=true]

  [:lhs="f16";rhs="bool";compound_assignment=false]

  [:lhs="f16";rhs="bool";compound_assignment=true]

  [:lhs="f16";rhs="f16";compound_assignment=false]

  [:lhs="f16";rhs="f16";compound_assignment=true]

  [:lhs="f16";rhs="f32";compound_assignment=false]

  [:lhs="f16";rhs="f32";compound_assignment=true]

  [:lhs="f16";rhs="i32";compound_assignment=false]

  [:lhs="f16";rhs="i32";compound_assignment=true]

  [:lhs="f16";rhs="u32";compound_assignment=false]

  [:lhs="f16";rhs="u32";compound_assignment=true]

  [:lhs="f16";rhs="vec2%3Cabstract-float%3E";compound_assignment=false]

  [:lhs="f16";rhs="vec2%3Cabstract-float%3E";compound_assignment=true]

  [:lhs="f16";rhs="vec2%3Cabstract-int%3E";compound_assignment=false]

  [:lhs="f16";rhs="vec2%3Cabstract-int%3E";compound_assignment=true]

  [:lhs="f16";rhs="vec2%3Cbool%3E";compound_assignment=false]

  [:lhs="f16";rhs="vec2%3Cbool%3E";compound_assignment=true]

  [:lhs="f16";rhs="vec2%3Cf16%3E";compound_assignment=false]

  [:lhs="f16";rhs="vec2%3Cf16%3E";compound_assignment=true]

  [:lhs="f16";rhs="vec2%3Cf32%3E";compound_assignment=false]

  [:lhs="f16";rhs="vec2%3Cf32%3E";compound_assignment=true]

  [:lhs="f16";rhs="vec2%3Ci32%3E";compound_assignment=false]

  [:lhs="f16";rhs="vec2%3Ci32%3E";compound_assignment=true]

  [:lhs="f16";rhs="vec2%3Cu32%3E";compound_assignment=false]

  [:lhs="f16";rhs="vec2%3Cu32%3E";compound_assignment=true]

  [:lhs="f32";rhs="abstract-float";compound_assignment=false]

  [:lhs="f32";rhs="abstract-float";compound_assignment=true]

  [:lhs="f32";rhs="abstract-int";compound_assignment=false]

  [:lhs="f32";rhs="abstract-int";compound_assignment=true]

  [:lhs="f32";rhs="bool";compound_assignment=false]

  [:lhs="f32";rhs="bool";compound_assignment=true]

  [:lhs="f32";rhs="f16";compound_assignment=false]

  [:lhs="f32";rhs="f16";compound_assignment=true]

  [:lhs="f32";rhs="f32";compound_assignment=false]

  [:lhs="f32";rhs="f32";compound_assignment=true]

  [:lhs="f32";rhs="i32";compound_assignment=false]

  [:lhs="f32";rhs="i32";compound_assignment=true]

  [:lhs="f32";rhs="u32";compound_assignment=false]

  [:lhs="f32";rhs="u32";compound_assignment=true]

  [:lhs="f32";rhs="vec2%3Cabstract-float%3E";compound_assignment=false]

  [:lhs="f32";rhs="vec2%3Cabstract-float%3E";compound_assignment=true]

  [:lhs="f32";rhs="vec2%3Cabstract-int%3E";compound_assignment=false]

  [:lhs="f32";rhs="vec2%3Cabstract-int%3E";compound_assignment=true]

  [:lhs="f32";rhs="vec2%3Cbool%3E";compound_assignment=false]

  [:lhs="f32";rhs="vec2%3Cbool%3E";compound_assignment=true]

  [:lhs="f32";rhs="vec2%3Cf16%3E";compound_assignment=false]

  [:lhs="f32";rhs="vec2%3Cf16%3E";compound_assignment=true]

  [:lhs="f32";rhs="vec2%3Cf32%3E";compound_assignment=false]

  [:lhs="f32";rhs="vec2%3Cf32%3E";compound_assignment=true]

  [:lhs="f32";rhs="vec2%3Ci32%3E";compound_assignment=false]

  [:lhs="f32";rhs="vec2%3Ci32%3E";compound_assignment=true]

  [:lhs="f32";rhs="vec2%3Cu32%3E";compound_assignment=false]

  [:lhs="f32";rhs="vec2%3Cu32%3E";compound_assignment=true]

  [:lhs="i32";rhs="abstract-float";compound_assignment=false]

  [:lhs="i32";rhs="abstract-float";compound_assignment=true]

  [:lhs="i32";rhs="abstract-int";compound_assignment=false]

  [:lhs="i32";rhs="abstract-int";compound_assignment=true]

  [:lhs="i32";rhs="bool";compound_assignment=false]

  [:lhs="i32";rhs="bool";compound_assignment=true]

  [:lhs="i32";rhs="f16";compound_assignment=false]

  [:lhs="i32";rhs="f16";compound_assignment=true]

  [:lhs="i32";rhs="f32";compound_assignment=false]

  [:lhs="i32";rhs="f32";compound_assignment=true]

  [:lhs="i32";rhs="i32";compound_assignment=false]

  [:lhs="i32";rhs="i32";compound_assignment=true]

  [:lhs="i32";rhs="u32";compound_assignment=false]

  [:lhs="i32";rhs="u32";compound_assignment=true]

  [:lhs="i32";rhs="vec2%3Cabstract-float%3E";compound_assignment=false]

  [:lhs="i32";rhs="vec2%3Cabstract-float%3E";compound_assignment=true]

  [:lhs="i32";rhs="vec2%3Cabstract-int%3E";compound_assignment=false]

  [:lhs="i32";rhs="vec2%3Cabstract-int%3E";compound_assignment=true]

  [:lhs="i32";rhs="vec2%3Cbool%3E";compound_assignment=false]

  [:lhs="i32";rhs="vec2%3Cbool%3E";compound_assignment=true]

  [:lhs="i32";rhs="vec2%3Cf16%3E";compound_assignment=false]

  [:lhs="i32";rhs="vec2%3Cf16%3E";compound_assignment=true]

  [:lhs="i32";rhs="vec2%3Cf32%3E";compound_assignment=false]

  [:lhs="i32";rhs="vec2%3Cf32%3E";compound_assignment=true]

  [:lhs="i32";rhs="vec2%3Ci32%3E";compound_assignment=false]

  [:lhs="i32";rhs="vec2%3Ci32%3E";compound_assignment=true]

  [:lhs="i32";rhs="vec2%3Cu32%3E";compound_assignment=false]

  [:lhs="i32";rhs="vec2%3Cu32%3E";compound_assignment=true]

  [:lhs="u32";rhs="abstract-float";compound_assignment=false]

  [:lhs="u32";rhs="abstract-float";compound_assignment=true]

  [:lhs="u32";rhs="abstract-int";compound_assignment=false]

  [:lhs="u32";rhs="abstract-int";compound_assignment=true]

  [:lhs="u32";rhs="bool";compound_assignment=false]

  [:lhs="u32";rhs="bool";compound_assignment=true]

  [:lhs="u32";rhs="f16";compound_assignment=false]

  [:lhs="u32";rhs="f16";compound_assignment=true]

  [:lhs="u32";rhs="f32";compound_assignment=false]

  [:lhs="u32";rhs="f32";compound_assignment=true]

  [:lhs="u32";rhs="i32";compound_assignment=false]

  [:lhs="u32";rhs="i32";compound_assignment=true]

  [:lhs="u32";rhs="u32";compound_assignment=false]

  [:lhs="u32";rhs="u32";compound_assignment=true]

  [:lhs="u32";rhs="vec2%3Cabstract-float%3E";compound_assignment=false]

  [:lhs="u32";rhs="vec2%3Cabstract-float%3E";compound_assignment=true]

  [:lhs="u32";rhs="vec2%3Cabstract-int%3E";compound_assignment=false]

  [:lhs="u32";rhs="vec2%3Cabstract-int%3E";compound_assignment=true]

  [:lhs="u32";rhs="vec2%3Cbool%3E";compound_assignment=false]

  [:lhs="u32";rhs="vec2%3Cbool%3E";compound_assignment=true]

  [:lhs="u32";rhs="vec2%3Cf16%3E";compound_assignment=false]

  [:lhs="u32";rhs="vec2%3Cf16%3E";compound_assignment=true]

  [:lhs="u32";rhs="vec2%3Cf32%3E";compound_assignment=false]

  [:lhs="u32";rhs="vec2%3Cf32%3E";compound_assignment=true]

  [:lhs="u32";rhs="vec2%3Ci32%3E";compound_assignment=false]

  [:lhs="u32";rhs="vec2%3Ci32%3E";compound_assignment=true]

  [:lhs="u32";rhs="vec2%3Cu32%3E";compound_assignment=false]

  [:lhs="u32";rhs="vec2%3Cu32%3E";compound_assignment=true]

  [:lhs="vec2%3Cabstract-float%3E";rhs="abstract-float";compound_assignment=false]

  [:lhs="vec2%3Cabstract-float%3E";rhs="abstract-float";compound_assignment=true]

  [:lhs="vec2%3Cabstract-float%3E";rhs="abstract-int";compound_assignment=false]

  [:lhs="vec2%3Cabstract-float%3E";rhs="abstract-int";compound_assignment=true]

  [:lhs="vec2%3Cabstract-float%3E";rhs="bool";compound_assignment=false]

  [:lhs="vec2%3Cabstract-float%3E";rhs="bool";compound_assignment=true]

  [:lhs="vec2%3Cabstract-float%3E";rhs="f16";compound_assignment=false]

  [:lhs="vec2%3Cabstract-float%3E";rhs="f16";compound_assignment=true]

  [:lhs="vec2%3Cabstract-float%3E";rhs="f32";compound_assignment=false]

  [:lhs="vec2%3Cabstract-float%3E";rhs="f32";compound_assignment=true]

  [:lhs="vec2%3Cabstract-float%3E";rhs="i32";compound_assignment=false]

  [:lhs="vec2%3Cabstract-float%3E";rhs="i32";compound_assignment=true]

  [:lhs="vec2%3Cabstract-float%3E";rhs="u32";compound_assignment=false]

  [:lhs="vec2%3Cabstract-float%3E";rhs="u32";compound_assignment=true]

  [:lhs="vec2%3Cabstract-float%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=false]

  [:lhs="vec2%3Cabstract-float%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=true]

  [:lhs="vec2%3Cabstract-float%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=false]

  [:lhs="vec2%3Cabstract-float%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=true]

  [:lhs="vec2%3Cabstract-float%3E";rhs="vec2%3Cbool%3E";compound_assignment=false]

  [:lhs="vec2%3Cabstract-float%3E";rhs="vec2%3Cbool%3E";compound_assignment=true]

  [:lhs="vec2%3Cabstract-float%3E";rhs="vec2%3Cf16%3E";compound_assignment=false]

  [:lhs="vec2%3Cabstract-float%3E";rhs="vec2%3Cf16%3E";compound_assignment=true]

  [:lhs="vec2%3Cabstract-float%3E";rhs="vec2%3Cf32%3E";compound_assignment=false]

  [:lhs="vec2%3Cabstract-float%3E";rhs="vec2%3Cf32%3E";compound_assignment=true]

  [:lhs="vec2%3Cabstract-float%3E";rhs="vec2%3Ci32%3E";compound_assignment=false]

  [:lhs="vec2%3Cabstract-float%3E";rhs="vec2%3Ci32%3E";compound_assignment=true]

  [:lhs="vec2%3Cabstract-float%3E";rhs="vec2%3Cu32%3E";compound_assignment=false]

  [:lhs="vec2%3Cabstract-float%3E";rhs="vec2%3Cu32%3E";compound_assignment=true]

  [:lhs="vec2%3Cabstract-int%3E";rhs="abstract-float";compound_assignment=false]

  [:lhs="vec2%3Cabstract-int%3E";rhs="abstract-float";compound_assignment=true]

  [:lhs="vec2%3Cabstract-int%3E";rhs="abstract-int";compound_assignment=false]

  [:lhs="vec2%3Cabstract-int%3E";rhs="abstract-int";compound_assignment=true]

  [:lhs="vec2%3Cabstract-int%3E";rhs="bool";compound_assignment=false]

  [:lhs="vec2%3Cabstract-int%3E";rhs="bool";compound_assignment=true]

  [:lhs="vec2%3Cabstract-int%3E";rhs="f16";compound_assignment=false]

  [:lhs="vec2%3Cabstract-int%3E";rhs="f16";compound_assignment=true]

  [:lhs="vec2%3Cabstract-int%3E";rhs="f32";compound_assignment=false]

  [:lhs="vec2%3Cabstract-int%3E";rhs="f32";compound_assignment=true]

  [:lhs="vec2%3Cabstract-int%3E";rhs="i32";compound_assignment=false]

  [:lhs="vec2%3Cabstract-int%3E";rhs="i32";compound_assignment=true]

  [:lhs="vec2%3Cabstract-int%3E";rhs="u32";compound_assignment=false]

  [:lhs="vec2%3Cabstract-int%3E";rhs="u32";compound_assignment=true]

  [:lhs="vec2%3Cabstract-int%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=false]

  [:lhs="vec2%3Cabstract-int%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=true]

  [:lhs="vec2%3Cabstract-int%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=false]

  [:lhs="vec2%3Cabstract-int%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=true]

  [:lhs="vec2%3Cabstract-int%3E";rhs="vec2%3Cbool%3E";compound_assignment=false]

  [:lhs="vec2%3Cabstract-int%3E";rhs="vec2%3Cbool%3E";compound_assignment=true]

  [:lhs="vec2%3Cabstract-int%3E";rhs="vec2%3Cf16%3E";compound_assignment=false]

  [:lhs="vec2%3Cabstract-int%3E";rhs="vec2%3Cf16%3E";compound_assignment=true]

  [:lhs="vec2%3Cabstract-int%3E";rhs="vec2%3Cf32%3E";compound_assignment=false]

  [:lhs="vec2%3Cabstract-int%3E";rhs="vec2%3Cf32%3E";compound_assignment=true]

  [:lhs="vec2%3Cabstract-int%3E";rhs="vec2%3Ci32%3E";compound_assignment=false]

  [:lhs="vec2%3Cabstract-int%3E";rhs="vec2%3Ci32%3E";compound_assignment=true]

  [:lhs="vec2%3Cabstract-int%3E";rhs="vec2%3Cu32%3E";compound_assignment=false]

  [:lhs="vec2%3Cabstract-int%3E";rhs="vec2%3Cu32%3E";compound_assignment=true]

  [:lhs="vec2%3Cbool%3E";rhs="abstract-float";compound_assignment=false]

  [:lhs="vec2%3Cbool%3E";rhs="abstract-float";compound_assignment=true]

  [:lhs="vec2%3Cbool%3E";rhs="abstract-int";compound_assignment=false]

  [:lhs="vec2%3Cbool%3E";rhs="abstract-int";compound_assignment=true]

  [:lhs="vec2%3Cbool%3E";rhs="bool";compound_assignment=false]

  [:lhs="vec2%3Cbool%3E";rhs="bool";compound_assignment=true]

  [:lhs="vec2%3Cbool%3E";rhs="f16";compound_assignment=false]

  [:lhs="vec2%3Cbool%3E";rhs="f16";compound_assignment=true]

  [:lhs="vec2%3Cbool%3E";rhs="f32";compound_assignment=false]

  [:lhs="vec2%3Cbool%3E";rhs="f32";compound_assignment=true]

  [:lhs="vec2%3Cbool%3E";rhs="i32";compound_assignment=false]

  [:lhs="vec2%3Cbool%3E";rhs="i32";compound_assignment=true]

  [:lhs="vec2%3Cbool%3E";rhs="u32";compound_assignment=false]

  [:lhs="vec2%3Cbool%3E";rhs="u32";compound_assignment=true]

  [:lhs="vec2%3Cbool%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=false]

  [:lhs="vec2%3Cbool%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=true]

  [:lhs="vec2%3Cbool%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=false]

  [:lhs="vec2%3Cbool%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=true]

  [:lhs="vec2%3Cbool%3E";rhs="vec2%3Cbool%3E";compound_assignment=false]

  [:lhs="vec2%3Cbool%3E";rhs="vec2%3Cbool%3E";compound_assignment=true]

  [:lhs="vec2%3Cbool%3E";rhs="vec2%3Cf16%3E";compound_assignment=false]

  [:lhs="vec2%3Cbool%3E";rhs="vec2%3Cf16%3E";compound_assignment=true]

  [:lhs="vec2%3Cbool%3E";rhs="vec2%3Cf32%3E";compound_assignment=false]

  [:lhs="vec2%3Cbool%3E";rhs="vec2%3Cf32%3E";compound_assignment=true]

  [:lhs="vec2%3Cbool%3E";rhs="vec2%3Ci32%3E";compound_assignment=false]

  [:lhs="vec2%3Cbool%3E";rhs="vec2%3Ci32%3E";compound_assignment=true]

  [:lhs="vec2%3Cbool%3E";rhs="vec2%3Cu32%3E";compound_assignment=false]

  [:lhs="vec2%3Cbool%3E";rhs="vec2%3Cu32%3E";compound_assignment=true]

  [:lhs="vec2%3Cf16%3E";rhs="abstract-float";compound_assignment=false]

  [:lhs="vec2%3Cf16%3E";rhs="abstract-float";compound_assignment=true]

  [:lhs="vec2%3Cf16%3E";rhs="abstract-int";compound_assignment=false]

  [:lhs="vec2%3Cf16%3E";rhs="abstract-int";compound_assignment=true]

  [:lhs="vec2%3Cf16%3E";rhs="bool";compound_assignment=false]

  [:lhs="vec2%3Cf16%3E";rhs="bool";compound_assignment=true]

  [:lhs="vec2%3Cf16%3E";rhs="f16";compound_assignment=false]

  [:lhs="vec2%3Cf16%3E";rhs="f16";compound_assignment=true]

  [:lhs="vec2%3Cf16%3E";rhs="f32";compound_assignment=false]

  [:lhs="vec2%3Cf16%3E";rhs="f32";compound_assignment=true]

  [:lhs="vec2%3Cf16%3E";rhs="i32";compound_assignment=false]

  [:lhs="vec2%3Cf16%3E";rhs="i32";compound_assignment=true]

  [:lhs="vec2%3Cf16%3E";rhs="u32";compound_assignment=false]

  [:lhs="vec2%3Cf16%3E";rhs="u32";compound_assignment=true]

  [:lhs="vec2%3Cf16%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=false]

  [:lhs="vec2%3Cf16%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=true]

  [:lhs="vec2%3Cf16%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=false]

  [:lhs="vec2%3Cf16%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=true]

  [:lhs="vec2%3Cf16%3E";rhs="vec2%3Cbool%3E";compound_assignment=false]

  [:lhs="vec2%3Cf16%3E";rhs="vec2%3Cbool%3E";compound_assignment=true]

  [:lhs="vec2%3Cf16%3E";rhs="vec2%3Cf16%3E";compound_assignment=false]

  [:lhs="vec2%3Cf16%3E";rhs="vec2%3Cf16%3E";compound_assignment=true]

  [:lhs="vec2%3Cf16%3E";rhs="vec2%3Cf32%3E";compound_assignment=false]

  [:lhs="vec2%3Cf16%3E";rhs="vec2%3Cf32%3E";compound_assignment=true]

  [:lhs="vec2%3Cf16%3E";rhs="vec2%3Ci32%3E";compound_assignment=false]

  [:lhs="vec2%3Cf16%3E";rhs="vec2%3Ci32%3E";compound_assignment=true]

  [:lhs="vec2%3Cf16%3E";rhs="vec2%3Cu32%3E";compound_assignment=false]

  [:lhs="vec2%3Cf16%3E";rhs="vec2%3Cu32%3E";compound_assignment=true]

  [:lhs="vec2%3Cf32%3E";rhs="abstract-float";compound_assignment=false]

  [:lhs="vec2%3Cf32%3E";rhs="abstract-float";compound_assignment=true]

  [:lhs="vec2%3Cf32%3E";rhs="abstract-int";compound_assignment=false]

  [:lhs="vec2%3Cf32%3E";rhs="abstract-int";compound_assignment=true]

  [:lhs="vec2%3Cf32%3E";rhs="bool";compound_assignment=false]

  [:lhs="vec2%3Cf32%3E";rhs="bool";compound_assignment=true]

  [:lhs="vec2%3Cf32%3E";rhs="f16";compound_assignment=false]

  [:lhs="vec2%3Cf32%3E";rhs="f16";compound_assignment=true]

  [:lhs="vec2%3Cf32%3E";rhs="f32";compound_assignment=false]

  [:lhs="vec2%3Cf32%3E";rhs="f32";compound_assignment=true]

  [:lhs="vec2%3Cf32%3E";rhs="i32";compound_assignment=false]

  [:lhs="vec2%3Cf32%3E";rhs="i32";compound_assignment=true]

  [:lhs="vec2%3Cf32%3E";rhs="u32";compound_assignment=false]

  [:lhs="vec2%3Cf32%3E";rhs="u32";compound_assignment=true]

  [:lhs="vec2%3Cf32%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=false]

  [:lhs="vec2%3Cf32%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=true]

  [:lhs="vec2%3Cf32%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=false]

  [:lhs="vec2%3Cf32%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=true]

  [:lhs="vec2%3Cf32%3E";rhs="vec2%3Cbool%3E";compound_assignment=false]

  [:lhs="vec2%3Cf32%3E";rhs="vec2%3Cbool%3E";compound_assignment=true]

  [:lhs="vec2%3Cf32%3E";rhs="vec2%3Cf16%3E";compound_assignment=false]

  [:lhs="vec2%3Cf32%3E";rhs="vec2%3Cf16%3E";compound_assignment=true]

  [:lhs="vec2%3Cf32%3E";rhs="vec2%3Cf32%3E";compound_assignment=false]

  [:lhs="vec2%3Cf32%3E";rhs="vec2%3Cf32%3E";compound_assignment=true]

  [:lhs="vec2%3Cf32%3E";rhs="vec2%3Ci32%3E";compound_assignment=false]

  [:lhs="vec2%3Cf32%3E";rhs="vec2%3Ci32%3E";compound_assignment=true]

  [:lhs="vec2%3Cf32%3E";rhs="vec2%3Cu32%3E";compound_assignment=false]

  [:lhs="vec2%3Cf32%3E";rhs="vec2%3Cu32%3E";compound_assignment=true]

  [:lhs="vec2%3Ci32%3E";rhs="abstract-float";compound_assignment=false]

  [:lhs="vec2%3Ci32%3E";rhs="abstract-float";compound_assignment=true]

  [:lhs="vec2%3Ci32%3E";rhs="abstract-int";compound_assignment=false]

  [:lhs="vec2%3Ci32%3E";rhs="abstract-int";compound_assignment=true]

  [:lhs="vec2%3Ci32%3E";rhs="bool";compound_assignment=false]

  [:lhs="vec2%3Ci32%3E";rhs="bool";compound_assignment=true]

  [:lhs="vec2%3Ci32%3E";rhs="f16";compound_assignment=false]

  [:lhs="vec2%3Ci32%3E";rhs="f16";compound_assignment=true]

  [:lhs="vec2%3Ci32%3E";rhs="f32";compound_assignment=false]

  [:lhs="vec2%3Ci32%3E";rhs="f32";compound_assignment=true]

  [:lhs="vec2%3Ci32%3E";rhs="i32";compound_assignment=false]

  [:lhs="vec2%3Ci32%3E";rhs="i32";compound_assignment=true]

  [:lhs="vec2%3Ci32%3E";rhs="u32";compound_assignment=false]

  [:lhs="vec2%3Ci32%3E";rhs="u32";compound_assignment=true]

  [:lhs="vec2%3Ci32%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=false]

  [:lhs="vec2%3Ci32%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=true]

  [:lhs="vec2%3Ci32%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=false]

  [:lhs="vec2%3Ci32%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=true]

  [:lhs="vec2%3Ci32%3E";rhs="vec2%3Cbool%3E";compound_assignment=false]

  [:lhs="vec2%3Ci32%3E";rhs="vec2%3Cbool%3E";compound_assignment=true]

  [:lhs="vec2%3Ci32%3E";rhs="vec2%3Cf16%3E";compound_assignment=false]

  [:lhs="vec2%3Ci32%3E";rhs="vec2%3Cf16%3E";compound_assignment=true]

  [:lhs="vec2%3Ci32%3E";rhs="vec2%3Cf32%3E";compound_assignment=false]

  [:lhs="vec2%3Ci32%3E";rhs="vec2%3Cf32%3E";compound_assignment=true]

  [:lhs="vec2%3Ci32%3E";rhs="vec2%3Ci32%3E";compound_assignment=false]

  [:lhs="vec2%3Ci32%3E";rhs="vec2%3Ci32%3E";compound_assignment=true]

  [:lhs="vec2%3Ci32%3E";rhs="vec2%3Cu32%3E";compound_assignment=false]

  [:lhs="vec2%3Ci32%3E";rhs="vec2%3Cu32%3E";compound_assignment=true]

  [:lhs="vec2%3Cu32%3E";rhs="abstract-float";compound_assignment=false]

  [:lhs="vec2%3Cu32%3E";rhs="abstract-float";compound_assignment=true]

  [:lhs="vec2%3Cu32%3E";rhs="abstract-int";compound_assignment=false]

  [:lhs="vec2%3Cu32%3E";rhs="abstract-int";compound_assignment=true]

  [:lhs="vec2%3Cu32%3E";rhs="bool";compound_assignment=false]

  [:lhs="vec2%3Cu32%3E";rhs="bool";compound_assignment=true]

  [:lhs="vec2%3Cu32%3E";rhs="f16";compound_assignment=false]

  [:lhs="vec2%3Cu32%3E";rhs="f16";compound_assignment=true]

  [:lhs="vec2%3Cu32%3E";rhs="f32";compound_assignment=false]

  [:lhs="vec2%3Cu32%3E";rhs="f32";compound_assignment=true]

  [:lhs="vec2%3Cu32%3E";rhs="i32";compound_assignment=false]

  [:lhs="vec2%3Cu32%3E";rhs="i32";compound_assignment=true]

  [:lhs="vec2%3Cu32%3E";rhs="u32";compound_assignment=false]

  [:lhs="vec2%3Cu32%3E";rhs="u32";compound_assignment=true]

  [:lhs="vec2%3Cu32%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=false]

  [:lhs="vec2%3Cu32%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=true]

  [:lhs="vec2%3Cu32%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=false]

  [:lhs="vec2%3Cu32%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=true]

  [:lhs="vec2%3Cu32%3E";rhs="vec2%3Cbool%3E";compound_assignment=false]

  [:lhs="vec2%3Cu32%3E";rhs="vec2%3Cbool%3E";compound_assignment=true]

  [:lhs="vec2%3Cu32%3E";rhs="vec2%3Cf16%3E";compound_assignment=false]

  [:lhs="vec2%3Cu32%3E";rhs="vec2%3Cf16%3E";compound_assignment=true]

  [:lhs="vec2%3Cu32%3E";rhs="vec2%3Cf32%3E";compound_assignment=false]

  [:lhs="vec2%3Cu32%3E";rhs="vec2%3Cf32%3E";compound_assignment=true]

  [:lhs="vec2%3Cu32%3E";rhs="vec2%3Ci32%3E";compound_assignment=false]

  [:lhs="vec2%3Cu32%3E";rhs="vec2%3Ci32%3E";compound_assignment=true]

  [:lhs="vec2%3Cu32%3E";rhs="vec2%3Cu32%3E";compound_assignment=false]

  [:lhs="vec2%3Cu32%3E";rhs="vec2%3Cu32%3E";compound_assignment=true]

  [:lhs="vec3%3Cabstract-float%3E";rhs="abstract-float";compound_assignment=false]

  [:lhs="vec3%3Cabstract-float%3E";rhs="abstract-float";compound_assignment=true]

  [:lhs="vec3%3Cabstract-float%3E";rhs="abstract-int";compound_assignment=false]

  [:lhs="vec3%3Cabstract-float%3E";rhs="abstract-int";compound_assignment=true]

  [:lhs="vec3%3Cabstract-float%3E";rhs="bool";compound_assignment=false]

  [:lhs="vec3%3Cabstract-float%3E";rhs="bool";compound_assignment=true]

  [:lhs="vec3%3Cabstract-float%3E";rhs="f16";compound_assignment=false]

  [:lhs="vec3%3Cabstract-float%3E";rhs="f16";compound_assignment=true]

  [:lhs="vec3%3Cabstract-float%3E";rhs="f32";compound_assignment=false]

  [:lhs="vec3%3Cabstract-float%3E";rhs="f32";compound_assignment=true]

  [:lhs="vec3%3Cabstract-float%3E";rhs="i32";compound_assignment=false]

  [:lhs="vec3%3Cabstract-float%3E";rhs="i32";compound_assignment=true]

  [:lhs="vec3%3Cabstract-float%3E";rhs="u32";compound_assignment=false]

  [:lhs="vec3%3Cabstract-float%3E";rhs="u32";compound_assignment=true]

  [:lhs="vec3%3Cabstract-float%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=false]

  [:lhs="vec3%3Cabstract-float%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=true]

  [:lhs="vec3%3Cabstract-float%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=false]

  [:lhs="vec3%3Cabstract-float%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=true]

  [:lhs="vec3%3Cabstract-float%3E";rhs="vec2%3Cbool%3E";compound_assignment=false]

  [:lhs="vec3%3Cabstract-float%3E";rhs="vec2%3Cbool%3E";compound_assignment=true]

  [:lhs="vec3%3Cabstract-float%3E";rhs="vec2%3Cf16%3E";compound_assignment=false]

  [:lhs="vec3%3Cabstract-float%3E";rhs="vec2%3Cf16%3E";compound_assignment=true]

  [:lhs="vec3%3Cabstract-float%3E";rhs="vec2%3Cf32%3E";compound_assignment=false]

  [:lhs="vec3%3Cabstract-float%3E";rhs="vec2%3Cf32%3E";compound_assignment=true]

  [:lhs="vec3%3Cabstract-float%3E";rhs="vec2%3Ci32%3E";compound_assignment=false]

  [:lhs="vec3%3Cabstract-float%3E";rhs="vec2%3Ci32%3E";compound_assignment=true]

  [:lhs="vec3%3Cabstract-float%3E";rhs="vec2%3Cu32%3E";compound_assignment=false]

  [:lhs="vec3%3Cabstract-float%3E";rhs="vec2%3Cu32%3E";compound_assignment=true]

  [:lhs="vec3%3Cabstract-int%3E";rhs="abstract-float";compound_assignment=false]

  [:lhs="vec3%3Cabstract-int%3E";rhs="abstract-float";compound_assignment=true]

  [:lhs="vec3%3Cabstract-int%3E";rhs="abstract-int";compound_assignment=false]

  [:lhs="vec3%3Cabstract-int%3E";rhs="abstract-int";compound_assignment=true]

  [:lhs="vec3%3Cabstract-int%3E";rhs="bool";compound_assignment=false]

  [:lhs="vec3%3Cabstract-int%3E";rhs="bool";compound_assignment=true]

  [:lhs="vec3%3Cabstract-int%3E";rhs="f16";compound_assignment=false]

  [:lhs="vec3%3Cabstract-int%3E";rhs="f16";compound_assignment=true]

  [:lhs="vec3%3Cabstract-int%3E";rhs="f32";compound_assignment=false]

  [:lhs="vec3%3Cabstract-int%3E";rhs="f32";compound_assignment=true]

  [:lhs="vec3%3Cabstract-int%3E";rhs="i32";compound_assignment=false]

  [:lhs="vec3%3Cabstract-int%3E";rhs="i32";compound_assignment=true]

  [:lhs="vec3%3Cabstract-int%3E";rhs="u32";compound_assignment=false]

  [:lhs="vec3%3Cabstract-int%3E";rhs="u32";compound_assignment=true]

  [:lhs="vec3%3Cabstract-int%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=false]

  [:lhs="vec3%3Cabstract-int%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=true]

  [:lhs="vec3%3Cabstract-int%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=false]

  [:lhs="vec3%3Cabstract-int%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=true]

  [:lhs="vec3%3Cabstract-int%3E";rhs="vec2%3Cbool%3E";compound_assignment=false]

  [:lhs="vec3%3Cabstract-int%3E";rhs="vec2%3Cbool%3E";compound_assignment=true]

  [:lhs="vec3%3Cabstract-int%3E";rhs="vec2%3Cf16%3E";compound_assignment=false]

  [:lhs="vec3%3Cabstract-int%3E";rhs="vec2%3Cf16%3E";compound_assignment=true]

  [:lhs="vec3%3Cabstract-int%3E";rhs="vec2%3Cf32%3E";compound_assignment=false]

  [:lhs="vec3%3Cabstract-int%3E";rhs="vec2%3Cf32%3E";compound_assignment=true]

  [:lhs="vec3%3Cabstract-int%3E";rhs="vec2%3Ci32%3E";compound_assignment=false]

  [:lhs="vec3%3Cabstract-int%3E";rhs="vec2%3Ci32%3E";compound_assignment=true]

  [:lhs="vec3%3Cabstract-int%3E";rhs="vec2%3Cu32%3E";compound_assignment=false]

  [:lhs="vec3%3Cabstract-int%3E";rhs="vec2%3Cu32%3E";compound_assignment=true]

  [:lhs="vec3%3Cbool%3E";rhs="abstract-float";compound_assignment=false]

  [:lhs="vec3%3Cbool%3E";rhs="abstract-float";compound_assignment=true]

  [:lhs="vec3%3Cbool%3E";rhs="abstract-int";compound_assignment=false]

  [:lhs="vec3%3Cbool%3E";rhs="abstract-int";compound_assignment=true]

  [:lhs="vec3%3Cbool%3E";rhs="bool";compound_assignment=false]

  [:lhs="vec3%3Cbool%3E";rhs="bool";compound_assignment=true]

  [:lhs="vec3%3Cbool%3E";rhs="f16";compound_assignment=false]

  [:lhs="vec3%3Cbool%3E";rhs="f16";compound_assignment=true]

  [:lhs="vec3%3Cbool%3E";rhs="f32";compound_assignment=false]

  [:lhs="vec3%3Cbool%3E";rhs="f32";compound_assignment=true]

  [:lhs="vec3%3Cbool%3E";rhs="i32";compound_assignment=false]

  [:lhs="vec3%3Cbool%3E";rhs="i32";compound_assignment=true]

  [:lhs="vec3%3Cbool%3E";rhs="u32";compound_assignment=false]

  [:lhs="vec3%3Cbool%3E";rhs="u32";compound_assignment=true]

  [:lhs="vec3%3Cbool%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=false]

  [:lhs="vec3%3Cbool%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=true]

  [:lhs="vec3%3Cbool%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=false]

  [:lhs="vec3%3Cbool%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=true]

  [:lhs="vec3%3Cbool%3E";rhs="vec2%3Cbool%3E";compound_assignment=false]

  [:lhs="vec3%3Cbool%3E";rhs="vec2%3Cbool%3E";compound_assignment=true]

  [:lhs="vec3%3Cbool%3E";rhs="vec2%3Cf16%3E";compound_assignment=false]

  [:lhs="vec3%3Cbool%3E";rhs="vec2%3Cf16%3E";compound_assignment=true]

  [:lhs="vec3%3Cbool%3E";rhs="vec2%3Cf32%3E";compound_assignment=false]

  [:lhs="vec3%3Cbool%3E";rhs="vec2%3Cf32%3E";compound_assignment=true]

  [:lhs="vec3%3Cbool%3E";rhs="vec2%3Ci32%3E";compound_assignment=false]

  [:lhs="vec3%3Cbool%3E";rhs="vec2%3Ci32%3E";compound_assignment=true]

  [:lhs="vec3%3Cbool%3E";rhs="vec2%3Cu32%3E";compound_assignment=false]

  [:lhs="vec3%3Cbool%3E";rhs="vec2%3Cu32%3E";compound_assignment=true]

  [:lhs="vec3%3Cf16%3E";rhs="abstract-float";compound_assignment=false]

  [:lhs="vec3%3Cf16%3E";rhs="abstract-float";compound_assignment=true]

  [:lhs="vec3%3Cf16%3E";rhs="abstract-int";compound_assignment=false]

  [:lhs="vec3%3Cf16%3E";rhs="abstract-int";compound_assignment=true]

  [:lhs="vec3%3Cf16%3E";rhs="bool";compound_assignment=false]

  [:lhs="vec3%3Cf16%3E";rhs="bool";compound_assignment=true]

  [:lhs="vec3%3Cf16%3E";rhs="f16";compound_assignment=false]

  [:lhs="vec3%3Cf16%3E";rhs="f16";compound_assignment=true]

  [:lhs="vec3%3Cf16%3E";rhs="f32";compound_assignment=false]

  [:lhs="vec3%3Cf16%3E";rhs="f32";compound_assignment=true]

  [:lhs="vec3%3Cf16%3E";rhs="i32";compound_assignment=false]

  [:lhs="vec3%3Cf16%3E";rhs="i32";compound_assignment=true]

  [:lhs="vec3%3Cf16%3E";rhs="u32";compound_assignment=false]

  [:lhs="vec3%3Cf16%3E";rhs="u32";compound_assignment=true]

  [:lhs="vec3%3Cf16%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=false]

  [:lhs="vec3%3Cf16%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=true]

  [:lhs="vec3%3Cf16%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=false]

  [:lhs="vec3%3Cf16%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=true]

  [:lhs="vec3%3Cf16%3E";rhs="vec2%3Cbool%3E";compound_assignment=false]

  [:lhs="vec3%3Cf16%3E";rhs="vec2%3Cbool%3E";compound_assignment=true]

  [:lhs="vec3%3Cf16%3E";rhs="vec2%3Cf16%3E";compound_assignment=false]

  [:lhs="vec3%3Cf16%3E";rhs="vec2%3Cf16%3E";compound_assignment=true]

  [:lhs="vec3%3Cf16%3E";rhs="vec2%3Cf32%3E";compound_assignment=false]

  [:lhs="vec3%3Cf16%3E";rhs="vec2%3Cf32%3E";compound_assignment=true]

  [:lhs="vec3%3Cf16%3E";rhs="vec2%3Ci32%3E";compound_assignment=false]

  [:lhs="vec3%3Cf16%3E";rhs="vec2%3Ci32%3E";compound_assignment=true]

  [:lhs="vec3%3Cf16%3E";rhs="vec2%3Cu32%3E";compound_assignment=false]

  [:lhs="vec3%3Cf16%3E";rhs="vec2%3Cu32%3E";compound_assignment=true]

  [:lhs="vec3%3Cf32%3E";rhs="abstract-float";compound_assignment=false]

  [:lhs="vec3%3Cf32%3E";rhs="abstract-float";compound_assignment=true]

  [:lhs="vec3%3Cf32%3E";rhs="abstract-int";compound_assignment=false]

  [:lhs="vec3%3Cf32%3E";rhs="abstract-int";compound_assignment=true]

  [:lhs="vec3%3Cf32%3E";rhs="bool";compound_assignment=false]

  [:lhs="vec3%3Cf32%3E";rhs="bool";compound_assignment=true]

  [:lhs="vec3%3Cf32%3E";rhs="f16";compound_assignment=false]

  [:lhs="vec3%3Cf32%3E";rhs="f16";compound_assignment=true]

  [:lhs="vec3%3Cf32%3E";rhs="f32";compound_assignment=false]

  [:lhs="vec3%3Cf32%3E";rhs="f32";compound_assignment=true]

  [:lhs="vec3%3Cf32%3E";rhs="i32";compound_assignment=false]

  [:lhs="vec3%3Cf32%3E";rhs="i32";compound_assignment=true]

  [:lhs="vec3%3Cf32%3E";rhs="u32";compound_assignment=false]

  [:lhs="vec3%3Cf32%3E";rhs="u32";compound_assignment=true]

  [:lhs="vec3%3Cf32%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=false]

  [:lhs="vec3%3Cf32%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=true]

  [:lhs="vec3%3Cf32%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=false]

  [:lhs="vec3%3Cf32%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=true]

  [:lhs="vec3%3Cf32%3E";rhs="vec2%3Cbool%3E";compound_assignment=false]

  [:lhs="vec3%3Cf32%3E";rhs="vec2%3Cbool%3E";compound_assignment=true]

  [:lhs="vec3%3Cf32%3E";rhs="vec2%3Cf16%3E";compound_assignment=false]

  [:lhs="vec3%3Cf32%3E";rhs="vec2%3Cf16%3E";compound_assignment=true]

  [:lhs="vec3%3Cf32%3E";rhs="vec2%3Cf32%3E";compound_assignment=false]

  [:lhs="vec3%3Cf32%3E";rhs="vec2%3Cf32%3E";compound_assignment=true]

  [:lhs="vec3%3Cf32%3E";rhs="vec2%3Ci32%3E";compound_assignment=false]

  [:lhs="vec3%3Cf32%3E";rhs="vec2%3Ci32%3E";compound_assignment=true]

  [:lhs="vec3%3Cf32%3E";rhs="vec2%3Cu32%3E";compound_assignment=false]

  [:lhs="vec3%3Cf32%3E";rhs="vec2%3Cu32%3E";compound_assignment=true]

  [:lhs="vec3%3Ci32%3E";rhs="abstract-float";compound_assignment=false]

  [:lhs="vec3%3Ci32%3E";rhs="abstract-float";compound_assignment=true]

  [:lhs="vec3%3Ci32%3E";rhs="abstract-int";compound_assignment=false]

  [:lhs="vec3%3Ci32%3E";rhs="abstract-int";compound_assignment=true]

  [:lhs="vec3%3Ci32%3E";rhs="bool";compound_assignment=false]

  [:lhs="vec3%3Ci32%3E";rhs="bool";compound_assignment=true]

  [:lhs="vec3%3Ci32%3E";rhs="f16";compound_assignment=false]

  [:lhs="vec3%3Ci32%3E";rhs="f16";compound_assignment=true]

  [:lhs="vec3%3Ci32%3E";rhs="f32";compound_assignment=false]

  [:lhs="vec3%3Ci32%3E";rhs="f32";compound_assignment=true]

  [:lhs="vec3%3Ci32%3E";rhs="i32";compound_assignment=false]

  [:lhs="vec3%3Ci32%3E";rhs="i32";compound_assignment=true]

  [:lhs="vec3%3Ci32%3E";rhs="u32";compound_assignment=false]

  [:lhs="vec3%3Ci32%3E";rhs="u32";compound_assignment=true]

  [:lhs="vec3%3Ci32%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=false]

  [:lhs="vec3%3Ci32%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=true]

  [:lhs="vec3%3Ci32%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=false]

  [:lhs="vec3%3Ci32%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=true]

  [:lhs="vec3%3Ci32%3E";rhs="vec2%3Cbool%3E";compound_assignment=false]

  [:lhs="vec3%3Ci32%3E";rhs="vec2%3Cbool%3E";compound_assignment=true]

  [:lhs="vec3%3Ci32%3E";rhs="vec2%3Cf16%3E";compound_assignment=false]

  [:lhs="vec3%3Ci32%3E";rhs="vec2%3Cf16%3E";compound_assignment=true]

  [:lhs="vec3%3Ci32%3E";rhs="vec2%3Cf32%3E";compound_assignment=false]

  [:lhs="vec3%3Ci32%3E";rhs="vec2%3Cf32%3E";compound_assignment=true]

  [:lhs="vec3%3Ci32%3E";rhs="vec2%3Ci32%3E";compound_assignment=false]

  [:lhs="vec3%3Ci32%3E";rhs="vec2%3Ci32%3E";compound_assignment=true]

  [:lhs="vec3%3Ci32%3E";rhs="vec2%3Cu32%3E";compound_assignment=false]

  [:lhs="vec3%3Ci32%3E";rhs="vec2%3Cu32%3E";compound_assignment=true]

  [:lhs="vec3%3Cu32%3E";rhs="abstract-float";compound_assignment=false]

  [:lhs="vec3%3Cu32%3E";rhs="abstract-float";compound_assignment=true]

  [:lhs="vec3%3Cu32%3E";rhs="abstract-int";compound_assignment=false]

  [:lhs="vec3%3Cu32%3E";rhs="abstract-int";compound_assignment=true]

  [:lhs="vec3%3Cu32%3E";rhs="bool";compound_assignment=false]

  [:lhs="vec3%3Cu32%3E";rhs="bool";compound_assignment=true]

  [:lhs="vec3%3Cu32%3E";rhs="f16";compound_assignment=false]

  [:lhs="vec3%3Cu32%3E";rhs="f16";compound_assignment=true]

  [:lhs="vec3%3Cu32%3E";rhs="f32";compound_assignment=false]

  [:lhs="vec3%3Cu32%3E";rhs="f32";compound_assignment=true]

  [:lhs="vec3%3Cu32%3E";rhs="i32";compound_assignment=false]

  [:lhs="vec3%3Cu32%3E";rhs="i32";compound_assignment=true]

  [:lhs="vec3%3Cu32%3E";rhs="u32";compound_assignment=false]

  [:lhs="vec3%3Cu32%3E";rhs="u32";compound_assignment=true]

  [:lhs="vec3%3Cu32%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=false]

  [:lhs="vec3%3Cu32%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=true]

  [:lhs="vec3%3Cu32%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=false]

  [:lhs="vec3%3Cu32%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=true]

  [:lhs="vec3%3Cu32%3E";rhs="vec2%3Cbool%3E";compound_assignment=false]

  [:lhs="vec3%3Cu32%3E";rhs="vec2%3Cbool%3E";compound_assignment=true]

  [:lhs="vec3%3Cu32%3E";rhs="vec2%3Cf16%3E";compound_assignment=false]

  [:lhs="vec3%3Cu32%3E";rhs="vec2%3Cf16%3E";compound_assignment=true]

  [:lhs="vec3%3Cu32%3E";rhs="vec2%3Cf32%3E";compound_assignment=false]

  [:lhs="vec3%3Cu32%3E";rhs="vec2%3Cf32%3E";compound_assignment=true]

  [:lhs="vec3%3Cu32%3E";rhs="vec2%3Ci32%3E";compound_assignment=false]

  [:lhs="vec3%3Cu32%3E";rhs="vec2%3Ci32%3E";compound_assignment=true]

  [:lhs="vec3%3Cu32%3E";rhs="vec2%3Cu32%3E";compound_assignment=false]

  [:lhs="vec3%3Cu32%3E";rhs="vec2%3Cu32%3E";compound_assignment=true]

  [:lhs="vec4%3Cabstract-float%3E";rhs="abstract-float";compound_assignment=false]

  [:lhs="vec4%3Cabstract-float%3E";rhs="abstract-float";compound_assignment=true]

  [:lhs="vec4%3Cabstract-float%3E";rhs="abstract-int";compound_assignment=false]

  [:lhs="vec4%3Cabstract-float%3E";rhs="abstract-int";compound_assignment=true]

  [:lhs="vec4%3Cabstract-float%3E";rhs="bool";compound_assignment=false]

  [:lhs="vec4%3Cabstract-float%3E";rhs="bool";compound_assignment=true]

  [:lhs="vec4%3Cabstract-float%3E";rhs="f16";compound_assignment=false]

  [:lhs="vec4%3Cabstract-float%3E";rhs="f16";compound_assignment=true]

  [:lhs="vec4%3Cabstract-float%3E";rhs="f32";compound_assignment=false]

  [:lhs="vec4%3Cabstract-float%3E";rhs="f32";compound_assignment=true]

  [:lhs="vec4%3Cabstract-float%3E";rhs="i32";compound_assignment=false]

  [:lhs="vec4%3Cabstract-float%3E";rhs="i32";compound_assignment=true]

  [:lhs="vec4%3Cabstract-float%3E";rhs="u32";compound_assignment=false]

  [:lhs="vec4%3Cabstract-float%3E";rhs="u32";compound_assignment=true]

  [:lhs="vec4%3Cabstract-float%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=false]

  [:lhs="vec4%3Cabstract-float%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=true]

  [:lhs="vec4%3Cabstract-float%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=false]

  [:lhs="vec4%3Cabstract-float%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=true]

  [:lhs="vec4%3Cabstract-float%3E";rhs="vec2%3Cbool%3E";compound_assignment=false]

  [:lhs="vec4%3Cabstract-float%3E";rhs="vec2%3Cbool%3E";compound_assignment=true]

  [:lhs="vec4%3Cabstract-float%3E";rhs="vec2%3Cf16%3E";compound_assignment=false]

  [:lhs="vec4%3Cabstract-float%3E";rhs="vec2%3Cf16%3E";compound_assignment=true]

  [:lhs="vec4%3Cabstract-float%3E";rhs="vec2%3Cf32%3E";compound_assignment=false]

  [:lhs="vec4%3Cabstract-float%3E";rhs="vec2%3Cf32%3E";compound_assignment=true]

  [:lhs="vec4%3Cabstract-float%3E";rhs="vec2%3Ci32%3E";compound_assignment=false]

  [:lhs="vec4%3Cabstract-float%3E";rhs="vec2%3Ci32%3E";compound_assignment=true]

  [:lhs="vec4%3Cabstract-float%3E";rhs="vec2%3Cu32%3E";compound_assignment=false]

  [:lhs="vec4%3Cabstract-float%3E";rhs="vec2%3Cu32%3E";compound_assignment=true]

  [:lhs="vec4%3Cabstract-int%3E";rhs="abstract-float";compound_assignment=false]

  [:lhs="vec4%3Cabstract-int%3E";rhs="abstract-float";compound_assignment=true]

  [:lhs="vec4%3Cabstract-int%3E";rhs="abstract-int";compound_assignment=false]

  [:lhs="vec4%3Cabstract-int%3E";rhs="abstract-int";compound_assignment=true]

  [:lhs="vec4%3Cabstract-int%3E";rhs="bool";compound_assignment=false]

  [:lhs="vec4%3Cabstract-int%3E";rhs="bool";compound_assignment=true]

  [:lhs="vec4%3Cabstract-int%3E";rhs="f16";compound_assignment=false]

  [:lhs="vec4%3Cabstract-int%3E";rhs="f16";compound_assignment=true]

  [:lhs="vec4%3Cabstract-int%3E";rhs="f32";compound_assignment=false]

  [:lhs="vec4%3Cabstract-int%3E";rhs="f32";compound_assignment=true]

  [:lhs="vec4%3Cabstract-int%3E";rhs="i32";compound_assignment=false]

  [:lhs="vec4%3Cabstract-int%3E";rhs="i32";compound_assignment=true]

  [:lhs="vec4%3Cabstract-int%3E";rhs="u32";compound_assignment=false]

  [:lhs="vec4%3Cabstract-int%3E";rhs="u32";compound_assignment=true]

  [:lhs="vec4%3Cabstract-int%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=false]

  [:lhs="vec4%3Cabstract-int%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=true]

  [:lhs="vec4%3Cabstract-int%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=false]

  [:lhs="vec4%3Cabstract-int%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=true]

  [:lhs="vec4%3Cabstract-int%3E";rhs="vec2%3Cbool%3E";compound_assignment=false]

  [:lhs="vec4%3Cabstract-int%3E";rhs="vec2%3Cbool%3E";compound_assignment=true]

  [:lhs="vec4%3Cabstract-int%3E";rhs="vec2%3Cf16%3E";compound_assignment=false]

  [:lhs="vec4%3Cabstract-int%3E";rhs="vec2%3Cf16%3E";compound_assignment=true]

  [:lhs="vec4%3Cabstract-int%3E";rhs="vec2%3Cf32%3E";compound_assignment=false]

  [:lhs="vec4%3Cabstract-int%3E";rhs="vec2%3Cf32%3E";compound_assignment=true]

  [:lhs="vec4%3Cabstract-int%3E";rhs="vec2%3Ci32%3E";compound_assignment=false]

  [:lhs="vec4%3Cabstract-int%3E";rhs="vec2%3Ci32%3E";compound_assignment=true]

  [:lhs="vec4%3Cabstract-int%3E";rhs="vec2%3Cu32%3E";compound_assignment=false]

  [:lhs="vec4%3Cabstract-int%3E";rhs="vec2%3Cu32%3E";compound_assignment=true]

  [:lhs="vec4%3Cbool%3E";rhs="abstract-float";compound_assignment=false]

  [:lhs="vec4%3Cbool%3E";rhs="abstract-float";compound_assignment=true]

  [:lhs="vec4%3Cbool%3E";rhs="abstract-int";compound_assignment=false]

  [:lhs="vec4%3Cbool%3E";rhs="abstract-int";compound_assignment=true]

  [:lhs="vec4%3Cbool%3E";rhs="bool";compound_assignment=false]

  [:lhs="vec4%3Cbool%3E";rhs="bool";compound_assignment=true]

  [:lhs="vec4%3Cbool%3E";rhs="f16";compound_assignment=false]

  [:lhs="vec4%3Cbool%3E";rhs="f16";compound_assignment=true]

  [:lhs="vec4%3Cbool%3E";rhs="f32";compound_assignment=false]

  [:lhs="vec4%3Cbool%3E";rhs="f32";compound_assignment=true]

  [:lhs="vec4%3Cbool%3E";rhs="i32";compound_assignment=false]

  [:lhs="vec4%3Cbool%3E";rhs="i32";compound_assignment=true]

  [:lhs="vec4%3Cbool%3E";rhs="u32";compound_assignment=false]

  [:lhs="vec4%3Cbool%3E";rhs="u32";compound_assignment=true]

  [:lhs="vec4%3Cbool%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=false]

  [:lhs="vec4%3Cbool%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=true]

  [:lhs="vec4%3Cbool%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=false]

  [:lhs="vec4%3Cbool%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=true]

  [:lhs="vec4%3Cbool%3E";rhs="vec2%3Cbool%3E";compound_assignment=false]

  [:lhs="vec4%3Cbool%3E";rhs="vec2%3Cbool%3E";compound_assignment=true]

  [:lhs="vec4%3Cbool%3E";rhs="vec2%3Cf16%3E";compound_assignment=false]

  [:lhs="vec4%3Cbool%3E";rhs="vec2%3Cf16%3E";compound_assignment=true]

  [:lhs="vec4%3Cbool%3E";rhs="vec2%3Cf32%3E";compound_assignment=false]

  [:lhs="vec4%3Cbool%3E";rhs="vec2%3Cf32%3E";compound_assignment=true]

  [:lhs="vec4%3Cbool%3E";rhs="vec2%3Ci32%3E";compound_assignment=false]

  [:lhs="vec4%3Cbool%3E";rhs="vec2%3Ci32%3E";compound_assignment=true]

  [:lhs="vec4%3Cbool%3E";rhs="vec2%3Cu32%3E";compound_assignment=false]

  [:lhs="vec4%3Cbool%3E";rhs="vec2%3Cu32%3E";compound_assignment=true]

  [:lhs="vec4%3Cf16%3E";rhs="abstract-float";compound_assignment=false]

  [:lhs="vec4%3Cf16%3E";rhs="abstract-float";compound_assignment=true]

  [:lhs="vec4%3Cf16%3E";rhs="abstract-int";compound_assignment=false]

  [:lhs="vec4%3Cf16%3E";rhs="abstract-int";compound_assignment=true]

  [:lhs="vec4%3Cf16%3E";rhs="bool";compound_assignment=false]

  [:lhs="vec4%3Cf16%3E";rhs="bool";compound_assignment=true]

  [:lhs="vec4%3Cf16%3E";rhs="f16";compound_assignment=false]

  [:lhs="vec4%3Cf16%3E";rhs="f16";compound_assignment=true]

  [:lhs="vec4%3Cf16%3E";rhs="f32";compound_assignment=false]

  [:lhs="vec4%3Cf16%3E";rhs="f32";compound_assignment=true]

  [:lhs="vec4%3Cf16%3E";rhs="i32";compound_assignment=false]

  [:lhs="vec4%3Cf16%3E";rhs="i32";compound_assignment=true]

  [:lhs="vec4%3Cf16%3E";rhs="u32";compound_assignment=false]

  [:lhs="vec4%3Cf16%3E";rhs="u32";compound_assignment=true]

  [:lhs="vec4%3Cf16%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=false]

  [:lhs="vec4%3Cf16%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=true]

  [:lhs="vec4%3Cf16%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=false]

  [:lhs="vec4%3Cf16%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=true]

  [:lhs="vec4%3Cf16%3E";rhs="vec2%3Cbool%3E";compound_assignment=false]

  [:lhs="vec4%3Cf16%3E";rhs="vec2%3Cbool%3E";compound_assignment=true]

  [:lhs="vec4%3Cf16%3E";rhs="vec2%3Cf16%3E";compound_assignment=false]

  [:lhs="vec4%3Cf16%3E";rhs="vec2%3Cf16%3E";compound_assignment=true]

  [:lhs="vec4%3Cf16%3E";rhs="vec2%3Cf32%3E";compound_assignment=false]

  [:lhs="vec4%3Cf16%3E";rhs="vec2%3Cf32%3E";compound_assignment=true]

  [:lhs="vec4%3Cf16%3E";rhs="vec2%3Ci32%3E";compound_assignment=false]

  [:lhs="vec4%3Cf16%3E";rhs="vec2%3Ci32%3E";compound_assignment=true]

  [:lhs="vec4%3Cf16%3E";rhs="vec2%3Cu32%3E";compound_assignment=false]

  [:lhs="vec4%3Cf16%3E";rhs="vec2%3Cu32%3E";compound_assignment=true]

  [:lhs="vec4%3Cf32%3E";rhs="abstract-float";compound_assignment=false]

  [:lhs="vec4%3Cf32%3E";rhs="abstract-float";compound_assignment=true]

  [:lhs="vec4%3Cf32%3E";rhs="abstract-int";compound_assignment=false]

  [:lhs="vec4%3Cf32%3E";rhs="abstract-int";compound_assignment=true]

  [:lhs="vec4%3Cf32%3E";rhs="bool";compound_assignment=false]

  [:lhs="vec4%3Cf32%3E";rhs="bool";compound_assignment=true]

  [:lhs="vec4%3Cf32%3E";rhs="f16";compound_assignment=false]

  [:lhs="vec4%3Cf32%3E";rhs="f16";compound_assignment=true]

  [:lhs="vec4%3Cf32%3E";rhs="f32";compound_assignment=false]

  [:lhs="vec4%3Cf32%3E";rhs="f32";compound_assignment=true]

  [:lhs="vec4%3Cf32%3E";rhs="i32";compound_assignment=false]

  [:lhs="vec4%3Cf32%3E";rhs="i32";compound_assignment=true]

  [:lhs="vec4%3Cf32%3E";rhs="u32";compound_assignment=false]

  [:lhs="vec4%3Cf32%3E";rhs="u32";compound_assignment=true]

  [:lhs="vec4%3Cf32%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=false]

  [:lhs="vec4%3Cf32%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=true]

  [:lhs="vec4%3Cf32%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=false]

  [:lhs="vec4%3Cf32%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=true]

  [:lhs="vec4%3Cf32%3E";rhs="vec2%3Cbool%3E";compound_assignment=false]

  [:lhs="vec4%3Cf32%3E";rhs="vec2%3Cbool%3E";compound_assignment=true]

  [:lhs="vec4%3Cf32%3E";rhs="vec2%3Cf16%3E";compound_assignment=false]

  [:lhs="vec4%3Cf32%3E";rhs="vec2%3Cf16%3E";compound_assignment=true]

  [:lhs="vec4%3Cf32%3E";rhs="vec2%3Cf32%3E";compound_assignment=false]

  [:lhs="vec4%3Cf32%3E";rhs="vec2%3Cf32%3E";compound_assignment=true]

  [:lhs="vec4%3Cf32%3E";rhs="vec2%3Ci32%3E";compound_assignment=false]

  [:lhs="vec4%3Cf32%3E";rhs="vec2%3Ci32%3E";compound_assignment=true]

  [:lhs="vec4%3Cf32%3E";rhs="vec2%3Cu32%3E";compound_assignment=false]

  [:lhs="vec4%3Cf32%3E";rhs="vec2%3Cu32%3E";compound_assignment=true]

  [:lhs="vec4%3Ci32%3E";rhs="abstract-float";compound_assignment=false]

  [:lhs="vec4%3Ci32%3E";rhs="abstract-float";compound_assignment=true]

  [:lhs="vec4%3Ci32%3E";rhs="abstract-int";compound_assignment=false]

  [:lhs="vec4%3Ci32%3E";rhs="abstract-int";compound_assignment=true]

  [:lhs="vec4%3Ci32%3E";rhs="bool";compound_assignment=false]

  [:lhs="vec4%3Ci32%3E";rhs="bool";compound_assignment=true]

  [:lhs="vec4%3Ci32%3E";rhs="f16";compound_assignment=false]

  [:lhs="vec4%3Ci32%3E";rhs="f16";compound_assignment=true]

  [:lhs="vec4%3Ci32%3E";rhs="f32";compound_assignment=false]

  [:lhs="vec4%3Ci32%3E";rhs="f32";compound_assignment=true]

  [:lhs="vec4%3Ci32%3E";rhs="i32";compound_assignment=false]

  [:lhs="vec4%3Ci32%3E";rhs="i32";compound_assignment=true]

  [:lhs="vec4%3Ci32%3E";rhs="u32";compound_assignment=false]

  [:lhs="vec4%3Ci32%3E";rhs="u32";compound_assignment=true]

  [:lhs="vec4%3Ci32%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=false]

  [:lhs="vec4%3Ci32%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=true]

  [:lhs="vec4%3Ci32%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=false]

  [:lhs="vec4%3Ci32%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=true]

  [:lhs="vec4%3Ci32%3E";rhs="vec2%3Cbool%3E";compound_assignment=false]

  [:lhs="vec4%3Ci32%3E";rhs="vec2%3Cbool%3E";compound_assignment=true]

  [:lhs="vec4%3Ci32%3E";rhs="vec2%3Cf16%3E";compound_assignment=false]

  [:lhs="vec4%3Ci32%3E";rhs="vec2%3Cf16%3E";compound_assignment=true]

  [:lhs="vec4%3Ci32%3E";rhs="vec2%3Cf32%3E";compound_assignment=false]

  [:lhs="vec4%3Ci32%3E";rhs="vec2%3Cf32%3E";compound_assignment=true]

  [:lhs="vec4%3Ci32%3E";rhs="vec2%3Ci32%3E";compound_assignment=false]

  [:lhs="vec4%3Ci32%3E";rhs="vec2%3Ci32%3E";compound_assignment=true]

  [:lhs="vec4%3Ci32%3E";rhs="vec2%3Cu32%3E";compound_assignment=false]

  [:lhs="vec4%3Ci32%3E";rhs="vec2%3Cu32%3E";compound_assignment=true]

  [:lhs="vec4%3Cu32%3E";rhs="abstract-float";compound_assignment=false]

  [:lhs="vec4%3Cu32%3E";rhs="abstract-float";compound_assignment=true]

  [:lhs="vec4%3Cu32%3E";rhs="abstract-int";compound_assignment=false]

  [:lhs="vec4%3Cu32%3E";rhs="abstract-int";compound_assignment=true]

  [:lhs="vec4%3Cu32%3E";rhs="bool";compound_assignment=false]

  [:lhs="vec4%3Cu32%3E";rhs="bool";compound_assignment=true]

  [:lhs="vec4%3Cu32%3E";rhs="f16";compound_assignment=false]

  [:lhs="vec4%3Cu32%3E";rhs="f16";compound_assignment=true]

  [:lhs="vec4%3Cu32%3E";rhs="f32";compound_assignment=false]

  [:lhs="vec4%3Cu32%3E";rhs="f32";compound_assignment=true]

  [:lhs="vec4%3Cu32%3E";rhs="i32";compound_assignment=false]

  [:lhs="vec4%3Cu32%3E";rhs="i32";compound_assignment=true]

  [:lhs="vec4%3Cu32%3E";rhs="u32";compound_assignment=false]

  [:lhs="vec4%3Cu32%3E";rhs="u32";compound_assignment=true]

  [:lhs="vec4%3Cu32%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=false]

  [:lhs="vec4%3Cu32%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=true]

  [:lhs="vec4%3Cu32%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=false]

  [:lhs="vec4%3Cu32%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=true]

  [:lhs="vec4%3Cu32%3E";rhs="vec2%3Cbool%3E";compound_assignment=false]

  [:lhs="vec4%3Cu32%3E";rhs="vec2%3Cbool%3E";compound_assignment=true]

  [:lhs="vec4%3Cu32%3E";rhs="vec2%3Cf16%3E";compound_assignment=false]

  [:lhs="vec4%3Cu32%3E";rhs="vec2%3Cf16%3E";compound_assignment=true]

  [:lhs="vec4%3Cu32%3E";rhs="vec2%3Cf32%3E";compound_assignment=false]

  [:lhs="vec4%3Cu32%3E";rhs="vec2%3Cf32%3E";compound_assignment=true]

  [:lhs="vec4%3Cu32%3E";rhs="vec2%3Ci32%3E";compound_assignment=false]

  [:lhs="vec4%3Cu32%3E";rhs="vec2%3Ci32%3E";compound_assignment=true]

  [:lhs="vec4%3Cu32%3E";rhs="vec2%3Cu32%3E";compound_assignment=false]

  [:lhs="vec4%3Cu32%3E";rhs="vec2%3Cu32%3E";compound_assignment=true]


[cts.https.html?q=webgpu:shader,validation,expression,binary,add_sub_mul:scalar_vector_out_of_range:*]
  implementation-status: backlog
  [:op="add";lhs="f16";rhs="f16"]
    expected:
      if os == "mac": FAIL

  [:op="add";lhs="f32";rhs="f32"]

  [:op="add";lhs="i32";rhs="i32"]

  [:op="add";lhs="u32";rhs="u32"]
    expected: FAIL

  [:op="add";lhs="vec2%3Cf16%3E";rhs="f16"]
    expected:
      if os == "mac": FAIL

  [:op="add";lhs="vec2%3Cf16%3E";rhs="vec2%3Cf16%3E"]
    expected:
      if os == "mac": FAIL

  [:op="add";lhs="vec2%3Cf32%3E";rhs="f32"]

  [:op="add";lhs="vec2%3Cf32%3E";rhs="vec2%3Cf32%3E"]

  [:op="add";lhs="vec2%3Ci32%3E";rhs="i32"]

  [:op="add";lhs="vec2%3Ci32%3E";rhs="vec2%3Ci32%3E"]

  [:op="add";lhs="vec2%3Cu32%3E";rhs="u32"]
    expected: FAIL

  [:op="add";lhs="vec2%3Cu32%3E";rhs="vec2%3Cu32%3E"]
    expected: FAIL

  [:op="add";lhs="vec3%3Cf16%3E";rhs="f16"]
    expected:
      if os == "mac": FAIL

  [:op="add";lhs="vec3%3Cf16%3E";rhs="vec3%3Cf16%3E"]
    expected:
      if os == "mac": FAIL

  [:op="add";lhs="vec3%3Cf32%3E";rhs="f32"]

  [:op="add";lhs="vec3%3Cf32%3E";rhs="vec3%3Cf32%3E"]

  [:op="add";lhs="vec3%3Ci32%3E";rhs="i32"]

  [:op="add";lhs="vec3%3Ci32%3E";rhs="vec3%3Ci32%3E"]

  [:op="add";lhs="vec3%3Cu32%3E";rhs="u32"]
    expected: FAIL

  [:op="add";lhs="vec3%3Cu32%3E";rhs="vec3%3Cu32%3E"]
    expected: FAIL

  [:op="add";lhs="vec4%3Cf16%3E";rhs="f16"]
    expected:
      if os == "mac": FAIL

  [:op="add";lhs="vec4%3Cf16%3E";rhs="vec4%3Cf16%3E"]
    expected:
      if os == "mac": FAIL

  [:op="add";lhs="vec4%3Cf32%3E";rhs="f32"]

  [:op="add";lhs="vec4%3Cf32%3E";rhs="vec4%3Cf32%3E"]

  [:op="add";lhs="vec4%3Ci32%3E";rhs="i32"]

  [:op="add";lhs="vec4%3Ci32%3E";rhs="vec4%3Ci32%3E"]

  [:op="add";lhs="vec4%3Cu32%3E";rhs="u32"]
    expected: FAIL

  [:op="add";lhs="vec4%3Cu32%3E";rhs="vec4%3Cu32%3E"]
    expected: FAIL

  [:op="mul";lhs="f16";rhs="f16"]
    expected:
      if os == "mac": FAIL

  [:op="mul";lhs="f32";rhs="f32"]

  [:op="mul";lhs="i32";rhs="i32"]

  [:op="mul";lhs="u32";rhs="u32"]
    expected: FAIL

  [:op="mul";lhs="vec2%3Cf16%3E";rhs="f16"]
    expected:
      if os == "mac": FAIL

  [:op="mul";lhs="vec2%3Cf16%3E";rhs="vec2%3Cf16%3E"]
    expected:
      if os == "mac": FAIL

  [:op="mul";lhs="vec2%3Cf32%3E";rhs="f32"]

  [:op="mul";lhs="vec2%3Cf32%3E";rhs="vec2%3Cf32%3E"]

  [:op="mul";lhs="vec2%3Ci32%3E";rhs="i32"]

  [:op="mul";lhs="vec2%3Ci32%3E";rhs="vec2%3Ci32%3E"]

  [:op="mul";lhs="vec2%3Cu32%3E";rhs="u32"]
    expected: FAIL

  [:op="mul";lhs="vec2%3Cu32%3E";rhs="vec2%3Cu32%3E"]
    expected: FAIL

  [:op="mul";lhs="vec3%3Cf16%3E";rhs="f16"]
    expected:
      if os == "mac": FAIL

  [:op="mul";lhs="vec3%3Cf16%3E";rhs="vec3%3Cf16%3E"]
    expected:
      if os == "mac": FAIL

  [:op="mul";lhs="vec3%3Cf32%3E";rhs="f32"]

  [:op="mul";lhs="vec3%3Cf32%3E";rhs="vec3%3Cf32%3E"]

  [:op="mul";lhs="vec3%3Ci32%3E";rhs="i32"]

  [:op="mul";lhs="vec3%3Ci32%3E";rhs="vec3%3Ci32%3E"]

  [:op="mul";lhs="vec3%3Cu32%3E";rhs="u32"]
    expected: FAIL

  [:op="mul";lhs="vec3%3Cu32%3E";rhs="vec3%3Cu32%3E"]
    expected: FAIL

  [:op="mul";lhs="vec4%3Cf16%3E";rhs="f16"]
    expected:
      if os == "mac": FAIL

  [:op="mul";lhs="vec4%3Cf16%3E";rhs="vec4%3Cf16%3E"]
    expected:
      if os == "mac": FAIL

  [:op="mul";lhs="vec4%3Cf32%3E";rhs="f32"]

  [:op="mul";lhs="vec4%3Cf32%3E";rhs="vec4%3Cf32%3E"]

  [:op="mul";lhs="vec4%3Ci32%3E";rhs="i32"]

  [:op="mul";lhs="vec4%3Ci32%3E";rhs="vec4%3Ci32%3E"]

  [:op="mul";lhs="vec4%3Cu32%3E";rhs="u32"]
    expected: FAIL

  [:op="mul";lhs="vec4%3Cu32%3E";rhs="vec4%3Cu32%3E"]
    expected: FAIL

  [:op="sub";lhs="f16";rhs="f16"]
    expected:
      if os == "mac": FAIL

  [:op="sub";lhs="f32";rhs="f32"]

  [:op="sub";lhs="i32";rhs="i32"]

  [:op="sub";lhs="u32";rhs="u32"]
    expected: FAIL

  [:op="sub";lhs="vec2%3Cf16%3E";rhs="f16"]
    expected:
      if os == "mac": FAIL

  [:op="sub";lhs="vec2%3Cf16%3E";rhs="vec2%3Cf16%3E"]
    expected:
      if os == "mac": FAIL

  [:op="sub";lhs="vec2%3Cf32%3E";rhs="f32"]

  [:op="sub";lhs="vec2%3Cf32%3E";rhs="vec2%3Cf32%3E"]

  [:op="sub";lhs="vec2%3Ci32%3E";rhs="i32"]

  [:op="sub";lhs="vec2%3Ci32%3E";rhs="vec2%3Ci32%3E"]

  [:op="sub";lhs="vec2%3Cu32%3E";rhs="u32"]
    expected: FAIL

  [:op="sub";lhs="vec2%3Cu32%3E";rhs="vec2%3Cu32%3E"]
    expected: FAIL

  [:op="sub";lhs="vec3%3Cf16%3E";rhs="f16"]
    expected:
      if os == "mac": FAIL

  [:op="sub";lhs="vec3%3Cf16%3E";rhs="vec3%3Cf16%3E"]
    expected:
      if os == "mac": FAIL

  [:op="sub";lhs="vec3%3Cf32%3E";rhs="f32"]

  [:op="sub";lhs="vec3%3Cf32%3E";rhs="vec3%3Cf32%3E"]

  [:op="sub";lhs="vec3%3Ci32%3E";rhs="i32"]

  [:op="sub";lhs="vec3%3Ci32%3E";rhs="vec3%3Ci32%3E"]

  [:op="sub";lhs="vec3%3Cu32%3E";rhs="u32"]
    expected: FAIL

  [:op="sub";lhs="vec3%3Cu32%3E";rhs="vec3%3Cu32%3E"]
    expected: FAIL

  [:op="sub";lhs="vec4%3Cf16%3E";rhs="f16"]
    expected:
      if os == "mac": FAIL

  [:op="sub";lhs="vec4%3Cf16%3E";rhs="vec4%3Cf16%3E"]
    expected:
      if os == "mac": FAIL

  [:op="sub";lhs="vec4%3Cf32%3E";rhs="f32"]

  [:op="sub";lhs="vec4%3Cf32%3E";rhs="vec4%3Cf32%3E"]

  [:op="sub";lhs="vec4%3Ci32%3E";rhs="i32"]

  [:op="sub";lhs="vec4%3Ci32%3E";rhs="vec4%3Ci32%3E"]

  [:op="sub";lhs="vec4%3Cu32%3E";rhs="u32"]
    expected: FAIL

  [:op="sub";lhs="vec4%3Cu32%3E";rhs="vec4%3Cu32%3E"]
    expected: FAIL
