spv.float64.frag
// Module Version 10000
// Generated by (magic number): 80002
// Id's are bound by 519

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