spv.subgroupClustered.comp
// Module Version 10300
// Generated by (magic number): 80007
// Id's are bound by 737

                              Capability Shader
                              Capability Float64
                              Capability GroupNonUniform
                              Capability GroupNonUniformClustered
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint GLCompute 4  "main" 10 12
                              ExecutionMode 4 LocalSize 8 1 1
                              Source GLSL 450
                              SourceExtension  "GL_KHR_shader_subgroup_basic"
                              SourceExtension  "GL_KHR_shader_subgroup_clustered"
                              Name 4  "main"
                              Name 8  "invocation"
                              Name 10  "gl_SubgroupInvocationID"
                              Name 12  "gl_SubgroupSize"
                              Name 24  "Buffers"
                              MemberName 24(Buffers) 0  "f4"
                              MemberName 24(Buffers) 1  "i4"
                              MemberName 24(Buffers) 2  "u4"
                              MemberName 24(Buffers) 3  "d4"
                              Name 27  "data"
                              Decorate 10(gl_SubgroupInvocationID) RelaxedPrecision
                              Decorate 10(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
                              Decorate 11 RelaxedPrecision
                              Decorate 12(gl_SubgroupSize) RelaxedPrecision
                              Decorate 12(gl_SubgroupSize) BuiltIn SubgroupSize
                              Decorate 13 RelaxedPrecision
                              Decorate 14 RelaxedPrecision
                              Decorate 16 RelaxedPrecision
                              MemberDecorate 24(Buffers) 0 Offset 0
                              MemberDecorate 24(Buffers) 1 Offset 16
                              MemberDecorate 24(Buffers) 2 Offset 32
                              MemberDecorate 24(Buffers) 3 Offset 64
                              Decorate 24(Buffers) Block
                              Decorate 27(data) DescriptorSet 0
                              Decorate 27(data) Binding 0
                              Decorate 736 BuiltIn WorkgroupSize
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeInt 32 0
               7:             TypePointer Function 6(int)
               9:             TypePointer Input 6(int)
10(gl_SubgroupInvocationID):      9(ptr) Variable Input
12(gl_SubgroupSize):      9(ptr) Variable Input
              15:      6(int) Constant 4
              17:             TypeFloat 32
              18:             TypeVector 17(float) 4
              19:             TypeInt 32 1
              20:             TypeVector 19(int) 4
              21:             TypeVector 6(int) 4
              22:             TypeFloat 64
              23:             TypeVector 22(float64_t) 4
     24(Buffers):             TypeStruct 18(fvec4) 20(ivec4) 21(ivec4) 23(f64vec4)
              25:             TypeArray 24(Buffers) 15
              26:             TypePointer StorageBuffer 25
        27(data):     26(ptr) Variable StorageBuffer
              29:     19(int) Constant 0
              30:      6(int) Constant 0
              31:             TypePointer StorageBuffer 17(float)
              34:      6(int) Constant 1
              35:      6(int) Constant 3
              39:     19(int) Constant 1
              40:             TypeVector 17(float) 2
              41:             TypePointer StorageBuffer 18(fvec4)
              50:     19(int) Constant 2
              51:             TypeVector 17(float) 3
              60:     19(int) Constant 3
              66:             TypePointer StorageBuffer 19(int)
              72:             TypeVector 19(int) 2
              73:             TypePointer StorageBuffer 20(ivec4)
              82:             TypeVector 19(int) 3
              96:             TypePointer StorageBuffer 6(int)
             102:             TypeVector 6(int) 2
             103:             TypePointer StorageBuffer 21(ivec4)
             112:             TypeVector 6(int) 3
             126:             TypePointer StorageBuffer 22(float64_t)
             132:             TypeVector 22(float64_t) 2
             133:             TypePointer StorageBuffer 23(f64vec4)
             142:             TypeVector 22(float64_t) 3
             522:             TypeBool
             531:   72(ivec2) ConstantComposite 29 29
             532:             TypeVector 522(bool) 2
             535:   72(ivec2) ConstantComposite 39 39
             544:   82(ivec3) ConstantComposite 29 29 29
             545:             TypeVector 522(bool) 3
             548:   82(ivec3) ConstantComposite 39 39 39
             556:   20(ivec4) ConstantComposite 29 29 29 29
             557:             TypeVector 522(bool) 4
             560:   20(ivec4) ConstantComposite 39 39 39 39
             735:      6(int) Constant 8
             736:  112(ivec3) ConstantComposite 735 34 34
         4(main):           2 Function None 3
               5:             Label
   8(invocation):      7(ptr) Variable Function
              11:      6(int) Load 10(gl_SubgroupInvocationID)
              13:      6(int) Load 12(gl_SubgroupSize)
              14:      6(int) IAdd 11 13
              16:      6(int) UMod 14 15
                              Store 8(invocation) 16
              28:      6(int) Load 8(invocation)
              32:     31(ptr) AccessChain 27(data) 29 29 30
              33:   17(float) Load 32
              36:   17(float) GroupNonUniformFAdd 35 ClusteredReduce 33 34
              37:     31(ptr) AccessChain 27(data) 28 29 30
                              Store 37 36
              38:      6(int) Load 8(invocation)
              42:     41(ptr) AccessChain 27(data) 39 29
              43:   18(fvec4) Load 42
              44:   40(fvec2) VectorShuffle 43 43 0 1
              45:   40(fvec2) GroupNonUniformFAdd 35 ClusteredReduce 44 34
              46:     41(ptr) AccessChain 27(data) 38 29
              47:   18(fvec4) Load 46
              48:   18(fvec4) VectorShuffle 47 45 4 5 2 3
                              Store 46 48
              49:      6(int) Load 8(invocation)
              52:     41(ptr) AccessChain 27(data) 50 29
              53:   18(fvec4) Load 52
              54:   51(fvec3) VectorShuffle 53 53 0 1 2
              55:   51(fvec3) GroupNonUniformFAdd 35 ClusteredReduce 54 34
              56:     41(ptr) AccessChain 27(data) 49 29
              57:   18(fvec4) Load 56
              58:   18(fvec4) VectorShuffle 57 55 4 5 6 3
                              Store 56 58
              59:      6(int) Load 8(invocation)
              61:     41(ptr) AccessChain 27(data) 60 29
              62:   18(fvec4) Load 61
              63:   18(fvec4) GroupNonUniformFAdd 35 ClusteredReduce 62 34
              64:     41(ptr) AccessChain 27(data) 59 29
                              Store 64 63
              65:      6(int) Load 8(invocation)
              67:     66(ptr) AccessChain 27(data) 29 39 30
              68:     19(int) Load 67
              69:     19(int) GroupNonUniformIAdd 35 ClusteredReduce 68 34
              70:     66(ptr) AccessChain 27(data) 65 39 30
                              Store 70 69
              71:      6(int) Load 8(invocation)
              74:     73(ptr) AccessChain 27(data) 39 39
              75:   20(ivec4) Load 74
              76:   72(ivec2) VectorShuffle 75 75 0 1
              77:   72(ivec2) GroupNonUniformIAdd 35 ClusteredReduce 76 34
              78:     73(ptr) AccessChain 27(data) 71 39
              79:   20(ivec4) Load 78
              80:   20(ivec4) VectorShuffle 79 77 4 5 2 3
                              Store 78 80
              81:      6(int) Load 8(invocation)
              83:     73(ptr) AccessChain 27(data) 50 39
              84:   20(ivec4) Load 83
              85:   82(ivec3) VectorShuffle 84 84 0 1 2
              86:   82(ivec3) GroupNonUniformIAdd 35 ClusteredReduce 85 34
              87:     73(ptr) AccessChain 27(data) 81 39
              88:   20(ivec4) Load 87
              89:   20(ivec4) VectorShuffle 88 86 4 5 6 3
                              Store 87 89
              90:      6(int) Load 8(invocation)
              91:     73(ptr) AccessChain 27(data) 60 39
              92:   20(ivec4) Load 91
              93:   20(ivec4) GroupNonUniformIAdd 35 ClusteredReduce 92 34
              94:     73(ptr) AccessChain 27(data) 90 39
                              Store 94 93
              95:      6(int) Load 8(invocation)
              97:     96(ptr) AccessChain 27(data) 29 50 30
              98:      6(int) Load 97
              99:      6(int) GroupNonUniformIAdd 35 ClusteredReduce 98 34
             100:     96(ptr) AccessChain 27(data) 95 50 30
                              Store 100 99
             101:      6(int) Load 8(invocation)
             104:    103(ptr) AccessChain 27(data) 39 50
             105:   21(ivec4) Load 104
             106:  102(ivec2) VectorShuffle 105 105 0 1
             107:  102(ivec2) GroupNonUniformIAdd 35 ClusteredReduce 106 34
             108:    103(ptr) AccessChain 27(data) 101 50
             109:   21(ivec4) Load 108
             110:   21(ivec4) VectorShuffle 109 107 4 5 2 3
                              Store 108 110
             111:      6(int) Load 8(invocation)
             113:    103(ptr) AccessChain 27(data) 50 50
             114:   21(ivec4) Load 113
             115:  112(ivec3) VectorShuffle 114 114 0 1 2
             116:  112(ivec3) GroupNonUniformIAdd 35 ClusteredReduce 115 34
             117:    103(ptr) AccessChain 27(data) 111 50
             118:   21(ivec4) Load 117
             119:   21(ivec4) VectorShuffle 118 116 4 5 6 3
                              Store 117 119
             120:      6(int) Load 8(invocation)
             121:    103(ptr) AccessChain 27(data) 60 50
             122:   21(ivec4) Load 121
             123:   21(ivec4) GroupNonUniformIAdd 35 ClusteredReduce 122 34
             124:    103(ptr) AccessChain 27(data) 120 50
                              Store 124 123
             125:      6(int) Load 8(invocation)
             127:    126(ptr) AccessChain 27(data) 29 60 30
             128:22(float64_t) Load 127
             129:22(float64_t) GroupNonUniformFAdd 35 ClusteredReduce 128 34
             130:    126(ptr) AccessChain 27(data) 125 60 30
                              Store 130 129
             131:      6(int) Load 8(invocation)
             134:    133(ptr) AccessChain 27(data) 39 60
             135: 23(f64vec4) Load 134
             136:132(f64vec2) VectorShuffle 135 135 0 1
             137:132(f64vec2) GroupNonUniformFAdd 35 ClusteredReduce 136 34
             138:    133(ptr) AccessChain 27(data) 131 60
             139: 23(f64vec4) Load 138
             140: 23(f64vec4) VectorShuffle 139 137 4 5 2 3
                              Store 138 140
             141:      6(int) Load 8(invocation)
             143:    133(ptr) AccessChain 27(data) 50 60
             144: 23(f64vec4) Load 143
             145:142(f64vec3) VectorShuffle 144 144 0 1 2
             146:142(f64vec3) GroupNonUniformFAdd 35 ClusteredReduce 145 34
             147:    133(ptr) AccessChain 27(data) 141 60
             148: 23(f64vec4) Load 147
             149: 23(f64vec4) VectorShuffle 148 146 4 5 6 3
                              Store 147 149
             150:      6(int) Load 8(invocation)
             151:    133(ptr) AccessChain 27(data) 60 60
             152: 23(f64vec4) Load 151
             153: 23(f64vec4) GroupNonUniformFAdd 35 ClusteredReduce 152 34
             154:    133(ptr) AccessChain 27(data) 150 60
                              Store 154 153
             155:      6(int) Load 8(invocation)
             156:     31(ptr) AccessChain 27(data) 29 29 30
             157:   17(float) Load 156
             158:   17(float) GroupNonUniformFMul 35 ClusteredReduce 157 34
             159:     31(ptr) AccessChain 27(data) 155 29 30
                              Store 159 158
             160:      6(int) Load 8(invocation)
             161:     41(ptr) AccessChain 27(data) 39 29
             162:   18(fvec4) Load 161
             163:   40(fvec2) VectorShuffle 162 162 0 1
             164:   40(fvec2) GroupNonUniformFMul 35 ClusteredReduce 163 34
             165:     41(ptr) AccessChain 27(data) 160 29
             166:   18(fvec4) Load 165
             167:   18(fvec4) VectorShuffle 166 164 4 5 2 3
                              Store 165 167
             168:      6(int) Load 8(invocation)
             169:     41(ptr) AccessChain 27(data) 50 29
             170:   18(fvec4) Load 169
             171:   51(fvec3) VectorShuffle 170 170 0 1 2
             172:   51(fvec3) GroupNonUniformFMul 35 ClusteredReduce 171 34
             173:     41(ptr) AccessChain 27(data) 168 29
             174:   18(fvec4) Load 173
             175:   18(fvec4) VectorShuffle 174 172 4 5 6 3
                              Store 173 175
             176:      6(int) Load 8(invocation)
             177:     41(ptr) AccessChain 27(data) 60 29
             178:   18(fvec4) Load 177
             179:   18(fvec4) GroupNonUniformFMul 35 ClusteredReduce 178 34
             180:     41(ptr) AccessChain 27(data) 176 29
                              Store 180 179
             181:      6(int) Load 8(invocation)
             182:     66(ptr) AccessChain 27(data) 29 39 30
             183:     19(int) Load 182
             184:     19(int) GroupNonUniformIMul 35 ClusteredReduce 183 34
             185:     66(ptr) AccessChain 27(data) 181 39 30
                              Store 185 184
             186:      6(int) Load 8(invocation)
             187:     73(ptr) AccessChain 27(data) 39 39
             188:   20(ivec4) Load 187
             189:   72(ivec2) VectorShuffle 188 188 0 1
             190:   72(ivec2) GroupNonUniformIMul 35 ClusteredReduce 189 34
             191:     73(ptr) AccessChain 27(data) 186 39
             192:   20(ivec4) Load 191
             193:   20(ivec4) VectorShuffle 192 190 4 5 2 3
                              Store 191 193
             194:      6(int) Load 8(invocation)
             195:     73(ptr) AccessChain 27(data) 50 39
             196:   20(ivec4) Load 195
             197:   82(ivec3) VectorShuffle 196 196 0 1 2
             198:   82(ivec3) GroupNonUniformIMul 35 ClusteredReduce 197 34
             199:     73(ptr) AccessChain 27(data) 194 39
             200:   20(ivec4) Load 199
             201:   20(ivec4) VectorShuffle 200 198 4 5 6 3
                              Store 199 201
             202:      6(int) Load 8(invocation)
             203:     73(ptr) AccessChain 27(data) 60 39
             204:   20(ivec4) Load 203
             205:   20(ivec4) GroupNonUniformIMul 35 ClusteredReduce 204 34
             206:     73(ptr) AccessChain 27(data) 202 39
                              Store 206 205
             207:      6(int) Load 8(invocation)
             208:     96(ptr) AccessChain 27(data) 29 50 30
             209:      6(int) Load 208
             210:      6(int) GroupNonUniformIMul 35 ClusteredReduce 209 34
             211:     96(ptr) AccessChain 27(data) 207 50 30
                              Store 211 210
             212:      6(int) Load 8(invocation)
             213:    103(ptr) AccessChain 27(data) 39 50
             214:   21(ivec4) Load 213
             215:  102(ivec2) VectorShuffle 214 214 0 1
             216:  102(ivec2) GroupNonUniformIMul 35 ClusteredReduce 215 34
             217:    103(ptr) AccessChain 27(data) 212 50
             218:   21(ivec4) Load 217
             219:   21(ivec4) VectorShuffle 218 216 4 5 2 3
                              Store 217 219
             220:      6(int) Load 8(invocation)
             221:    103(ptr) AccessChain 27(data) 50 50
             222:   21(ivec4) Load 221
             223:  112(ivec3) VectorShuffle 222 222 0 1 2
             224:  112(ivec3) GroupNonUniformIMul 35 ClusteredReduce 223 34
             225:    103(ptr) AccessChain 27(data) 220 50
             226:   21(ivec4) Load 225
             227:   21(ivec4) VectorShuffle 226 224 4 5 6 3
                              Store 225 227
             228:      6(int) Load 8(invocation)
             229:    103(ptr) AccessChain 27(data) 60 50
             230:   21(ivec4) Load 229
             231:   21(ivec4) GroupNonUniformIMul 35 ClusteredReduce 230 34
             232:    103(ptr) AccessChain 27(data) 228 50
                              Store 232 231
             233:      6(int) Load 8(invocation)
             234:    126(ptr) AccessChain 27(data) 29 60 30
             235:22(float64_t) Load 234
             236:22(float64_t) GroupNonUniformFMul 35 ClusteredReduce 235 34
             237:    126(ptr) AccessChain 27(data) 233 60 30
                              Store 237 236
             238:      6(int) Load 8(invocation)
             239:    133(ptr) AccessChain 27(data) 39 60
             240: 23(f64vec4) Load 239
             241:132(f64vec2) VectorShuffle 240 240 0 1
             242:132(f64vec2) GroupNonUniformFMul 35 ClusteredReduce 241 34
             243:    133(ptr) AccessChain 27(data) 238 60
             244: 23(f64vec4) Load 243
             245: 23(f64vec4) VectorShuffle 244 242 4 5 2 3
                              Store 243 245
             246:      6(int) Load 8(invocation)
             247:    133(ptr) AccessChain 27(data) 50 60
             248: 23(f64vec4) Load 247
             249:142(f64vec3) VectorShuffle 248 248 0 1 2
             250:142(f64vec3) GroupNonUniformFMul 35 ClusteredReduce 249 34
             251:    133(ptr) AccessChain 27(data) 246 60
             252: 23(f64vec4) Load 251
             253: 23(f64vec4) VectorShuffle 252 250 4 5 6 3
                              Store 251 253
             254:      6(int) Load 8(invocation)
             255:    133(ptr) AccessChain 27(data) 60 60
             256: 23(f64vec4) Load 255
             257: 23(f64vec4) GroupNonUniformFMul 35 ClusteredReduce 256 34
             258:    133(ptr) AccessChain 27(data) 254 60
                              Store 258 257
             259:      6(int) Load 8(invocation)
             260:     31(ptr) AccessChain 27(data) 29 29 30
             261:   17(float) Load 260
             262:   17(float) GroupNonUniformFMin 35 ClusteredReduce 261 34
             263:     31(ptr) AccessChain 27(data) 259 29 30
                              Store 263 262
             264:      6(int) Load 8(invocation)
             265:     41(ptr) AccessChain 27(data) 39 29
             266:   18(fvec4) Load 265
             267:   40(fvec2) VectorShuffle 266 266 0 1
             268:   40(fvec2) GroupNonUniformFMin 35 ClusteredReduce 267 34
             269:     41(ptr) AccessChain 27(data) 264 29
             270:   18(fvec4) Load 269
             271:   18(fvec4) VectorShuffle 270 268 4 5 2 3
                              Store 269 271
             272:      6(int) Load 8(invocation)
             273:     41(ptr) AccessChain 27(data) 50 29
             274:   18(fvec4) Load 273
             275:   51(fvec3) VectorShuffle 274 274 0 1 2
             276:   51(fvec3) GroupNonUniformFMin 35 ClusteredReduce 275 34
             277:     41(ptr) AccessChain 27(data) 272 29
             278:   18(fvec4) Load 277
             279:   18(fvec4) VectorShuffle 278 276 4 5 6 3
                              Store 277 279
             280:      6(int) Load 8(invocation)
             281:     41(ptr) AccessChain 27(data) 60 29
             282:   18(fvec4) Load 281
             283:   18(fvec4) GroupNonUniformFMin 35 ClusteredReduce 282 34
             284:     41(ptr) AccessChain 27(data) 280 29
                              Store 284 283
             285:      6(int) Load 8(invocation)
             286:     66(ptr) AccessChain 27(data) 29 39 30
             287:     19(int) Load 286
             288:     19(int) GroupNonUniformSMin 35 ClusteredReduce 287 34
             289:     66(ptr) AccessChain 27(data) 285 39 30
                              Store 289 288
             290:      6(int) Load 8(invocation)
             291:     73(ptr) AccessChain 27(data) 39 39
             292:   20(ivec4) Load 291
             293:   72(ivec2) VectorShuffle 292 292 0 1
             294:   72(ivec2) GroupNonUniformSMin 35 ClusteredReduce 293 34
             295:     73(ptr) AccessChain 27(data) 290 39
             296:   20(ivec4) Load 295
             297:   20(ivec4) VectorShuffle 296 294 4 5 2 3
                              Store 295 297
             298:      6(int) Load 8(invocation)
             299:     73(ptr) AccessChain 27(data) 50 39
             300:   20(ivec4) Load 299
             301:   82(ivec3) VectorShuffle 300 300 0 1 2
             302:   82(ivec3) GroupNonUniformSMin 35 ClusteredReduce 301 34
             303:     73(ptr) AccessChain 27(data) 298 39
             304:   20(ivec4) Load 303
             305:   20(ivec4) VectorShuffle 304 302 4 5 6 3
                              Store 303 305
             306:      6(int) Load 8(invocation)
             307:     73(ptr) AccessChain 27(data) 60 39
             308:   20(ivec4) Load 307
             309:   20(ivec4) GroupNonUniformSMin 35 ClusteredReduce 308 34
             310:     73(ptr) AccessChain 27(data) 306 39
                              Store 310 309
             311:      6(int) Load 8(invocation)
             312:     96(ptr) AccessChain 27(data) 29 50 30
             313:      6(int) Load 312
             314:      6(int) GroupNonUniformUMin 35 ClusteredReduce 313 34
             315:     96(ptr) AccessChain 27(data) 311 50 30
                              Store 315 314
             316:      6(int) Load 8(invocation)
             317:    103(ptr) AccessChain 27(data) 39 50
             318:   21(ivec4) Load 317
             319:  102(ivec2) VectorShuffle 318 318 0 1
             320:  102(ivec2) GroupNonUniformUMin 35 ClusteredReduce 319 34
             321:    103(ptr) AccessChain 27(data) 316 50
             322:   21(ivec4) Load 321
             323:   21(ivec4) VectorShuffle 322 320 4 5 2 3
                              Store 321 323
             324:      6(int) Load 8(invocation)
             325:    103(ptr) AccessChain 27(data) 50 50
             326:   21(ivec4) Load 325
             327:  112(ivec3) VectorShuffle 326 326 0 1 2
             328:  112(ivec3) GroupNonUniformUMin 35 ClusteredReduce 327 34
             329:    103(ptr) AccessChain 27(data) 324 50
             330:   21(ivec4) Load 329
             331:   21(ivec4) VectorShuffle 330 328 4 5 6 3
                              Store 329 331
             332:      6(int) Load 8(invocation)
             333:    103(ptr) AccessChain 27(data) 60 50
             334:   21(ivec4) Load 333
             335:   21(ivec4) GroupNonUniformUMin 35 ClusteredReduce 334 34
             336:    103(ptr) AccessChain 27(data) 332 50
                              Store 336 335
             337:      6(int) Load 8(invocation)
             338:    126(ptr) AccessChain 27(data) 29 60 30
             339:22(float64_t) Load 338
             340:22(float64_t) GroupNonUniformFMin 35 ClusteredReduce 339 34
             341:    126(ptr) AccessChain 27(data) 337 60 30
                              Store 341 340
             342:      6(int) Load 8(invocation)
             343:    133(ptr) AccessChain 27(data) 39 60
             344: 23(f64vec4) Load 343
             345:132(f64vec2) VectorShuffle 344 344 0 1
             346:132(f64vec2) GroupNonUniformFMin 35 ClusteredReduce 345 34
             347:    133(ptr) AccessChain 27(data) 342 60
             348: 23(f64vec4) Load 347
             349: 23(f64vec4) VectorShuffle 348 346 4 5 2 3
                              Store 347 349
             350:      6(int) Load 8(invocation)
             351:    133(ptr) AccessChain 27(data) 50 60
             352: 23(f64vec4) Load 351
             353:142(f64vec3) VectorShuffle 352 352 0 1 2
             354:142(f64vec3) GroupNonUniformFMin 35 ClusteredReduce 353 34
             355:    133(ptr) AccessChain 27(data) 350 60
             356: 23(f64vec4) Load 355
             357: 23(f64vec4) VectorShuffle 356 354 4 5 6 3
                              Store 355 357
             358:      6(int) Load 8(invocation)
             359:    133(ptr) AccessChain 27(data) 60 60
             360: 23(f64vec4) Load 359
             361: 23(f64vec4) GroupNonUniformFMin 35 ClusteredReduce 360 34
             362:    133(ptr) AccessChain 27(data) 358 60
                              Store 362 361
             363:      6(int) Load 8(invocation)
             364:     31(ptr) AccessChain 27(data) 29 29 30
             365:   17(float) Load 364
             366:   17(float) GroupNonUniformFMax 35 ClusteredReduce 365 34
             367:     31(ptr) AccessChain 27(data) 363 29 30
                              Store 367 366
             368:      6(int) Load 8(invocation)
             369:     41(ptr) AccessChain 27(data) 39 29
             370:   18(fvec4) Load 369
             371:   40(fvec2) VectorShuffle 370 370 0 1
             372:   40(fvec2) GroupNonUniformFMax 35 ClusteredReduce 371 34
             373:     41(ptr) AccessChain 27(data) 368 29
             374:   18(fvec4) Load 373
             375:   18(fvec4) VectorShuffle 374 372 4 5 2 3
                              Store 373 375
             376:      6(int) Load 8(invocation)
             377:     41(ptr) AccessChain 27(data) 50 29
             378:   18(fvec4) Load 377
             379:   51(fvec3) VectorShuffle 378 378 0 1 2
             380:   51(fvec3) GroupNonUniformFMax 35 ClusteredReduce 379 34
             381:     41(ptr) AccessChain 27(data) 376 29
             382:   18(fvec4) Load 381
             383:   18(fvec4) VectorShuffle 382 380 4 5 6 3
                              Store 381 383
             384:      6(int) Load 8(invocation)
             385:     41(ptr) AccessChain 27(data) 60 29
             386:   18(fvec4) Load 385
             387:   18(fvec4) GroupNonUniformFMax 35 ClusteredReduce 386 34
             388:     41(ptr) AccessChain 27(data) 384 29
                              Store 388 387
             389:      6(int) Load 8(invocation)
             390:     66(ptr) AccessChain 27(data) 29 39 30
             391:     19(int) Load 390
             392:     19(int) GroupNonUniformSMax 35 ClusteredReduce 391 34
             393:     66(ptr) AccessChain 27(data) 389 39 30
                              Store 393 392
             394:      6(int) Load 8(invocation)
             395:     73(ptr) AccessChain 27(data) 39 39
             396:   20(ivec4) Load 395
             397:   72(ivec2) VectorShuffle 396 396 0 1
             398:   72(ivec2) GroupNonUniformSMax 35 ClusteredReduce 397 34
             399:     73(ptr) AccessChain 27(data) 394 39
             400:   20(ivec4) Load 399
             401:   20(ivec4) VectorShuffle 400 398 4 5 2 3
                              Store 399 401
             402:      6(int) Load 8(invocation)
             403:     73(ptr) AccessChain 27(data) 50 39
             404:   20(ivec4) Load 403
             405:   82(ivec3) VectorShuffle 404 404 0 1 2
             406:   82(ivec3) GroupNonUniformSMax 35 ClusteredReduce 405 34
             407:     73(ptr) AccessChain 27(data) 402 39
             408:   20(ivec4) Load 407
             409:   20(ivec4) VectorShuffle 408 406 4 5 6 3
                              Store 407 409
             410:      6(int) Load 8(invocation)
             411:     73(ptr) AccessChain 27(data) 60 39
             412:   20(ivec4) Load 411
             413:   20(ivec4) GroupNonUniformSMax 35 ClusteredReduce 412 34
             414:     73(ptr) AccessChain 27(data) 410 39
                              Store 414 413
             415:      6(int) Load 8(invocation)
             416:     96(ptr) AccessChain 27(data) 29 50 30
             417:      6(int) Load 416
             418:      6(int) GroupNonUniformUMax 35 ClusteredReduce 417 34
             419:     96(ptr) AccessChain 27(data) 415 50 30
                              Store 419 418
             420:      6(int) Load 8(invocation)
             421:    103(ptr) AccessChain 27(data) 39 50
             422:   21(ivec4) Load 421
             423:  102(ivec2) VectorShuffle 422 422 0 1
             424:  102(ivec2) GroupNonUniformUMax 35 ClusteredReduce 423 34
             425:    103(ptr) AccessChain 27(data) 420 50
             426:   21(ivec4) Load 425
             427:   21(ivec4) VectorShuffle 426 424 4 5 2 3
                              Store 425 427
             428:      6(int) Load 8(invocation)
             429:    103(ptr) AccessChain 27(data) 50 50
             430:   21(ivec4) Load 429
             431:  112(ivec3) VectorShuffle 430 430 0 1 2
             432:  112(ivec3) GroupNonUniformUMax 35 ClusteredReduce 431 34
             433:    103(ptr) AccessChain 27(data) 428 50
             434:   21(ivec4) Load 433
             435:   21(ivec4) VectorShuffle 434 432 4 5 6 3
                              Store 433 435
             436:      6(int) Load 8(invocation)
             437:    103(ptr) AccessChain 27(data) 60 50
             438:   21(ivec4) Load 437
             439:   21(ivec4) GroupNonUniformUMax 35 ClusteredReduce 438 34
             440:    103(ptr) AccessChain 27(data) 436 50
                              Store 440 439
             441:      6(int) Load 8(invocation)
             442:    126(ptr) AccessChain 27(data) 29 60 30
             443:22(float64_t) Load 442
             444:22(float64_t) GroupNonUniformFMax 35 ClusteredReduce 443 34
             445:    126(ptr) AccessChain 27(data) 441 60 30
                              Store 445 444
             446:      6(int) Load 8(invocation)
             447:    133(ptr) AccessChain 27(data) 39 60
             448: 23(f64vec4) Load 447
             449:132(f64vec2) VectorShuffle 448 448 0 1
             450:132(f64vec2) GroupNonUniformFMax 35 ClusteredReduce 449 34
             451:    133(ptr) AccessChain 27(data) 446 60
             452: 23(f64vec4) Load 451
             453: 23(f64vec4) VectorShuffle 452 450 4 5 2 3
                              Store 451 453
             454:      6(int) Load 8(invocation)
             455:    133(ptr) AccessChain 27(data) 50 60
             456: 23(f64vec4) Load 455
             457:142(f64vec3) VectorShuffle 456 456 0 1 2
             458:142(f64vec3) GroupNonUniformFMax 35 ClusteredReduce 457 34
             459:    133(ptr) AccessChain 27(data) 454 60
             460: 23(f64vec4) Load 459
             461: 23(f64vec4) VectorShuffle 460 458 4 5 6 3
                              Store 459 461
             462:      6(int) Load 8(invocation)
             463:    133(ptr) AccessChain 27(data) 60 60
             464: 23(f64vec4) Load 463
             465: 23(f64vec4) GroupNonUniformFMax 35 ClusteredReduce 464 34
             466:    133(ptr) AccessChain 27(data) 462 60
                              Store 466 465
             467:      6(int) Load 8(invocation)
             468:     66(ptr) AccessChain 27(data) 29 39 30
             469:     19(int) Load 468
             470:     19(int) GroupNonUniformBitwiseAnd 35 ClusteredReduce 469 34
             471:     66(ptr) AccessChain 27(data) 467 39 30
                              Store 471 470
             472:      6(int) Load 8(invocation)
             473:     73(ptr) AccessChain 27(data) 39 39
             474:   20(ivec4) Load 473
             475:   72(ivec2) VectorShuffle 474 474 0 1
             476:   72(ivec2) GroupNonUniformBitwiseAnd 35 ClusteredReduce 475 34
             477:     73(ptr) AccessChain 27(data) 472 39
             478:   20(ivec4) Load 477
             479:   20(ivec4) VectorShuffle 478 476 4 5 2 3
                              Store 477 479
             480:      6(int) Load 8(invocation)
             481:     73(ptr) AccessChain 27(data) 50 39
             482:   20(ivec4) Load 481
             483:   82(ivec3) VectorShuffle 482 482 0 1 2
             484:   82(ivec3) GroupNonUniformBitwiseAnd 35 ClusteredReduce 483 34
             485:     73(ptr) AccessChain 27(data) 480 39
             486:   20(ivec4) Load 485
             487:   20(ivec4) VectorShuffle 486 484 4 5 6 3
                              Store 485 487
             488:      6(int) Load 8(invocation)
             489:     73(ptr) AccessChain 27(data) 60 39
             490:   20(ivec4) Load 489
             491:   20(ivec4) GroupNonUniformBitwiseAnd 35 ClusteredReduce 490 34
             492:     73(ptr) AccessChain 27(data) 488 39
                              Store 492 491
             493:      6(int) Load 8(invocation)
             494:     96(ptr) AccessChain 27(data) 29 50 30
             495:      6(int) Load 494
             496:      6(int) GroupNonUniformBitwiseAnd 35 ClusteredReduce 495 34
             497:     96(ptr) AccessChain 27(data) 493 50 30
                              Store 497 496
             498:      6(int) Load 8(invocation)
             499:    103(ptr) AccessChain 27(data) 39 50
             500:   21(ivec4) Load 499
             501:  102(ivec2) VectorShuffle 500 500 0 1
             502:  102(ivec2) GroupNonUniformBitwiseAnd 35 ClusteredReduce 501 34
             503:    103(ptr) AccessChain 27(data) 498 50
             504:   21(ivec4) Load 503
             505:   21(ivec4) VectorShuffle 504 502 4 5 2 3
                              Store 503 505
             506:      6(int) Load 8(invocation)
             507:    103(ptr) AccessChain 27(data) 50 50
             508:   21(ivec4) Load 507
             509:  112(ivec3) VectorShuffle 508 508 0 1 2
             510:  112(ivec3) GroupNonUniformBitwiseAnd 35 ClusteredReduce 509 34
             511:    103(ptr) AccessChain 27(data) 506 50
             512:   21(ivec4) Load 511
             513:   21(ivec4) VectorShuffle 512 510 4 5 6 3
                              Store 511 513
             514:      6(int) Load 8(invocation)
             515:    103(ptr) AccessChain 27(data) 60 50
             516:   21(ivec4) Load 515
             517:   21(ivec4) GroupNonUniformBitwiseAnd 35 ClusteredReduce 516 34
             518:    103(ptr) AccessChain 27(data) 514 50
                              Store 518 517
             519:      6(int) Load 8(invocation)
             520:     66(ptr) AccessChain 27(data) 29 39 30
             521:     19(int) Load 520
             523:   522(bool) SLessThan 521 29
             524:   522(bool) GroupNonUniformLogicalAnd 35 ClusteredReduce 523 34
             525:     19(int) Select 524 39 29
             526:     66(ptr) AccessChain 27(data) 519 39 30
                              Store 526 525
             527:      6(int) Load 8(invocation)
             528:     73(ptr) AccessChain 27(data) 39 39
             529:   20(ivec4) Load 528
             530:   72(ivec2) VectorShuffle 529 529 0 1
             533:  532(bvec2) SLessThan 530 531
             534:  532(bvec2) GroupNonUniformLogicalAnd 35 ClusteredReduce 533 34
             536:   72(ivec2) Select 534 535 531
             537:     73(ptr) AccessChain 27(data) 527 39
             538:   20(ivec4) Load 537
             539:   20(ivec4) VectorShuffle 538 536 4 5 2 3
                              Store 537 539
             540:      6(int) Load 8(invocation)
             541:     73(ptr) AccessChain 27(data) 39 39
             542:   20(ivec4) Load 541
             543:   82(ivec3) VectorShuffle 542 542 0 1 2
             546:  545(bvec3) SLessThan 543 544
             547:  545(bvec3) GroupNonUniformLogicalAnd 35 ClusteredReduce 546 34
             549:   82(ivec3) Select 547 548 544
             550:     73(ptr) AccessChain 27(data) 540 39
             551:   20(ivec4) Load 550
             552:   20(ivec4) VectorShuffle 551 549 4 5 6 3
                              Store 550 552
             553:      6(int) Load 8(invocation)
             554:     73(ptr) AccessChain 27(data) 39 39
             555:   20(ivec4) Load 554
             558:  557(bvec4) SLessThan 555 556
             559:  557(bvec4) GroupNonUniformLogicalAnd 35 ClusteredReduce 558 34
             561:   20(ivec4) Select 559 560 556
             562:     73(ptr) AccessChain 27(data) 553 39
                              Store 562 561
             563:      6(int) Load 8(invocation)
             564:     66(ptr) AccessChain 27(data) 29 39 30
             565:     19(int) Load 564
             566:     19(int) GroupNonUniformBitwiseOr 35 ClusteredReduce 565 34
             567:     66(ptr) AccessChain 27(data) 563 39 30
                              Store 567 566
             568:      6(int) Load 8(invocation)
             569:     73(ptr) AccessChain 27(data) 39 39
             570:   20(ivec4) Load 569
             571:   72(ivec2) VectorShuffle 570 570 0 1
             572:   72(ivec2) GroupNonUniformBitwiseOr 35 ClusteredReduce 571 34
             573:     73(ptr) AccessChain 27(data) 568 39
             574:   20(ivec4) Load 573
             575:   20(ivec4) VectorShuffle 574 572 4 5 2 3
                              Store 573 575
             576:      6(int) Load 8(invocation)
             577:     73(ptr) AccessChain 27(data) 50 39
             578:   20(ivec4) Load 577
             579:   82(ivec3) VectorShuffle 578 578 0 1 2
             580:   82(ivec3) GroupNonUniformBitwiseOr 35 ClusteredReduce 579 34
             581:     73(ptr) AccessChain 27(data) 576 39
             582:   20(ivec4) Load 581
             583:   20(ivec4) VectorShuffle 582 580 4 5 6 3
                              Store 581 583
             584:      6(int) Load 8(invocation)
             585:     73(ptr) AccessChain 27(data) 60 39
             586:   20(ivec4) Load 585
             587:   20(ivec4) GroupNonUniformBitwiseOr 35 ClusteredReduce 586 34
             588:     73(ptr) AccessChain 27(data) 584 39
                              Store 588 587
             589:      6(int) Load 8(invocation)
             590:     96(ptr) AccessChain 27(data) 29 50 30
             591:      6(int) Load 590
             592:      6(int) GroupNonUniformBitwiseOr 35 ClusteredReduce 591 34
             593:     96(ptr) AccessChain 27(data) 589 50 30
                              Store 593 592
             594:      6(int) Load 8(invocation)
             595:    103(ptr) AccessChain 27(data) 39 50
             596:   21(ivec4) Load 595
             597:  102(ivec2) VectorShuffle 596 596 0 1
             598:  102(ivec2) GroupNonUniformBitwiseOr 35 ClusteredReduce 597 34
             599:    103(ptr) AccessChain 27(data) 594 50
             600:   21(ivec4) Load 599
             601:   21(ivec4) VectorShuffle 600 598 4 5 2 3
                              Store 599 601
             602:      6(int) Load 8(invocation)
             603:    103(ptr) AccessChain 27(data) 50 50
             604:   21(ivec4) Load 603
             605:  112(ivec3) VectorShuffle 604 604 0 1 2
             606:  112(ivec3) GroupNonUniformBitwiseOr 35 ClusteredReduce 605 34
             607:    103(ptr) AccessChain 27(data) 602 50
             608:   21(ivec4) Load 607
             609:   21(ivec4) VectorShuffle 608 606 4 5 6 3
                              Store 607 609
             610:      6(int) Load 8(invocation)
             611:    103(ptr) AccessChain 27(data) 60 50
             612:   21(ivec4) Load 611
             613:   21(ivec4) GroupNonUniformBitwiseOr 35 ClusteredReduce 612 34
             614:    103(ptr) AccessChain 27(data) 610 50
                              Store 614 613
             615:      6(int) Load 8(invocation)
             616:     66(ptr) AccessChain 27(data) 29 39 30
             617:     19(int) Load 616
             618:   522(bool) SLessThan 617 29
             619:   522(bool) GroupNonUniformLogicalOr 35 ClusteredReduce 618 34
             620:     19(int) Select 619 39 29
             621:     66(ptr) AccessChain 27(data) 615 39 30
                              Store 621 620
             622:      6(int) Load 8(invocation)
             623:     73(ptr) AccessChain 27(data) 39 39
             624:   20(ivec4) Load 623
             625:   72(ivec2) VectorShuffle 624 624 0 1
             626:  532(bvec2) SLessThan 625 531
             627:  532(bvec2) GroupNonUniformLogicalOr 35 ClusteredReduce 626 34
             628:   72(ivec2) Select 627 535 531
             629:     73(ptr) AccessChain 27(data) 622 39
             630:   20(ivec4) Load 629
             631:   20(ivec4) VectorShuffle 630 628 4 5 2 3
                              Store 629 631
             632:      6(int) Load 8(invocation)
             633:     73(ptr) AccessChain 27(data) 39 39
             634:   20(ivec4) Load 633
             635:   82(ivec3) VectorShuffle 634 634 0 1 2
             636:  545(bvec3) SLessThan 635 544
             637:  545(bvec3) GroupNonUniformLogicalOr 35 ClusteredReduce 636 34
             638:   82(ivec3) Select 637 548 544
             639:     73(ptr) AccessChain 27(data) 632 39
             640:   20(ivec4) Load 639
             641:   20(ivec4) VectorShuffle 640 638 4 5 6 3
                              Store 639 641
             642:      6(int) Load 8(invocation)
             643:     73(ptr) AccessChain 27(data) 39 39
             644:   20(ivec4) Load 643
             645:  557(bvec4) SLessThan 644 556
             646:  557(bvec4) GroupNonUniformLogicalOr 35 ClusteredReduce 645 34
             647:   20(ivec4) Select 646 560 556
             648:     73(ptr) AccessChain 27(data) 642 39
                              Store 648 647
             649:      6(int) Load 8(invocation)
             650:     66(ptr) AccessChain 27(data) 29 39 30
             651:     19(int) Load 650
             652:     19(int) GroupNonUniformBitwiseXor 35 ClusteredReduce 651 34
             653:     66(ptr) AccessChain 27(data) 649 39 30
                              Store 653 652
             654:      6(int) Load 8(invocation)
             655:     73(ptr) AccessChain 27(data) 39 39
             656:   20(ivec4) Load 655
             657:   72(ivec2) VectorShuffle 656 656 0 1
             658:   72(ivec2) GroupNonUniformBitwiseXor 35 ClusteredReduce 657 34
             659:     73(ptr) AccessChain 27(data) 654 39
             660:   20(ivec4) Load 659
             661:   20(ivec4) VectorShuffle 660 658 4 5 2 3
                              Store 659 661
             662:      6(int) Load 8(invocation)
             663:     73(ptr) AccessChain 27(data) 50 39
             664:   20(ivec4) Load 663
             665:   82(ivec3) VectorShuffle 664 664 0 1 2
             666:   82(ivec3) GroupNonUniformBitwiseXor 35 ClusteredReduce 665 34
             667:     73(ptr) AccessChain 27(data) 662 39
             668:   20(ivec4) Load 667
             669:   20(ivec4) VectorShuffle 668 666 4 5 6 3
                              Store 667 669
             670:      6(int) Load 8(invocation)
             671:     73(ptr) AccessChain 27(data) 60 39
             672:   20(ivec4) Load 671
             673:   20(ivec4) GroupNonUniformBitwiseXor 35 ClusteredReduce 672 34
             674:     73(ptr) AccessChain 27(data) 670 39
                              Store 674 673
             675:      6(int) Load 8(invocation)
             676:     96(ptr) AccessChain 27(data) 29 50 30
             677:      6(int) Load 676
             678:      6(int) GroupNonUniformBitwiseXor 35 ClusteredReduce 677 34
             679:     96(ptr) AccessChain 27(data) 675 50 30
                              Store 679 678
             680:      6(int) Load 8(invocation)
             681:    103(ptr) AccessChain 27(data) 39 50
             682:   21(ivec4) Load 681
             683:  102(ivec2) VectorShuffle 682 682 0 1
             684:  102(ivec2) GroupNonUniformBitwiseXor 35 ClusteredReduce 683 34
             685:    103(ptr) AccessChain 27(data) 680 50
             686:   21(ivec4) Load 685
             687:   21(ivec4) VectorShuffle 686 684 4 5 2 3
                              Store 685 687
             688:      6(int) Load 8(invocation)
             689:    103(ptr) AccessChain 27(data) 50 50
             690:   21(ivec4) Load 689
             691:  112(ivec3) VectorShuffle 690 690 0 1 2
             692:  112(ivec3) GroupNonUniformBitwiseXor 35 ClusteredReduce 691 34
             693:    103(ptr) AccessChain 27(data) 688 50
             694:   21(ivec4) Load 693
             695:   21(ivec4) VectorShuffle 694 692 4 5 6 3
                              Store 693 695
             696:      6(int) Load 8(invocation)
             697:    103(ptr) AccessChain 27(data) 60 50
             698:   21(ivec4) Load 697
             699:   21(ivec4) GroupNonUniformBitwiseXor 35 ClusteredReduce 698 34
             700:    103(ptr) AccessChain 27(data) 696 50
                              Store 700 699
             701:      6(int) Load 8(invocation)
             702:     66(ptr) AccessChain 27(data) 29 39 30
             703:     19(int) Load 702
             704:   522(bool) SLessThan 703 29
             705:   522(bool) GroupNonUniformLogicalXor 35 ClusteredReduce 704 34
             706:     19(int) Select 705 39 29
             707:     66(ptr) AccessChain 27(data) 701 39 30
                              Store 707 706
             708:      6(int) Load 8(invocation)
             709:     73(ptr) AccessChain 27(data) 39 39
             710:   20(ivec4) Load 709
             711:   72(ivec2) VectorShuffle 710 710 0 1
             712:  532(bvec2) SLessThan 711 531
             713:  532(bvec2) GroupNonUniformLogicalXor 35 ClusteredReduce 712 34
             714:   72(ivec2) Select 713 535 531
             715:     73(ptr) AccessChain 27(data) 708 39
             716:   20(ivec4) Load 715
             717:   20(ivec4) VectorShuffle 716 714 4 5 2 3
                              Store 715 717
             718:      6(int) Load 8(invocation)
             719:     73(ptr) AccessChain 27(data) 39 39
             720:   20(ivec4) Load 719
             721:   82(ivec3) VectorShuffle 720 720 0 1 2
             722:  545(bvec3) SLessThan 721 544
             723:  545(bvec3) GroupNonUniformLogicalXor 35 ClusteredReduce 722 34
             724:   82(ivec3) Select 723 548 544
             725:     73(ptr) AccessChain 27(data) 718 39
             726:   20(ivec4) Load 725
             727:   20(ivec4) VectorShuffle 726 724 4 5 6 3
                              Store 725 727
             728:      6(int) Load 8(invocation)
             729:     73(ptr) AccessChain 27(data) 39 39
             730:   20(ivec4) Load 729
             731:  557(bvec4) SLessThan 730 556
             732:  557(bvec4) GroupNonUniformLogicalXor 35 ClusteredReduce 731 34
             733:   20(ivec4) Select 732 560 556
             734:     73(ptr) AccessChain 27(data) 728 39
                              Store 734 733
                              Return
                              FunctionEnd