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

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