#version 450 core #extension GL_EXT_long_vector : enable #extension GL_EXT_shader_explicit_arithmetic_types : enable layout (local_size_x = 64, local_size_y = 1, local_size_z = 1) in; void main() { float f; vector f0, f1; uint32_t u; vector u0, u1; bool b; vector b0, b1; f0 = f0 + f1; f0 = f0 - f1; f0 = f0 * f1; f0 = f0 / f1; f0 = f0 + f; f0 = f0 - f; f0 = f0 * f; f0 = f0 / f; f0 = -f0; f0 += f1; f0 -= f1; f0 *= f1; f0 /= f1; f0 += f; f0 -= f; f0 *= f; f0 /= f; u0 = u0 + u1; u0 = u0 - u1; u0 = u0 * u1; u0 = u0 / u1; u0 = u0 % u1; u0 = u0 & u1; u0 = u0 | u1; u0 = u0 ^ u1; u0 = u0 << u1; u0 = u0 >> u1; u0 = u0 + u; u0 = u0 - u; u0 = u0 * u; u0 = u0 / u; u0 = u0 % u; u0 = u0 & u; u0 = u0 | u; u0 = u0 ^ u; u0 = u0 << u; u0 = u0 >> u; u0 += u1; u0 -= u1; u0 *= u1; u0 /= u1; u0 %= u1; u0 &= u1; u0 |= u1; u0 ^= u1; u0 <<= u1; u0 >>= u1; u0 += u; u0 -= u; u0 *= u; u0 /= u; u0 %= u; u0 &= u; u0 ^= u; u0 |= u; u0 <<= u; u0 >>= u; u0++; u0--; ++u0; --u0; b0 = equal(b0, b1); b0 = notEqual(b0, b1); b = any(b0); b = all(b0); b0 = not(b0); f0 = b ? f0 : f1; } void foo() { float f; vector f0, f1; uint32_t u; vector u0, u1; bool b; vector b0, b1; f0 = f0 + f1; f0 = f0 - f1; f0 = f0 * f1; f0 = f0 / f1; f0 = f0 + f; f0 = f0 - f; f0 = f0 * f; f0 = f0 / f; f0 = -f0; f0 += f1; f0 -= f1; f0 *= f1; f0 /= f1; f0 += f; f0 -= f; f0 *= f; f0 /= f; u0 = u0 + u1; u0 = u0 - u1; u0 = u0 * u1; u0 = u0 / u1; u0 = u0 % u1; u0 = u0 & u1; u0 = u0 | u1; u0 = u0 ^ u1; u0 = u0 << u1; u0 = u0 >> u1; u0 = u0 + u; u0 = u0 - u; u0 = u0 * u; u0 = u0 / u; u0 = u0 % u; u0 = u0 & u; u0 = u0 | u; u0 = u0 ^ u; u0 = u0 << u; u0 = u0 >> u; u0 += u1; u0 -= u1; u0 *= u1; u0 /= u1; u0 %= u1; u0 &= u1; u0 |= u1; u0 ^= u1; u0 <<= u1; u0 >>= u1; u0 += u; u0 -= u; u0 *= u; u0 /= u; u0 %= u; u0 &= u; u0 ^= u; u0 |= u; u0 <<= u; u0 >>= u; u0++; u0--; ++u0; --u0; b0 = equal(b0, b1); b0 = notEqual(b0, b1); b = any(b0); b = all(b0); b0 = not(b0); f0 = b ? f0 : f1; }