spv.float64.frag
// Module Version 10300
// Generated by (magic number): 80005
// 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
