spv.int32.frag
// Module Version 10000
// Generated by (magic number): 80002
// Id's are bound by 491

                              Capability Shader
                              Capability Float16
                              Capability Float64
                              Capability Int64
                              Capability Int16
                              Capability Int8
                              Extension  "SPV_AMD_gpu_shader_half_float"
                              Extension  "SPV_AMD_gpu_shader_int16"
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main"
                              ExecutionMode 4 OriginUpperLeft
                              Source GLSL 450
                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types"
                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types_float16"
                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types_float32"
                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types_float64"
                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types_int16"
                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types_int32"
                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types_int64"
                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types_int8"
                              Name 4  "main"
                              Name 6  "literal("
                              Name 8  "typeCast32("
                              Name 10  "operators("
                              Name 12  "builtinFuncs("
                              Name 16  "u32Max"
                              Name 20  "i32"
                              Name 27  "Uniforms"
                              MemberName 27(Uniforms) 0  "index"
                              Name 29  ""
                              Name 35  "indexable"
                              Name 39  "u32"
                              Name 46  "indexable"
                              Name 51  "u32v"
                              Name 54  "i32v"
                              Name 60  "i64v"
                              Name 66  "u64v"
                              Name 78  "f32v"
                              Name 84  "f64v"
                              Name 94  "i8v"
                              Name 103  "i16v"
                              Name 121  "u8v"
                              Name 128  "u16v"
                              Name 148  "f16v"
                              Name 164  "bv"
                              Name 182  "u32v"
                              Name 187  "i32"
                              Name 206  "i"
                              Name 210  "uv"
                              Name 223  "i64"
                              Name 258  "b"
                              Name 310  "i32v"
                              Name 313  "i32"
                              Name 323  "u32v"
                              Name 325  "u32"
                              Name 397  "i8v4"
                              Name 400  "i16v2"
                              Name 405  "u8v4"
                              Name 408  "u16v2"
                              Name 411  "i64"
                              Name 414  "u32v2"
                              Name 416  "u64"
                              Name 420  "bv"
                              Name 483  "Block"
                              MemberName 483(Block) 0  "i32"
                              MemberName 483(Block) 1  "i32v2"
                              MemberName 483(Block) 2  "i32v3"
                              MemberName 483(Block) 3  "i32v4"
                              MemberName 483(Block) 4  "u32"
                              MemberName 483(Block) 5  "u32v2"
                              MemberName 483(Block) 6  "u32v3"
                              MemberName 483(Block) 7  "u32v4"
                              Name 485  "block"
                              Name 486  "si32"
                              Name 487  "su32"
                              Name 488  "si"
                              Name 489  "su"
                              Name 490  "sb"
                              MemberDecorate 27(Uniforms) 0 Offset 0
                              Decorate 27(Uniforms) Block
                              Decorate 29 DescriptorSet 0
                              Decorate 29 Binding 0
                              MemberDecorate 483(Block) 0 Offset 0
                              MemberDecorate 483(Block) 1 Offset 8
                              MemberDecorate 483(Block) 2 Offset 16
                              MemberDecorate 483(Block) 3 Offset 32
                              MemberDecorate 483(Block) 4 Offset 48
                              MemberDecorate 483(Block) 5 Offset 56
                              MemberDecorate 483(Block) 6 Offset 64
                              MemberDecorate 483(Block) 7 Offset 80
                              Decorate 483(Block) Block
                              Decorate 485(block) DescriptorSet 0
                              Decorate 485(block) Binding 1
                              Decorate 486(si32) SpecId 100
                              Decorate 487(su32) SpecId 101
                              Decorate 488(si) SpecId 102
                              Decorate 489(su) SpecId 103
                              Decorate 490(sb) SpecId 104
               2:             TypeVoid
               3:             TypeFunction 2
              14:             TypeInt 32 0
              15:             TypePointer Private 14(int)
      16(u32Max):     15(ptr) Variable Private
              17:     14(int) Constant 4294967295
              18:             TypeInt 32 1
              19:             TypePointer Function 18(int)
              21:     14(int) Constant 3
              22:             TypeArray 18(int) 21
              23:     18(int) Constant 4008636143
              24:     18(int) Constant 4294967295
              25:     18(int) Constant 536870912
              26:          22 ConstantComposite 23 24 25
    27(Uniforms):             TypeStruct 14(int)
              28:             TypePointer Uniform 27(Uniforms)
              29:     28(ptr) Variable Uniform
              30:     18(int) Constant 0
              31:             TypePointer Uniform 14(int)
              34:             TypePointer Function 22
              38:             TypePointer Function 14(int)
              40:             TypeArray 14(int) 21
              41:     14(int) Constant 2147483647
              42:          40 ConstantComposite 17 17 41
              45:             TypePointer Function 40
              49:             TypeVector 14(int) 2
              50:             TypePointer Function 49(ivec2)
              52:             TypeVector 18(int) 2
              53:             TypePointer Function 52(ivec2)
              57:             TypeInt 64 1
              58:             TypeVector 57(int) 2
              59:             TypePointer Function 58(ivec2)
              63:             TypeInt 64 0
              64:             TypeVector 63(int) 2
              65:             TypePointer Function 64(ivec2)
              75:             TypeFloat 32
              76:             TypeVector 75(float) 2
              77:             TypePointer Function 76(fvec2)
              81:             TypeFloat 64
              82:             TypeVector 81(float) 2
              83:             TypePointer Function 82(fvec2)
              91:             TypeInt 8 1
              92:             TypeVector 91(int) 2
              93:             TypePointer Function 92(ivec2)
             100:             TypeInt 16 1
             101:             TypeVector 100(int) 2
             102:             TypePointer Function 101(ivec2)
             120:             TypeInt 8 0
             127:             TypeInt 16 0
             145:             TypeFloat 16
             146:             TypeVector 145(float) 2
             147:             TypePointer Function 146(fvec2)
             161:             TypeBool
             162:             TypeVector 161(bool) 2
             163:             TypePointer Function 162(bvec2)
             166:     18(int) Constant 1
             167:   52(ivec2) ConstantComposite 30 30
             168:   52(ivec2) ConstantComposite 166 166
             171:     14(int) Constant 0
             172:     14(int) Constant 1
             173:   49(ivec2) ConstantComposite 171 171
             174:   49(ivec2) ConstantComposite 172 172
             180:             TypeVector 14(int) 3
             181:             TypePointer Function 180(ivec3)
             184:             TypeVector 18(int) 3
             222:             TypePointer Function 57(int)
             247:     14(int) Constant 2
             257:             TypePointer Function 161(bool)
             321:   52(ivec2) ConstantComposite 24 24
             330:  180(ivec3) ConstantComposite 171 171 171
             372:   161(bool) ConstantTrue
             379:   161(bool) ConstantFalse
             380:  162(bvec2) ConstantComposite 379 379
             392:             TypeVector 161(bool) 3
             393:  392(bvec3) ConstantComposite 379 379 379
             395:             TypeVector 91(int) 4
             396:             TypePointer Function 395(ivec4)
             403:             TypeVector 100(int) 4
             404:             TypePointer Function 403(ivec4)
             415:             TypePointer Function 63(int)
             419:             TypePointer Function 392(bvec3)
             481:             TypeVector 18(int) 4
             482:             TypeVector 14(int) 4
      483(Block):             TypeStruct 18(int) 52(ivec2) 184(ivec3) 481(ivec4) 14(int) 49(ivec2) 180(ivec3) 482(ivec4)
             484:             TypePointer Uniform 483(Block)
      485(block):    484(ptr) Variable Uniform
       486(si32):     18(int) SpecConstant 4294967286
       487(su32):     14(int) SpecConstant 20
         488(si):     18(int) SpecConstant 4294967291
         489(su):     14(int) SpecConstant 4
         490(sb):   161(bool) SpecConstantTrue
         4(main):           2 Function None 3
               5:             Label
                              Store 16(u32Max) 17
                              Return
                              FunctionEnd
     6(literal():           2 Function None 3
               7:             Label
         20(i32):     19(ptr) Variable Function
   35(indexable):     34(ptr) Variable Function
         39(u32):     38(ptr) Variable Function
   46(indexable):     45(ptr) Variable Function
              32:     31(ptr) AccessChain 29 30
              33:     14(int) Load 32
                              Store 35(indexable) 26
              36:     19(ptr) AccessChain 35(indexable) 33
              37:     18(int) Load 36
                              Store 20(i32) 37
              43:     31(ptr) AccessChain 29 30
              44:     14(int) Load 43
                              Store 46(indexable) 42
              47:     38(ptr) AccessChain 46(indexable) 44
              48:     14(int) Load 47
                              Store 39(u32) 48
                              Return
                              FunctionEnd
  8(typeCast32():           2 Function None 3
               9:             Label
        51(u32v):     50(ptr) Variable Function
        54(i32v):     53(ptr) Variable Function
        60(i64v):     59(ptr) Variable Function
        66(u64v):     65(ptr) Variable Function
        78(f32v):     77(ptr) Variable Function
        84(f64v):     83(ptr) Variable Function
         94(i8v):     93(ptr) Variable Function
       103(i16v):    102(ptr) Variable Function
        121(u8v):    102(ptr) Variable Function
       128(u16v):     53(ptr) Variable Function
       148(f16v):    147(ptr) Variable Function
         164(bv):    163(ptr) Variable Function
              55:   52(ivec2) Load 54(i32v)
              56:   49(ivec2) Bitcast 55
                              Store 51(u32v) 56
              61:   52(ivec2) Load 54(i32v)
              62:   58(ivec2) SConvert 61
                              Store 60(i64v) 62
              67:   52(ivec2) Load 54(i32v)
              68:   58(ivec2) SConvert 67
              69:   64(ivec2) Bitcast 68
                              Store 66(u64v) 69
              70:   49(ivec2) Load 51(u32v)
              71:   58(ivec2) UConvert 70
              72:   58(ivec2) Bitcast 71
                              Store 60(i64v) 72
              73:   49(ivec2) Load 51(u32v)
              74:   64(ivec2) UConvert 73
                              Store 66(u64v) 74
              79:   52(ivec2) Load 54(i32v)
              80:   76(fvec2) ConvertSToF 79
                              Store 78(f32v) 80
              85:   52(ivec2) Load 54(i32v)
              86:   82(fvec2) ConvertSToF 85
                              Store 84(f64v) 86
              87:   49(ivec2) Load 51(u32v)
              88:   76(fvec2) ConvertUToF 87
                              Store 78(f32v) 88
              89:   49(ivec2) Load 51(u32v)
              90:   82(fvec2) ConvertUToF 89
                              Store 84(f64v) 90
              95:   52(ivec2) Load 54(i32v)
              96:   92(ivec2) SConvert 95
                              Store 94(i8v) 96
              97:   49(ivec2) Load 51(u32v)
              98:   92(ivec2) UConvert 97
              99:   92(ivec2) Bitcast 98
                              Store 94(i8v) 99
             104:   52(ivec2) Load 54(i32v)
             105:  101(ivec2) SConvert 104
                              Store 103(i16v) 105
             106:   49(ivec2) Load 51(u32v)
             107:  101(ivec2) UConvert 106
             108:  101(ivec2) Bitcast 107
                              Store 103(i16v) 108
             109:   52(ivec2) Load 54(i32v)
             110:     18(int) CompositeExtract 109 0
             111:     18(int) CompositeExtract 109 1
             112:   52(ivec2) CompositeConstruct 110 111
                              Store 54(i32v) 112
             113:   49(ivec2) Load 51(u32v)
             114:   52(ivec2) Bitcast 113
                              Store 54(i32v) 114
             115:   52(ivec2) Load 54(i32v)
             116:   58(ivec2) SConvert 115
                              Store 60(i64v) 116
             117:   49(ivec2) Load 51(u32v)
             118:   58(ivec2) UConvert 117
             119:   58(ivec2) Bitcast 118
                              Store 60(i64v) 119
             122:   52(ivec2) Load 54(i32v)
             123:   92(ivec2) SConvert 122
             124:  101(ivec2) Bitcast 123
                              Store 121(u8v) 124
             125:   49(ivec2) Load 51(u32v)
             126:  101(ivec2) UConvert 125
                              Store 121(u8v) 126
             129:   52(ivec2) Load 54(i32v)
             130:  101(ivec2) SConvert 129
             131:   52(ivec2) Bitcast 130
                              Store 128(u16v) 131
             132:   49(ivec2) Load 51(u32v)
             133:   52(ivec2) UConvert 132
                              Store 128(u16v) 133
             134:   52(ivec2) Load 54(i32v)
             135:   49(ivec2) Bitcast 134
                              Store 51(u32v) 135
             136:   49(ivec2) Load 51(u32v)
             137:     14(int) CompositeExtract 136 0
             138:     14(int) CompositeExtract 136 1
             139:   49(ivec2) CompositeConstruct 137 138
                              Store 51(u32v) 139
             140:   52(ivec2) Load 54(i32v)
             141:   58(ivec2) SConvert 140
             142:   64(ivec2) Bitcast 141
                              Store 66(u64v) 142
             143:   49(ivec2) Load 51(u32v)
             144:   64(ivec2) UConvert 143
                              Store 66(u64v) 144
             149:   52(ivec2) Load 54(i32v)
             150:  146(fvec2) ConvertSToF 149
                              Store 148(f16v) 150
             151:   52(ivec2) Load 54(i32v)
             152:   76(fvec2) ConvertSToF 151
                              Store 78(f32v) 152
             153:   52(ivec2) Load 54(i32v)
             154:   82(fvec2) ConvertSToF 153
                              Store 84(f64v) 154
             155:   49(ivec2) Load 51(u32v)
             156:  146(fvec2) ConvertUToF 155
                              Store 148(f16v) 156
             157:   49(ivec2) Load 51(u32v)
             158:   76(fvec2) ConvertUToF 157
                              Store 78(f32v) 158
             159:   49(ivec2) Load 51(u32v)
             160:   82(fvec2) ConvertUToF 159
                              Store 84(f64v) 160
             165:  162(bvec2) Load 164(bv)
             169:   52(ivec2) Select 165 168 167
                              Store 54(i32v) 169
             170:  162(bvec2) Load 164(bv)
             175:   49(ivec2) Select 170 174 173
                              Store 51(u32v) 175
             176:   52(ivec2) Load 54(i32v)
             177:  162(bvec2) INotEqual 176 173
                              Store 164(bv) 177
             178:   49(ivec2) Load 51(u32v)
             179:  162(bvec2) INotEqual 178 173
                              Store 164(bv) 179
                              Return
                              FunctionEnd
  10(operators():           2 Function None 3
              11:             Label
       182(u32v):    181(ptr) Variable Function
        187(i32):     19(ptr) Variable Function
          206(i):     19(ptr) Variable Function
         210(uv):    181(ptr) Variable Function
        223(i64):    222(ptr) Variable Function
          258(b):    257(ptr) Variable Function
             183:  180(ivec3) Load 182(u32v)
             185:  184(ivec3) CompositeConstruct 166 166 166
             186:  180(ivec3) IAdd 183 185
                              Store 182(u32v) 186
             188:     18(int) Load 187(i32)
             189:     18(int) ISub 188 166
                              Store 187(i32) 189
             190:     18(int) Load 187(i32)
             191:     18(int) IAdd 190 166
                              Store 187(i32) 191
             192:  180(ivec3) Load 182(u32v)
             193:  184(ivec3) CompositeConstruct 166 166 166
             194:  180(ivec3) ISub 192 193
                              Store 182(u32v) 194
             195:  180(ivec3) Load 182(u32v)
             196:  180(ivec3) Not 195
                              Store 182(u32v) 196
             197:     18(int) Load 187(i32)
                              Store 187(i32) 197
             198:  180(ivec3) Load 182(u32v)
             199:  180(ivec3) SNegate 198
                              Store 182(u32v) 199
             200:     18(int) Load 187(i32)
             201:     18(int) Load 187(i32)
             202:     18(int) IAdd 201 200
                              Store 187(i32) 202
             203:  180(ivec3) Load 182(u32v)
             204:  180(ivec3) Load 182(u32v)
             205:  180(ivec3) ISub 204 203
                              Store 182(u32v) 205
             207:     18(int) Load 187(i32)
             208:     18(int) Load 206(i)
             209:     18(int) IMul 208 207
                              Store 206(i) 209
             211:  180(ivec3) Load 182(u32v)
             212:  180(ivec3) Load 210(uv)
             213:  180(ivec3) UDiv 212 211
                              Store 210(uv) 213
             214:     18(int) Load 187(i32)
             215:     14(int) Bitcast 214
             216:  180(ivec3) Load 210(uv)
             217:  180(ivec3) CompositeConstruct 215 215 215
             218:  180(ivec3) UMod 216 217
                              Store 210(uv) 218
             219:  180(ivec3) Load 182(u32v)
             220:  180(ivec3) Load 210(uv)
             221:  180(ivec3) IAdd 219 220
                              Store 210(uv) 221
             224:     18(int) Load 187(i32)
             225:     57(int) SConvert 224
             226:     57(int) Load 223(i64)
             227:     57(int) ISub 225 226
                              Store 223(i64) 227
             228:  180(ivec3) Load 182(u32v)
             229:  180(ivec3) Load 210(uv)
             230:  180(ivec3) IMul 228 229
                              Store 210(uv) 230
             231:     18(int) Load 187(i32)
             232:     57(int) SConvert 231
             233:     57(int) Load 223(i64)
             234:     57(int) IMul 232 233
                              Store 223(i64) 234
             235:     18(int) Load 187(i32)
             236:     18(int) Load 206(i)
             237:     18(int) SMod 235 236
                              Store 206(i) 237
             238:     18(int) Load 187(i32)
             239:  180(ivec3) Load 182(u32v)
             240:  184(ivec3) CompositeConstruct 238 238 238
             241:  180(ivec3) ShiftLeftLogical 239 240
                              Store 182(u32v) 241
             242:     38(ptr) AccessChain 182(u32v) 172
             243:     14(int) Load 242
             244:     18(int) Load 187(i32)
             245:     18(int) ShiftRightArithmetic 244 243
                              Store 187(i32) 245
             246:     57(int) Load 223(i64)
             248:     38(ptr) AccessChain 182(u32v) 247
             249:     14(int) Load 248
             250:     57(int) UConvert 249
             251:     57(int) Bitcast 250
             252:     57(int) ShiftLeftLogical 246 251
                              Store 223(i64) 252
             253:  180(ivec3) Load 182(u32v)
             254:     18(int) Load 206(i)
             255:  184(ivec3) CompositeConstruct 254 254 254
             256:  180(ivec3) ShiftLeftLogical 253 255
                              Store 210(uv) 256
             259:     38(ptr) AccessChain 182(u32v) 171
             260:     14(int) Load 259
             261:     18(int) Load 187(i32)
             262:     14(int) Bitcast 261
             263:   161(bool) INotEqual 260 262
                              Store 258(b) 263
             264:     18(int) Load 187(i32)
             265:     14(int) Bitcast 264
             266:     38(ptr) AccessChain 182(u32v) 171
             267:     14(int) Load 266
             268:   161(bool) IEqual 265 267
                              Store 258(b) 268
             269:     38(ptr) AccessChain 182(u32v) 171
             270:     14(int) Load 269
             271:     38(ptr) AccessChain 210(uv) 172
             272:     14(int) Load 271
             273:   161(bool) UGreaterThan 270 272
                              Store 258(b) 273
             274:     18(int) Load 187(i32)
             275:     18(int) Load 206(i)
             276:   161(bool) SLessThan 274 275
                              Store 258(b) 276
             277:     38(ptr) AccessChain 182(u32v) 172
             278:     14(int) Load 277
             279:     38(ptr) AccessChain 210(uv) 171
             280:     14(int) Load 279
             281:   161(bool) UGreaterThanEqual 278 280
                              Store 258(b) 281
             282:     18(int) Load 187(i32)
             283:     18(int) Load 206(i)
             284:   161(bool) SLessThanEqual 282 283
                              Store 258(b) 284
             285:     18(int) Load 187(i32)
             286:     14(int) Bitcast 285
             287:  180(ivec3) Load 210(uv)
             288:  180(ivec3) CompositeConstruct 286 286 286
             289:  180(ivec3) BitwiseOr 287 288
                              Store 210(uv) 289
             290:     18(int) Load 187(i32)
             291:     18(int) Load 206(i)
             292:     18(int) BitwiseOr 290 291
                              Store 206(i) 292
             293:     18(int) Load 187(i32)
             294:     57(int) SConvert 293
             295:     57(int) Load 223(i64)
             296:     57(int) BitwiseAnd 295 294
                              Store 223(i64) 296
             297:  180(ivec3) Load 182(u32v)
             298:  180(ivec3) Load 210(uv)
             299:  180(ivec3) BitwiseAnd 297 298
                              Store 210(uv) 299
             300:     18(int) Load 187(i32)
             301:     14(int) Bitcast 300
             302:  180(ivec3) Load 210(uv)
             303:  180(ivec3) CompositeConstruct 301 301 301
             304:  180(ivec3) BitwiseXor 302 303
                              Store 210(uv) 304
             305:  180(ivec3) Load 182(u32v)
             306:     18(int) Load 187(i32)
             307:     14(int) Bitcast 306
             308:  180(ivec3) CompositeConstruct 307 307 307
             309:  180(ivec3) BitwiseXor 305 308
                              Store 182(u32v) 309
                              Return
                              FunctionEnd
12(builtinFuncs():           2 Function None 3
              13:             Label
       310(i32v):     53(ptr) Variable Function
        313(i32):     19(ptr) Variable Function
       323(u32v):    181(ptr) Variable Function
        325(u32):     38(ptr) Variable Function
       397(i8v4):    396(ptr) Variable Function
      400(i16v2):    102(ptr) Variable Function
       405(u8v4):    404(ptr) Variable Function
      408(u16v2):     53(ptr) Variable Function
        411(i64):    222(ptr) Variable Function
      414(u32v2):     50(ptr) Variable Function
        416(u64):    415(ptr) Variable Function
         420(bv):    419(ptr) Variable Function
             311:   52(ivec2) Load 310(i32v)
             312:   52(ivec2) ExtInst 1(GLSL.std.450) 5(SAbs) 311
                              Store 310(i32v) 312
             314:     18(int) Load 313(i32)
             315:     18(int) ExtInst 1(GLSL.std.450) 7(SSign) 314
                              Store 313(i32) 315
             316:   52(ivec2) Load 310(i32v)
             317:     18(int) Load 313(i32)
             318:   52(ivec2) CompositeConstruct 317 317
             319:   52(ivec2) ExtInst 1(GLSL.std.450) 39(SMin) 316 318
                              Store 310(i32v) 319
             320:   52(ivec2) Load 310(i32v)
             322:   52(ivec2) ExtInst 1(GLSL.std.450) 39(SMin) 320 321
                              Store 310(i32v) 322
             324:  180(ivec3) Load 323(u32v)
             326:     14(int) Load 325(u32)
             327:  180(ivec3) CompositeConstruct 326 326 326
             328:  180(ivec3) ExtInst 1(GLSL.std.450) 38(UMin) 324 327
                              Store 323(u32v) 328
             329:  180(ivec3) Load 323(u32v)
             331:  180(ivec3) ExtInst 1(GLSL.std.450) 38(UMin) 329 330
                              Store 323(u32v) 331
             332:   52(ivec2) Load 310(i32v)
             333:     18(int) Load 313(i32)
             334:   52(ivec2) CompositeConstruct 333 333
             335:   52(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 332 334
                              Store 310(i32v) 335
             336:   52(ivec2) Load 310(i32v)
             337:   52(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 336 321
                              Store 310(i32v) 337
             338:  180(ivec3) Load 323(u32v)
             339:     14(int) Load 325(u32)
             340:  180(ivec3) CompositeConstruct 339 339 339
             341:  180(ivec3) ExtInst 1(GLSL.std.450) 41(UMax) 338 340
                              Store 323(u32v) 341
             342:  180(ivec3) Load 323(u32v)
             343:  180(ivec3) ExtInst 1(GLSL.std.450) 41(UMax) 342 330
                              Store 323(u32v) 343
             344:   52(ivec2) Load 310(i32v)
             345:     18(int) Load 313(i32)
             346:     18(int) SNegate 345
             347:     18(int) Load 313(i32)
             348:   52(ivec2) CompositeConstruct 346 346
             349:   52(ivec2) CompositeConstruct 347 347
             350:   52(ivec2) ExtInst 1(GLSL.std.450) 45(SClamp) 344 348 349
                              Store 310(i32v) 350
             351:   52(ivec2) Load 310(i32v)
             352:   52(ivec2) Load 310(i32v)
             353:   52(ivec2) SNegate 352
             354:   52(ivec2) Load 310(i32v)
             355:   52(ivec2) ExtInst 1(GLSL.std.450) 45(SClamp) 351 353 354
                              Store 310(i32v) 355
             356:  180(ivec3) Load 323(u32v)
             357:     14(int) Load 325(u32)
             358:     14(int) SNegate 357
             359:     14(int) Load 325(u32)
             360:  180(ivec3) CompositeConstruct 358 358 358
             361:  180(ivec3) CompositeConstruct 359 359 359
             362:  180(ivec3) ExtInst 1(GLSL.std.450) 44(UClamp) 356 360 361
                              Store 323(u32v) 362
             363:  180(ivec3) Load 323(u32v)
             364:  180(ivec3) Load 323(u32v)
             365:  180(ivec3) SNegate 364
             366:  180(ivec3) Load 323(u32v)
             367:  180(ivec3) ExtInst 1(GLSL.std.450) 44(UClamp) 363 365 366
                              Store 323(u32v) 367
             368:     19(ptr) AccessChain 310(i32v) 171
             369:     18(int) Load 368
             370:     19(ptr) AccessChain 310(i32v) 172
             371:     18(int) Load 370
             373:     18(int) Select 372 371 369
                              Store 313(i32) 373
             374:     18(int) Load 313(i32)
             375:   52(ivec2) CompositeConstruct 374 374
             376:     18(int) Load 313(i32)
             377:     18(int) SNegate 376
             378:   52(ivec2) CompositeConstruct 377 377
             381:   52(ivec2) Select 380 378 375
                              Store 310(i32v) 381
             382:     38(ptr) AccessChain 323(u32v) 171
             383:     14(int) Load 382
             384:     38(ptr) AccessChain 323(u32v) 172
             385:     14(int) Load 384
             386:     14(int) Select 372 385 383
                              Store 325(u32) 386
             387:     14(int) Load 325(u32)
             388:  180(ivec3) CompositeConstruct 387 387 387
             389:     14(int) Load 325(u32)
             390:     14(int) SNegate 389
             391:  180(ivec3) CompositeConstruct 390 390 390
             394:  180(ivec3) Select 393 391 388
                              Store 323(u32v) 394
             398:  395(ivec4) Load 397(i8v4)
             399:     18(int) Bitcast 398
                              Store 313(i32) 399
             401:  101(ivec2) Load 400(i16v2)
             402:     18(int) Bitcast 401
                              Store 313(i32) 402
             406:  403(ivec4) Load 405(u8v4)
             407:     14(int) Bitcast 406
                              Store 325(u32) 407
             409:   52(ivec2) Load 408(u16v2)
             410:     14(int) Bitcast 409
                              Store 325(u32) 410
             412:     57(int) Load 411(i64)
             413:   52(ivec2) Bitcast 412
                              Store 310(i32v) 413
             417:     63(int) Load 416(u64)
             418:   49(ivec2) Bitcast 417
                              Store 414(u32v2) 418
             421:  180(ivec3) Load 323(u32v)
             422:     14(int) Load 325(u32)
             423:  180(ivec3) CompositeConstruct 422 422 422
             424:  392(bvec3) ULessThan 421 423
                              Store 420(bv) 424
             425:   52(ivec2) Load 310(i32v)
             426:     18(int) Load 313(i32)
             427:   52(ivec2) CompositeConstruct 426 426
             428:  162(bvec2) SLessThan 425 427
             429:  392(bvec3) Load 420(bv)
             430:  392(bvec3) VectorShuffle 429 428 3 4 2
                              Store 420(bv) 430
             431:  180(ivec3) Load 323(u32v)
             432:     14(int) Load 325(u32)
             433:  180(ivec3) CompositeConstruct 432 432 432
             434:  392(bvec3) ULessThanEqual 431 433
                              Store 420(bv) 434
             435:   52(ivec2) Load 310(i32v)
             436:     18(int) Load 313(i32)
             437:   52(ivec2) CompositeConstruct 436 436
             438:  162(bvec2) SLessThanEqual 435 437
             439:  392(bvec3) Load 420(bv)
             440:  392(bvec3) VectorShuffle 439 438 3 4 2
                              Store 420(bv) 440
             441:  180(ivec3) Load 323(u32v)
             442:     14(int) Load 325(u32)
             443:  180(ivec3) CompositeConstruct 442 442 442
             444:  392(bvec3) UGreaterThan 441 443
                              Store 420(bv) 444
             445:   52(ivec2) Load 310(i32v)
             446:     18(int) Load 313(i32)
             447:   52(ivec2) CompositeConstruct 446 446
             448:  162(bvec2) SGreaterThan 445 447
             449:  392(bvec3) Load 420(bv)
             450:  392(bvec3) VectorShuffle 449 448 3 4 2
                              Store 420(bv) 450
             451:  180(ivec3) Load 323(u32v)
             452:     14(int) Load 325(u32)
             453:  180(ivec3) CompositeConstruct 452 452 452
             454:  392(bvec3) UGreaterThanEqual 451 453
                              Store 420(bv) 454
             455:   52(ivec2) Load 310(i32v)
             456:     18(int) Load 313(i32)
             457:   52(ivec2) CompositeConstruct 456 456
             458:  162(bvec2) SGreaterThanEqual 455 457
             459:  392(bvec3) Load 420(bv)
             460:  392(bvec3) VectorShuffle 459 458 3 4 2
                              Store 420(bv) 460
             461:  180(ivec3) Load 323(u32v)
             462:     14(int) Load 325(u32)
             463:  180(ivec3) CompositeConstruct 462 462 462
             464:  392(bvec3) IEqual 461 463
                              Store 420(bv) 464
             465:   52(ivec2) Load 310(i32v)
             466:     18(int) Load 313(i32)
             467:   52(ivec2) CompositeConstruct 466 466
             468:  162(bvec2) IEqual 465 467
             469:  392(bvec3) Load 420(bv)
             470:  392(bvec3) VectorShuffle 469 468 3 4 2
                              Store 420(bv) 470
             471:  180(ivec3) Load 323(u32v)
             472:     14(int) Load 325(u32)
             473:  180(ivec3) CompositeConstruct 472 472 472
             474:  392(bvec3) INotEqual 471 473
                              Store 420(bv) 474
             475:   52(ivec2) Load 310(i32v)
             476:     18(int) Load 313(i32)
             477:   52(ivec2) CompositeConstruct 476 476
             478:  162(bvec2) INotEqual 475 477
             479:  392(bvec3) Load 420(bv)
             480:  392(bvec3) VectorShuffle 479 478 3 4 2
                              Store 420(bv) 480
                              Return
                              FunctionEnd
