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 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
