spv.float32.frag
// Module Version 10000
// Generated by (magic number): 80002
// Id's are bound by 528

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