spv.int8.frag
// Module Version 10300
// Generated by (magic number): 80006
// Id's are bound by 531

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