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