spv.float64.frag
// Module Version 10300
// Generated by (magic number): 80006
// Id's are bound by 521

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