spv.float16.frag
Validation failed
// Module Version 10000
// Generated by (magic number): 80008
// Id's are bound by 534

                              Capability Shader
                              Capability Float16
                              Capability Float64
                              Capability Int64
                              Capability DerivativeControl
                              Capability InterpolationFunction
                              Capability StorageUniformBufferBlock16
                              Capability StorageUniform16
                              Capability StorageInputOutput16
                              Extension  "SPV_AMD_gpu_shader_half_float"
                              Extension  "SPV_KHR_16bit_storage"
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 465
                              ExecutionMode 4 OriginUpperLeft
                              Source GLSL 450
                              SourceExtension  "GL_AMD_gpu_shader_half_float"
                              SourceExtension  "GL_ARB_gpu_shader_int64"
                              Name 4  "main"
                              Name 6  "literal("
                              Name 8  "operators("
                              Name 10  "typeCast("
                              Name 12  "builtinAngleTrigFuncs("
                              Name 14  "builtinExpFuncs("
                              Name 16  "builtinCommonFuncs("
                              Name 18  "builtinPackUnpackFuncs("
                              Name 20  "builtinGeometryFuncs("
                              Name 22  "builtinMatrixFuncs("
                              Name 24  "builtinVecRelFuncs("
                              Name 26  "builtinFragProcFuncs("
                              Name 31  "f16v"
                              Name 42  "f16v"
                              Name 64  "f16m"
                              Name 87  "f16"
                              Name 111  "b"
                              Name 153  "f16v"
                              Name 156  "bv"
                              Name 167  "fv"
                              Name 175  "dv"
                              Name 186  "iv"
                              Name 193  "uv"
                              Name 201  "i64v"
                              Name 209  "u64v"
                              Name 216  "f16v2"
                              Name 217  "f16v1"
                              Name 249  "f16v2"
                              Name 250  "f16v1"
                              Name 266  "f16v2"
                              Name 267  "f16v1"
                              Name 288  "f16"
                              Name 292  "f16v3"
                              Name 332  "bv"
                              Name 353  "b"
                              Name 363  "iv"
                              Name 364  "ResType"
                              Name 372  "u"
                              Name 373  "f16v"
                              Name 378  "f16"
                              Name 379  "f16v1"
                              Name 383  "f16v2"
                              Name 389  "f16v3"
                              Name 408  "f16m3"
                              Name 409  "f16m1"
                              Name 411  "f16m2"
                              Name 420  "f16v1"
                              Name 422  "f16v2"
                              Name 427  "f16m4"
                              Name 430  "f16"
                              Name 433  "f16m5"
                              Name 438  "f16m6"
                              Name 439  "f16m7"
                              Name 442  "bv"
                              Name 443  "f16v1"
                              Name 445  "f16v2"
                              Name 463  "f16v"
                              Name 465  "if16v"
                              Name 514  "S"
                              MemberName 514(S) 0  "x"
                              MemberName 514(S) 1  "y"
                              MemberName 514(S) 2  "z"
                              Name 516  "B1"
                              MemberName 516(B1) 0  "a"
                              MemberName 516(B1) 1  "b"
                              MemberName 516(B1) 2  "c"
                              MemberName 516(B1) 3  "d"
                              MemberName 516(B1) 4  "e"
                              MemberName 516(B1) 5  "f"
                              MemberName 516(B1) 6  "g"
                              MemberName 516(B1) 7  "h"
                              Name 518  ""
                              Name 521  "S"
                              MemberName 521(S) 0  "x"
                              MemberName 521(S) 1  "y"
                              MemberName 521(S) 2  "z"
                              Name 523  "B2"
                              MemberName 523(B2) 0  "o"
                              MemberName 523(B2) 1  "p"
                              MemberName 523(B2) 2  "q"
                              MemberName 523(B2) 3  "r"
                              MemberName 523(B2) 4  "s"
                              MemberName 523(B2) 5  "t"
                              MemberName 523(B2) 6  "u"
                              MemberName 523(B2) 7  "v"
                              Name 525  ""
                              Name 526  "sf16"
                              Name 527  "sf"
                              Name 528  "sd"
                              Name 529  "f16_to_f"
                              Name 531  "f16_to_d"
                              Name 532  "f_to_f16"
                              Name 533  "d_to_f16"
                              Decorate 512 ArrayStride 16
                              Decorate 513 ArrayStride 32
                              MemberDecorate 514(S) 0 Offset 0
                              MemberDecorate 514(S) 1 Offset 4
                              MemberDecorate 514(S) 2 Offset 8
                              Decorate 515 ArrayStride 16
                              MemberDecorate 516(B1) 0 Offset 0
                              MemberDecorate 516(B1) 1 Offset 4
                              MemberDecorate 516(B1) 2 Offset 8
                              MemberDecorate 516(B1) 3 Offset 16
                              MemberDecorate 516(B1) 4 ColMajor
                              MemberDecorate 516(B1) 4 Offset 48
                              MemberDecorate 516(B1) 4 MatrixStride 16
                              MemberDecorate 516(B1) 5 ColMajor
                              MemberDecorate 516(B1) 5 Offset 80
                              MemberDecorate 516(B1) 5 MatrixStride 16
                              MemberDecorate 516(B1) 6 Offset 144
                              MemberDecorate 516(B1) 7 Offset 160
                              Decorate 516(B1) Block
                              Decorate 518 DescriptorSet 0
                              Decorate 518 Binding 0
                              Decorate 519 ArrayStride 2
                              Decorate 520 ArrayStride 12
                              MemberDecorate 521(S) 0 Offset 0
                              MemberDecorate 521(S) 1 Offset 4
                              MemberDecorate 521(S) 2 Offset 8
                              Decorate 522 ArrayStride 16
                              MemberDecorate 523(B2) 0 Offset 0
                              MemberDecorate 523(B2) 1 Offset 4
                              MemberDecorate 523(B2) 2 Offset 8
                              MemberDecorate 523(B2) 3 Offset 14
                              MemberDecorate 523(B2) 4 RowMajor
                              MemberDecorate 523(B2) 4 Offset 20
                              MemberDecorate 523(B2) 4 MatrixStride 4
                              MemberDecorate 523(B2) 5 RowMajor
                              MemberDecorate 523(B2) 5 Offset 32
                              MemberDecorate 523(B2) 5 MatrixStride 4
                              MemberDecorate 523(B2) 6 Offset 56
                              MemberDecorate 523(B2) 7 Offset 72
                              Decorate 523(B2) BufferBlock
                              Decorate 525 DescriptorSet 0
                              Decorate 525 Binding 0
                              Decorate 526(sf16) SpecId 100
                              Decorate 527(sf) SpecId 101
                              Decorate 528(sd) SpecId 102
               2:             TypeVoid
               3:             TypeFunction 2
              28:             TypeFloat 16
              29:             TypeVector 28(float16_t) 2
              30:             TypePointer Function 29(f16vec2)
              32:28(float16_t) Constant 16
              33:             TypeInt 32 0
              34:     33(int) Constant 0
              35:             TypePointer Function 28(float16_t)
              37:28(float16_t) Constant 46080
              38:28(float16_t) Constant 10158
              39: 29(f16vec2) ConstantComposite 37 38
              56:28(float16_t) Constant 15360
              62:             TypeMatrix 29(f16vec2) 2
              63:             TypePointer Function 62
              90:     33(int) Constant 1
             109:             TypeBool
             110:             TypePointer Function 109(bool)
             151:             TypeVector 28(float16_t) 3
             152:             TypePointer Function 151(f16vec3)
             154:             TypeVector 109(bool) 3
             155:             TypePointer Function 154(bvec3)
             158:28(float16_t) Constant 0
             159:151(f16vec3) ConstantComposite 158 158 158
             160:151(f16vec3) ConstantComposite 56 56 56
             164:             TypeFloat 32
             165:             TypeVector 164(float) 3
             166:             TypePointer Function 165(fvec3)
             172:             TypeFloat 64
             173:             TypeVector 172(float64_t) 3
             174:             TypePointer Function 173(f64vec3)
             183:             TypeInt 32 1
             184:             TypeVector 183(int) 3
             185:             TypePointer Function 184(ivec3)
             191:             TypeVector 33(int) 3
             192:             TypePointer Function 191(ivec3)
             198:             TypeInt 64 1
             199:             TypeVector 198(int64_t) 3
             200:             TypePointer Function 199(i64vec3)
             206:             TypeInt 64 0
             207:             TypeVector 206(int64_t) 3
             208:             TypePointer Function 207(i64vec3)
             214:             TypeVector 28(float16_t) 4
             215:             TypePointer Function 214(f16vec4)
    364(ResType):             TypeStruct 151(f16vec3) 184(ivec3)
             371:             TypePointer Function 33(int)
             406:             TypeMatrix 151(f16vec3) 2
             407:             TypePointer Function 406
             425:             TypeMatrix 29(f16vec2) 3
             426:             TypePointer Function 425
             431:             TypeMatrix 151(f16vec3) 3
             432:             TypePointer Function 431
             436:             TypeMatrix 214(f16vec4) 4
             437:             TypePointer Function 436
             464:             TypePointer Input 151(f16vec3)
      465(if16v):    464(ptr) Variable Input
             466:             TypePointer Input 28(float16_t)
             503:    183(int) Constant 1
             508:28(float16_t) Constant 14336
             509: 29(f16vec2) ConstantComposite 508 508
             511:     33(int) Constant 2
             512:             TypeArray 28(float16_t) 511
             513:             TypeArray 406 511
          514(S):             TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3)
             515:             TypeArray 514(S) 511
         516(B1):             TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3) 512 406 513 514(S) 515
             517:             TypePointer Uniform 516(B1)
             518:    517(ptr) Variable Uniform
             519:             TypeArray 28(float16_t) 511
             520:             TypeArray 406 511
          521(S):             TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3)
             522:             TypeArray 521(S) 511
         523(B2):             TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3) 519 406 520 521(S) 522
             524:             TypePointer Uniform 523(B2)
             525:    524(ptr) Variable Uniform
       526(sf16):28(float16_t) SpecConstant 12288
         527(sf):  164(float) SpecConstant 1048576000
         528(sd):172(float64_t) SpecConstant 0 1071644672
   529(f16_to_f):  164(float) SpecConstantOp 115 526(sf16)
             530:  164(float) SpecConstantOp 115 526(sf16)
   531(f16_to_d):172(float64_t) SpecConstantOp 115 530
   532(f_to_f16):28(float16_t) SpecConstantOp 115 527(sf)
   533(d_to_f16):28(float16_t) SpecConstantOp 115 528(sd)
         4(main):           2 Function None 3
               5:             Label
                              Return
                              FunctionEnd
     6(literal():           2 Function None 3
               7:             Label
        31(f16v):     30(ptr) Variable Function
              36:     35(ptr) AccessChain 31(f16v) 34
                              Store 36 32
              40: 29(f16vec2) Load 31(f16v)
              41: 29(f16vec2) FAdd 40 39
                              Store 31(f16v) 41
                              Return
                              FunctionEnd
   8(operators():           2 Function None 3
               9:             Label
        42(f16v):     30(ptr) Variable Function
        64(f16m):     63(ptr) Variable Function
         87(f16):     35(ptr) Variable Function
          111(b):    110(ptr) Variable Function
              43: 29(f16vec2) Load 42(f16v)
              44: 29(f16vec2) Load 42(f16v)
              45: 29(f16vec2) FAdd 44 43
                              Store 42(f16v) 45
              46: 29(f16vec2) Load 42(f16v)
              47: 29(f16vec2) Load 42(f16v)
              48: 29(f16vec2) FSub 47 46
                              Store 42(f16v) 48
              49: 29(f16vec2) Load 42(f16v)
              50: 29(f16vec2) Load 42(f16v)
              51: 29(f16vec2) FMul 50 49
                              Store 42(f16v) 51
              52: 29(f16vec2) Load 42(f16v)
              53: 29(f16vec2) Load 42(f16v)
              54: 29(f16vec2) FDiv 53 52
                              Store 42(f16v) 54
              55: 29(f16vec2) Load 42(f16v)
              57: 29(f16vec2) CompositeConstruct 56 56
              58: 29(f16vec2) FAdd 55 57
                              Store 42(f16v) 58
              59: 29(f16vec2) Load 42(f16v)
              60: 29(f16vec2) CompositeConstruct 56 56
              61: 29(f16vec2) FSub 59 60
                              Store 42(f16v) 61
              65:          62 Load 64(f16m)
              66: 29(f16vec2) CompositeConstruct 56 56
              67: 29(f16vec2) CompositeExtract 65 0
              68: 29(f16vec2) FAdd 67 66
              69: 29(f16vec2) CompositeExtract 65 1
              70: 29(f16vec2) FAdd 69 66
              71:          62 CompositeConstruct 68 70
                              Store 64(f16m) 71
              72:          62 Load 64(f16m)
              73: 29(f16vec2) CompositeConstruct 56 56
              74: 29(f16vec2) CompositeExtract 72 0
              75: 29(f16vec2) FSub 74 73
              76: 29(f16vec2) CompositeExtract 72 1
              77: 29(f16vec2) FSub 76 73
              78:          62 CompositeConstruct 75 77
                              Store 64(f16m) 78
              79: 29(f16vec2) Load 42(f16v)
              80: 29(f16vec2) FNegate 79
                              Store 42(f16v) 80
              81:          62 Load 64(f16m)
              82: 29(f16vec2) CompositeExtract 81 0
              83: 29(f16vec2) FNegate 82
              84: 29(f16vec2) CompositeExtract 81 1
              85: 29(f16vec2) FNegate 84
              86:          62 CompositeConstruct 83 85
                              Store 64(f16m) 86
              88:     35(ptr) AccessChain 42(f16v) 34
              89:28(float16_t) Load 88
              91:     35(ptr) AccessChain 42(f16v) 90
              92:28(float16_t) Load 91
              93:28(float16_t) FAdd 89 92
                              Store 87(f16) 93
              94:     35(ptr) AccessChain 42(f16v) 34
              95:28(float16_t) Load 94
              96:     35(ptr) AccessChain 42(f16v) 90
              97:28(float16_t) Load 96
              98:28(float16_t) FSub 95 97
                              Store 87(f16) 98
              99:     35(ptr) AccessChain 42(f16v) 34
             100:28(float16_t) Load 99
             101:     35(ptr) AccessChain 42(f16v) 90
             102:28(float16_t) Load 101
             103:28(float16_t) FMul 100 102
                              Store 87(f16) 103
             104:     35(ptr) AccessChain 42(f16v) 34
             105:28(float16_t) Load 104
             106:     35(ptr) AccessChain 42(f16v) 90
             107:28(float16_t) Load 106
             108:28(float16_t) FDiv 105 107
                              Store 87(f16) 108
             112:     35(ptr) AccessChain 42(f16v) 34
             113:28(float16_t) Load 112
             114:28(float16_t) Load 87(f16)
             115:   109(bool) FOrdNotEqual 113 114
                              Store 111(b) 115
             116:     35(ptr) AccessChain 42(f16v) 90
             117:28(float16_t) Load 116
             118:28(float16_t) Load 87(f16)
             119:   109(bool) FOrdEqual 117 118
                              Store 111(b) 119
             120:     35(ptr) AccessChain 42(f16v) 34
             121:28(float16_t) Load 120
             122:28(float16_t) Load 87(f16)
             123:   109(bool) FOrdGreaterThan 121 122
                              Store 111(b) 123
             124:     35(ptr) AccessChain 42(f16v) 90
             125:28(float16_t) Load 124
             126:28(float16_t) Load 87(f16)
             127:   109(bool) FOrdLessThan 125 126
                              Store 111(b) 127
             128:     35(ptr) AccessChain 42(f16v) 34
             129:28(float16_t) Load 128
             130:28(float16_t) Load 87(f16)
             131:   109(bool) FOrdGreaterThanEqual 129 130
                              Store 111(b) 131
             132:     35(ptr) AccessChain 42(f16v) 90
             133:28(float16_t) Load 132
             134:28(float16_t) Load 87(f16)
             135:   109(bool) FOrdLessThanEqual 133 134
                              Store 111(b) 135
             136: 29(f16vec2) Load 42(f16v)
             137:28(float16_t) Load 87(f16)
             138: 29(f16vec2) VectorTimesScalar 136 137
                              Store 42(f16v) 138
             139:          62 Load 64(f16m)
             140:28(float16_t) Load 87(f16)
             141:          62 MatrixTimesScalar 139 140
                              Store 64(f16m) 141
             142:          62 Load 64(f16m)
             143: 29(f16vec2) Load 42(f16v)
             144: 29(f16vec2) MatrixTimesVector 142 143
                              Store 42(f16v) 144
             145: 29(f16vec2) Load 42(f16v)
             146:          62 Load 64(f16m)
             147: 29(f16vec2) VectorTimesMatrix 145 146
                              Store 42(f16v) 147
             148:          62 Load 64(f16m)
             149:          62 Load 64(f16m)
             150:          62 MatrixTimesMatrix 148 149
                              Store 64(f16m) 150
                              Return
                              FunctionEnd
   10(typeCast():           2 Function None 3
              11:             Label
       153(f16v):    152(ptr) Variable Function
         156(bv):    155(ptr) Variable Function
         167(fv):    166(ptr) Variable Function
         175(dv):    174(ptr) Variable Function
         186(iv):    185(ptr) Variable Function
         193(uv):    192(ptr) Variable Function
       201(i64v):    200(ptr) Variable Function
       209(u64v):    208(ptr) Variable Function
             157:  154(bvec3) Load 156(bv)
             161:151(f16vec3) Select 157 160 159
                              Store 153(f16v) 161
             162:151(f16vec3) Load 153(f16v)
             163:  154(bvec3) FOrdNotEqual 162 159
                              Store 156(bv) 163
             168:  165(fvec3) Load 167(fv)
             169:151(f16vec3) FConvert 168
                              Store 153(f16v) 169
             170:151(f16vec3) Load 153(f16v)
             171:  165(fvec3) FConvert 170
                              Store 167(fv) 171
             176:173(f64vec3) Load 175(dv)
             177:151(f16vec3) FConvert 176
                              Store 153(f16v) 177
             178:173(f64vec3) Load 175(dv)
             179:172(float64_t) CompositeExtract 178 0
             180:172(float64_t) CompositeExtract 178 1
             181:172(float64_t) CompositeExtract 178 2
             182:173(f64vec3) CompositeConstruct 179 180 181
                              Store 175(dv) 182
             187:  184(ivec3) Load 186(iv)
             188:151(f16vec3) ConvertSToF 187
                              Store 153(f16v) 188
             189:151(f16vec3) Load 153(f16v)
             190:  184(ivec3) ConvertFToS 189
                              Store 186(iv) 190
             194:  191(ivec3) Load 193(uv)
             195:151(f16vec3) ConvertUToF 194
                              Store 153(f16v) 195
             196:151(f16vec3) Load 153(f16v)
             197:  191(ivec3) ConvertFToU 196
                              Store 193(uv) 197
             202:199(i64vec3) Load 201(i64v)
             203:151(f16vec3) ConvertSToF 202
                              Store 153(f16v) 203
             204:151(f16vec3) Load 153(f16v)
             205:199(i64vec3) ConvertFToS 204
                              Store 201(i64v) 205
             210:207(i64vec3) Load 209(u64v)
             211:151(f16vec3) ConvertUToF 210
                              Store 153(f16v) 211
             212:151(f16vec3) Load 153(f16v)
             213:207(i64vec3) ConvertFToU 212
                              Store 209(u64v) 213
                              Return
                              FunctionEnd
12(builtinAngleTrigFuncs():           2 Function None 3
              13:             Label
      216(f16v2):    215(ptr) Variable Function
      217(f16v1):    215(ptr) Variable Function
             218:214(f16vec4) Load 217(f16v1)
             219:214(f16vec4) ExtInst 1(GLSL.std.450) 11(Radians) 218
                              Store 216(f16v2) 219
             220:214(f16vec4) Load 217(f16v1)
             221:214(f16vec4) ExtInst 1(GLSL.std.450) 12(Degrees) 220
                              Store 216(f16v2) 221
             222:214(f16vec4) Load 217(f16v1)
             223:214(f16vec4) ExtInst 1(GLSL.std.450) 13(Sin) 222
                              Store 216(f16v2) 223
             224:214(f16vec4) Load 217(f16v1)
             225:214(f16vec4) ExtInst 1(GLSL.std.450) 14(Cos) 224
                              Store 216(f16v2) 225
             226:214(f16vec4) Load 217(f16v1)
             227:214(f16vec4) ExtInst 1(GLSL.std.450) 15(Tan) 226
                              Store 216(f16v2) 227
             228:214(f16vec4) Load 217(f16v1)
             229:214(f16vec4) ExtInst 1(GLSL.std.450) 16(Asin) 228
                              Store 216(f16v2) 229
             230:214(f16vec4) Load 217(f16v1)
             231:214(f16vec4) ExtInst 1(GLSL.std.450) 17(Acos) 230
                              Store 216(f16v2) 231
             232:214(f16vec4) Load 217(f16v1)
             233:214(f16vec4) Load 216(f16v2)
             234:214(f16vec4) ExtInst 1(GLSL.std.450) 25(Atan2) 232 233
                              Store 216(f16v2) 234
             235:214(f16vec4) Load 217(f16v1)
             236:214(f16vec4) ExtInst 1(GLSL.std.450) 18(Atan) 235
                              Store 216(f16v2) 236
             237:214(f16vec4) Load 217(f16v1)
             238:214(f16vec4) ExtInst 1(GLSL.std.450) 19(Sinh) 237
                              Store 216(f16v2) 238
             239:214(f16vec4) Load 217(f16v1)
             240:214(f16vec4) ExtInst 1(GLSL.std.450) 20(Cosh) 239
                              Store 216(f16v2) 240
             241:214(f16vec4) Load 217(f16v1)
             242:214(f16vec4) ExtInst 1(GLSL.std.450) 21(Tanh) 241
                              Store 216(f16v2) 242
             243:214(f16vec4) Load 217(f16v1)
             244:214(f16vec4) ExtInst 1(GLSL.std.450) 22(Asinh) 243
                              Store 216(f16v2) 244
             245:214(f16vec4) Load 217(f16v1)
             246:214(f16vec4) ExtInst 1(GLSL.std.450) 23(Acosh) 245
                              Store 216(f16v2) 246
             247:214(f16vec4) Load 217(f16v1)
             248:214(f16vec4) ExtInst 1(GLSL.std.450) 24(Atanh) 247
                              Store 216(f16v2) 248
                              Return
                              FunctionEnd
14(builtinExpFuncs():           2 Function None 3
              15:             Label
      249(f16v2):     30(ptr) Variable Function
      250(f16v1):     30(ptr) Variable Function
             251: 29(f16vec2) Load 250(f16v1)
             252: 29(f16vec2) Load 249(f16v2)
             253: 29(f16vec2) ExtInst 1(GLSL.std.450) 26(Pow) 251 252
                              Store 249(f16v2) 253
             254: 29(f16vec2) Load 250(f16v1)
             255: 29(f16vec2) ExtInst 1(GLSL.std.450) 27(Exp) 254
                              Store 249(f16v2) 255
             256: 29(f16vec2) Load 250(f16v1)
             257: 29(f16vec2) ExtInst 1(GLSL.std.450) 28(Log) 256
                              Store 249(f16v2) 257
             258: 29(f16vec2) Load 250(f16v1)
             259: 29(f16vec2) ExtInst 1(GLSL.std.450) 29(Exp2) 258
                              Store 249(f16v2) 259
             260: 29(f16vec2) Load 250(f16v1)
             261: 29(f16vec2) ExtInst 1(GLSL.std.450) 30(Log2) 260
                              Store 249(f16v2) 261
             262: 29(f16vec2) Load 250(f16v1)
             263: 29(f16vec2) ExtInst 1(GLSL.std.450) 31(Sqrt) 262
                              Store 249(f16v2) 263
             264: 29(f16vec2) Load 250(f16v1)
             265: 29(f16vec2) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 264
                              Store 249(f16v2) 265
                              Return
                              FunctionEnd
16(builtinCommonFuncs():           2 Function None 3
              17:             Label
      266(f16v2):    152(ptr) Variable Function
      267(f16v1):    152(ptr) Variable Function
        288(f16):     35(ptr) Variable Function
      292(f16v3):    152(ptr) Variable Function
         332(bv):    155(ptr) Variable Function
          353(b):    110(ptr) Variable Function
         363(iv):    185(ptr) Variable Function
             268:151(f16vec3) Load 267(f16v1)
             269:151(f16vec3) ExtInst 1(GLSL.std.450) 4(FAbs) 268
                              Store 266(f16v2) 269
             270:151(f16vec3) Load 267(f16v1)
             271:151(f16vec3) ExtInst 1(GLSL.std.450) 6(FSign) 270
                              Store 266(f16v2) 271
             272:151(f16vec3) Load 267(f16v1)
             273:151(f16vec3) ExtInst 1(GLSL.std.450) 8(Floor) 272
                              Store 266(f16v2) 273
             274:151(f16vec3) Load 267(f16v1)
             275:151(f16vec3) ExtInst 1(GLSL.std.450) 3(Trunc) 274
                              Store 266(f16v2) 275
             276:151(f16vec3) Load 267(f16v1)
             277:151(f16vec3) ExtInst 1(GLSL.std.450) 1(Round) 276
                              Store 266(f16v2) 277
             278:151(f16vec3) Load 267(f16v1)
             279:151(f16vec3) ExtInst 1(GLSL.std.450) 2(RoundEven) 278
                              Store 266(f16v2) 279
             280:151(f16vec3) Load 267(f16v1)
             281:151(f16vec3) ExtInst 1(GLSL.std.450) 9(Ceil) 280
                              Store 266(f16v2) 281
             282:151(f16vec3) Load 267(f16v1)
             283:151(f16vec3) ExtInst 1(GLSL.std.450) 10(Fract) 282
                              Store 266(f16v2) 283
             284:151(f16vec3) Load 267(f16v1)
             285:151(f16vec3) Load 266(f16v2)
             286:151(f16vec3) FMod 284 285
                              Store 266(f16v2) 286
             287:151(f16vec3) Load 267(f16v1)
             289:28(float16_t) Load 288(f16)
             290:151(f16vec3) CompositeConstruct 289 289 289
             291:151(f16vec3) FMod 287 290
                              Store 266(f16v2) 291
             293:151(f16vec3) Load 267(f16v1)
             294:151(f16vec3) ExtInst 1(GLSL.std.450) 35(Modf) 293 266(f16v2)
                              Store 292(f16v3) 294
             295:151(f16vec3) Load 267(f16v1)
             296:151(f16vec3) Load 266(f16v2)
             297:151(f16vec3) ExtInst 1(GLSL.std.450) 37(FMin) 295 296
                              Store 292(f16v3) 297
             298:151(f16vec3) Load 267(f16v1)
             299:28(float16_t) Load 288(f16)
             300:151(f16vec3) CompositeConstruct 299 299 299
             301:151(f16vec3) ExtInst 1(GLSL.std.450) 37(FMin) 298 300
                              Store 292(f16v3) 301
             302:151(f16vec3) Load 267(f16v1)
             303:151(f16vec3) Load 266(f16v2)
             304:151(f16vec3) ExtInst 1(GLSL.std.450) 40(FMax) 302 303
                              Store 292(f16v3) 304
             305:151(f16vec3) Load 267(f16v1)
             306:28(float16_t) Load 288(f16)
             307:151(f16vec3) CompositeConstruct 306 306 306
             308:151(f16vec3) ExtInst 1(GLSL.std.450) 40(FMax) 305 307
                              Store 292(f16v3) 308
             309:151(f16vec3) Load 267(f16v1)
             310:28(float16_t) Load 288(f16)
             311:     35(ptr) AccessChain 266(f16v2) 34
             312:28(float16_t) Load 311
             313:151(f16vec3) CompositeConstruct 310 310 310
             314:151(f16vec3) CompositeConstruct 312 312 312
             315:151(f16vec3) ExtInst 1(GLSL.std.450) 43(FClamp) 309 313 314
                              Store 292(f16v3) 315
             316:151(f16vec3) Load 267(f16v1)
             317:151(f16vec3) Load 266(f16v2)
             318:28(float16_t) Load 288(f16)
             319:151(f16vec3) CompositeConstruct 318 318 318
             320:151(f16vec3) ExtInst 1(GLSL.std.450) 43(FClamp) 316 317 319
                              Store 292(f16v3) 320
             321:151(f16vec3) Load 267(f16v1)
             322:151(f16vec3) Load 266(f16v2)
             323:28(float16_t) Load 288(f16)
             324:151(f16vec3) CompositeConstruct 323 323 323
             325:151(f16vec3) ExtInst 1(GLSL.std.450) 46(FMix) 321 322 324
                              Store 292(f16v3) 325
             326:151(f16vec3) Load 267(f16v1)
             327:151(f16vec3) Load 266(f16v2)
             328:151(f16vec3) Load 292(f16v3)
             329:151(f16vec3) ExtInst 1(GLSL.std.450) 46(FMix) 326 327 328
                              Store 292(f16v3) 329
             330:151(f16vec3) Load 267(f16v1)
             331:151(f16vec3) Load 266(f16v2)
             333:  154(bvec3) Load 332(bv)
             334:151(f16vec3) Select 333 331 330
                              Store 292(f16v3) 334
             335:151(f16vec3) Load 267(f16v1)
             336:151(f16vec3) Load 266(f16v2)
             337:151(f16vec3) ExtInst 1(GLSL.std.450) 48(Step) 335 336
                              Store 292(f16v3) 337
             338:28(float16_t) Load 288(f16)
             339:151(f16vec3) Load 292(f16v3)
             340:151(f16vec3) CompositeConstruct 338 338 338
             341:151(f16vec3) ExtInst 1(GLSL.std.450) 48(Step) 340 339
                              Store 292(f16v3) 341
             342:151(f16vec3) Load 267(f16v1)
             343:151(f16vec3) Load 266(f16v2)
             344:151(f16vec3) Load 292(f16v3)
             345:151(f16vec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 342 343 344
                              Store 292(f16v3) 345
             346:28(float16_t) Load 288(f16)
             347:     35(ptr) AccessChain 267(f16v1) 34
             348:28(float16_t) Load 347
             349:151(f16vec3) Load 266(f16v2)
             350:151(f16vec3) CompositeConstruct 346 346 346
             351:151(f16vec3) CompositeConstruct 348 348 348
             352:151(f16vec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 350 351 349
                              Store 292(f16v3) 352
             354:28(float16_t) Load 288(f16)
             355:   109(bool) IsNan 354
                              Store 353(b) 355
             356:151(f16vec3) Load 267(f16v1)
             357:  154(bvec3) IsInf 356
                              Store 332(bv) 357
             358:151(f16vec3) Load 267(f16v1)
             359:151(f16vec3) Load 266(f16v2)
             360:151(f16vec3) Load 292(f16v3)
             361:151(f16vec3) ExtInst 1(GLSL.std.450) 50(Fma) 358 359 360
                              Store 292(f16v3) 361
             362:151(f16vec3) Load 267(f16v1)
             365:364(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 362
             366:  184(ivec3) CompositeExtract 365 1
                              Store 363(iv) 366
             367:151(f16vec3) CompositeExtract 365 0
                              Store 266(f16v2) 367
             368:151(f16vec3) Load 267(f16v1)
             369:  184(ivec3) Load 363(iv)
             370:151(f16vec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 368 369
                              Store 266(f16v2) 370
                              Return
                              FunctionEnd
18(builtinPackUnpackFuncs():           2 Function None 3
              19:             Label
          372(u):    371(ptr) Variable Function
       373(f16v):     30(ptr) Variable Function
             374: 29(f16vec2) Load 373(f16v)
             375:     33(int) Bitcast 374
                              Store 372(u) 375
             376:     33(int) Load 372(u)
             377: 29(f16vec2) Bitcast 376
                              Store 373(f16v) 377
                              Return
                              FunctionEnd
20(builtinGeometryFuncs():           2 Function None 3
              21:             Label
        378(f16):     35(ptr) Variable Function
      379(f16v1):    152(ptr) Variable Function
      383(f16v2):    152(ptr) Variable Function
      389(f16v3):    152(ptr) Variable Function
             380:151(f16vec3) Load 379(f16v1)
             381:28(float16_t) ExtInst 1(GLSL.std.450) 66(Length) 380
                              Store 378(f16) 381
             382:151(f16vec3) Load 379(f16v1)
             384:151(f16vec3) Load 383(f16v2)
             385:28(float16_t) ExtInst 1(GLSL.std.450) 67(Distance) 382 384
                              Store 378(f16) 385
             386:151(f16vec3) Load 379(f16v1)
             387:151(f16vec3) Load 383(f16v2)
             388:28(float16_t) Dot 386 387
                              Store 378(f16) 388
             390:151(f16vec3) Load 379(f16v1)
             391:151(f16vec3) Load 383(f16v2)
             392:151(f16vec3) ExtInst 1(GLSL.std.450) 68(Cross) 390 391
                              Store 389(f16v3) 392
             393:151(f16vec3) Load 379(f16v1)
             394:151(f16vec3) ExtInst 1(GLSL.std.450) 69(Normalize) 393
                              Store 383(f16v2) 394
             395:151(f16vec3) Load 379(f16v1)
             396:151(f16vec3) Load 383(f16v2)
             397:151(f16vec3) Load 389(f16v3)
             398:151(f16vec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 395 396 397
                              Store 389(f16v3) 398
             399:151(f16vec3) Load 379(f16v1)
             400:151(f16vec3) Load 383(f16v2)
             401:151(f16vec3) ExtInst 1(GLSL.std.450) 71(Reflect) 399 400
                              Store 389(f16v3) 401
             402:151(f16vec3) Load 379(f16v1)
             403:151(f16vec3) Load 383(f16v2)
             404:28(float16_t) Load 378(f16)
             405:151(f16vec3) ExtInst 1(GLSL.std.450) 72(Refract) 402 403 404
                              Store 389(f16v3) 405
                              Return
                              FunctionEnd
22(builtinMatrixFuncs():           2 Function None 3
              23:             Label
      408(f16m3):    407(ptr) Variable Function
      409(f16m1):    407(ptr) Variable Function
      411(f16m2):    407(ptr) Variable Function
      420(f16v1):    152(ptr) Variable Function
      422(f16v2):     30(ptr) Variable Function
      427(f16m4):    426(ptr) Variable Function
        430(f16):     35(ptr) Variable Function
      433(f16m5):    432(ptr) Variable Function
      438(f16m6):    437(ptr) Variable Function
      439(f16m7):    437(ptr) Variable Function
             410:         406 Load 409(f16m1)
             412:         406 Load 411(f16m2)
             413:151(f16vec3) CompositeExtract 410 0
             414:151(f16vec3) CompositeExtract 412 0
             415:151(f16vec3) FMul 413 414
             416:151(f16vec3) CompositeExtract 410 1
             417:151(f16vec3) CompositeExtract 412 1
             418:151(f16vec3) FMul 416 417
             419:         406 CompositeConstruct 415 418
                              Store 408(f16m3) 419
             421:151(f16vec3) Load 420(f16v1)
             423: 29(f16vec2) Load 422(f16v2)
             424:         406 OuterProduct 421 423
                              Store 409(f16m1) 424
             428:         406 Load 409(f16m1)
             429:         425 Transpose 428
                              Store 427(f16m4) 429
             434:         431 Load 433(f16m5)
             435:28(float16_t) ExtInst 1(GLSL.std.450) 33(Determinant) 434
                              Store 430(f16) 435
             440:         436 Load 439(f16m7)
             441:         436 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 440
                              Store 438(f16m6) 441
                              Return
                              FunctionEnd
24(builtinVecRelFuncs():           2 Function None 3
              25:             Label
         442(bv):    155(ptr) Variable Function
      443(f16v1):    152(ptr) Variable Function
      445(f16v2):    152(ptr) Variable Function
             444:151(f16vec3) Load 443(f16v1)
             446:151(f16vec3) Load 445(f16v2)
             447:  154(bvec3) FOrdLessThan 444 446
                              Store 442(bv) 447
             448:151(f16vec3) Load 443(f16v1)
             449:151(f16vec3) Load 445(f16v2)
             450:  154(bvec3) FOrdLessThanEqual 448 449
                              Store 442(bv) 450
             451:151(f16vec3) Load 443(f16v1)
             452:151(f16vec3) Load 445(f16v2)
             453:  154(bvec3) FOrdGreaterThan 451 452
                              Store 442(bv) 453
             454:151(f16vec3) Load 443(f16v1)
             455:151(f16vec3) Load 445(f16v2)
             456:  154(bvec3) FOrdGreaterThanEqual 454 455
                              Store 442(bv) 456
             457:151(f16vec3) Load 443(f16v1)
             458:151(f16vec3) Load 445(f16v2)
             459:  154(bvec3) FOrdEqual 457 458
                              Store 442(bv) 459
             460:151(f16vec3) Load 443(f16v1)
             461:151(f16vec3) Load 445(f16v2)
             462:  154(bvec3) FOrdNotEqual 460 461
                              Store 442(bv) 462
                              Return
                              FunctionEnd
26(builtinFragProcFuncs():           2 Function None 3
              27:             Label
       463(f16v):    152(ptr) Variable Function
             467:    466(ptr) AccessChain 465(if16v) 34
             468:28(float16_t) Load 467
             469:28(float16_t) DPdx 468
             470:     35(ptr) AccessChain 463(f16v) 34
                              Store 470 469
             471:    466(ptr) AccessChain 465(if16v) 90
             472:28(float16_t) Load 471
             473:28(float16_t) DPdy 472
             474:     35(ptr) AccessChain 463(f16v) 90
                              Store 474 473
             475:151(f16vec3) Load 465(if16v)
             476: 29(f16vec2) VectorShuffle 475 475 0 1
             477: 29(f16vec2) DPdxFine 476
             478:151(f16vec3) Load 463(f16v)
             479:151(f16vec3) VectorShuffle 478 477 3 4 2
                              Store 463(f16v) 479
             480:151(f16vec3) Load 465(if16v)
             481: 29(f16vec2) VectorShuffle 480 480 0 1
             482: 29(f16vec2) DPdyFine 481
             483:151(f16vec3) Load 463(f16v)
             484:151(f16vec3) VectorShuffle 483 482 3 4 2
                              Store 463(f16v) 484
             485:151(f16vec3) Load 465(if16v)
             486:151(f16vec3) DPdxCoarse 485
                              Store 463(f16v) 486
             487:151(f16vec3) Load 465(if16v)
             488:151(f16vec3) DPdxCoarse 487
                              Store 463(f16v) 488
             489:    466(ptr) AccessChain 465(if16v) 34
             490:28(float16_t) Load 489
             491:28(float16_t) Fwidth 490
             492:     35(ptr) AccessChain 463(f16v) 34
                              Store 492 491
             493:151(f16vec3) Load 465(if16v)
             494: 29(f16vec2) VectorShuffle 493 493 0 1
             495: 29(f16vec2) FwidthFine 494
             496:151(f16vec3) Load 463(f16v)
             497:151(f16vec3) VectorShuffle 496 495 3 4 2
                              Store 463(f16v) 497
             498:151(f16vec3) Load 465(if16v)
             499:151(f16vec3) FwidthCoarse 498
                              Store 463(f16v) 499
             500:    466(ptr) AccessChain 465(if16v) 34
             501:28(float16_t) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 500
             502:     35(ptr) AccessChain 463(f16v) 34
                              Store 502 501
             504:151(f16vec3) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 465(if16v) 503
             505: 29(f16vec2) VectorShuffle 504 504 0 1
             506:151(f16vec3) Load 463(f16v)
             507:151(f16vec3) VectorShuffle 506 505 3 4 2
                              Store 463(f16v) 507
             510:151(f16vec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 465(if16v) 509
                              Store 463(f16v) 510
                              Return
                              FunctionEnd
