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

                              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 522  "S"
                              MemberName 522(S) 0  "x"
                              MemberName 522(S) 1  "y"
                              MemberName 522(S) 2  "z"
                              Name 524  "B1"
                              MemberName 524(B1) 0  "a"
                              MemberName 524(B1) 1  "b"
                              MemberName 524(B1) 2  "c"
                              MemberName 524(B1) 3  "d"
                              MemberName 524(B1) 4  "e"
                              MemberName 524(B1) 5  "f"
                              MemberName 524(B1) 6  "g"
                              MemberName 524(B1) 7  "h"
                              Name 526  ""
                              Name 529  "S"
                              MemberName 529(S) 0  "x"
                              MemberName 529(S) 1  "y"
                              MemberName 529(S) 2  "z"
                              Name 531  "B2"
                              MemberName 531(B2) 0  "o"
                              MemberName 531(B2) 1  "p"
                              MemberName 531(B2) 2  "q"
                              MemberName 531(B2) 3  "r"
                              MemberName 531(B2) 4  "s"
                              MemberName 531(B2) 5  "t"
                              MemberName 531(B2) 6  "u"
                              MemberName 531(B2) 7  "v"
                              Name 533  ""
                              Name 534  "sf16"
                              Name 535  "sf"
                              Name 536  "sd"
                              Name 537  "f16_to_f"
                              Name 539  "f16_to_d"
                              Name 540  "f_to_f16"
                              Name 541  "d_to_f16"
                              Decorate 465(if16v) Location 0
                              Decorate 520 ArrayStride 16
                              Decorate 521 ArrayStride 32
                              MemberDecorate 522(S) 0 Offset 0
                              MemberDecorate 522(S) 1 Offset 4
                              MemberDecorate 522(S) 2 Offset 8
                              Decorate 523 ArrayStride 16
                              MemberDecorate 524(B1) 0 Offset 0
                              MemberDecorate 524(B1) 1 Offset 4
                              MemberDecorate 524(B1) 2 Offset 8
                              MemberDecorate 524(B1) 3 Offset 16
                              MemberDecorate 524(B1) 4 ColMajor
                              MemberDecorate 524(B1) 4 Offset 48
                              MemberDecorate 524(B1) 4 MatrixStride 16
                              MemberDecorate 524(B1) 5 ColMajor
                              MemberDecorate 524(B1) 5 Offset 80
                              MemberDecorate 524(B1) 5 MatrixStride 16
                              MemberDecorate 524(B1) 6 Offset 144
                              MemberDecorate 524(B1) 7 Offset 160
                              Decorate 524(B1) Block
                              Decorate 526 DescriptorSet 0
                              Decorate 526 Binding 0
                              Decorate 527 ArrayStride 2
                              Decorate 528 ArrayStride 12
                              MemberDecorate 529(S) 0 Offset 0
                              MemberDecorate 529(S) 1 Offset 4
                              MemberDecorate 529(S) 2 Offset 8
                              Decorate 530 ArrayStride 16
                              MemberDecorate 531(B2) 0 Offset 0
                              MemberDecorate 531(B2) 1 Offset 4
                              MemberDecorate 531(B2) 2 Offset 8
                              MemberDecorate 531(B2) 3 Offset 14
                              MemberDecorate 531(B2) 4 RowMajor
                              MemberDecorate 531(B2) 4 Offset 20
                              MemberDecorate 531(B2) 4 MatrixStride 4
                              MemberDecorate 531(B2) 5 RowMajor
                              MemberDecorate 531(B2) 5 Offset 32
                              MemberDecorate 531(B2) 5 MatrixStride 4
                              MemberDecorate 531(B2) 6 Offset 56
                              MemberDecorate 531(B2) 7 Offset 72
                              Decorate 531(B2) BufferBlock
                              Decorate 533 DescriptorSet 0
                              Decorate 533 Binding 0
                              Decorate 534(sf16) SpecId 100
                              Decorate 535(sf) SpecId 101
                              Decorate 536(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)
             509:    183(int) Constant 1
             516:28(float16_t) Constant 14336
             517: 29(f16vec2) ConstantComposite 516 516
             519:     33(int) Constant 2
             520:             TypeArray 28(float16_t) 519
             521:             TypeArray 406 519
          522(S):             TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3)
             523:             TypeArray 522(S) 519
         524(B1):             TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3) 520 406 521 522(S) 523
             525:             TypePointer Uniform 524(B1)
             526:    525(ptr) Variable Uniform
             527:             TypeArray 28(float16_t) 519
             528:             TypeArray 406 519
          529(S):             TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3)
             530:             TypeArray 529(S) 519
         531(B2):             TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3) 527 406 528 529(S) 530
             532:             TypePointer Uniform 531(B2)
             533:    532(ptr) Variable Uniform
       534(sf16):28(float16_t) SpecConstant 12288
         535(sf):  164(float) SpecConstant 1048576000
         536(sd):172(float64_t) SpecConstant 0 1071644672
   537(f16_to_f):  164(float) SpecConstantOp 115 534(sf16)
             538:  164(float) SpecConstantOp 115 534(sf16)
   539(f16_to_d):172(float64_t) SpecConstantOp 115 538
   540(f_to_f16):28(float16_t) SpecConstantOp 115 535(sf)
   541(d_to_f16):28(float16_t) SpecConstantOp 115 536(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:     35(ptr) AccessChain 463(f16v) 34
             479:28(float16_t) CompositeExtract 477 0
                              Store 478 479
             480:     35(ptr) AccessChain 463(f16v) 90
             481:28(float16_t) CompositeExtract 477 1
                              Store 480 481
             482:151(f16vec3) Load 465(if16v)
             483: 29(f16vec2) VectorShuffle 482 482 0 1
             484: 29(f16vec2) DPdyFine 483
             485:     35(ptr) AccessChain 463(f16v) 34
             486:28(float16_t) CompositeExtract 484 0
                              Store 485 486
             487:     35(ptr) AccessChain 463(f16v) 90
             488:28(float16_t) CompositeExtract 484 1
                              Store 487 488
             489:151(f16vec3) Load 465(if16v)
             490:151(f16vec3) DPdxCoarse 489
                              Store 463(f16v) 490
             491:151(f16vec3) Load 465(if16v)
             492:151(f16vec3) DPdxCoarse 491
                              Store 463(f16v) 492
             493:    466(ptr) AccessChain 465(if16v) 34
             494:28(float16_t) Load 493
             495:28(float16_t) Fwidth 494
             496:     35(ptr) AccessChain 463(f16v) 34
                              Store 496 495
             497:151(f16vec3) Load 465(if16v)
             498: 29(f16vec2) VectorShuffle 497 497 0 1
             499: 29(f16vec2) FwidthFine 498
             500:     35(ptr) AccessChain 463(f16v) 34
             501:28(float16_t) CompositeExtract 499 0
                              Store 500 501
             502:     35(ptr) AccessChain 463(f16v) 90
             503:28(float16_t) CompositeExtract 499 1
                              Store 502 503
             504:151(f16vec3) Load 465(if16v)
             505:151(f16vec3) FwidthCoarse 504
                              Store 463(f16v) 505
             506:    466(ptr) AccessChain 465(if16v) 34
             507:28(float16_t) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 506
             508:     35(ptr) AccessChain 463(f16v) 34
                              Store 508 507
             510:151(f16vec3) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 465(if16v) 509
             511: 29(f16vec2) VectorShuffle 510 510 0 1
             512:     35(ptr) AccessChain 463(f16v) 34
             513:28(float16_t) CompositeExtract 511 0
                              Store 512 513
             514:     35(ptr) AccessChain 463(f16v) 90
             515:28(float16_t) CompositeExtract 511 1
                              Store 514 515
             518:151(f16vec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 465(if16v) 517
                              Store 463(f16v) 518
                              Return
                              FunctionEnd
