add tests for remaining vector - scalar ops

This commit is contained in:
teoxoy 2022-04-12 17:28:05 +02:00 committed by Teodor Tanasoaia
parent 95b84c4403
commit d3b37dcdb1
6 changed files with 691 additions and 533 deletions

View File

@ -137,18 +137,38 @@ fn arithmetic() {
// Binary arithmetic expressions with mixed scalar and vector operands
let _ = vec2(2) + 1;
let _ = 2 + vec2(1);
let _ = vec2(2u) + 1u;
let _ = 2u + vec2(1u);
let _ = vec2(2.0) + 1.0;
let _ = 2.0 + vec2(1.0);
let _ = vec2(2) - 1;
let _ = 2 - vec2(1);
let _ = vec2(2u) - 1u;
let _ = 2u - vec2(1u);
let _ = vec2(2.0) - 1.0;
let _ = 2.0 - vec2(1.0);
let _ = vec2(2) * 1;
let _ = 2 * vec2(1);
let _ = vec2(2u) * 1u;
let _ = 2u * vec2(1u);
let _ = vec2(2.0) * 1.0;
let _ = 2.0 * vec2(1.0);
let _ = vec2(2) / 1;
let _ = 2 / vec2(1);
let _ = vec2(2u) / 1u;
let _ = 2u / vec2(1u);
let _ = vec2(2.0) / 1.0;
let _ = 2.0 / vec2(1.0);
let _ = vec2(2) % 1;
let _ = 2 % vec2(1);
let _ = vec2(2u) % 1u;
let _ = 2u % vec2(1u);
let _ = vec2(2.0) % 1.0;
let _ = 2.0 % vec2(1.0);
// Matrix arithmetic
let _ = mat3x3<f32>() + mat3x3<f32>();

View File

@ -102,87 +102,107 @@ void arithmetic() {
vec4 unnamed_50 = (vec4(2.0) - vec4(1.0) * trunc(vec4(2.0) / vec4(1.0)));
ivec2 unnamed_51 = (ivec2(2) + ivec2(1));
ivec2 unnamed_52 = (ivec2(2) + ivec2(1));
ivec2 unnamed_53 = (ivec2(2) - ivec2(1));
ivec2 unnamed_54 = (ivec2(2) - ivec2(1));
ivec2 unnamed_55 = (ivec2(2) * 1);
ivec2 unnamed_56 = (2 * ivec2(1));
ivec2 unnamed_57 = (ivec2(2) / ivec2(1));
ivec2 unnamed_58 = (ivec2(2) / ivec2(1));
ivec2 unnamed_59 = (ivec2(2) % ivec2(1));
ivec2 unnamed_60 = (ivec2(2) % ivec2(1));
mat3x3 unnamed_61 = (mat3x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0)) + mat3x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0)));
mat3x3 unnamed_62 = (mat3x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0)) - mat3x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0)));
mat3x3 unnamed_63 = (mat3x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0)) * 1.0);
mat3x3 unnamed_64 = (2.0 * mat3x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0)));
vec3 unnamed_65 = (mat4x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0)) * vec4(1.0));
vec4 unnamed_66 = (vec3(2.0) * mat4x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0)));
mat3x3 unnamed_67 = (mat4x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0)) * mat3x4(vec4(0.0, 0.0, 0.0, 0.0), vec4(0.0, 0.0, 0.0, 0.0), vec4(0.0, 0.0, 0.0, 0.0)));
uvec2 unnamed_53 = (uvec2(2u) + uvec2(1u));
uvec2 unnamed_54 = (uvec2(2u) + uvec2(1u));
vec2 unnamed_55 = (vec2(2.0) + vec2(1.0));
vec2 unnamed_56 = (vec2(2.0) + vec2(1.0));
ivec2 unnamed_57 = (ivec2(2) - ivec2(1));
ivec2 unnamed_58 = (ivec2(2) - ivec2(1));
uvec2 unnamed_59 = (uvec2(2u) - uvec2(1u));
uvec2 unnamed_60 = (uvec2(2u) - uvec2(1u));
vec2 unnamed_61 = (vec2(2.0) - vec2(1.0));
vec2 unnamed_62 = (vec2(2.0) - vec2(1.0));
ivec2 unnamed_63 = (ivec2(2) * 1);
ivec2 unnamed_64 = (2 * ivec2(1));
uvec2 unnamed_65 = (uvec2(2u) * 1u);
uvec2 unnamed_66 = (2u * uvec2(1u));
vec2 unnamed_67 = (vec2(2.0) * 1.0);
vec2 unnamed_68 = (2.0 * vec2(1.0));
ivec2 unnamed_69 = (ivec2(2) / ivec2(1));
ivec2 unnamed_70 = (ivec2(2) / ivec2(1));
uvec2 unnamed_71 = (uvec2(2u) / uvec2(1u));
uvec2 unnamed_72 = (uvec2(2u) / uvec2(1u));
vec2 unnamed_73 = (vec2(2.0) / vec2(1.0));
vec2 unnamed_74 = (vec2(2.0) / vec2(1.0));
ivec2 unnamed_75 = (ivec2(2) % ivec2(1));
ivec2 unnamed_76 = (ivec2(2) % ivec2(1));
uvec2 unnamed_77 = (uvec2(2u) % uvec2(1u));
uvec2 unnamed_78 = (uvec2(2u) % uvec2(1u));
vec2 unnamed_79 = (vec2(2.0) - vec2(1.0) * trunc(vec2(2.0) / vec2(1.0)));
vec2 unnamed_80 = (vec2(2.0) - vec2(1.0) * trunc(vec2(2.0) / vec2(1.0)));
mat3x3 unnamed_81 = (mat3x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0)) + mat3x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0)));
mat3x3 unnamed_82 = (mat3x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0)) - mat3x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0)));
mat3x3 unnamed_83 = (mat3x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0)) * 1.0);
mat3x3 unnamed_84 = (2.0 * mat3x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0)));
vec3 unnamed_85 = (mat4x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0)) * vec4(1.0));
vec4 unnamed_86 = (vec3(2.0) * mat4x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0)));
mat3x3 unnamed_87 = (mat4x3(vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0), vec3(0.0, 0.0, 0.0)) * mat3x4(vec4(0.0, 0.0, 0.0, 0.0), vec4(0.0, 0.0, 0.0, 0.0), vec4(0.0, 0.0, 0.0, 0.0)));
}
void bit() {
int unnamed_68 = (~ 1);
uint unnamed_69 = (~ 1u);
ivec2 unnamed_70 = (~ ivec2(1));
uvec3 unnamed_71 = (~ uvec3(1u));
int unnamed_72 = (2 | 1);
uint unnamed_73 = (2u | 1u);
ivec2 unnamed_74 = (ivec2(2) | ivec2(1));
uvec3 unnamed_75 = (uvec3(2u) | uvec3(1u));
int unnamed_76 = (2 & 1);
uint unnamed_77 = (2u & 1u);
ivec2 unnamed_78 = (ivec2(2) & ivec2(1));
uvec3 unnamed_79 = (uvec3(2u) & uvec3(1u));
int unnamed_80 = (2 ^ 1);
uint unnamed_81 = (2u ^ 1u);
ivec2 unnamed_82 = (ivec2(2) ^ ivec2(1));
uvec3 unnamed_83 = (uvec3(2u) ^ uvec3(1u));
int unnamed_84 = (2 << 1u);
uint unnamed_85 = (2u << 1u);
ivec2 unnamed_86 = (ivec2(2) << uvec2(1u));
uvec3 unnamed_87 = (uvec3(2u) << uvec3(1u));
int unnamed_88 = (2 >> 1u);
uint unnamed_89 = (2u >> 1u);
ivec2 unnamed_90 = (ivec2(2) >> uvec2(1u));
uvec3 unnamed_91 = (uvec3(2u) >> uvec3(1u));
int unnamed_88 = (~ 1);
uint unnamed_89 = (~ 1u);
ivec2 unnamed_90 = (~ ivec2(1));
uvec3 unnamed_91 = (~ uvec3(1u));
int unnamed_92 = (2 | 1);
uint unnamed_93 = (2u | 1u);
ivec2 unnamed_94 = (ivec2(2) | ivec2(1));
uvec3 unnamed_95 = (uvec3(2u) | uvec3(1u));
int unnamed_96 = (2 & 1);
uint unnamed_97 = (2u & 1u);
ivec2 unnamed_98 = (ivec2(2) & ivec2(1));
uvec3 unnamed_99 = (uvec3(2u) & uvec3(1u));
int unnamed_100 = (2 ^ 1);
uint unnamed_101 = (2u ^ 1u);
ivec2 unnamed_102 = (ivec2(2) ^ ivec2(1));
uvec3 unnamed_103 = (uvec3(2u) ^ uvec3(1u));
int unnamed_104 = (2 << 1u);
uint unnamed_105 = (2u << 1u);
ivec2 unnamed_106 = (ivec2(2) << uvec2(1u));
uvec3 unnamed_107 = (uvec3(2u) << uvec3(1u));
int unnamed_108 = (2 >> 1u);
uint unnamed_109 = (2u >> 1u);
ivec2 unnamed_110 = (ivec2(2) >> uvec2(1u));
uvec3 unnamed_111 = (uvec3(2u) >> uvec3(1u));
}
void comparison() {
bool unnamed_92 = (2 == 1);
bool unnamed_93 = (2u == 1u);
bool unnamed_94 = (2.0 == 1.0);
bvec2 unnamed_95 = equal(ivec2(2), ivec2(1));
bvec3 unnamed_96 = equal(uvec3(2u), uvec3(1u));
bvec4 unnamed_97 = equal(vec4(2.0), vec4(1.0));
bool unnamed_98 = (2 != 1);
bool unnamed_99 = (2u != 1u);
bool unnamed_100 = (2.0 != 1.0);
bvec2 unnamed_101 = notEqual(ivec2(2), ivec2(1));
bvec3 unnamed_102 = notEqual(uvec3(2u), uvec3(1u));
bvec4 unnamed_103 = notEqual(vec4(2.0), vec4(1.0));
bool unnamed_104 = (2 < 1);
bool unnamed_105 = (2u < 1u);
bool unnamed_106 = (2.0 < 1.0);
bvec2 unnamed_107 = lessThan(ivec2(2), ivec2(1));
bvec3 unnamed_108 = lessThan(uvec3(2u), uvec3(1u));
bvec4 unnamed_109 = lessThan(vec4(2.0), vec4(1.0));
bool unnamed_110 = (2 <= 1);
bool unnamed_111 = (2u <= 1u);
bool unnamed_112 = (2.0 <= 1.0);
bvec2 unnamed_113 = lessThanEqual(ivec2(2), ivec2(1));
bvec3 unnamed_114 = lessThanEqual(uvec3(2u), uvec3(1u));
bvec4 unnamed_115 = lessThanEqual(vec4(2.0), vec4(1.0));
bool unnamed_116 = (2 > 1);
bool unnamed_117 = (2u > 1u);
bool unnamed_118 = (2.0 > 1.0);
bvec2 unnamed_119 = greaterThan(ivec2(2), ivec2(1));
bvec3 unnamed_120 = greaterThan(uvec3(2u), uvec3(1u));
bvec4 unnamed_121 = greaterThan(vec4(2.0), vec4(1.0));
bool unnamed_122 = (2 >= 1);
bool unnamed_123 = (2u >= 1u);
bool unnamed_124 = (2.0 >= 1.0);
bvec2 unnamed_125 = greaterThanEqual(ivec2(2), ivec2(1));
bvec3 unnamed_126 = greaterThanEqual(uvec3(2u), uvec3(1u));
bvec4 unnamed_127 = greaterThanEqual(vec4(2.0), vec4(1.0));
bool unnamed_112 = (2 == 1);
bool unnamed_113 = (2u == 1u);
bool unnamed_114 = (2.0 == 1.0);
bvec2 unnamed_115 = equal(ivec2(2), ivec2(1));
bvec3 unnamed_116 = equal(uvec3(2u), uvec3(1u));
bvec4 unnamed_117 = equal(vec4(2.0), vec4(1.0));
bool unnamed_118 = (2 != 1);
bool unnamed_119 = (2u != 1u);
bool unnamed_120 = (2.0 != 1.0);
bvec2 unnamed_121 = notEqual(ivec2(2), ivec2(1));
bvec3 unnamed_122 = notEqual(uvec3(2u), uvec3(1u));
bvec4 unnamed_123 = notEqual(vec4(2.0), vec4(1.0));
bool unnamed_124 = (2 < 1);
bool unnamed_125 = (2u < 1u);
bool unnamed_126 = (2.0 < 1.0);
bvec2 unnamed_127 = lessThan(ivec2(2), ivec2(1));
bvec3 unnamed_128 = lessThan(uvec3(2u), uvec3(1u));
bvec4 unnamed_129 = lessThan(vec4(2.0), vec4(1.0));
bool unnamed_130 = (2 <= 1);
bool unnamed_131 = (2u <= 1u);
bool unnamed_132 = (2.0 <= 1.0);
bvec2 unnamed_133 = lessThanEqual(ivec2(2), ivec2(1));
bvec3 unnamed_134 = lessThanEqual(uvec3(2u), uvec3(1u));
bvec4 unnamed_135 = lessThanEqual(vec4(2.0), vec4(1.0));
bool unnamed_136 = (2 > 1);
bool unnamed_137 = (2u > 1u);
bool unnamed_138 = (2.0 > 1.0);
bvec2 unnamed_139 = greaterThan(ivec2(2), ivec2(1));
bvec3 unnamed_140 = greaterThan(uvec3(2u), uvec3(1u));
bvec4 unnamed_141 = greaterThan(vec4(2.0), vec4(1.0));
bool unnamed_142 = (2 >= 1);
bool unnamed_143 = (2u >= 1u);
bool unnamed_144 = (2.0 >= 1.0);
bvec2 unnamed_145 = greaterThanEqual(ivec2(2), ivec2(1));
bvec3 unnamed_146 = greaterThanEqual(uvec3(2u), uvec3(1u));
bvec4 unnamed_147 = greaterThanEqual(vec4(2.0), vec4(1.0));
}
void assignment() {

View File

@ -130,89 +130,109 @@ void arithmetic()
float4 unnamed_50 = ((2.0).xxxx % (1.0).xxxx);
int2 unnamed_51 = ((2).xx + (1).xx);
int2 unnamed_52 = ((2).xx + (1).xx);
int2 unnamed_53 = ((2).xx - (1).xx);
int2 unnamed_54 = ((2).xx - (1).xx);
int2 unnamed_55 = ((2).xx * 1);
int2 unnamed_56 = (2 * (1).xx);
int2 unnamed_57 = ((2).xx / (1).xx);
int2 unnamed_58 = ((2).xx / (1).xx);
int2 unnamed_59 = ((2).xx % (1).xx);
int2 unnamed_60 = ((2).xx % (1).xx);
float3x3 unnamed_61 = (float3x3(float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0)) + float3x3(float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0)));
float3x3 unnamed_62 = (float3x3(float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0)) - float3x3(float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0)));
float3x3 unnamed_63 = mul(1.0, float3x3(float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0)));
float3x3 unnamed_64 = mul(float3x3(float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0)), 2.0);
float3 unnamed_65 = mul((1.0).xxxx, float4x3(float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0)));
float4 unnamed_66 = mul(float4x3(float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0)), (2.0).xxx);
float3x3 unnamed_67 = mul(float3x4(float4(0.0, 0.0, 0.0, 0.0), float4(0.0, 0.0, 0.0, 0.0), float4(0.0, 0.0, 0.0, 0.0)), float4x3(float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0)));
uint2 unnamed_53 = ((2u).xx + (1u).xx);
uint2 unnamed_54 = ((2u).xx + (1u).xx);
float2 unnamed_55 = ((2.0).xx + (1.0).xx);
float2 unnamed_56 = ((2.0).xx + (1.0).xx);
int2 unnamed_57 = ((2).xx - (1).xx);
int2 unnamed_58 = ((2).xx - (1).xx);
uint2 unnamed_59 = ((2u).xx - (1u).xx);
uint2 unnamed_60 = ((2u).xx - (1u).xx);
float2 unnamed_61 = ((2.0).xx - (1.0).xx);
float2 unnamed_62 = ((2.0).xx - (1.0).xx);
int2 unnamed_63 = ((2).xx * 1);
int2 unnamed_64 = (2 * (1).xx);
uint2 unnamed_65 = ((2u).xx * 1u);
uint2 unnamed_66 = (2u * (1u).xx);
float2 unnamed_67 = ((2.0).xx * 1.0);
float2 unnamed_68 = (2.0 * (1.0).xx);
int2 unnamed_69 = ((2).xx / (1).xx);
int2 unnamed_70 = ((2).xx / (1).xx);
uint2 unnamed_71 = ((2u).xx / (1u).xx);
uint2 unnamed_72 = ((2u).xx / (1u).xx);
float2 unnamed_73 = ((2.0).xx / (1.0).xx);
float2 unnamed_74 = ((2.0).xx / (1.0).xx);
int2 unnamed_75 = ((2).xx % (1).xx);
int2 unnamed_76 = ((2).xx % (1).xx);
uint2 unnamed_77 = ((2u).xx % (1u).xx);
uint2 unnamed_78 = ((2u).xx % (1u).xx);
float2 unnamed_79 = ((2.0).xx % (1.0).xx);
float2 unnamed_80 = ((2.0).xx % (1.0).xx);
float3x3 unnamed_81 = (float3x3(float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0)) + float3x3(float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0)));
float3x3 unnamed_82 = (float3x3(float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0)) - float3x3(float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0)));
float3x3 unnamed_83 = mul(1.0, float3x3(float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0)));
float3x3 unnamed_84 = mul(float3x3(float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0)), 2.0);
float3 unnamed_85 = mul((1.0).xxxx, float4x3(float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0)));
float4 unnamed_86 = mul(float4x3(float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0)), (2.0).xxx);
float3x3 unnamed_87 = mul(float3x4(float4(0.0, 0.0, 0.0, 0.0), float4(0.0, 0.0, 0.0, 0.0), float4(0.0, 0.0, 0.0, 0.0)), float4x3(float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0)));
}
void bit()
{
int unnamed_68 = ~1;
uint unnamed_69 = ~1u;
int2 unnamed_70 = ~(1).xx;
uint3 unnamed_71 = ~(1u).xxx;
int unnamed_72 = (2 | 1);
uint unnamed_73 = (2u | 1u);
int2 unnamed_74 = ((2).xx | (1).xx);
uint3 unnamed_75 = ((2u).xxx | (1u).xxx);
int unnamed_76 = (2 & 1);
uint unnamed_77 = (2u & 1u);
int2 unnamed_78 = ((2).xx & (1).xx);
uint3 unnamed_79 = ((2u).xxx & (1u).xxx);
int unnamed_80 = (2 ^ 1);
uint unnamed_81 = (2u ^ 1u);
int2 unnamed_82 = ((2).xx ^ (1).xx);
uint3 unnamed_83 = ((2u).xxx ^ (1u).xxx);
int unnamed_84 = (2 << 1u);
uint unnamed_85 = (2u << 1u);
int2 unnamed_86 = ((2).xx << (1u).xx);
uint3 unnamed_87 = ((2u).xxx << (1u).xxx);
int unnamed_88 = (2 >> 1u);
uint unnamed_89 = (2u >> 1u);
int2 unnamed_90 = ((2).xx >> (1u).xx);
uint3 unnamed_91 = ((2u).xxx >> (1u).xxx);
int unnamed_88 = ~1;
uint unnamed_89 = ~1u;
int2 unnamed_90 = ~(1).xx;
uint3 unnamed_91 = ~(1u).xxx;
int unnamed_92 = (2 | 1);
uint unnamed_93 = (2u | 1u);
int2 unnamed_94 = ((2).xx | (1).xx);
uint3 unnamed_95 = ((2u).xxx | (1u).xxx);
int unnamed_96 = (2 & 1);
uint unnamed_97 = (2u & 1u);
int2 unnamed_98 = ((2).xx & (1).xx);
uint3 unnamed_99 = ((2u).xxx & (1u).xxx);
int unnamed_100 = (2 ^ 1);
uint unnamed_101 = (2u ^ 1u);
int2 unnamed_102 = ((2).xx ^ (1).xx);
uint3 unnamed_103 = ((2u).xxx ^ (1u).xxx);
int unnamed_104 = (2 << 1u);
uint unnamed_105 = (2u << 1u);
int2 unnamed_106 = ((2).xx << (1u).xx);
uint3 unnamed_107 = ((2u).xxx << (1u).xxx);
int unnamed_108 = (2 >> 1u);
uint unnamed_109 = (2u >> 1u);
int2 unnamed_110 = ((2).xx >> (1u).xx);
uint3 unnamed_111 = ((2u).xxx >> (1u).xxx);
}
void comparison()
{
bool unnamed_92 = (2 == 1);
bool unnamed_93 = (2u == 1u);
bool unnamed_94 = (2.0 == 1.0);
bool2 unnamed_95 = ((2).xx == (1).xx);
bool3 unnamed_96 = ((2u).xxx == (1u).xxx);
bool4 unnamed_97 = ((2.0).xxxx == (1.0).xxxx);
bool unnamed_98 = (2 != 1);
bool unnamed_99 = (2u != 1u);
bool unnamed_100 = (2.0 != 1.0);
bool2 unnamed_101 = ((2).xx != (1).xx);
bool3 unnamed_102 = ((2u).xxx != (1u).xxx);
bool4 unnamed_103 = ((2.0).xxxx != (1.0).xxxx);
bool unnamed_104 = (2 < 1);
bool unnamed_105 = (2u < 1u);
bool unnamed_106 = (2.0 < 1.0);
bool2 unnamed_107 = ((2).xx < (1).xx);
bool3 unnamed_108 = ((2u).xxx < (1u).xxx);
bool4 unnamed_109 = ((2.0).xxxx < (1.0).xxxx);
bool unnamed_110 = (2 <= 1);
bool unnamed_111 = (2u <= 1u);
bool unnamed_112 = (2.0 <= 1.0);
bool2 unnamed_113 = ((2).xx <= (1).xx);
bool3 unnamed_114 = ((2u).xxx <= (1u).xxx);
bool4 unnamed_115 = ((2.0).xxxx <= (1.0).xxxx);
bool unnamed_116 = (2 > 1);
bool unnamed_117 = (2u > 1u);
bool unnamed_118 = (2.0 > 1.0);
bool2 unnamed_119 = ((2).xx > (1).xx);
bool3 unnamed_120 = ((2u).xxx > (1u).xxx);
bool4 unnamed_121 = ((2.0).xxxx > (1.0).xxxx);
bool unnamed_122 = (2 >= 1);
bool unnamed_123 = (2u >= 1u);
bool unnamed_124 = (2.0 >= 1.0);
bool2 unnamed_125 = ((2).xx >= (1).xx);
bool3 unnamed_126 = ((2u).xxx >= (1u).xxx);
bool4 unnamed_127 = ((2.0).xxxx >= (1.0).xxxx);
bool unnamed_112 = (2 == 1);
bool unnamed_113 = (2u == 1u);
bool unnamed_114 = (2.0 == 1.0);
bool2 unnamed_115 = ((2).xx == (1).xx);
bool3 unnamed_116 = ((2u).xxx == (1u).xxx);
bool4 unnamed_117 = ((2.0).xxxx == (1.0).xxxx);
bool unnamed_118 = (2 != 1);
bool unnamed_119 = (2u != 1u);
bool unnamed_120 = (2.0 != 1.0);
bool2 unnamed_121 = ((2).xx != (1).xx);
bool3 unnamed_122 = ((2u).xxx != (1u).xxx);
bool4 unnamed_123 = ((2.0).xxxx != (1.0).xxxx);
bool unnamed_124 = (2 < 1);
bool unnamed_125 = (2u < 1u);
bool unnamed_126 = (2.0 < 1.0);
bool2 unnamed_127 = ((2).xx < (1).xx);
bool3 unnamed_128 = ((2u).xxx < (1u).xxx);
bool4 unnamed_129 = ((2.0).xxxx < (1.0).xxxx);
bool unnamed_130 = (2 <= 1);
bool unnamed_131 = (2u <= 1u);
bool unnamed_132 = (2.0 <= 1.0);
bool2 unnamed_133 = ((2).xx <= (1).xx);
bool3 unnamed_134 = ((2u).xxx <= (1u).xxx);
bool4 unnamed_135 = ((2.0).xxxx <= (1.0).xxxx);
bool unnamed_136 = (2 > 1);
bool unnamed_137 = (2u > 1u);
bool unnamed_138 = (2.0 > 1.0);
bool2 unnamed_139 = ((2).xx > (1).xx);
bool3 unnamed_140 = ((2u).xxx > (1u).xxx);
bool4 unnamed_141 = ((2.0).xxxx > (1.0).xxxx);
bool unnamed_142 = (2 >= 1);
bool unnamed_143 = (2u >= 1u);
bool unnamed_144 = (2.0 >= 1.0);
bool2 unnamed_145 = ((2).xx >= (1).xx);
bool3 unnamed_146 = ((2u).xxx >= (1u).xxx);
bool4 unnamed_147 = ((2.0).xxxx >= (1.0).xxxx);
}
void assignment()

