spv.float16.frag
Validation failed
// Module Version 10000
// Generated by (magic number): 8000a
// 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) FUnordNotEqual 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) FUnordNotEqual 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) FUnordNotEqual 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
