spv.vulkan110.int16.frag
// Module Version 10300
// Generated by (magic number): 8000b
// Id's are bound by 535

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