spv.int64.frag
// Module Version 10000
// Generated by (magic number): 80006
// Id's are bound by 488

                              Capability Shader
                              Capability Float64
                              Capability Int64
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main"
                              ExecutionMode 4 OriginUpperLeft
                              Source GLSL 450
                              SourceExtension  "GL_ARB_gpu_shader_int64"
                              SourceExtension  "GL_KHX_shader_explicit_arithmetic_types_int64"
                              Name 4  "main"
                              Name 6  "literal("
                              Name 8  "typeCast("
                              Name 10  "operators("
                              Name 12  "builtinFuncs("
                              Name 16  "u64Max"
                              Name 20  "i64"
                              Name 28  "Uniforms"
                              MemberName 28(Uniforms) 0  "index"
                              Name 30  ""
                              Name 37  "indexable"
                              Name 41  "u64"
                              Name 49  "indexable"
                              Name 54  "i64v"
                              Name 58  "bv"
                              Name 67  "u64v"
                              Name 76  "iv"
                              Name 83  "uv"
                              Name 91  "fv"
                              Name 97  "dv"
                              Name 134  "u64v"
                              Name 139  "i64"
                              Name 159  "i"
                              Name 166  "uv"
                              Name 226  "b"
                              Name 286  "i64v"
                              Name 289  "i64"
                              Name 299  "u64v"
                              Name 301  "u64"
                              Name 373  "dv"
                              Name 392  "iv"
                              Name 397  "uv"
                              Name 401  "bv"
                              Name 462  "Block"
                              MemberName 462(Block) 0  "i64v"
                              MemberName 462(Block) 1  "u64"
                              Name 464  "block"
                              Name 465  "si64"
                              Name 466  "su64"
                              Name 467  "si"
                              Name 468  "su"
                              Name 469  "sb"
                              MemberDecorate 28(Uniforms) 0 Offset 0
                              Decorate 28(Uniforms) Block
                              Decorate 30 DescriptorSet 0
                              Decorate 30 Binding 0
                              MemberDecorate 462(Block) 0 Offset 0
                              MemberDecorate 462(Block) 1 Offset 24
                              Decorate 462(Block) Block
                              Decorate 464(block) DescriptorSet 0
                              Decorate 464(block) Binding 1
                              Decorate 465(si64) SpecId 100
                              Decorate 466(su64) SpecId 101
                              Decorate 467(si) SpecId 102
                              Decorate 468(su) SpecId 103
                              Decorate 469(sb) SpecId 104
               2:             TypeVoid
               3:             TypeFunction 2
              14:             TypeInt 64 0
              15:             TypePointer Private 14(int64_t)
      16(u64Max):     15(ptr) Variable Private
              17: 14(int64_t) Constant 4294967295 4294967295
              18:             TypeInt 64 1
              19:             TypePointer Function 18(int64_t)
              21:             TypeInt 32 0
              22:     21(int) Constant 3
              23:             TypeArray 18(int64_t) 22
              24: 18(int64_t) Constant 4008636143 4008636142
              25: 18(int64_t) Constant 4294967295 4294967295
              26: 18(int64_t) Constant 0 1
              27:          23 ConstantComposite 24 25 26
    28(Uniforms):             TypeStruct 21(int)
              29:             TypePointer Uniform 28(Uniforms)
              30:     29(ptr) Variable Uniform
              31:             TypeInt 32 1
              32:     31(int) Constant 0
              33:             TypePointer Uniform 21(int)
              36:             TypePointer Function 23
              40:             TypePointer Function 14(int64_t)
              42:             TypeArray 14(int64_t) 22
              43: 14(int64_t) Constant 0 1
              44: 14(int64_t) Constant 4294967295 1
              45:          42 ConstantComposite 17 43 44
              48:             TypePointer Function 42
              52:             TypeVector 18(int64_t) 2
              53:             TypePointer Function 52(i64vec2)
              55:             TypeBool
              56:             TypeVector 55(bool) 2
              57:             TypePointer Function 56(bvec2)
              60: 18(int64_t) Constant 0 0
              61: 18(int64_t) Constant 1 0
              62: 52(i64vec2) ConstantComposite 60 60
              63: 52(i64vec2) ConstantComposite 61 61
              65:             TypeVector 14(int64_t) 2
              66:             TypePointer Function 65(i64vec2)
              69: 14(int64_t) Constant 0 0
              70: 14(int64_t) Constant 1 0
              71: 65(i64vec2) ConstantComposite 69 69
              72: 65(i64vec2) ConstantComposite 70 70
              74:             TypeVector 31(int) 2
              75:             TypePointer Function 74(ivec2)
              81:             TypeVector 21(int) 2
              82:             TypePointer Function 81(ivec2)
              88:             TypeFloat 32
              89:             TypeVector 88(float) 2
              90:             TypePointer Function 89(fvec2)
              94:             TypeFloat 64
              95:             TypeVector 94(float64_t) 2
              96:             TypePointer Function 95(f64vec2)
             132:             TypeVector 14(int64_t) 3
             133:             TypePointer Function 132(i64vec3)
             136:             TypeVector 18(int64_t) 3
             158:             TypePointer Function 31(int)
             164:             TypeVector 21(int) 3
             165:             TypePointer Function 164(ivec3)
             199:             TypeVector 31(int) 3
             203:     21(int) Constant 1
             204:             TypePointer Function 21(int)
             217:     21(int) Constant 2
             225:             TypePointer Function 55(bool)
             227:     21(int) Constant 0
             297: 52(i64vec2) ConstantComposite 25 25
             306:132(i64vec3) ConstantComposite 69 69 69
             348:    55(bool) ConstantTrue
             355:    55(bool) ConstantFalse
             356:   56(bvec2) ConstantComposite 355 355
             368:             TypeVector 55(bool) 3
             369:  368(bvec3) ConstantComposite 355 355 355
             371:             TypeVector 94(float64_t) 3
             372:             TypePointer Function 371(f64vec3)
             377:             TypePointer Function 94(float64_t)
             388:     31(int) Constant 1
             389:     31(int) Constant 2
             390:   74(ivec2) ConstantComposite 388 389
             395:   81(ivec2) ConstantComposite 217 22
             400:             TypePointer Function 368(bvec3)
      462(Block):             TypeStruct 136(i64vec3) 14(int64_t)
             463:             TypePointer Uniform 462(Block)
      464(block):    463(ptr) Variable Uniform
       465(si64): 18(int64_t) SpecConstant 4294967286 4294967295
       466(su64): 14(int64_t) SpecConstant 20 0
         467(si):     31(int) SpecConstant 4294967291
         468(su):     21(int) SpecConstant 4
         469(sb):    55(bool) SpecConstantTrue
             470:    55(bool) SpecConstantOp 171 465(si64) 69
             471:    55(bool) SpecConstantOp 171 466(su64) 69
             472: 18(int64_t) SpecConstantOp 169 469(sb) 61 60
             473: 14(int64_t) SpecConstantOp 169 469(sb) 70 69
             474:     31(int) SpecConstantOp 114 465(si64)
             475: 18(int64_t) SpecConstantOp 114 467(si)
             476:     21(int) SpecConstantOp 113 466(su64)
             477: 14(int64_t) SpecConstantOp 113 468(su)
             478: 18(int64_t) SpecConstantOp 128 466(su64) 69
             479: 14(int64_t) SpecConstantOp 128 465(si64) 69
             480:     31(int) SpecConstantOp 113 466(su64)
             481:     31(int) SpecConstantOp 128 480 227
             482: 18(int64_t) SpecConstantOp 114 467(si)
             483: 14(int64_t) SpecConstantOp 128 482 69
             484:     31(int) SpecConstantOp 114 465(si64)
             485:     21(int) SpecConstantOp 128 484 227
             486: 18(int64_t) SpecConstantOp 113 468(su)
             487: 18(int64_t) SpecConstantOp 128 486 69
         4(main):           2 Function None 3
               5:             Label
                              Store 16(u64Max) 17
                              Return
                              FunctionEnd
     6(literal():           2 Function None 3
               7:             Label
         20(i64):     19(ptr) Variable Function
   37(indexable):     36(ptr) Variable Function
         41(u64):     40(ptr) Variable Function
   49(indexable):     48(ptr) Variable Function
              34:     33(ptr) AccessChain 30 32
              35:     21(int) Load 34
                              Store 37(indexable) 27
              38:     19(ptr) AccessChain 37(indexable) 35
              39: 18(int64_t) Load 38
                              Store 20(i64) 39
              46:     33(ptr) AccessChain 30 32
              47:     21(int) Load 46
                              Store 49(indexable) 45
              50:     40(ptr) AccessChain 49(indexable) 47
              51: 14(int64_t) Load 50
                              Store 41(u64) 51
                              Return
                              FunctionEnd
    8(typeCast():           2 Function None 3
               9:             Label
        54(i64v):     53(ptr) Variable Function
          58(bv):     57(ptr) Variable Function
        67(u64v):     66(ptr) Variable Function
          76(iv):     75(ptr) Variable Function
          83(uv):     82(ptr) Variable Function
          91(fv):     90(ptr) Variable Function
          97(dv):     96(ptr) Variable Function
              59:   56(bvec2) Load 58(bv)
              64: 52(i64vec2) Select 59 63 62
                              Store 54(i64v) 64
              68:   56(bvec2) Load 58(bv)
              73: 65(i64vec2) Select 68 72 71
                              Store 67(u64v) 73
              77:   74(ivec2) Load 76(iv)
              78: 52(i64vec2) SConvert 77
                              Store 54(i64v) 78
              79: 52(i64vec2) Load 54(i64v)
              80:   74(ivec2) SConvert 79
                              Store 76(iv) 80
              84:   81(ivec2) Load 83(uv)
              85: 65(i64vec2) UConvert 84
                              Store 67(u64v) 85
              86: 65(i64vec2) Load 67(u64v)
              87:   81(ivec2) UConvert 86
                              Store 83(uv) 87
              92: 52(i64vec2) Load 54(i64v)
              93:   89(fvec2) ConvertSToF 92
                              Store 91(fv) 93
              98: 52(i64vec2) Load 54(i64v)
              99: 95(f64vec2) ConvertSToF 98
                              Store 97(dv) 99
             100: 65(i64vec2) Load 67(u64v)
             101:   89(fvec2) ConvertUToF 100
                              Store 91(fv) 101
             102: 65(i64vec2) Load 67(u64v)
             103: 95(f64vec2) ConvertUToF 102
                              Store 97(dv) 103
             104:   89(fvec2) Load 91(fv)
             105: 52(i64vec2) ConvertFToS 104
                              Store 54(i64v) 105
             106: 95(f64vec2) Load 97(dv)
             107: 52(i64vec2) ConvertFToS 106
                              Store 54(i64v) 107
             108:   89(fvec2) Load 91(fv)
             109: 65(i64vec2) ConvertFToU 108
                              Store 67(u64v) 109
             110: 95(f64vec2) Load 97(dv)
             111: 65(i64vec2) ConvertFToU 110
                              Store 67(u64v) 111
             112: 52(i64vec2) Load 54(i64v)
             113:   56(bvec2) INotEqual 112 71
                              Store 58(bv) 113
             114: 65(i64vec2) Load 67(u64v)
             115:   56(bvec2) INotEqual 114 71
                              Store 58(bv) 115
             116: 52(i64vec2) Load 54(i64v)
             117: 65(i64vec2) Bitcast 116
                              Store 67(u64v) 117
             118: 65(i64vec2) Load 67(u64v)
             119: 52(i64vec2) Bitcast 118
                              Store 54(i64v) 119
             120: 52(i64vec2) Load 54(i64v)
             121:   74(ivec2) SConvert 120
             122:   81(ivec2) Bitcast 121
                              Store 83(uv) 122
             123:   81(ivec2) Load 83(uv)
             124: 52(i64vec2) UConvert 123
             125: 52(i64vec2) Bitcast 124
                              Store 54(i64v) 125
             126: 65(i64vec2) Load 67(u64v)
             127:   74(ivec2) UConvert 126
             128:   74(ivec2) Bitcast 127
                              Store 76(iv) 128
             129:   74(ivec2) Load 76(iv)
             130: 52(i64vec2) SConvert 129
             131: 65(i64vec2) Bitcast 130
                              Store 67(u64v) 131
                              Return
                              FunctionEnd
  10(operators():           2 Function None 3
              11:             Label
       134(u64v):    133(ptr) Variable Function
        139(i64):     19(ptr) Variable Function
          159(i):    158(ptr) Variable Function
         166(uv):    165(ptr) Variable Function
          226(b):    225(ptr) Variable Function
             135:132(i64vec3) Load 134(u64v)
             137:136(i64vec3) CompositeConstruct 61 61 61
             138:132(i64vec3) IAdd 135 137
                              Store 134(u64v) 138
             140: 18(int64_t) Load 139(i64)
             141: 18(int64_t) ISub 140 61
                              Store 139(i64) 141
             142: 18(int64_t) Load 139(i64)
             143: 18(int64_t) IAdd 142 61
                              Store 139(i64) 143
             144:132(i64vec3) Load 134(u64v)
             145:136(i64vec3) CompositeConstruct 61 61 61
             146:132(i64vec3) ISub 144 145
                              Store 134(u64v) 146
             147:132(i64vec3) Load 134(u64v)
             148:132(i64vec3) Not 147
                              Store 134(u64v) 148
             149: 18(int64_t) Load 139(i64)
                              Store 139(i64) 149
             150:132(i64vec3) Load 134(u64v)
             151:132(i64vec3) SNegate 150
                              Store 134(u64v) 151
             152: 18(int64_t) Load 139(i64)
             153: 18(int64_t) Load 139(i64)
             154: 18(int64_t) IAdd 153 152
                              Store 139(i64) 154
             155:132(i64vec3) Load 134(u64v)
             156:132(i64vec3) Load 134(u64v)
             157:132(i64vec3) ISub 156 155
                              Store 134(u64v) 157
             160:     31(int) Load 159(i)
             161: 18(int64_t) SConvert 160
             162: 18(int64_t) Load 139(i64)
             163: 18(int64_t) IMul 162 161
                              Store 139(i64) 163
             167:  164(ivec3) Load 166(uv)
             168:132(i64vec3) UConvert 167
             169:132(i64vec3) Load 134(u64v)
             170:132(i64vec3) UDiv 169 168
                              Store 134(u64v) 170
             171:     31(int) Load 159(i)
             172: 18(int64_t) SConvert 171
             173: 14(int64_t) Bitcast 172
             174:132(i64vec3) Load 134(u64v)
             175:132(i64vec3) CompositeConstruct 173 173 173
             176:132(i64vec3) UMod 174 175
                              Store 134(u64v) 176
             177:132(i64vec3) Load 134(u64v)
             178:  164(ivec3) Load 166(uv)
             179:132(i64vec3) UConvert 178
             180:132(i64vec3) IAdd 177 179
                              Store 134(u64v) 180
             181: 18(int64_t) Load 139(i64)
             182:     31(int) Load 159(i)
             183: 18(int64_t) SConvert 182
             184: 18(int64_t) ISub 181 183
                              Store 139(i64) 184
             185:132(i64vec3) Load 134(u64v)
             186:  164(ivec3) Load 166(uv)
             187:132(i64vec3) UConvert 186
             188:132(i64vec3) IMul 185 187
                              Store 134(u64v) 188
             189: 18(int64_t) Load 139(i64)
             190:     31(int) Load 159(i)
             191: 18(int64_t) SConvert 190
             192: 18(int64_t) IMul 189 191
                              Store 139(i64) 192
             193: 18(int64_t) Load 139(i64)
             194:     31(int) Load 159(i)
             195: 18(int64_t) SConvert 194
             196: 18(int64_t) SMod 193 195
                              Store 139(i64) 196
             197:132(i64vec3) Load 134(u64v)
             198:     31(int) Load 159(i)
             200:  199(ivec3) CompositeConstruct 198 198 198
             201:132(i64vec3) ShiftLeftLogical 197 200
                              Store 134(u64v) 201
             202: 18(int64_t) Load 139(i64)
             205:    204(ptr) AccessChain 166(uv) 203
             206:     21(int) Load 205
             207: 18(int64_t) ShiftRightArithmetic 202 206
                              Store 139(i64) 207
             208:     31(int) Load 159(i)
             209:132(i64vec3) Load 134(u64v)
             210:  199(ivec3) CompositeConstruct 208 208 208
             211:132(i64vec3) ShiftLeftLogical 209 210
                              Store 134(u64v) 211
             212:    204(ptr) AccessChain 166(uv) 203
             213:     21(int) Load 212
             214: 18(int64_t) Load 139(i64)
             215: 18(int64_t) ShiftRightArithmetic 214 213
                              Store 139(i64) 215
             216: 18(int64_t) Load 139(i64)
             218:     40(ptr) AccessChain 134(u64v) 217
             219: 14(int64_t) Load 218
             220: 18(int64_t) ShiftLeftLogical 216 219
                              Store 139(i64) 220
             221:132(i64vec3) Load 134(u64v)
             222: 18(int64_t) Load 139(i64)
             223:136(i64vec3) CompositeConstruct 222 222 222
             224:132(i64vec3) ShiftLeftLogical 221 223
                              Store 134(u64v) 224
             228:     40(ptr) AccessChain 134(u64v) 227
             229: 14(int64_t) Load 228
             230: 18(int64_t) Load 139(i64)
             231: 14(int64_t) Bitcast 230
             232:    55(bool) INotEqual 229 231
                              Store 226(b) 232
             233: 18(int64_t) Load 139(i64)
             234: 14(int64_t) Bitcast 233
             235:     40(ptr) AccessChain 134(u64v) 227
             236: 14(int64_t) Load 235
             237:    55(bool) IEqual 234 236
                              Store 226(b) 237
             238:     40(ptr) AccessChain 134(u64v) 227
             239: 14(int64_t) Load 238
             240:    204(ptr) AccessChain 166(uv) 203
             241:     21(int) Load 240
             242: 14(int64_t) UConvert 241
             243:    55(bool) UGreaterThan 239 242
                              Store 226(b) 243
             244: 18(int64_t) Load 139(i64)
             245:     31(int) Load 159(i)
             246: 18(int64_t) SConvert 245
             247:    55(bool) SLessThan 244 246
                              Store 226(b) 247
             248:     40(ptr) AccessChain 134(u64v) 203
             249: 14(int64_t) Load 248
             250:    204(ptr) AccessChain 166(uv) 227
             251:     21(int) Load 250
             252: 14(int64_t) UConvert 251
             253:    55(bool) UGreaterThanEqual 249 252
                              Store 226(b) 253
             254: 18(int64_t) Load 139(i64)
             255:     31(int) Load 159(i)
             256: 18(int64_t) SConvert 255
             257:    55(bool) SLessThanEqual 254 256
                              Store 226(b) 257
             258:     31(int) Load 159(i)
             259: 18(int64_t) SConvert 258
             260: 14(int64_t) Bitcast 259
             261:132(i64vec3) Load 134(u64v)
             262:132(i64vec3) CompositeConstruct 260 260 260
             263:132(i64vec3) BitwiseOr 261 262
                              Store 134(u64v) 263
             264: 18(int64_t) Load 139(i64)
             265:     31(int) Load 159(i)
             266: 18(int64_t) SConvert 265
             267: 18(int64_t) BitwiseOr 264 266
                              Store 139(i64) 267
             268:     31(int) Load 159(i)
             269: 18(int64_t) SConvert 268
             270: 18(int64_t) Load 139(i64)
             271: 18(int64_t) BitwiseAnd 270 269
                              Store 139(i64) 271
             272:132(i64vec3) Load 134(u64v)
             273:  164(ivec3) Load 166(uv)
             274:132(i64vec3) UConvert 273
             275:132(i64vec3) BitwiseAnd 272 274
                              Store 134(u64v) 275
             276: 18(int64_t) Load 139(i64)
             277: 14(int64_t) Bitcast 276
             278:132(i64vec3) Load 134(u64v)
             279:132(i64vec3) CompositeConstruct 277 277 277
             280:132(i64vec3) BitwiseXor 278 279
                              Store 134(u64v) 280
             281:132(i64vec3) Load 134(u64v)
             282: 18(int64_t) Load 139(i64)
             283: 14(int64_t) Bitcast 282
             284:132(i64vec3) CompositeConstruct 283 283 283
             285:132(i64vec3) BitwiseXor 281 284
                              Store 134(u64v) 285
                              Return
                              FunctionEnd
12(builtinFuncs():           2 Function None 3
              13:             Label
       286(i64v):     53(ptr) Variable Function
        289(i64):     19(ptr) Variable Function
       299(u64v):    133(ptr) Variable Function
        301(u64):     40(ptr) Variable Function
         373(dv):    372(ptr) Variable Function
         392(iv):     75(ptr) Variable Function
         397(uv):     82(ptr) Variable Function
         401(bv):    400(ptr) Variable Function
             287: 52(i64vec2) Load 286(i64v)
             288: 52(i64vec2) ExtInst 1(GLSL.std.450) 5(SAbs) 287
                              Store 286(i64v) 288
             290: 18(int64_t) Load 289(i64)
             291: 18(int64_t) ExtInst 1(GLSL.std.450) 7(SSign) 290
                              Store 289(i64) 291
             292: 52(i64vec2) Load 286(i64v)
             293: 18(int64_t) Load 289(i64)
             294: 52(i64vec2) CompositeConstruct 293 293
             295: 52(i64vec2) ExtInst 1(GLSL.std.450) 39(SMin) 292 294
                              Store 286(i64v) 295
             296: 52(i64vec2) Load 286(i64v)
             298: 52(i64vec2) ExtInst 1(GLSL.std.450) 39(SMin) 296 297
                              Store 286(i64v) 298
             300:132(i64vec3) Load 299(u64v)
             302: 14(int64_t) Load 301(u64)
             303:132(i64vec3) CompositeConstruct 302 302 302
             304:132(i64vec3) ExtInst 1(GLSL.std.450) 38(UMin) 300 303
                              Store 299(u64v) 304
             305:132(i64vec3) Load 299(u64v)
             307:132(i64vec3) ExtInst 1(GLSL.std.450) 38(UMin) 305 306
                              Store 299(u64v) 307
             308: 52(i64vec2) Load 286(i64v)
             309: 18(int64_t) Load 289(i64)
             310: 52(i64vec2) CompositeConstruct 309 309
             311: 52(i64vec2) ExtInst 1(GLSL.std.450) 42(SMax) 308 310
                              Store 286(i64v) 311
             312: 52(i64vec2) Load 286(i64v)
             313: 52(i64vec2) ExtInst 1(GLSL.std.450) 42(SMax) 312 297
                              Store 286(i64v) 313
             314:132(i64vec3) Load 299(u64v)
             315: 14(int64_t) Load 301(u64)
             316:132(i64vec3) CompositeConstruct 315 315 315
             317:132(i64vec3) ExtInst 1(GLSL.std.450) 41(UMax) 314 316
                              Store 299(u64v) 317
             318:132(i64vec3) Load 299(u64v)
             319:132(i64vec3) ExtInst 1(GLSL.std.450) 41(UMax) 318 306
                              Store 299(u64v) 319
             320: 52(i64vec2) Load 286(i64v)
             321: 18(int64_t) Load 289(i64)
             322: 18(int64_t) SNegate 321
             323: 18(int64_t) Load 289(i64)
             324: 52(i64vec2) CompositeConstruct 322 322
             325: 52(i64vec2) CompositeConstruct 323 323
             326: 52(i64vec2) ExtInst 1(GLSL.std.450) 45(SClamp) 320 324 325
                              Store 286(i64v) 326
             327: 52(i64vec2) Load 286(i64v)
             328: 52(i64vec2) Load 286(i64v)
             329: 52(i64vec2) SNegate 328
             330: 52(i64vec2) Load 286(i64v)
             331: 52(i64vec2) ExtInst 1(GLSL.std.450) 45(SClamp) 327 329 330
                              Store 286(i64v) 331
             332:132(i64vec3) Load 299(u64v)
             333: 14(int64_t) Load 301(u64)
             334: 14(int64_t) SNegate 333
             335: 14(int64_t) Load 301(u64)
             336:132(i64vec3) CompositeConstruct 334 334 334
             337:132(i64vec3) CompositeConstruct 335 335 335
             338:132(i64vec3) ExtInst 1(GLSL.std.450) 44(UClamp) 332 336 337
                              Store 299(u64v) 338
             339:132(i64vec3) Load 299(u64v)
             340:132(i64vec3) Load 299(u64v)
             341:132(i64vec3) SNegate 340
             342:132(i64vec3) Load 299(u64v)
             343:132(i64vec3) ExtInst 1(GLSL.std.450) 44(UClamp) 339 341 342
                              Store 299(u64v) 343
             344:     19(ptr) AccessChain 286(i64v) 227
             345: 18(int64_t) Load 344
             346:     19(ptr) AccessChain 286(i64v) 203
             347: 18(int64_t) Load 346
             349: 18(int64_t) Select 348 347 345
                              Store 289(i64) 349
             350: 18(int64_t) Load 289(i64)
             351: 52(i64vec2) CompositeConstruct 350 350
             352: 18(int64_t) Load 289(i64)
             353: 18(int64_t) SNegate 352
             354: 52(i64vec2) CompositeConstruct 353 353
             357: 52(i64vec2) Select 356 354 351
                              Store 286(i64v) 357
             358:     40(ptr) AccessChain 299(u64v) 227
             359: 14(int64_t) Load 358
             360:     40(ptr) AccessChain 299(u64v) 203
             361: 14(int64_t) Load 360
             362: 14(int64_t) Select 348 361 359
                              Store 301(u64) 362
             363: 14(int64_t) Load 301(u64)
             364:132(i64vec3) CompositeConstruct 363 363 363
             365: 14(int64_t) Load 301(u64)
             366: 14(int64_t) SNegate 365
             367:132(i64vec3) CompositeConstruct 366 366 366
             370:132(i64vec3) Select 369 367 364
                              Store 299(u64v) 370
             374:371(f64vec3) Load 373(dv)
             375: 95(f64vec2) VectorShuffle 374 374 0 1
             376: 52(i64vec2) Bitcast 375
                              Store 286(i64v) 376
             378:    377(ptr) AccessChain 373(dv) 217
             379:94(float64_t) Load 378
             380: 14(int64_t) Bitcast 379
             381:     40(ptr) AccessChain 299(u64v) 227
                              Store 381 380
             382: 52(i64vec2) Load 286(i64v)
             383: 95(f64vec2) Bitcast 382
             384:371(f64vec3) Load 373(dv)
             385:371(f64vec3) VectorShuffle 384 383 3 4 2
                              Store 373(dv) 385
             386:132(i64vec3) Load 299(u64v)
             387:371(f64vec3) Bitcast 386
                              Store 373(dv) 387
             391: 18(int64_t) Bitcast 390
                              Store 289(i64) 391
             393: 18(int64_t) Load 289(i64)
             394:   74(ivec2) Bitcast 393
                              Store 392(iv) 394
             396: 14(int64_t) Bitcast 395
                              Store 301(u64) 396
             398: 14(int64_t) Load 301(u64)
             399:   81(ivec2) Bitcast 398
                              Store 397(uv) 399
             402:132(i64vec3) Load 299(u64v)
             403: 14(int64_t) Load 301(u64)
             404:132(i64vec3) CompositeConstruct 403 403 403
             405:  368(bvec3) ULessThan 402 404
                              Store 401(bv) 405
             406: 52(i64vec2) Load 286(i64v)
             407: 18(int64_t) Load 289(i64)
             408: 52(i64vec2) CompositeConstruct 407 407
             409:   56(bvec2) SLessThan 406 408
             410:  368(bvec3) Load 401(bv)
             411:  368(bvec3) VectorShuffle 410 409 3 4 2
                              Store 401(bv) 411
             412:132(i64vec3) Load 299(u64v)
             413: 14(int64_t) Load 301(u64)
             414:132(i64vec3) CompositeConstruct 413 413 413
             415:  368(bvec3) ULessThanEqual 412 414
                              Store 401(bv) 415
             416: 52(i64vec2) Load 286(i64v)
             417: 18(int64_t) Load 289(i64)
             418: 52(i64vec2) CompositeConstruct 417 417
             419:   56(bvec2) SLessThanEqual 416 418
             420:  368(bvec3) Load 401(bv)
             421:  368(bvec3) VectorShuffle 420 419 3 4 2
                              Store 401(bv) 421
             422:132(i64vec3) Load 299(u64v)
             423: 14(int64_t) Load 301(u64)
             424:132(i64vec3) CompositeConstruct 423 423 423
             425:  368(bvec3) UGreaterThan 422 424
                              Store 401(bv) 425
             426: 52(i64vec2) Load 286(i64v)
             427: 18(int64_t) Load 289(i64)
             428: 52(i64vec2) CompositeConstruct 427 427
             429:   56(bvec2) SGreaterThan 426 428
             430:  368(bvec3) Load 401(bv)
             431:  368(bvec3) VectorShuffle 430 429 3 4 2
                              Store 401(bv) 431
             432:132(i64vec3) Load 299(u64v)
             433: 14(int64_t) Load 301(u64)
             434:132(i64vec3) CompositeConstruct 433 433 433
             435:  368(bvec3) UGreaterThanEqual 432 434
                              Store 401(bv) 435
             436: 52(i64vec2) Load 286(i64v)
             437: 18(int64_t) Load 289(i64)
             438: 52(i64vec2) CompositeConstruct 437 437
             439:   56(bvec2) SGreaterThanEqual 436 438
             440:  368(bvec3) Load 401(bv)
             441:  368(bvec3) VectorShuffle 440 439 3 4 2
                              Store 401(bv) 441
             442:132(i64vec3) Load 299(u64v)
             443: 14(int64_t) Load 301(u64)
             444:132(i64vec3) CompositeConstruct 443 443 443
             445:  368(bvec3) IEqual 442 444
                              Store 401(bv) 445
             446: 52(i64vec2) Load 286(i64v)
             447: 18(int64_t) Load 289(i64)
             448: 52(i64vec2) CompositeConstruct 447 447
             449:   56(bvec2) IEqual 446 448
             450:  368(bvec3) Load 401(bv)
             451:  368(bvec3) VectorShuffle 450 449 3 4 2
                              Store 401(bv) 451
             452:132(i64vec3) Load 299(u64v)
             453: 14(int64_t) Load 301(u64)
             454:132(i64vec3) CompositeConstruct 453 453 453
             455:  368(bvec3) INotEqual 452 454
                              Store 401(bv) 455
             456: 52(i64vec2) Load 286(i64v)
             457: 18(int64_t) Load 289(i64)
             458: 52(i64vec2) CompositeConstruct 457 457
             459:   56(bvec2) INotEqual 456 458
             460:  368(bvec3) Load 401(bv)
             461:  368(bvec3) VectorShuffle 460 459 3 4 2
                              Store 401(bv) 461
                              Return
                              FunctionEnd