View File

@ -128,89 +128,109 @@ void arithmetic(
metal::float4 unnamed_50 = metal::fmod(metal::float4(2.0), metal::float4(1.0));
metal::int2 unnamed_51 = metal::int2(2) + metal::int2(1);
metal::int2 unnamed_52 = metal::int2(2) + metal::int2(1);
metal::int2 unnamed_53 = metal::int2(2) - metal::int2(1);
metal::int2 unnamed_54 = metal::int2(2) - metal::int2(1);
metal::int2 unnamed_55 = metal::int2(2) * 1;
metal::int2 unnamed_56 = 2 * metal::int2(1);
metal::int2 unnamed_57 = metal::int2(2) / metal::int2(1);
metal::int2 unnamed_58 = metal::int2(2) / metal::int2(1);
metal::int2 unnamed_59 = metal::int2(2) % metal::int2(1);
metal::int2 unnamed_60 = metal::int2(2) % metal::int2(1);
metal::float3x3 unnamed_61 = const_type_14_ + const_type_14_;
metal::float3x3 unnamed_62 = const_type_14_ - const_type_14_;
metal::float3x3 unnamed_63 = const_type_14_ * 1.0;
metal::float3x3 unnamed_64 = 2.0 * const_type_14_;
metal::float3 unnamed_65 = const_type_15_ * metal::float4(1.0);
metal::float4 unnamed_66 = metal::float3(2.0) * const_type_15_;
metal::float3x3 unnamed_67 = const_type_15_ * const_type_16_;
metal::uint2 unnamed_53 = metal::uint2(2u) + metal::uint2(1u);
metal::uint2 unnamed_54 = metal::uint2(2u) + metal::uint2(1u);
metal::float2 unnamed_55 = metal::float2(2.0) + metal::float2(1.0);
metal::float2 unnamed_56 = metal::float2(2.0) + metal::float2(1.0);
metal::int2 unnamed_57 = metal::int2(2) - metal::int2(1);
metal::int2 unnamed_58 = metal::int2(2) - metal::int2(1);
metal::uint2 unnamed_59 = metal::uint2(2u) - metal::uint2(1u);
metal::uint2 unnamed_60 = metal::uint2(2u) - metal::uint2(1u);
metal::float2 unnamed_61 = metal::float2(2.0) - metal::float2(1.0);
metal::float2 unnamed_62 = metal::float2(2.0) - metal::float2(1.0);
metal::int2 unnamed_63 = metal::int2(2) * 1;
metal::int2 unnamed_64 = 2 * metal::int2(1);
metal::uint2 unnamed_65 = metal::uint2(2u) * 1u;
metal::uint2 unnamed_66 = 2u * metal::uint2(1u);
metal::float2 unnamed_67 = metal::float2(2.0) * 1.0;
metal::float2 unnamed_68 = 2.0 * metal::float2(1.0);
metal::int2 unnamed_69 = metal::int2(2) / metal::int2(1);
metal::int2 unnamed_70 = metal::int2(2) / metal::int2(1);
metal::uint2 unnamed_71 = metal::uint2(2u) / metal::uint2(1u);
metal::uint2 unnamed_72 = metal::uint2(2u) / metal::uint2(1u);
metal::float2 unnamed_73 = metal::float2(2.0) / metal::float2(1.0);
metal::float2 unnamed_74 = metal::float2(2.0) / metal::float2(1.0);
metal::int2 unnamed_75 = metal::int2(2) % metal::int2(1);
metal::int2 unnamed_76 = metal::int2(2) % metal::int2(1);
metal::uint2 unnamed_77 = metal::uint2(2u) % metal::uint2(1u);
metal::uint2 unnamed_78 = metal::uint2(2u) % metal::uint2(1u);
metal::float2 unnamed_79 = metal::fmod(metal::float2(2.0), metal::float2(1.0));
metal::float2 unnamed_80 = metal::fmod(metal::float2(2.0), metal::float2(1.0));
metal::float3x3 unnamed_81 = const_type_14_ + const_type_14_;
metal::float3x3 unnamed_82 = const_type_14_ - const_type_14_;
metal::float3x3 unnamed_83 = const_type_14_ * 1.0;
metal::float3x3 unnamed_84 = 2.0 * const_type_14_;
metal::float3 unnamed_85 = const_type_15_ * metal::float4(1.0);
metal::float4 unnamed_86 = metal::float3(2.0) * const_type_15_;
metal::float3x3 unnamed_87 = const_type_15_ * const_type_16_;
}
void bit(
) {
int unnamed_68 = ~1;
uint unnamed_69 = ~1u;
metal::int2 unnamed_70 = ~metal::int2(1);
metal::uint3 unnamed_71 = ~metal::uint3(1u);
int unnamed_72 = 2 | 1;
uint unnamed_73 = 2u | 1u;
metal::int2 unnamed_74 = metal::int2(2) | metal::int2(1);
metal::uint3 unnamed_75 = metal::uint3(2u) | metal::uint3(1u);
int unnamed_76 = 2 & 1;
uint unnamed_77 = 2u & 1u;
metal::int2 unnamed_78 = metal::int2(2) & metal::int2(1);
metal::uint3 unnamed_79 = metal::uint3(2u) & metal::uint3(1u);
int unnamed_80 = 2 ^ 1;
uint unnamed_81 = 2u ^ 1u;
metal::int2 unnamed_82 = metal::int2(2) ^ metal::int2(1);
metal::uint3 unnamed_83 = metal::uint3(2u) ^ metal::uint3(1u);
int unnamed_84 = 2 << 1u;
uint unnamed_85 = 2u << 1u;
metal::int2 unnamed_86 = metal::int2(2) << metal::uint2(1u);
metal::uint3 unnamed_87 = metal::uint3(2u) << metal::uint3(1u);
int unnamed_88 = 2 >> 1u;
uint unnamed_89 = 2u >> 1u;
metal::int2 unnamed_90 = metal::int2(2) >> metal::uint2(1u);
metal::uint3 unnamed_91 = metal::uint3(2u) >> metal::uint3(1u);
int unnamed_88 = ~1;
uint unnamed_89 = ~1u;
metal::int2 unnamed_90 = ~metal::int2(1);
metal::uint3 unnamed_91 = ~metal::uint3(1u);
int unnamed_92 = 2 | 1;
uint unnamed_93 = 2u | 1u;
metal::int2 unnamed_94 = metal::int2(2) | metal::int2(1);
metal::uint3 unnamed_95 = metal::uint3(2u) | metal::uint3(1u);
int unnamed_96 = 2 & 1;
uint unnamed_97 = 2u & 1u;
metal::int2 unnamed_98 = metal::int2(2) & metal::int2(1);
metal::uint3 unnamed_99 = metal::uint3(2u) & metal::uint3(1u);
int unnamed_100 = 2 ^ 1;
uint unnamed_101 = 2u ^ 1u;
metal::int2 unnamed_102 = metal::int2(2) ^ metal::int2(1);
metal::uint3 unnamed_103 = metal::uint3(2u) ^ metal::uint3(1u);
int unnamed_104 = 2 << 1u;
uint unnamed_105 = 2u << 1u;
metal::int2 unnamed_106 = metal::int2(2) << metal::uint2(1u);
metal::uint3 unnamed_107 = metal::uint3(2u) << metal::uint3(1u);
int unnamed_108 = 2 >> 1u;
uint unnamed_109 = 2u >> 1u;
metal::int2 unnamed_110 = metal::int2(2) >> metal::uint2(1u);
metal::uint3 unnamed_111 = metal::uint3(2u) >> metal::uint3(1u);
}
void comparison(
) {
bool unnamed_92 = 2 == 1;
bool unnamed_93 = 2u == 1u;
bool unnamed_94 = 2.0 == 1.0;
metal::bool2 unnamed_95 = metal::int2(2) == metal::int2(1);
metal::bool3 unnamed_96 = metal::uint3(2u) == metal::uint3(1u);
metal::bool4 unnamed_97 = metal::float4(2.0) == metal::float4(1.0);
bool unnamed_98 = 2 != 1;
bool unnamed_99 = 2u != 1u;
bool unnamed_100 = 2.0 != 1.0;
metal::bool2 unnamed_101 = metal::int2(2) != metal::int2(1);
metal::bool3 unnamed_102 = metal::uint3(2u) != metal::uint3(1u);
metal::bool4 unnamed_103 = metal::float4(2.0) != metal::float4(1.0);
bool unnamed_104 = 2 < 1;
bool unnamed_105 = 2u < 1u;
bool unnamed_106 = 2.0 < 1.0;
metal::bool2 unnamed_107 = metal::int2(2) < metal::int2(1);
metal::bool3 unnamed_108 = metal::uint3(2u) < metal::uint3(1u);
metal::bool4 unnamed_109 = metal::float4(2.0) < metal::float4(1.0);
bool unnamed_110 = 2 <= 1;
bool unnamed_111 = 2u <= 1u;
bool unnamed_112 = 2.0 <= 1.0;
metal::bool2 unnamed_113 = metal::int2(2) <= metal::int2(1);
metal::bool3 unnamed_114 = metal::uint3(2u) <= metal::uint3(1u);
metal::bool4 unnamed_115 = metal::float4(2.0) <= metal::float4(1.0);
bool unnamed_116 = 2 > 1;
bool unnamed_117 = 2u > 1u;
bool unnamed_118 = 2.0 > 1.0;
metal::bool2 unnamed_119 = metal::int2(2) > metal::int2(1);
metal::bool3 unnamed_120 = metal::uint3(2u) > metal::uint3(1u);
metal::bool4 unnamed_121 = metal::float4(2.0) > metal::float4(1.0);
bool unnamed_122 = 2 >= 1;
bool unnamed_123 = 2u >= 1u;
bool unnamed_124 = 2.0 >= 1.0;
metal::bool2 unnamed_125 = metal::int2(2) >= metal::int2(1);
metal::bool3 unnamed_126 = metal::uint3(2u) >= metal::uint3(1u);
metal::bool4 unnamed_127 = metal::float4(2.0) >= metal::float4(1.0);
bool unnamed_112 = 2 == 1;
bool unnamed_113 = 2u == 1u;
bool unnamed_114 = 2.0 == 1.0;
metal::bool2 unnamed_115 = metal::int2(2) == metal::int2(1);
metal::bool3 unnamed_116 = metal::uint3(2u) == metal::uint3(1u);
metal::bool4 unnamed_117 = metal::float4(2.0) == metal::float4(1.0);
bool unnamed_118 = 2 != 1;
bool unnamed_119 = 2u != 1u;
bool unnamed_120 = 2.0 != 1.0;
metal::bool2 unnamed_121 = metal::int2(2) != metal::int2(1);
metal::bool3 unnamed_122 = metal::uint3(2u) != metal::uint3(1u);
metal::bool4 unnamed_123 = metal::float4(2.0) != metal::float4(1.0);
bool unnamed_124 = 2 < 1;
bool unnamed_125 = 2u < 1u;
bool unnamed_126 = 2.0 < 1.0;
metal::bool2 unnamed_127 = metal::int2(2) < metal::int2(1);
metal::bool3 unnamed_128 = metal::uint3(2u) < metal::uint3(1u);
metal::bool4 unnamed_129 = metal::float4(2.0) < metal::float4(1.0);
bool unnamed_130 = 2 <= 1;
bool unnamed_131 = 2u <= 1u;
bool unnamed_132 = 2.0 <= 1.0;
metal::bool2 unnamed_133 = metal::int2(2) <= metal::int2(1);
metal::bool3 unnamed_134 = metal::uint3(2u) <= metal::uint3(1u);
metal::bool4 unnamed_135 = metal::float4(2.0) <= metal::float4(1.0);
bool unnamed_136 = 2 > 1;
bool unnamed_137 = 2u > 1u;
bool unnamed_138 = 2.0 > 1.0;
metal::bool2 unnamed_139 = metal::int2(2) > metal::int2(1);
metal::bool3 unnamed_140 = metal::uint3(2u) > metal::uint3(1u);
metal::bool4 unnamed_141 = metal::float4(2.0) > metal::float4(1.0);
bool unnamed_142 = 2 >= 1;
bool unnamed_143 = 2u >= 1u;
bool unnamed_144 = 2.0 >= 1.0;
metal::bool2 unnamed_145 = metal::int2(2) >= metal::int2(1);
metal::bool3 unnamed_146 = metal::uint3(2u) >= metal::uint3(1u);
metal::bool4 unnamed_147 = metal::float4(2.0) >= metal::float4(1.0);
}
void assignment(

View File

@ -1,12 +1,12 @@
; SPIR-V
; Version: 1.1
; Generator: rspirv
; Bound: 461
; Bound: 519
OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint GLCompute %449 "main"
OpExecutionMode %449 LocalSize 1 1 1
OpEntryPoint GLCompute %507 "main"
OpExecutionMode %507 LocalSize 1 1 1
OpMemberDecorate %30 0 Offset 0
OpMemberDecorate %30 1 Offset 16
OpDecorate %35 ArrayStride 32
@ -272,247 +272,305 @@ OpBranch %170
%240 = OpCompositeConstruct %171 %7 %7
%241 = OpCompositeConstruct %171 %18 %18
%242 = OpIAdd %171 %241 %240
%243 = OpCompositeConstruct %171 %18 %18
%244 = OpCompositeConstruct %171 %7 %7
%245 = OpISub %171 %243 %244
%246 = OpCompositeConstruct %171 %7 %7
%247 = OpCompositeConstruct %171 %18 %18
%248 = OpISub %171 %247 %246
%249 = OpCompositeConstruct %171 %18 %18
%251 = OpCompositeConstruct %171 %7 %7
%250 = OpIMul %171 %249 %251
%252 = OpCompositeConstruct %171 %7 %7
%254 = OpCompositeConstruct %171 %18 %18
%253 = OpIMul %171 %252 %254
%243 = OpCompositeConstruct %34 %24 %24
%244 = OpCompositeConstruct %34 %25 %25
%245 = OpIAdd %34 %243 %244
%246 = OpCompositeConstruct %34 %25 %25
%247 = OpCompositeConstruct %34 %24 %24
%248 = OpIAdd %34 %247 %246
%249 = OpCompositeConstruct %31 %14 %14
%250 = OpCompositeConstruct %31 %3 %3
%251 = OpFAdd %31 %249 %250
%252 = OpCompositeConstruct %31 %3 %3
%253 = OpCompositeConstruct %31 %14 %14
%254 = OpFAdd %31 %253 %252
%255 = OpCompositeConstruct %171 %18 %18
%256 = OpCompositeConstruct %171 %7 %7
%257 = OpSDiv %171 %255 %256
%257 = OpISub %171 %255 %256
%258 = OpCompositeConstruct %171 %7 %7
%259 = OpCompositeConstruct %171 %18 %18
%260 = OpSDiv %171 %259 %258
%261 = OpCompositeConstruct %171 %18 %18
%262 = OpCompositeConstruct %171 %7 %7
%263 = OpSMod %171 %261 %262
%264 = OpCompositeConstruct %171 %7 %7
%265 = OpCompositeConstruct %171 %18 %18
%266 = OpSMod %171 %265 %264
%268 = OpCompositeExtract %29 %51 0
%269 = OpCompositeExtract %29 %51 0
%270 = OpFAdd %29 %268 %269
%271 = OpCompositeExtract %29 %51 1
%272 = OpCompositeExtract %29 %51 1
%273 = OpFAdd %29 %271 %272
%274 = OpCompositeExtract %29 %51 2
%275 = OpCompositeExtract %29 %51 2
%276 = OpFAdd %29 %274 %275
%267 = OpCompositeConstruct %37 %270 %273 %276
%278 = OpCompositeExtract %29 %51 0
%279 = OpCompositeExtract %29 %51 0
%280 = OpFSub %29 %278 %279
%281 = OpCompositeExtract %29 %51 1
%282 = OpCompositeExtract %29 %51 1
%283 = OpFSub %29 %281 %282
%284 = OpCompositeExtract %29 %51 2
%285 = OpCompositeExtract %29 %51 2
%286 = OpFSub %29 %284 %285
%277 = OpCompositeConstruct %37 %280 %283 %286
%287 = OpMatrixTimesScalar %37 %51 %3
%288 = OpMatrixTimesScalar %37 %51 %14
%289 = OpCompositeConstruct %26 %3 %3 %3 %3
%290 = OpMatrixTimesVector %29 %52 %289
%291 = OpCompositeConstruct %29 %14 %14 %14
%292 = OpVectorTimesMatrix %26 %291 %52
%293 = OpMatrixTimesMatrix %37 %52 %53
%260 = OpISub %171 %259 %258
%261 = OpCompositeConstruct %34 %24 %24
%262 = OpCompositeConstruct %34 %25 %25
%263 = OpISub %34 %261 %262
%264 = OpCompositeConstruct %34 %25 %25
%265 = OpCompositeConstruct %34 %24 %24
%266 = OpISub %34 %265 %264
%267 = OpCompositeConstruct %31 %14 %14
%268 = OpCompositeConstruct %31 %3 %3
%269 = OpFSub %31 %267 %268
%270 = OpCompositeConstruct %31 %3 %3
%271 = OpCompositeConstruct %31 %14 %14
%272 = OpFSub %31 %271 %270
%273 = OpCompositeConstruct %171 %18 %18
%275 = OpCompositeConstruct %171 %7 %7
%274 = OpIMul %171 %273 %275
%276 = OpCompositeConstruct %171 %7 %7
%278 = OpCompositeConstruct %171 %18 %18
%277 = OpIMul %171 %276 %278
%279 = OpCompositeConstruct %34 %24 %24
%281 = OpCompositeConstruct %34 %25 %25
%280 = OpIMul %34 %279 %281
%282 = OpCompositeConstruct %34 %25 %25
%284 = OpCompositeConstruct %34 %24 %24
%283 = OpIMul %34 %282 %284
%285 = OpCompositeConstruct %31 %14 %14
%286 = OpVectorTimesScalar %31 %285 %3
%287 = OpCompositeConstruct %31 %3 %3
%288 = OpVectorTimesScalar %31 %287 %14
%289 = OpCompositeConstruct %171 %18 %18
%290 = OpCompositeConstruct %171 %7 %7
%291 = OpSDiv %171 %289 %290
%292 = OpCompositeConstruct %171 %7 %7
%293 = OpCompositeConstruct %171 %18 %18
%294 = OpSDiv %171 %293 %292
%295 = OpCompositeConstruct %34 %24 %24
%296 = OpCompositeConstruct %34 %25 %25
%297 = OpUDiv %34 %295 %296
%298 = OpCompositeConstruct %34 %25 %25
%299 = OpCompositeConstruct %34 %24 %24
%300 = OpUDiv %34 %299 %298
%301 = OpCompositeConstruct %31 %14 %14
%302 = OpCompositeConstruct %31 %3 %3
%303 = OpFDiv %31 %301 %302
%304 = OpCompositeConstruct %31 %3 %3
%305 = OpCompositeConstruct %31 %14 %14
%306 = OpFDiv %31 %305 %304
%307 = OpCompositeConstruct %171 %18 %18
%308 = OpCompositeConstruct %171 %7 %7
%309 = OpSMod %171 %307 %308
%310 = OpCompositeConstruct %171 %7 %7
%311 = OpCompositeConstruct %171 %18 %18
%312 = OpSMod %171 %311 %310
%313 = OpCompositeConstruct %34 %24 %24
%314 = OpCompositeConstruct %34 %25 %25
%315 = OpUMod %34 %313 %314
%316 = OpCompositeConstruct %34 %25 %25
%317 = OpCompositeConstruct %34 %24 %24
%318 = OpUMod %34 %317 %316
%319 = OpCompositeConstruct %31 %14 %14
%320 = OpCompositeConstruct %31 %3 %3
%321 = OpFRem %31 %319 %320
%322 = OpCompositeConstruct %31 %3 %3
%323 = OpCompositeConstruct %31 %14 %14
%324 = OpFRem %31 %323 %322
%326 = OpCompositeExtract %29 %51 0
%327 = OpCompositeExtract %29 %51 0
%328 = OpFAdd %29 %326 %327
%329 = OpCompositeExtract %29 %51 1
%330 = OpCompositeExtract %29 %51 1
%331 = OpFAdd %29 %329 %330
%332 = OpCompositeExtract %29 %51 2
%333 = OpCompositeExtract %29 %51 2
%334 = OpFAdd %29 %332 %333
%325 = OpCompositeConstruct %37 %328 %331 %334
%336 = OpCompositeExtract %29 %51 0
%337 = OpCompositeExtract %29 %51 0
%338 = OpFSub %29 %336 %337
%339 = OpCompositeExtract %29 %51 1
%340 = OpCompositeExtract %29 %51 1
%341 = OpFSub %29 %339 %340
%342 = OpCompositeExtract %29 %51 2
%343 = OpCompositeExtract %29 %51 2
%344 = OpFSub %29 %342 %343
%335 = OpCompositeConstruct %37 %338 %341 %344
%345 = OpMatrixTimesScalar %37 %51 %3
%346 = OpMatrixTimesScalar %37 %51 %14
%347 = OpCompositeConstruct %26 %3 %3 %3 %3
%348 = OpMatrixTimesVector %29 %52 %347
%349 = OpCompositeConstruct %29 %14 %14 %14
%350 = OpVectorTimesMatrix %26 %349 %52
%351 = OpMatrixTimesMatrix %37 %52 %53
OpReturn
OpFunctionEnd
%295 = OpFunction %2 None %152
%294 = OpLabel
OpBranch %296
%296 = OpLabel
%297 = OpNot %8 %7
%298 = OpNot %20 %25
%299 = OpCompositeConstruct %171 %7 %7
%300 = OpNot %171 %299
%301 = OpCompositeConstruct %182 %25 %25 %25
%302 = OpNot %182 %301
%303 = OpBitwiseOr %8 %18 %7
%304 = OpBitwiseOr %20 %24 %25
%305 = OpCompositeConstruct %171 %18 %18
%306 = OpCompositeConstruct %171 %7 %7
%307 = OpBitwiseOr %171 %305 %306
%308 = OpCompositeConstruct %182 %24 %24 %24
%309 = OpCompositeConstruct %182 %25 %25 %25
%310 = OpBitwiseOr %182 %308 %309
%311 = OpBitwiseAnd %8 %18 %7
%312 = OpBitwiseAnd %20 %24 %25
%313 = OpCompositeConstruct %171 %18 %18
%314 = OpCompositeConstruct %171 %7 %7
%315 = OpBitwiseAnd %171 %313 %314
%316 = OpCompositeConstruct %182 %24 %24 %24
%317 = OpCompositeConstruct %182 %25 %25 %25
%318 = OpBitwiseAnd %182 %316 %317
%319 = OpBitwiseXor %8 %18 %7
%320 = OpBitwiseXor %20 %24 %25
%321 = OpCompositeConstruct %171 %18 %18
%322 = OpCompositeConstruct %171 %7 %7
%323 = OpBitwiseXor %171 %321 %322
%324 = OpCompositeConstruct %182 %24 %24 %24
%325 = OpCompositeConstruct %182 %25 %25 %25
%326 = OpBitwiseXor %182 %324 %325
%327 = OpShiftLeftLogical %8 %18 %25
%328 = OpShiftLeftLogical %20 %24 %25
%329 = OpCompositeConstruct %171 %18 %18
%330 = OpCompositeConstruct %34 %25 %25
%331 = OpShiftLeftLogical %171 %329 %330
%332 = OpCompositeConstruct %182 %24 %24 %24
%333 = OpCompositeConstruct %182 %25 %25 %25
%334 = OpShiftLeftLogical %182 %332 %333
%335 = OpShiftRightArithmetic %8 %18 %25
%336 = OpShiftRightLogical %20 %24 %25
%337 = OpCompositeConstruct %171 %18 %18
%338 = OpCompositeConstruct %34 %25 %25
%339 = OpShiftRightArithmetic %171 %337 %338
%340 = OpCompositeConstruct %182 %24 %24 %24
%341 = OpCompositeConstruct %182 %25 %25 %25
%342 = OpShiftRightLogical %182 %340 %341
%353 = OpFunction %2 None %152
%352 = OpLabel
OpBranch %354
%354 = OpLabel
%355 = OpNot %8 %7
%356 = OpNot %20 %25
%357 = OpCompositeConstruct %171 %7 %7
%358 = OpNot %171 %357
%359 = OpCompositeConstruct %182 %25 %25 %25
%360 = OpNot %182 %359
%361 = OpBitwiseOr %8 %18 %7
%362 = OpBitwiseOr %20 %24 %25
%363 = OpCompositeConstruct %171 %18 %18
%364 = OpCompositeConstruct %171 %7 %7
%365 = OpBitwiseOr %171 %363 %364
%366 = OpCompositeConstruct %182 %24 %24 %24
%367 = OpCompositeConstruct %182 %25 %25 %25
%368 = OpBitwiseOr %182 %366 %367
%369 = OpBitwiseAnd %8 %18 %7
%370 = OpBitwiseAnd %20 %24 %25
%371 = OpCompositeConstruct %171 %18 %18
%372 = OpCompositeConstruct %171 %7 %7
%373 = OpBitwiseAnd %171 %371 %372
%374 = OpCompositeConstruct %182 %24 %24 %24
%375 = OpCompositeConstruct %182 %25 %25 %25
%376 = OpBitwiseAnd %182 %374 %375
%377 = OpBitwiseXor %8 %18 %7
%378 = OpBitwiseXor %20 %24 %25
%379 = OpCompositeConstruct %171 %18 %18
%380 = OpCompositeConstruct %171 %7 %7
%381 = OpBitwiseXor %171 %379 %380
%382 = OpCompositeConstruct %182 %24 %24 %24
%383 = OpCompositeConstruct %182 %25 %25 %25
%384 = OpBitwiseXor %182 %382 %383
%385 = OpShiftLeftLogical %8 %18 %25
%386 = OpShiftLeftLogical %20 %24 %25
%387 = OpCompositeConstruct %171 %18 %18
%388 = OpCompositeConstruct %34 %25 %25
%389 = OpShiftLeftLogical %171 %387 %388
%390 = OpCompositeConstruct %182 %24 %24 %24
%391 = OpCompositeConstruct %182 %25 %25 %25
%392 = OpShiftLeftLogical %182 %390 %391
%393 = OpShiftRightArithmetic %8 %18 %25
%394 = OpShiftRightLogical %20 %24 %25
%395 = OpCompositeConstruct %171 %18 %18
%396 = OpCompositeConstruct %34 %25 %25
%397 = OpShiftRightArithmetic %171 %395 %396
%398 = OpCompositeConstruct %182 %24 %24 %24
%399 = OpCompositeConstruct %182 %25 %25 %25
%400 = OpShiftRightLogical %182 %398 %399
OpReturn
OpFunctionEnd
%344 = OpFunction %2 None %152
%343 = OpLabel
OpBranch %345
%345 = OpLabel
%346 = OpIEqual %10 %18 %7
%347 = OpIEqual %10 %24 %25
%348 = OpFOrdEqual %10 %14 %3
%349 = OpCompositeConstruct %171 %18 %18
%350 = OpCompositeConstruct %171 %7 %7
%351 = OpIEqual %155 %349 %350
%352 = OpCompositeConstruct %182 %24 %24 %24
%353 = OpCompositeConstruct %182 %25 %25 %25
%354 = OpIEqual %100 %352 %353
%355 = OpCompositeConstruct %26 %14 %14 %14 %14
%356 = OpCompositeConstruct %26 %3 %3 %3 %3
%357 = OpFOrdEqual %28 %355 %356
%358 = OpINotEqual %10 %18 %7
%359 = OpINotEqual %10 %24 %25
%360 = OpFOrdNotEqual %10 %14 %3
%361 = OpCompositeConstruct %171 %18 %18
%362 = OpCompositeConstruct %171 %7 %7
%363 = OpINotEqual %155 %361 %362
%364 = OpCompositeConstruct %182 %24 %24 %24
%365 = OpCompositeConstruct %182 %25 %25 %25
%366 = OpINotEqual %100 %364 %365
%367 = OpCompositeConstruct %26 %14 %14 %14 %14
%368 = OpCompositeConstruct %26 %3 %3 %3 %3
%369 = OpFOrdNotEqual %28 %367 %368
%370 = OpSLessThan %10 %18 %7
%371 = OpULessThan %10 %24 %25
%372 = OpFOrdLessThan %10 %14 %3
%373 = OpCompositeConstruct %171 %18 %18
%374 = OpCompositeConstruct %171 %7 %7
%375 = OpSLessThan %155 %373 %374
%376 = OpCompositeConstruct %182 %24 %24 %24
%377 = OpCompositeConstruct %182 %25 %25 %25
%378 = OpULessThan %100 %376 %377
%379 = OpCompositeConstruct %26 %14 %14 %14 %14
%380 = OpCompositeConstruct %26 %3 %3 %3 %3
%381 = OpFOrdLessThan %28 %379 %380
%382 = OpSLessThanEqual %10 %18 %7
%383 = OpULessThanEqual %10 %24 %25
%384 = OpFOrdLessThanEqual %10 %14 %3
%385 = OpCompositeConstruct %171 %18 %18
%386 = OpCompositeConstruct %171 %7 %7
%387 = OpSLessThanEqual %155 %385 %386
%388 = OpCompositeConstruct %182 %24 %24 %24
%389 = OpCompositeConstruct %182 %25 %25 %25
%390 = OpULessThanEqual %100 %388 %389
%391 = OpCompositeConstruct %26 %14 %14 %14 %14
%392 = OpCompositeConstruct %26 %3 %3 %3 %3
%393 = OpFOrdLessThanEqual %28 %391 %392
%394 = OpSGreaterThan %10 %18 %7
%395 = OpUGreaterThan %10 %24 %25
%396 = OpFOrdGreaterThan %10 %14 %3
%397 = OpCompositeConstruct %171 %18 %18
%398 = OpCompositeConstruct %171 %7 %7
%399 = OpSGreaterThan %155 %397 %398
%400 = OpCompositeConstruct %182 %24 %24 %24
%401 = OpCompositeConstruct %182 %25 %25 %25
%402 = OpUGreaterThan %100 %400 %401
%403 = OpCompositeConstruct %26 %14 %14 %14 %14
%404 = OpCompositeConstruct %26 %3 %3 %3 %3
%405 = OpFOrdGreaterThan %28 %403 %404
%406 = OpSGreaterThanEqual %10 %18 %7
%407 = OpUGreaterThanEqual %10 %24 %25
%408 = OpFOrdGreaterThanEqual %10 %14 %3
%409 = OpCompositeConstruct %171 %18 %18
%410 = OpCompositeConstruct %171 %7 %7
%411 = OpSGreaterThanEqual %155 %409 %410
%412 = OpCompositeConstruct %182 %24 %24 %24
%413 = OpCompositeConstruct %182 %25 %25 %25
%414 = OpUGreaterThanEqual %100 %412 %413
%415 = OpCompositeConstruct %26 %14 %14 %14 %14
%416 = OpCompositeConstruct %26 %3 %3 %3 %3
%417 = OpFOrdGreaterThanEqual %28 %415 %416
%402 = OpFunction %2 None %152
%401 = OpLabel
OpBranch %403
%403 = OpLabel
%404 = OpIEqual %10 %18 %7
%405 = OpIEqual %10 %24 %25
%406 = OpFOrdEqual %10 %14 %3
%407 = OpCompositeConstruct %171 %18 %18
%408 = OpCompositeConstruct %171 %7 %7
%409 = OpIEqual %155 %407 %408
%410 = OpCompositeConstruct %182 %24 %24 %24
%411 = OpCompositeConstruct %182 %25 %25 %25
%412 = OpIEqual %100 %410 %411
%413 = OpCompositeConstruct %26 %14 %14 %14 %14
%414 = OpCompositeConstruct %26 %3 %3 %3 %3
%415 = OpFOrdEqual %28 %413 %414
%416 = OpINotEqual %10 %18 %7
%417 = OpINotEqual %10 %24 %25
%418 = OpFOrdNotEqual %10 %14 %3
%419 = OpCompositeConstruct %171 %18 %18
%420 = OpCompositeConstruct %171 %7 %7
%421 = OpINotEqual %155 %419 %420
%422 = OpCompositeConstruct %182 %24 %24 %24
%423 = OpCompositeConstruct %182 %25 %25 %25
%424 = OpINotEqual %100 %422 %423
%425 = OpCompositeConstruct %26 %14 %14 %14 %14
%426 = OpCompositeConstruct %26 %3 %3 %3 %3
%427 = OpFOrdNotEqual %28 %425 %426
%428 = OpSLessThan %10 %18 %7
%429 = OpULessThan %10 %24 %25
%430 = OpFOrdLessThan %10 %14 %3
%431 = OpCompositeConstruct %171 %18 %18
%432 = OpCompositeConstruct %171 %7 %7
%433 = OpSLessThan %155 %431 %432
%434 = OpCompositeConstruct %182 %24 %24 %24
%435 = OpCompositeConstruct %182 %25 %25 %25
%436 = OpULessThan %100 %434 %435
%437 = OpCompositeConstruct %26 %14 %14 %14 %14
%438 = OpCompositeConstruct %26 %3 %3 %3 %3
%439 = OpFOrdLessThan %28 %437 %438
%440 = OpSLessThanEqual %10 %18 %7
%441 = OpULessThanEqual %10 %24 %25
%442 = OpFOrdLessThanEqual %10 %14 %3
%443 = OpCompositeConstruct %171 %18 %18
%444 = OpCompositeConstruct %171 %7 %7
%445 = OpSLessThanEqual %155 %443 %444
%446 = OpCompositeConstruct %182 %24 %24 %24
%447 = OpCompositeConstruct %182 %25 %25 %25
%448 = OpULessThanEqual %100 %446 %447
%449 = OpCompositeConstruct %26 %14 %14 %14 %14
%450 = OpCompositeConstruct %26 %3 %3 %3 %3
%451 = OpFOrdLessThanEqual %28 %449 %450
%452 = OpSGreaterThan %10 %18 %7
%453 = OpUGreaterThan %10 %24 %25
%454 = OpFOrdGreaterThan %10 %14 %3
%455 = OpCompositeConstruct %171 %18 %18
%456 = OpCompositeConstruct %171 %7 %7
%457 = OpSGreaterThan %155 %455 %456
%458 = OpCompositeConstruct %182 %24 %24 %24
%459 = OpCompositeConstruct %182 %25 %25 %25
%460 = OpUGreaterThan %100 %458 %459
%461 = OpCompositeConstruct %26 %14 %14 %14 %14
%462 = OpCompositeConstruct %26 %3 %3 %3 %3
%463 = OpFOrdGreaterThan %28 %461 %462
%464 = OpSGreaterThanEqual %10 %18 %7
%465 = OpUGreaterThanEqual %10 %24 %25
%466 = OpFOrdGreaterThanEqual %10 %14 %3
%467 = OpCompositeConstruct %171 %18 %18
%468 = OpCompositeConstruct %171 %7 %7
%469 = OpSGreaterThanEqual %155 %467 %468
%470 = OpCompositeConstruct %182 %24 %24 %24
%471 = OpCompositeConstruct %182 %25 %25 %25
%472 = OpUGreaterThanEqual %100 %470 %471
%473 = OpCompositeConstruct %26 %14 %14 %14 %14
%474 = OpCompositeConstruct %26 %3 %3 %3 %3
%475 = OpFOrdGreaterThanEqual %28 %473 %474
OpReturn
OpFunctionEnd
%420 = OpFunction %2 None %152
%419 = OpLabel
%418 = OpVariable %111 Function %7
OpBranch %421
%421 = OpLabel
%422 = OpLoad %8 %418
%423 = OpIAdd %8 %422 %7
OpStore %418 %423
%424 = OpLoad %8 %418
%425 = OpISub %8 %424 %7
OpStore %418 %425
%426 = OpLoad %8 %418
%427 = OpLoad %8 %418
%428 = OpIMul %8 %426 %427
OpStore %418 %428
%429 = OpLoad %8 %418
%430 = OpLoad %8 %418
%431 = OpSDiv %8 %429 %430
OpStore %418 %431
%432 = OpLoad %8 %418
%433 = OpSMod %8 %432 %7
OpStore %418 %433
%434 = OpLoad %8 %418
%435 = OpBitwiseAnd %8 %434 %11
OpStore %418 %435
%436 = OpLoad %8 %418
%437 = OpBitwiseOr %8 %436 %11
OpStore %418 %437
%438 = OpLoad %8 %418
%439 = OpBitwiseXor %8 %438 %11
OpStore %418 %439
%440 = OpLoad %8 %418
%441 = OpShiftLeftLogical %8 %440 %24
OpStore %418 %441
%442 = OpLoad %8 %418
%443 = OpShiftRightArithmetic %8 %442 %25
OpStore %418 %443
%444 = OpLoad %8 %418
%445 = OpIAdd %8 %444 %7
OpStore %418 %445
%446 = OpLoad %8 %418
%447 = OpISub %8 %446 %7
OpStore %418 %447
%478 = OpFunction %2 None %152
%477 = OpLabel
%476 = OpVariable %111 Function %7
OpBranch %479
%479 = OpLabel
%480 = OpLoad %8 %476
%481 = OpIAdd %8 %480 %7
OpStore %476 %481
%482 = OpLoad %8 %476
%483 = OpISub %8 %482 %7
OpStore %476 %483
%484 = OpLoad %8 %476
%485 = OpLoad %8 %476
%486 = OpIMul %8 %484 %485
OpStore %476 %486
%487 = OpLoad %8 %476
%488 = OpLoad %8 %476
%489 = OpSDiv %8 %487 %488
OpStore %476 %489
%490 = OpLoad %8 %476
%491 = OpSMod %8 %490 %7
OpStore %476 %491
%492 = OpLoad %8 %476
%493 = OpBitwiseAnd %8 %492 %11
OpStore %476 %493
%494 = OpLoad %8 %476
%495 = OpBitwiseOr %8 %494 %11
OpStore %476 %495
%496 = OpLoad %8 %476
%497 = OpBitwiseXor %8 %496 %11
OpStore %476 %497
%498 = OpLoad %8 %476
%499 = OpShiftLeftLogical %8 %498 %24
OpStore %476 %499
%500 = OpLoad %8 %476
%501 = OpShiftRightArithmetic %8 %500 %25
OpStore %476 %501
%502 = OpLoad %8 %476
%503 = OpIAdd %8 %502 %7
OpStore %476 %503
%504 = OpLoad %8 %476
%505 = OpISub %8 %504 %7
OpStore %476 %505
OpReturn
OpFunctionEnd
%449 = OpFunction %2 None %152
%448 = OpLabel
OpBranch %450
%450 = OpLabel
%451 = OpFunctionCall %26 %55
%452 = OpFunctionCall %26 %80
%453 = OpVectorShuffle %29 %40 %40 0 1 2
%454 = OpFunctionCall %29 %97 %453
%455 = OpFunctionCall %4 %128
%456 = OpFunctionCall %2 %151
%457 = OpFunctionCall %2 %169
%458 = OpFunctionCall %2 %295
%459 = OpFunctionCall %2 %344
%460 = OpFunctionCall %2 %420
%507 = OpFunction %2 None %152
%506 = OpLabel
OpBranch %508
%508 = OpLabel
%509 = OpFunctionCall %26 %55
%510 = OpFunctionCall %26 %80
%511 = OpVectorShuffle %29 %40 %40 0 1 2
%512 = OpFunctionCall %29 %97 %511
%513 = OpFunctionCall %4 %128
%514 = OpFunctionCall %2 %151
%515 = OpFunctionCall %2 %169
%516 = OpFunctionCall %2 %353
%517 = OpFunctionCall %2 %402
%518 = OpFunctionCall %2 %478
OpReturn
OpFunctionEnd

View File

@ -100,87 +100,107 @@ fn arithmetic() {
let unnamed_50 = (vec4<f32>(2.0) % vec4<f32>(1.0));
let unnamed_51 = (vec2<i32>(2) + vec2<i32>(1));
let unnamed_52 = (vec2<i32>(2) + vec2<i32>(1));
let unnamed_53 = (vec2<i32>(2) - vec2<i32>(1));
let unnamed_54 = (vec2<i32>(2) - vec2<i32>(1));
let unnamed_55 = (vec2<i32>(2) * 1);
let unnamed_56 = (2 * vec2<i32>(1));
let unnamed_57 = (vec2<i32>(2) / vec2<i32>(1));
let unnamed_58 = (vec2<i32>(2) / vec2<i32>(1));
let unnamed_59 = (vec2<i32>(2) % vec2<i32>(1));
let unnamed_60 = (vec2<i32>(2) % vec2<i32>(1));
let unnamed_61 = (mat3x3<f32>(vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0)) + mat3x3<f32>(vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0)));
let unnamed_62 = (mat3x3<f32>(vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0)) - mat3x3<f32>(vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0)));
let unnamed_63 = (mat3x3<f32>(vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0)) * 1.0);
let unnamed_64 = (2.0 * mat3x3<f32>(vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0)));
let unnamed_65 = (mat4x3<f32>(vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0)) * vec4<f32>(1.0));
let unnamed_66 = (vec3<f32>(2.0) * mat4x3<f32>(vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0)));
let unnamed_67 = (mat4x3<f32>(vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0)) * mat3x4<f32>(vec4<f32>(0.0, 0.0, 0.0, 0.0), vec4<f32>(0.0, 0.0, 0.0, 0.0), vec4<f32>(0.0, 0.0, 0.0, 0.0)));
let unnamed_53 = (vec2<u32>(2u) + vec2<u32>(1u));
let unnamed_54 = (vec2<u32>(2u) + vec2<u32>(1u));
let unnamed_55 = (vec2<f32>(2.0) + vec2<f32>(1.0));
let unnamed_56 = (vec2<f32>(2.0) + vec2<f32>(1.0));
let unnamed_57 = (vec2<i32>(2) - vec2<i32>(1));
let unnamed_58 = (vec2<i32>(2) - vec2<i32>(1));
let unnamed_59 = (vec2<u32>(2u) - vec2<u32>(1u));
let unnamed_60 = (vec2<u32>(2u) - vec2<u32>(1u));
let unnamed_61 = (vec2<f32>(2.0) - vec2<f32>(1.0));
let unnamed_62 = (vec2<f32>(2.0) - vec2<f32>(1.0));
let unnamed_63 = (vec2<i32>(2) * 1);
let unnamed_64 = (2 * vec2<i32>(1));
let unnamed_65 = (vec2<u32>(2u) * 1u);
let unnamed_66 = (2u * vec2<u32>(1u));
let unnamed_67 = (vec2<f32>(2.0) * 1.0);
let unnamed_68 = (2.0 * vec2<f32>(1.0));
let unnamed_69 = (vec2<i32>(2) / vec2<i32>(1));
let unnamed_70 = (vec2<i32>(2) / vec2<i32>(1));
let unnamed_71 = (vec2<u32>(2u) / vec2<u32>(1u));
let unnamed_72 = (vec2<u32>(2u) / vec2<u32>(1u));
let unnamed_73 = (vec2<f32>(2.0) / vec2<f32>(1.0));
let unnamed_74 = (vec2<f32>(2.0) / vec2<f32>(1.0));
let unnamed_75 = (vec2<i32>(2) % vec2<i32>(1));
let unnamed_76 = (vec2<i32>(2) % vec2<i32>(1));
let unnamed_77 = (vec2<u32>(2u) % vec2<u32>(1u));
let unnamed_78 = (vec2<u32>(2u) % vec2<u32>(1u));
let unnamed_79 = (vec2<f32>(2.0) % vec2<f32>(1.0));
let unnamed_80 = (vec2<f32>(2.0) % vec2<f32>(1.0));
let unnamed_81 = (mat3x3<f32>(vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0)) + mat3x3<f32>(vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0)));
let unnamed_82 = (mat3x3<f32>(vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0)) - mat3x3<f32>(vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0)));
let unnamed_83 = (mat3x3<f32>(vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0)) * 1.0);
let unnamed_84 = (2.0 * mat3x3<f32>(vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0)));
let unnamed_85 = (mat4x3<f32>(vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0)) * vec4<f32>(1.0));
let unnamed_86 = (vec3<f32>(2.0) * mat4x3<f32>(vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0)));
let unnamed_87 = (mat4x3<f32>(vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(0.0, 0.0, 0.0)) * mat3x4<f32>(vec4<f32>(0.0, 0.0, 0.0, 0.0), vec4<f32>(0.0, 0.0, 0.0, 0.0), vec4<f32>(0.0, 0.0, 0.0, 0.0)));
}
fn bit() {
let unnamed_68 = ~(1);
let unnamed_69 = ~(1u);
let unnamed_70 = !(vec2<i32>(1));
let unnamed_71 = !(vec3<u32>(1u));
let unnamed_72 = (2 | 1);
let unnamed_73 = (2u | 1u);
let unnamed_74 = (vec2<i32>(2) | vec2<i32>(1));
let unnamed_75 = (vec3<u32>(2u) | vec3<u32>(1u));
let unnamed_76 = (2 & 1);
let unnamed_77 = (2u & 1u);
let unnamed_78 = (vec2<i32>(2) & vec2<i32>(1));
let unnamed_79 = (vec3<u32>(2u) & vec3<u32>(1u));
let unnamed_80 = (2 ^ 1);
let unnamed_81 = (2u ^ 1u);
let unnamed_82 = (vec2<i32>(2) ^ vec2<i32>(1));
let unnamed_83 = (vec3<u32>(2u) ^ vec3<u32>(1u));
let unnamed_84 = (2 << 1u);
let unnamed_85 = (2u << 1u);
let unnamed_86 = (vec2<i32>(2) << vec2<u32>(1u));
let unnamed_87 = (vec3<u32>(2u) << vec3<u32>(1u));
let unnamed_88 = (2 >> 1u);
let unnamed_89 = (2u >> 1u);
let unnamed_90 = (vec2<i32>(2) >> vec2<u32>(1u));
let unnamed_91 = (vec3<u32>(2u) >> vec3<u32>(1u));
let unnamed_88 = ~(1);
let unnamed_89 = ~(1u);
let unnamed_90 = !(vec2<i32>(1));
let unnamed_91 = !(vec3<u32>(1u));
let unnamed_92 = (2 | 1);
let unnamed_93 = (2u | 1u);
let unnamed_94 = (vec2<i32>(2) | vec2<i32>(1));
let unnamed_95 = (vec3<u32>(2u) | vec3<u32>(1u));
let unnamed_96 = (2 & 1);
let unnamed_97 = (2u & 1u);
let unnamed_98 = (vec2<i32>(2) & vec2<i32>(1));
let unnamed_99 = (vec3<u32>(2u) & vec3<u32>(1u));
let unnamed_100 = (2 ^ 1);
let unnamed_101 = (2u ^ 1u);
let unnamed_102 = (vec2<i32>(2) ^ vec2<i32>(1));
let unnamed_103 = (vec3<u32>(2u) ^ vec3<u32>(1u));
let unnamed_104 = (2 << 1u);
let unnamed_105 = (2u << 1u);
let unnamed_106 = (vec2<i32>(2) << vec2<u32>(1u));
let unnamed_107 = (vec3<u32>(2u) << vec3<u32>(1u));
let unnamed_108 = (2 >> 1u);
let unnamed_109 = (2u >> 1u);
let unnamed_110 = (vec2<i32>(2) >> vec2<u32>(1u));
let unnamed_111 = (vec3<u32>(2u) >> vec3<u32>(1u));
}
fn comparison() {
let unnamed_92 = (2 == 1);
let unnamed_93 = (2u == 1u);
let unnamed_94 = (2.0 == 1.0);
let unnamed_95 = (vec2<i32>(2) == vec2<i32>(1));
let unnamed_96 = (vec3<u32>(2u) == vec3<u32>(1u));
let unnamed_97 = (vec4<f32>(2.0) == vec4<f32>(1.0));
let unnamed_98 = (2 != 1);
let unnamed_99 = (2u != 1u);
let unnamed_100 = (2.0 != 1.0);
let unnamed_101 = (vec2<i32>(2) != vec2<i32>(1));
let unnamed_102 = (vec3<u32>(2u) != vec3<u32>(1u));
let unnamed_103 = (vec4<f32>(2.0) != vec4<f32>(1.0));
let unnamed_104 = (2 < 1);
let unnamed_105 = (2u < 1u);
let unnamed_106 = (2.0 < 1.0);
let unnamed_107 = (vec2<i32>(2) < vec2<i32>(1));
let unnamed_108 = (vec3<u32>(2u) < vec3<u32>(1u));
let unnamed_109 = (vec4<f32>(2.0) < vec4<f32>(1.0));
let unnamed_110 = (2 <= 1);
let unnamed_111 = (2u <= 1u);
let unnamed_112 = (2.0 <= 1.0);
let unnamed_113 = (vec2<i32>(2) <= vec2<i32>(1));
let unnamed_114 = (vec3<u32>(2u) <= vec3<u32>(1u));
let unnamed_115 = (vec4<f32>(2.0) <= vec4<f32>(1.0));
let unnamed_116 = (2 > 1);
let unnamed_117 = (2u > 1u);
let unnamed_118 = (2.0 > 1.0);
let unnamed_119 = (vec2<i32>(2) > vec2<i32>(1));
let unnamed_120 = (vec3<u32>(2u) > vec3<u32>(1u));
let unnamed_121 = (vec4<f32>(2.0) > vec4<f32>(1.0));
let unnamed_122 = (2 >= 1);
let unnamed_123 = (2u >= 1u);
let unnamed_124 = (2.0 >= 1.0);
let unnamed_125 = (vec2<i32>(2) >= vec2<i32>(1));
let unnamed_126 = (vec3<u32>(2u) >= vec3<u32>(1u));
let unnamed_127 = (vec4<f32>(2.0) >= vec4<f32>(1.0));
let unnamed_112 = (2 == 1);
let unnamed_113 = (2u == 1u);
let unnamed_114 = (2.0 == 1.0);
let unnamed_115 = (vec2<i32>(2) == vec2<i32>(1));
let unnamed_116 = (vec3<u32>(2u) == vec3<u32>(1u));
let unnamed_117 = (vec4<f32>(2.0) == vec4<f32>(1.0));
let unnamed_118 = (2 != 1);
let unnamed_119 = (2u != 1u);
let unnamed_120 = (2.0 != 1.0);
let unnamed_121 = (vec2<i32>(2) != vec2<i32>(1));
let unnamed_122 = (vec3<u32>(2u) != vec3<u32>(1u));
let unnamed_123 = (vec4<f32>(2.0) != vec4<f32>(1.0));
let unnamed_124 = (2 < 1);
let unnamed_125 = (2u < 1u);
let unnamed_126 = (2.0 < 1.0);
let unnamed_127 = (vec2<i32>(2) < vec2<i32>(1));
let unnamed_128 = (vec3<u32>(2u) < vec3<u32>(1u));
let unnamed_129 = (vec4<f32>(2.0) < vec4<f32>(1.0));
let unnamed_130 = (2 <= 1);
let unnamed_131 = (2u <= 1u);
let unnamed_132 = (2.0 <= 1.0);
let unnamed_133 = (vec2<i32>(2) <= vec2<i32>(1));
let unnamed_134 = (vec3<u32>(2u) <= vec3<u32>(1u));
let unnamed_135 = (vec4<f32>(2.0) <= vec4<f32>(1.0));
let unnamed_136 = (2 > 1);
let unnamed_137 = (2u > 1u);
let unnamed_138 = (2.0 > 1.0);
let unnamed_139 = (vec2<i32>(2) > vec2<i32>(1));
let unnamed_140 = (vec3<u32>(2u) > vec3<u32>(1u));
let unnamed_141 = (vec4<f32>(2.0) > vec4<f32>(1.0));
let unnamed_142 = (2 >= 1);
let unnamed_143 = (2u >= 1u);
let unnamed_144 = (2.0 >= 1.0);
let unnamed_145 = (vec2<i32>(2) >= vec2<i32>(1));
let unnamed_146 = (vec3<u32>(2u) >= vec3<u32>(1u));
let unnamed_147 = (vec4<f32>(2.0) >= vec4<f32>(1.0));
}
fn assignment() {