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

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