spv.int16.frag
// Module Version 10000
// Generated by (magic number): 80006
// Id's are bound by 525

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