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

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