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_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" 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"
                              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:   125(bool) SpecConstantOp 171 527(si16) 202
             530:   125(bool) SpecConstantOp 171 528(su16) 202
             531: 17(int16_t) SpecConstantOp 169 526(sb) 53 194
             532: 14(int16_t) SpecConstantOp 169 526(sb) 203 202
             533:     28(int) SpecConstantOp 114 527(si16)
             534:     18(int) SpecConstantOp 113 528(su16)
             535:     28(int) SpecConstantOp 128 534 128
             536: 17(int16_t) SpecConstantOp 114 524(si)
             537: 17(int16_t) SpecConstantOp 114 524(si)
             538: 14(int16_t) SpecConstantOp 128 537 202
             539:     28(int) SpecConstantOp 114 527(si16)
             540:     18(int) SpecConstantOp 128 539 128
             541:     18(int) SpecConstantOp 113 528(su16)
             542: 14(int16_t) SpecConstantOp 113 525(su)
             543: 17(int16_t) SpecConstantOp 128 542 202
             544: 14(int16_t) SpecConstantOp 113 525(su)
             545:273(int64_t) SpecConstantOp 114 527(si16)
             546:285(int64_t) SpecConstantOp 113 528(su16)
             547:285(int64_t) Constant 0 0
             548:273(int64_t) SpecConstantOp 128 546 547
             549: 17(int16_t) SpecConstantOp 114 522(si64)
             550: 17(int16_t) SpecConstantOp 114 522(si64)
             551: 14(int16_t) SpecConstantOp 128 550 202
             552:273(int64_t) SpecConstantOp 114 527(si16)
             553:285(int64_t) SpecConstantOp 128 552 547
             554:285(int64_t) SpecConstantOp 113 528(su16)
             555: 14(int16_t) SpecConstantOp 113 523(su64)
             556: 17(int16_t) SpecConstantOp 128 555 202
             557: 14(int16_t) SpecConstantOp 113 523(su64)
             558: 14(int16_t) SpecConstantOp 128 527(si16) 202
             559: 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
