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

                              Capability Shader
                              Capability Float16
                              Capability Float64
                              Capability Int64
                              Capability Int16
                              Capability Int8
                              Capability StorageUniform16
                              Extension  "SPV_KHR_16bit_storage"
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main"
                              ExecutionMode 4 OriginUpperLeft
                              Source GLSL 450
                              SourceExtension  "GL_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 196  "arr"
                              Name 204  "u16v"
                              Name 209  "i16"
                              Name 229  "i"
                              Name 236  "uv"
                              Name 252  "i64"
                              Name 290  "b"
                              Name 353  "f"
                              Name 357  "i16v"
                              Name 360  "i16"
                              Name 370  "u16v"
                              Name 372  "u16"
                              Name 442  "i32"
                              Name 445  "i64"
                              Name 448  "i16v4"
                              Name 451  "u32"
                              Name 452  "u16v2"
                              Name 456  "u64"
                              Name 459  "u16v4"
                              Name 471  "bv"
                              Name 544  "Block"
                              MemberName 544(Block) 0  "i16"
                              MemberName 544(Block) 1  "i16v2"
                              MemberName 544(Block) 2  "i16v3"
                              MemberName 544(Block) 3  "i16v4"
                              MemberName 544(Block) 4  "u16"
                              MemberName 544(Block) 5  "u16v2"
                              MemberName 544(Block) 6  "u16v3"
                              MemberName 544(Block) 7  "u16v4"
                              Name 546  "block"
                              Name 547  "si16"
                              Name 548  "su16"
                              MemberDecorate 24(Uniforms) 0 Offset 0
                              Decorate 24(Uniforms) Block
                              Decorate 26 DescriptorSet 0
                              Decorate 26 Binding 0
                              MemberDecorate 544(Block) 0 Offset 0
                              MemberDecorate 544(Block) 1 Offset 4
                              MemberDecorate 544(Block) 2 Offset 8
                              MemberDecorate 544(Block) 3 Offset 16
                              MemberDecorate 544(Block) 4 Offset 24
                              MemberDecorate 544(Block) 5 Offset 28
                              MemberDecorate 544(Block) 6 Offset 32
                              MemberDecorate 544(Block) 7 Offset 40
                              Decorate 544(Block) Block
                              Decorate 546(block) DescriptorSet 0
                              Decorate 546(block) Binding 1
                              Decorate 547(si16) SpecId 100
                              Decorate 548(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:     17(int) Constant 4
             194:             TypeArray 97(float) 193
             195:             TypePointer Function 194
             197:   97(float) Constant 1065353216
             198:   97(float) Constant 1073741824
             199:   97(float) Constant 1077936128
             200:   97(float) Constant 1082130432
             201:         194 ConstantComposite 197 198 199 200
             202:             TypeVector 36(int16_t) 3
             203:             TypePointer Function 202(i16vec3)
             206:             TypeVector 14(int16_t) 3
             228:             TypePointer Function 27(int)
             234:             TypeVector 17(int) 3
             235:             TypePointer Function 234(ivec3)
             251:             TypePointer Function 71(int64_t)
             273:     17(int) Constant 1
             279:     17(int) Constant 2
             285:             TypeVector 27(int) 3
             289:             TypePointer Function 173(bool)
             291:     17(int) Constant 0
             305:             TypePointer Function 17(int)
             352:             TypePointer Function 97(float)
             368: 52(i16vec2) ConstantComposite 21 21
             377:202(i16vec3) ConstantComposite 184 184 184
             419:   173(bool) ConstantTrue
             426:   173(bool) ConstantFalse
             427:  174(bvec2) ConstantComposite 426 426
             439:             TypeVector 173(bool) 3
             440:  439(bvec3) ConstantComposite 426 426 426
             446:             TypeVector 14(int16_t) 4
             447:             TypePointer Function 446(i16vec4)
             455:             TypePointer Function 77(int64_t)
             457:             TypeVector 36(int16_t) 4
             458:             TypePointer Function 457(i16vec4)
             470:             TypePointer Function 439(bvec3)
      544(Block):             TypeStruct 14(int16_t) 52(i16vec2) 206(i16vec3) 446(i16vec4) 36(int16_t) 57(i16vec2) 202(i16vec3) 457(i16vec4)
             545:             TypePointer Uniform 544(Block)
      546(block):    545(ptr) Variable Uniform
       547(si16): 14(int16_t) SpecConstant 4294967286
       548(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
        196(arr):    195(ptr) Variable Function
       204(u16v):    203(ptr) Variable Function
        209(i16):     15(ptr) Variable Function
          229(i):    228(ptr) Variable Function
         236(uv):    235(ptr) Variable Function
        252(i64):    251(ptr) Variable Function
          290(b):    289(ptr) Variable Function
          353(f):    352(ptr) Variable Function
                              Store 196(arr) 201
             205:202(i16vec3) Load 204(u16v)
             207:206(i16vec3) CompositeConstruct 179 179 179
             208:202(i16vec3) IAdd 205 207
                              Store 204(u16v) 208
             210: 14(int16_t) Load 209(i16)
             211: 14(int16_t) ISub 210 179
                              Store 209(i16) 211
             212: 14(int16_t) Load 209(i16)
             213: 14(int16_t) IAdd 212 179
                              Store 209(i16) 213
             214:202(i16vec3) Load 204(u16v)
             215:206(i16vec3) CompositeConstruct 179 179 179
             216:202(i16vec3) ISub 214 215
                              Store 204(u16v) 216
             217:202(i16vec3) Load 204(u16v)
             218:202(i16vec3) Not 217
                              Store 204(u16v) 218
             219: 14(int16_t) Load 209(i16)
                              Store 209(i16) 219
             220:202(i16vec3) Load 204(u16v)
             221:202(i16vec3) SNegate 220
                              Store 204(u16v) 221
             222: 14(int16_t) Load 209(i16)
             223: 14(int16_t) Load 209(i16)
             224: 14(int16_t) IAdd 223 222
                              Store 209(i16) 224
             225:202(i16vec3) Load 204(u16v)
             226:202(i16vec3) Load 204(u16v)
             227:202(i16vec3) ISub 226 225
                              Store 204(u16v) 227
             230: 14(int16_t) Load 209(i16)
             231:     27(int) SConvert 230
             232:     27(int) Load 229(i)
             233:     27(int) IMul 232 231
                              Store 229(i) 233
             237:202(i16vec3) Load 204(u16v)
             238:  234(ivec3) UConvert 237
             239:  234(ivec3) Load 236(uv)
             240:  234(ivec3) UDiv 239 238
                              Store 236(uv) 240
             241: 14(int16_t) Load 209(i16)
             242:     27(int) SConvert 241
             243:     17(int) Bitcast 242
             244:  234(ivec3) Load 236(uv)
             245:  234(ivec3) CompositeConstruct 243 243 243
             246:  234(ivec3) UMod 244 245
                              Store 236(uv) 246
             247:202(i16vec3) Load 204(u16v)
             248:  234(ivec3) UConvert 247
             249:  234(ivec3) Load 236(uv)
             250:  234(ivec3) IAdd 248 249
                              Store 236(uv) 250
             253: 14(int16_t) Load 209(i16)
             254: 71(int64_t) SConvert 253
             255: 71(int64_t) Load 252(i64)
             256: 71(int64_t) ISub 254 255
                              Store 252(i64) 256
             257:202(i16vec3) Load 204(u16v)
             258:  234(ivec3) UConvert 257
             259:  234(ivec3) Load 236(uv)
             260:  234(ivec3) IMul 258 259
                              Store 236(uv) 260
             261: 14(int16_t) Load 209(i16)
             262: 71(int64_t) SConvert 261
             263: 71(int64_t) Load 252(i64)
             264: 71(int64_t) IMul 262 263
                              Store 252(i64) 264
             265: 14(int16_t) Load 209(i16)
             266:     27(int) SConvert 265
             267:     27(int) Load 229(i)
             268:     27(int) SMod 266 267
                              Store 229(i) 268
             269: 14(int16_t) Load 209(i16)
             270:202(i16vec3) Load 204(u16v)
             271:206(i16vec3) CompositeConstruct 269 269 269
             272:202(i16vec3) ShiftLeftLogical 270 271
                              Store 204(u16v) 272
             274:     37(ptr) AccessChain 204(u16v) 273
             275: 36(int16_t) Load 274
             276: 14(int16_t) Load 209(i16)
             277: 14(int16_t) ShiftRightArithmetic 276 275
                              Store 209(i16) 277
             278: 14(int16_t) Load 209(i16)
             280:     37(ptr) AccessChain 204(u16v) 279
             281: 36(int16_t) Load 280
             282: 14(int16_t) ShiftLeftLogical 278 281
                              Store 209(i16) 282
             283:202(i16vec3) Load 204(u16v)
             284:     27(int) Load 229(i)
             286:  285(ivec3) CompositeConstruct 284 284 284
             287:202(i16vec3) ShiftLeftLogical 283 286
             288:  234(ivec3) UConvert 287
                              Store 236(uv) 288
             292:     37(ptr) AccessChain 204(u16v) 291
             293: 36(int16_t) Load 292
             294: 14(int16_t) Load 209(i16)
             295: 36(int16_t) Bitcast 294
             296:   173(bool) INotEqual 293 295
                              Store 290(b) 296
             297: 14(int16_t) Load 209(i16)
             298: 36(int16_t) Bitcast 297
             299:     37(ptr) AccessChain 204(u16v) 291
             300: 36(int16_t) Load 299
             301:   173(bool) IEqual 298 300
                              Store 290(b) 301
             302:     37(ptr) AccessChain 204(u16v) 291
             303: 36(int16_t) Load 302
             304:     17(int) UConvert 303
             306:    305(ptr) AccessChain 236(uv) 273
             307:     17(int) Load 306
             308:   173(bool) UGreaterThan 304 307
                              Store 290(b) 308
             309: 14(int16_t) Load 209(i16)
             310:     27(int) SConvert 309
             311:     27(int) Load 229(i)
             312:   173(bool) SLessThan 310 311
                              Store 290(b) 312
             313:     37(ptr) AccessChain 204(u16v) 273
             314: 36(int16_t) Load 313
             315:     17(int) UConvert 314
             316:    305(ptr) AccessChain 236(uv) 291
             317:     17(int) Load 316
             318:   173(bool) UGreaterThanEqual 315 317
                              Store 290(b) 318
             319: 14(int16_t) Load 209(i16)
             320:     27(int) SConvert 319
             321:     27(int) Load 229(i)
             322:   173(bool) SLessThanEqual 320 321
                              Store 290(b) 322
             323: 14(int16_t) Load 209(i16)
             324:     27(int) SConvert 323
             325:     17(int) Bitcast 324
             326:  234(ivec3) Load 236(uv)
             327:  234(ivec3) CompositeConstruct 325 325 325
             328:  234(ivec3) BitwiseOr 326 327
                              Store 236(uv) 328
             329: 14(int16_t) Load 209(i16)
             330:     27(int) SConvert 329
             331:     27(int) Load 229(i)
             332:     27(int) BitwiseOr 330 331
                              Store 229(i) 332
             333: 14(int16_t) Load 209(i16)
             334: 71(int64_t) SConvert 333
             335: 71(int64_t) Load 252(i64)
             336: 71(int64_t) BitwiseAnd 335 334
                              Store 252(i64) 336
             337:202(i16vec3) Load 204(u16v)
             338:  234(ivec3) UConvert 337
             339:  234(ivec3) Load 236(uv)
             340:  234(ivec3) BitwiseAnd 338 339
                              Store 236(uv) 340
             341: 14(int16_t) Load 209(i16)
             342:     27(int) SConvert 341
             343:     17(int) Bitcast 342
             344:  234(ivec3) Load 236(uv)
             345:  234(ivec3) CompositeConstruct 343 343 343
             346:  234(ivec3) BitwiseXor 344 345
                              Store 236(uv) 346
             347:202(i16vec3) Load 204(u16v)
             348: 14(int16_t) Load 209(i16)
             349: 36(int16_t) Bitcast 348
             350:202(i16vec3) CompositeConstruct 349 349 349
             351:202(i16vec3) BitwiseXor 347 350
                              Store 204(u16v) 351
             354: 14(int16_t) Load 209(i16)
             355:    352(ptr) AccessChain 196(arr) 354
             356:   97(float) Load 355
                              Store 353(f) 356
                              Return
                              FunctionEnd
12(builtinFuncs():           2 Function None 3
              13:             Label
       357(i16v):     53(ptr) Variable Function
        360(i16):     15(ptr) Variable Function
       370(u16v):    203(ptr) Variable Function
        372(u16):     37(ptr) Variable Function
        442(i32):    228(ptr) Variable Function
        445(i64):    251(ptr) Variable Function
      448(i16v4):    447(ptr) Variable Function
        451(u32):    305(ptr) Variable Function
      452(u16v2):     58(ptr) Variable Function
        456(u64):    455(ptr) Variable Function
      459(u16v4):    458(ptr) Variable Function
         471(bv):    470(ptr) Variable Function
             358: 52(i16vec2) Load 357(i16v)
             359: 52(i16vec2) ExtInst 1(GLSL.std.450) 5(SAbs) 358
                              Store 357(i16v) 359
             361: 14(int16_t) Load 360(i16)
             362: 14(int16_t) ExtInst 1(GLSL.std.450) 7(SSign) 361
                              Store 360(i16) 362
             363: 52(i16vec2) Load 357(i16v)
             364: 14(int16_t) Load 360(i16)
             365: 52(i16vec2) CompositeConstruct 364 364
             366: 52(i16vec2) ExtInst 1(GLSL.std.450) 39(SMin) 363 365
                              Store 357(i16v) 366
             367: 52(i16vec2) Load 357(i16v)
             369: 52(i16vec2) ExtInst 1(GLSL.std.450) 39(SMin) 367 368
                              Store 357(i16v) 369
             371:202(i16vec3) Load 370(u16v)
             373: 36(int16_t) Load 372(u16)
             374:202(i16vec3) CompositeConstruct 373 373 373
             375:202(i16vec3) ExtInst 1(GLSL.std.450) 38(UMin) 371 374
                              Store 370(u16v) 375
             376:202(i16vec3) Load 370(u16v)
             378:202(i16vec3) ExtInst 1(GLSL.std.450) 38(UMin) 376 377
                              Store 370(u16v) 378
             379: 52(i16vec2) Load 357(i16v)
             380: 14(int16_t) Load 360(i16)
             381: 52(i16vec2) CompositeConstruct 380 380
             382: 52(i16vec2) ExtInst 1(GLSL.std.450) 42(SMax) 379 381
                              Store 357(i16v) 382
             383: 52(i16vec2) Load 357(i16v)
             384: 52(i16vec2) ExtInst 1(GLSL.std.450) 42(SMax) 383 368
                              Store 357(i16v) 384
             385:202(i16vec3) Load 370(u16v)
             386: 36(int16_t) Load 372(u16)
             387:202(i16vec3) CompositeConstruct 386 386 386
             388:202(i16vec3) ExtInst 1(GLSL.std.450) 41(UMax) 385 387
                              Store 370(u16v) 388
             389:202(i16vec3) Load 370(u16v)
             390:202(i16vec3) ExtInst 1(GLSL.std.450) 41(UMax) 389 377
                              Store 370(u16v) 390
             391: 52(i16vec2) Load 357(i16v)
             392: 14(int16_t) Load 360(i16)
             393: 14(int16_t) SNegate 392
             394: 14(int16_t) Load 360(i16)
             395: 52(i16vec2) CompositeConstruct 393 393
             396: 52(i16vec2) CompositeConstruct 394 394
             397: 52(i16vec2) ExtInst 1(GLSL.std.450) 45(SClamp) 391 395 396
                              Store 357(i16v) 397
             398: 52(i16vec2) Load 357(i16v)
             399: 52(i16vec2) Load 357(i16v)
             400: 52(i16vec2) SNegate 399
             401: 52(i16vec2) Load 357(i16v)
             402: 52(i16vec2) ExtInst 1(GLSL.std.450) 45(SClamp) 398 400 401
                              Store 357(i16v) 402
             403:202(i16vec3) Load 370(u16v)
             404: 36(int16_t) Load 372(u16)
             405: 36(int16_t) SNegate 404
             406: 36(int16_t) Load 372(u16)
             407:202(i16vec3) CompositeConstruct 405 405 405
             408:202(i16vec3) CompositeConstruct 406 406 406
             409:202(i16vec3) ExtInst 1(GLSL.std.450) 44(UClamp) 403 407 408
                              Store 370(u16v) 409
             410:202(i16vec3) Load 370(u16v)
             411:202(i16vec3) Load 370(u16v)
             412:202(i16vec3) SNegate 411
             413:202(i16vec3) Load 370(u16v)
             414:202(i16vec3) ExtInst 1(GLSL.std.450) 44(UClamp) 410 412 413
                              Store 370(u16v) 414
             415:     15(ptr) AccessChain 357(i16v) 291
             416: 14(int16_t) Load 415
             417:     15(ptr) AccessChain 357(i16v) 273
             418: 14(int16_t) Load 417
             420: 14(int16_t) Select 419 418 416
                              Store 360(i16) 420
             421: 14(int16_t) Load 360(i16)
             422: 52(i16vec2) CompositeConstruct 421 421
             423: 14(int16_t) Load 360(i16)
             424: 14(int16_t) SNegate 423
             425: 52(i16vec2) CompositeConstruct 424 424
             428: 52(i16vec2) Select 427 425 422
                              Store 357(i16v) 428
             429:     37(ptr) AccessChain 370(u16v) 291
             430: 36(int16_t) Load 429
             431:     37(ptr) AccessChain 370(u16v) 273
             432: 36(int16_t) Load 431
             433: 36(int16_t) Select 419 432 430
                              Store 372(u16) 433
             434: 36(int16_t) Load 372(u16)
             435:202(i16vec3) CompositeConstruct 434 434 434
             436: 36(int16_t) Load 372(u16)
             437: 36(int16_t) SNegate 436
             438:202(i16vec3) CompositeConstruct 437 437 437
             441:202(i16vec3) Select 440 438 435
                              Store 370(u16v) 441
             443: 52(i16vec2) Load 357(i16v)
             444:     27(int) Bitcast 443
                              Store 442(i32) 444
             449:446(i16vec4) Load 448(i16v4)
             450: 71(int64_t) Bitcast 449
                              Store 445(i64) 450
             453: 57(i16vec2) Load 452(u16v2)
             454:     17(int) Bitcast 453
                              Store 451(u32) 454
             460:457(i16vec4) Load 459(u16v4)
             461: 77(int64_t) Bitcast 460
                              Store 456(u64) 461
             462:     27(int) Load 442(i32)
             463: 52(i16vec2) Bitcast 462
                              Store 357(i16v) 463
             464: 71(int64_t) Load 445(i64)
             465:446(i16vec4) Bitcast 464
                              Store 448(i16v4) 465
             466:     17(int) Load 451(u32)
             467: 57(i16vec2) Bitcast 466
                              Store 452(u16v2) 467
             468: 77(int64_t) Load 456(u64)
             469:457(i16vec4) Bitcast 468
                              Store 459(u16v4) 469
             472:202(i16vec3) Load 370(u16v)
             473: 36(int16_t) Load 372(u16)
             474:202(i16vec3) CompositeConstruct 473 473 473
             475:  439(bvec3) ULessThan 472 474
                              Store 471(bv) 475
             476: 52(i16vec2) Load 357(i16v)
             477: 14(int16_t) Load 360(i16)
             478: 52(i16vec2) CompositeConstruct 477 477
             479:  174(bvec2) SLessThan 476 478
             480:    289(ptr) AccessChain 471(bv) 291
             481:   173(bool) CompositeExtract 479 0
                              Store 480 481
             482:    289(ptr) AccessChain 471(bv) 273
             483:   173(bool) CompositeExtract 479 1
                              Store 482 483
             484:202(i16vec3) Load 370(u16v)
             485: 36(int16_t) Load 372(u16)
             486:202(i16vec3) CompositeConstruct 485 485 485
             487:  439(bvec3) ULessThanEqual 484 486
                              Store 471(bv) 487
             488: 52(i16vec2) Load 357(i16v)
             489: 14(int16_t) Load 360(i16)
             490: 52(i16vec2) CompositeConstruct 489 489
             491:  174(bvec2) SLessThanEqual 488 490
             492:    289(ptr) AccessChain 471(bv) 291
             493:   173(bool) CompositeExtract 491 0
                              Store 492 493
             494:    289(ptr) AccessChain 471(bv) 273
             495:   173(bool) CompositeExtract 491 1
                              Store 494 495
             496:202(i16vec3) Load 370(u16v)
             497: 36(int16_t) Load 372(u16)
             498:202(i16vec3) CompositeConstruct 497 497 497
             499:  439(bvec3) UGreaterThan 496 498
                              Store 471(bv) 499
             500: 52(i16vec2) Load 357(i16v)
             501: 14(int16_t) Load 360(i16)
             502: 52(i16vec2) CompositeConstruct 501 501
             503:  174(bvec2) SGreaterThan 500 502
             504:    289(ptr) AccessChain 471(bv) 291
             505:   173(bool) CompositeExtract 503 0
                              Store 504 505
             506:    289(ptr) AccessChain 471(bv) 273
             507:   173(bool) CompositeExtract 503 1
                              Store 506 507
             508:202(i16vec3) Load 370(u16v)
             509: 36(int16_t) Load 372(u16)
             510:202(i16vec3) CompositeConstruct 509 509 509
             511:  439(bvec3) UGreaterThanEqual 508 510
                              Store 471(bv) 511
             512: 52(i16vec2) Load 357(i16v)
             513: 14(int16_t) Load 360(i16)
             514: 52(i16vec2) CompositeConstruct 513 513
             515:  174(bvec2) SGreaterThanEqual 512 514
             516:    289(ptr) AccessChain 471(bv) 291
             517:   173(bool) CompositeExtract 515 0
                              Store 516 517
             518:    289(ptr) AccessChain 471(bv) 273
             519:   173(bool) CompositeExtract 515 1
                              Store 518 519
             520:202(i16vec3) Load 370(u16v)
             521: 36(int16_t) Load 372(u16)
             522:202(i16vec3) CompositeConstruct 521 521 521
             523:  439(bvec3) IEqual 520 522
                              Store 471(bv) 523
             524: 52(i16vec2) Load 357(i16v)
             525: 14(int16_t) Load 360(i16)
             526: 52(i16vec2) CompositeConstruct 525 525
             527:  174(bvec2) IEqual 524 526
             528:    289(ptr) AccessChain 471(bv) 291
             529:   173(bool) CompositeExtract 527 0
                              Store 528 529
             530:    289(ptr) AccessChain 471(bv) 273
             531:   173(bool) CompositeExtract 527 1
                              Store 530 531
             532:202(i16vec3) Load 370(u16v)
             533: 36(int16_t) Load 372(u16)
             534:202(i16vec3) CompositeConstruct 533 533 533
             535:  439(bvec3) INotEqual 532 534
                              Store 471(bv) 535
             536: 52(i16vec2) Load 357(i16v)
             537: 14(int16_t) Load 360(i16)
             538: 52(i16vec2) CompositeConstruct 537 537
             539:  174(bvec2) INotEqual 536 538
             540:    289(ptr) AccessChain 471(bv) 291
             541:   173(bool) CompositeExtract 539 0
                              Store 540 541
             542:    289(ptr) AccessChain 471(bv) 273
             543:   173(bool) CompositeExtract 539 1
                              Store 542 543
                              Return
                              FunctionEnd
