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

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