spv.float64.frag
Validation failed
// Module Version 10300
// Generated by (magic number): 8000a
// Id's are bound by 524

                              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_EXT_shader_explicit_arithmetic_types"
                              SourceExtension  "GL_EXT_shader_explicit_arithmetic_types_float16"
                              SourceExtension  "GL_EXT_shader_explicit_arithmetic_types_float32"
                              SourceExtension  "GL_EXT_shader_explicit_arithmetic_types_float64"
                              SourceExtension  "GL_EXT_shader_explicit_arithmetic_types_int16"
                              SourceExtension  "GL_EXT_shader_explicit_arithmetic_types_int32"
                              SourceExtension  "GL_EXT_shader_explicit_arithmetic_types_int64"
                              SourceExtension  "GL_EXT_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 197  "u8v"
                              Name 203  "u16v"
                              Name 208  "u32v"
                              Name 214  "u64v"
                              Name 219  "f64v2"
                              Name 220  "f64v1"
                              Name 252  "f64v2"
                              Name 253  "f64v1"
                              Name 269  "f64v2"
                              Name 270  "f64v1"
                              Name 291  "f64"
                              Name 295  "f64v3"
                              Name 335  "bv"
                              Name 356  "b"
                              Name 366  "iv"
                              Name 367  "ResType"
                              Name 374  "f64"
                              Name 375  "f64v1"
                              Name 379  "f64v2"
                              Name 385  "f64v3"
                              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 517  "sf"
                              Name 518  "sd"
                              Name 519  "f16_to_f"
                              Name 521  "f16_to_d"
                              Name 522  "f_to_f16"
                              Name 523  "d_to_f16"
                              Decorate 461(if64v) Flat
                              Decorate 461(if64v) Location 0
                              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 514 Binding 0
                              Decorate 515(sf16) SpecId 100
                              Decorate 517(sf) SpecId 101
                              Decorate 518(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)
             194:             TypeInt 8 0
             195:             TypeVector 194(int8_t) 3
             196:             TypePointer Function 195(i8vec3)
             200:             TypeInt 16 0
             201:             TypeVector 200(int16_t) 3
             202:             TypePointer Function 201(i16vec3)
             206:             TypeVector 31(int) 3
             207:             TypePointer Function 206(ivec3)
             211:             TypeInt 64 0
             212:             TypeVector 211(int64_t) 3
             213:             TypePointer Function 212(i64vec3)
             217:             TypeVector 26(float64_t) 4
             218:             TypePointer Function 217(f64vec4)
    367(ResType):             TypeStruct 149(f64vec3) 183(ivec3)
             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 217(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:             TypeFloat 32
         517(sf):  516(float) SpecConstant 1048576000
         518(sd):26(float64_t) SpecConstant 0 1071644672
   519(f16_to_f):  516(float) SpecConstantOp 115 515(sf16)
             520:  516(float) SpecConstantOp 115 515(sf16)
   521(f16_to_d):26(float64_t) SpecConstantOp 115 520
   522(f_to_f16):162(float16_t) SpecConstantOp 115 517(sf)
   523(d_to_f16):162(float16_t) SpecConstantOp 115 518(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) FUnordNotEqual 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
        197(u8v):    196(ptr) Variable Function
       203(u16v):    202(ptr) Variable Function
       208(u32v):    207(ptr) Variable Function
       214(u64v):    213(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) FUnordNotEqual 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
             198:149(f64vec3) Load 151(f64v)
             199: 195(i8vec3) ConvertFToU 198
                              Store 197(u8v) 199
             204:149(f64vec3) Load 151(f64v)
             205:201(i16vec3) ConvertFToU 204
                              Store 203(u16v) 205
             209:149(f64vec3) Load 151(f64v)
             210:  206(ivec3) ConvertFToU 209
                              Store 208(u32v) 210
             215:149(f64vec3) Load 151(f64v)
             216:212(i64vec3) ConvertFToU 215
                              Store 214(u64v) 216
                              Return
                              FunctionEnd
12(builtinAngleTrigFuncs():           2 Function None 3
              13:             Label
      219(f64v2):    218(ptr) Variable Function
      220(f64v1):    218(ptr) Variable Function
             221:217(f64vec4) Load 220(f64v1)
             222:217(f64vec4) ExtInst 1(GLSL.std.450) 11(Radians) 221
                              Store 219(f64v2) 222
             223:217(f64vec4) Load 220(f64v1)
             224:217(f64vec4) ExtInst 1(GLSL.std.450) 12(Degrees) 223
                              Store 219(f64v2) 224
             225:217(f64vec4) Load 220(f64v1)
             226:217(f64vec4) ExtInst 1(GLSL.std.450) 13(Sin) 225
                              Store 219(f64v2) 226
             227:217(f64vec4) Load 220(f64v1)
             228:217(f64vec4) ExtInst 1(GLSL.std.450) 14(Cos) 227
                              Store 219(f64v2) 228
             229:217(f64vec4) Load 220(f64v1)
             230:217(f64vec4) ExtInst 1(GLSL.std.450) 15(Tan) 229
                              Store 219(f64v2) 230
             231:217(f64vec4) Load 220(f64v1)
             232:217(f64vec4) ExtInst 1(GLSL.std.450) 16(Asin) 231
                              Store 219(f64v2) 232
             233:217(f64vec4) Load 220(f64v1)
             234:217(f64vec4) ExtInst 1(GLSL.std.450) 17(Acos) 233
                              Store 219(f64v2) 234
             235:217(f64vec4) Load 220(f64v1)
             236:217(f64vec4) Load 219(f64v2)
             237:217(f64vec4) ExtInst 1(GLSL.std.450) 25(Atan2) 235 236
                              Store 219(f64v2) 237
             238:217(f64vec4) Load 220(f64v1)
             239:217(f64vec4) ExtInst 1(GLSL.std.450) 18(Atan) 238
                              Store 219(f64v2) 239
             240:217(f64vec4) Load 220(f64v1)
             241:217(f64vec4) ExtInst 1(GLSL.std.450) 19(Sinh) 240
                              Store 219(f64v2) 241
             242:217(f64vec4) Load 220(f64v1)
             243:217(f64vec4) ExtInst 1(GLSL.std.450) 20(Cosh) 242
                              Store 219(f64v2) 243
             244:217(f64vec4) Load 220(f64v1)
             245:217(f64vec4) ExtInst 1(GLSL.std.450) 21(Tanh) 244
                              Store 219(f64v2) 245
             246:217(f64vec4) Load 220(f64v1)
             247:217(f64vec4) ExtInst 1(GLSL.std.450) 22(Asinh) 246
                              Store 219(f64v2) 247
             248:217(f64vec4) Load 220(f64v1)
             249:217(f64vec4) ExtInst 1(GLSL.std.450) 23(Acosh) 248
                              Store 219(f64v2) 249
             250:217(f64vec4) Load 220(f64v1)
             251:217(f64vec4) ExtInst 1(GLSL.std.450) 24(Atanh) 250
                              Store 219(f64v2) 251
                              Return
                              FunctionEnd
14(builtinExpFuncs():           2 Function None 3
              15:             Label
      252(f64v2):     28(ptr) Variable Function
      253(f64v1):     28(ptr) Variable Function
             254: 27(f64vec2) Load 253(f64v1)
             255: 27(f64vec2) Load 252(f64v2)
             256: 27(f64vec2) ExtInst 1(GLSL.std.450) 26(Pow) 254 255
                              Store 252(f64v2) 256
             257: 27(f64vec2) Load 253(f64v1)
             258: 27(f64vec2) ExtInst 1(GLSL.std.450) 27(Exp) 257
                              Store 252(f64v2) 258
             259: 27(f64vec2) Load 253(f64v1)
             260: 27(f64vec2) ExtInst 1(GLSL.std.450) 28(Log) 259
                              Store 252(f64v2) 260
             261: 27(f64vec2) Load 253(f64v1)
             262: 27(f64vec2) ExtInst 1(GLSL.std.450) 29(Exp2) 261
                              Store 252(f64v2) 262
             263: 27(f64vec2) Load 253(f64v1)
             264: 27(f64vec2) ExtInst 1(GLSL.std.450) 30(Log2) 263
                              Store 252(f64v2) 264
             265: 27(f64vec2) Load 253(f64v1)
             266: 27(f64vec2) ExtInst 1(GLSL.std.450) 31(Sqrt) 265
                              Store 252(f64v2) 266
             267: 27(f64vec2) Load 253(f64v1)
             268: 27(f64vec2) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 267
                              Store 252(f64v2) 268
                              Return
                              FunctionEnd
16(builtinCommonFuncs():           2 Function None 3
              17:             Label
      269(f64v2):    150(ptr) Variable Function
      270(f64v1):    150(ptr) Variable Function
        291(f64):     33(ptr) Variable Function
      295(f64v3):    150(ptr) Variable Function
         335(bv):    153(ptr) Variable Function
          356(b):    108(ptr) Variable Function
         366(iv):    184(ptr) Variable Function
             271:149(f64vec3) Load 270(f64v1)
             272:149(f64vec3) ExtInst 1(GLSL.std.450) 4(FAbs) 271
                              Store 269(f64v2) 272
             273:149(f64vec3) Load 270(f64v1)
             274:149(f64vec3) ExtInst 1(GLSL.std.450) 6(FSign) 273
                              Store 269(f64v2) 274
             275:149(f64vec3) Load 270(f64v1)
             276:149(f64vec3) ExtInst 1(GLSL.std.450) 8(Floor) 275
                              Store 269(f64v2) 276
             277:149(f64vec3) Load 270(f64v1)
             278:149(f64vec3) ExtInst 1(GLSL.std.450) 3(Trunc) 277
                              Store 269(f64v2) 278
             279:149(f64vec3) Load 270(f64v1)
             280:149(f64vec3) ExtInst 1(GLSL.std.450) 1(Round) 279
                              Store 269(f64v2) 280
             281:149(f64vec3) Load 270(f64v1)
             282:149(f64vec3) ExtInst 1(GLSL.std.450) 2(RoundEven) 281
                              Store 269(f64v2) 282
             283:149(f64vec3) Load 270(f64v1)
             284:149(f64vec3) ExtInst 1(GLSL.std.450) 9(Ceil) 283
                              Store 269(f64v2) 284
             285:149(f64vec3) Load 270(f64v1)
             286:149(f64vec3) ExtInst 1(GLSL.std.450) 10(Fract) 285
                              Store 269(f64v2) 286
             287:149(f64vec3) Load 270(f64v1)
             288:149(f64vec3) Load 269(f64v2)
             289:149(f64vec3) FMod 287 288
                              Store 269(f64v2) 289
             290:149(f64vec3) Load 270(f64v1)
             292:26(float64_t) Load 291(f64)
             293:149(f64vec3) CompositeConstruct 292 292 292
             294:149(f64vec3) FMod 290 293
                              Store 269(f64v2) 294
             296:149(f64vec3) Load 270(f64v1)
             297:149(f64vec3) ExtInst 1(GLSL.std.450) 35(Modf) 296 269(f64v2)
                              Store 295(f64v3) 297
             298:149(f64vec3) Load 270(f64v1)
             299:149(f64vec3) Load 269(f64v2)
             300:149(f64vec3) ExtInst 1(GLSL.std.450) 37(FMin) 298 299
                              Store 295(f64v3) 300
             301:149(f64vec3) Load 270(f64v1)
             302:26(float64_t) Load 291(f64)
             303:149(f64vec3) CompositeConstruct 302 302 302
             304:149(f64vec3) ExtInst 1(GLSL.std.450) 37(FMin) 301 303
                              Store 295(f64v3) 304
             305:149(f64vec3) Load 270(f64v1)
             306:149(f64vec3) Load 269(f64v2)
             307:149(f64vec3) ExtInst 1(GLSL.std.450) 40(FMax) 305 306
                              Store 295(f64v3) 307
             308:149(f64vec3) Load 270(f64v1)
             309:26(float64_t) Load 291(f64)
             310:149(f64vec3) CompositeConstruct 309 309 309
             311:149(f64vec3) ExtInst 1(GLSL.std.450) 40(FMax) 308 310
                              Store 295(f64v3) 311
             312:149(f64vec3) Load 270(f64v1)
             313:26(float64_t) Load 291(f64)
             314:     33(ptr) AccessChain 269(f64v2) 32
             315:26(float64_t) Load 314
             316:149(f64vec3) CompositeConstruct 313 313 313
             317:149(f64vec3) CompositeConstruct 315 315 315
             318:149(f64vec3) ExtInst 1(GLSL.std.450) 43(FClamp) 312 316 317
                              Store 295(f64v3) 318
             319:149(f64vec3) Load 270(f64v1)
             320:149(f64vec3) Load 269(f64v2)
             321:26(float64_t) Load 291(f64)
             322:149(f64vec3) CompositeConstruct 321 321 321
             323:149(f64vec3) ExtInst 1(GLSL.std.450) 43(FClamp) 319 320 322
                              Store 295(f64v3) 323
             324:149(f64vec3) Load 270(f64v1)
             325:149(f64vec3) Load 269(f64v2)
             326:26(float64_t) Load 291(f64)
             327:149(f64vec3) CompositeConstruct 326 326 326
             328:149(f64vec3) ExtInst 1(GLSL.std.450) 46(FMix) 324 325 327
                              Store 295(f64v3) 328
             329:149(f64vec3) Load 270(f64v1)
             330:149(f64vec3) Load 269(f64v2)
             331:149(f64vec3) Load 295(f64v3)
             332:149(f64vec3) ExtInst 1(GLSL.std.450) 46(FMix) 329 330 331
                              Store 295(f64v3) 332
             333:149(f64vec3) Load 270(f64v1)
             334:149(f64vec3) Load 269(f64v2)
             336:  152(bvec3) Load 335(bv)
             337:149(f64vec3) Select 336 334 333
                              Store 295(f64v3) 337
             338:149(f64vec3) Load 270(f64v1)
             339:149(f64vec3) Load 269(f64v2)
             340:149(f64vec3) ExtInst 1(GLSL.std.450) 48(Step) 338 339
                              Store 295(f64v3) 340
             341:26(float64_t) Load 291(f64)
             342:149(f64vec3) Load 295(f64v3)
             343:149(f64vec3) CompositeConstruct 341 341 341
             344:149(f64vec3) ExtInst 1(GLSL.std.450) 48(Step) 343 342
                              Store 295(f64v3) 344
             345:149(f64vec3) Load 270(f64v1)
             346:149(f64vec3) Load 269(f64v2)
             347:149(f64vec3) Load 295(f64v3)
             348:149(f64vec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 345 346 347
                              Store 295(f64v3) 348
             349:26(float64_t) Load 291(f64)
             350:     33(ptr) AccessChain 270(f64v1) 32
             351:26(float64_t) Load 350
             352:149(f64vec3) Load 269(f64v2)
             353:149(f64vec3) CompositeConstruct 349 349 349
             354:149(f64vec3) CompositeConstruct 351 351 351
             355:149(f64vec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 353 354 352
                              Store 295(f64v3) 355
             357:26(float64_t) Load 291(f64)
             358:   107(bool) IsNan 357
                              Store 356(b) 358
             359:149(f64vec3) Load 270(f64v1)
             360:  152(bvec3) IsInf 359
                              Store 335(bv) 360
             361:149(f64vec3) Load 270(f64v1)
             362:149(f64vec3) Load 269(f64v2)
             363:149(f64vec3) Load 295(f64v3)
             364:149(f64vec3) ExtInst 1(GLSL.std.450) 50(Fma) 361 362 363
                              Store 295(f64v3) 364
             365:149(f64vec3) Load 270(f64v1)
             368:367(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 365
             369:  183(ivec3) CompositeExtract 368 1
                              Store 366(iv) 369
             370:149(f64vec3) CompositeExtract 368 0
                              Store 269(f64v2) 370
             371:149(f64vec3) Load 270(f64v1)
             372:  183(ivec3) Load 366(iv)
             373:149(f64vec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 371 372
                              Store 269(f64v2) 373
                              Return
                              FunctionEnd
18(builtinGeometryFuncs():           2 Function None 3
              19:             Label
        374(f64):     33(ptr) Variable Function
      375(f64v1):    150(ptr) Variable Function
      379(f64v2):    150(ptr) Variable Function
      385(f64v3):    150(ptr) Variable Function
             376:149(f64vec3) Load 375(f64v1)
             377:26(float64_t) ExtInst 1(GLSL.std.450) 66(Length) 376
                              Store 374(f64) 377
             378:149(f64vec3) Load 375(f64v1)
             380:149(f64vec3) Load 379(f64v2)
             381:26(float64_t) ExtInst 1(GLSL.std.450) 67(Distance) 378 380
                              Store 374(f64) 381
             382:149(f64vec3) Load 375(f64v1)
             383:149(f64vec3) Load 379(f64v2)
             384:26(float64_t) Dot 382 383
                              Store 374(f64) 384
             386:149(f64vec3) Load 375(f64v1)
             387:149(f64vec3) Load 379(f64v2)
             388:149(f64vec3) ExtInst 1(GLSL.std.450) 68(Cross) 386 387
                              Store 385(f64v3) 388
             389:149(f64vec3) Load 375(f64v1)
             390:149(f64vec3) ExtInst 1(GLSL.std.450) 69(Normalize) 389
                              Store 379(f64v2) 390
             391:149(f64vec3) Load 375(f64v1)
             392:149(f64vec3) Load 379(f64v2)
             393:149(f64vec3) Load 385(f64v3)
             394:149(f64vec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 391 392 393
                              Store 385(f64v3) 394
             395:149(f64vec3) Load 375(f64v1)
             396:149(f64vec3) Load 379(f64v2)
             397:149(f64vec3) ExtInst 1(GLSL.std.450) 71(Reflect) 395 396
                              Store 385(f64v3) 397
             398:149(f64vec3) Load 375(f64v1)
             399:149(f64vec3) Load 379(f64v2)
             400:26(float64_t) Load 374(f64)
             401:149(f64vec3) ExtInst 1(GLSL.std.450) 72(Refract) 398 399 400
                              Store 385(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) FUnordNotEqual 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
