spv.float64.frag
error: SPIRV-Tools Validation Errors
error: Capability Float16 is not allowed by Vulkan 1.1 specification (or requires extension)
  OpCapability Float16

// Module Version 10300
// Generated by (magic number): 80007
// 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 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
