spv.subgroupBallot.comp
// Module Version 10300
// Generated by (magic number): 80006
// Id's are bound by 417

                              Capability Shader
                              Capability Float64
                              Capability GroupNonUniform
                              Capability GroupNonUniformBallot
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint GLCompute 4  "main" 10 12 21 23 26 29 32
                              ExecutionMode 4 LocalSize 8 8 1
                              Source GLSL 450
                              SourceExtension  "GL_KHR_shader_subgroup_ballot"
                              SourceExtension  "GL_KHR_shader_subgroup_basic"
                              Name 4  "main"
                              Name 8  "invocation"
                              Name 10  "gl_SubgroupInvocationID"
                              Name 12  "gl_SubgroupSize"
                              Name 19  "relMask"
                              Name 21  "gl_SubgroupEqMask"
                              Name 23  "gl_SubgroupGeMask"
                              Name 26  "gl_SubgroupGtMask"
                              Name 29  "gl_SubgroupLeMask"
                              Name 32  "gl_SubgroupLtMask"
                              Name 35  "result"
                              Name 46  "Buffers"
                              MemberName 46(Buffers) 0  "f4"
                              MemberName 46(Buffers) 1  "i4"
                              MemberName 46(Buffers) 2  "u4"
                              MemberName 46(Buffers) 3  "d4"
                              Name 49  "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
                              Decorate 21(gl_SubgroupEqMask) BuiltIn SubgroupEqMaskKHR
                              Decorate 23(gl_SubgroupGeMask) BuiltIn SubgroupGeMaskKHR
                              Decorate 26(gl_SubgroupGtMask) BuiltIn SubgroupGtMaskKHR
                              Decorate 29(gl_SubgroupLeMask) BuiltIn SubgroupLeMaskKHR
                              Decorate 32(gl_SubgroupLtMask) BuiltIn SubgroupLtMaskKHR
                              MemberDecorate 46(Buffers) 0 Offset 0
                              MemberDecorate 46(Buffers) 1 Offset 16
                              MemberDecorate 46(Buffers) 2 Offset 32
                              MemberDecorate 46(Buffers) 3 Offset 64
                              Decorate 46(Buffers) BufferBlock
                              Decorate 49(data) DescriptorSet 0
                              Decorate 49(data) Binding 0
                              Decorate 416 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:             TypeVector 6(int) 4
              18:             TypePointer Function 17(ivec4)
              20:             TypePointer Input 17(ivec4)
21(gl_SubgroupEqMask):     20(ptr) Variable Input
23(gl_SubgroupGeMask):     20(ptr) Variable Input
26(gl_SubgroupGtMask):     20(ptr) Variable Input
29(gl_SubgroupLeMask):     20(ptr) Variable Input
32(gl_SubgroupLtMask):     20(ptr) Variable Input
              36:             TypeBool
              37:    36(bool) ConstantTrue
              38:      6(int) Constant 3
              40:             TypeFloat 32
              41:             TypeVector 40(float) 4
              42:             TypeInt 32 1
              43:             TypeVector 42(int) 4
              44:             TypeFloat 64
              45:             TypeVector 44(float) 4
     46(Buffers):             TypeStruct 41(fvec4) 43(ivec4) 17(ivec4) 45(fvec4)
              47:             TypeArray 46(Buffers) 15
              48:             TypePointer Uniform 47
        49(data):     48(ptr) Variable Uniform
              51:     42(int) Constant 2
              54:      6(int) Constant 0
              55:             TypePointer Uniform 6(int)
              60:     42(int) Constant 1
              61:     42(int) Constant 0
              64:      6(int) Constant 1
              72:      6(int) Constant 2
              83:             TypeVector 36(bool) 4
              88:             TypePointer Uniform 17(ivec4)
              96:             TypePointer Uniform 40(float)
             103:             TypeVector 40(float) 2
             104:             TypePointer Uniform 41(fvec4)
             114:             TypeVector 40(float) 3
             124:     42(int) Constant 3
             131:             TypePointer Uniform 42(int)
             138:             TypeVector 42(int) 2
             139:             TypePointer Uniform 43(ivec4)
             149:             TypeVector 42(int) 3
             171:             TypeVector 6(int) 2
             181:             TypeVector 6(int) 3
             197:             TypePointer Uniform 44(float)
             204:             TypeVector 44(float) 2
             205:             TypePointer Uniform 45(fvec4)
             215:             TypeVector 44(float) 3
             242:  138(ivec2) ConstantComposite 61 61
             243:             TypeVector 36(bool) 2
             247:  138(ivec2) ConstantComposite 60 60
             256:  149(ivec3) ConstantComposite 61 61 61
             257:             TypeVector 36(bool) 3
             261:  149(ivec3) ConstantComposite 60 60 60
             269:   43(ivec4) ConstantComposite 61 61 61 61
             273:   43(ivec4) ConstantComposite 60 60 60 60
             415:      6(int) Constant 8
             416:  181(ivec3) ConstantComposite 415 415 64
         4(main):           2 Function None 3
               5:             Label
   8(invocation):      7(ptr) Variable Function
     19(relMask):     18(ptr) Variable Function
      35(result):     18(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
              22:   17(ivec4) Load 21(gl_SubgroupEqMask)
              24:   17(ivec4) Load 23(gl_SubgroupGeMask)
              25:   17(ivec4) IAdd 22 24
              27:   17(ivec4) Load 26(gl_SubgroupGtMask)
              28:   17(ivec4) IAdd 25 27
              30:   17(ivec4) Load 29(gl_SubgroupLeMask)
              31:   17(ivec4) IAdd 28 30
              33:   17(ivec4) Load 32(gl_SubgroupLtMask)
              34:   17(ivec4) IAdd 31 33
                              Store 19(relMask) 34
              39:   17(ivec4) GroupNonUniformBallot 38 37
                              Store 35(result) 39
              50:      6(int) Load 8(invocation)
              52:   17(ivec4) Load 35(result)
              53:      6(int) GroupNonUniformBallotBitCount 38 Reduce 52
              56:     55(ptr) AccessChain 49(data) 50 51 54
                              Store 56 53
              57:      6(int) Load 8(invocation)
              58:   17(ivec4) Load 35(result)
              59:    36(bool) GroupNonUniformBallotBitExtract 38 58 54
              62:     42(int) Select 59 60 61
              63:      6(int) Bitcast 62
              65:     55(ptr) AccessChain 49(data) 57 51 64
                              Store 65 63
              66:      6(int) Load 8(invocation)
              67:   17(ivec4) Load 35(result)
              68:      6(int) GroupNonUniformBallotBitCount 38 InclusiveScan 67
              69:   17(ivec4) Load 35(result)
              70:      6(int) GroupNonUniformBallotBitCount 38 ExclusiveScan 69
              71:      6(int) IAdd 68 70
              73:     55(ptr) AccessChain 49(data) 66 51 72
                              Store 73 71
              74:      6(int) Load 8(invocation)
              75:   17(ivec4) Load 35(result)
              76:      6(int) GroupNonUniformBallotFindLSB 38 75
              77:   17(ivec4) Load 35(result)
              78:      6(int) GroupNonUniformBallotFindMSB 38 77
              79:      6(int) IAdd 76 78
              80:     55(ptr) AccessChain 49(data) 74 51 38
                              Store 80 79
              81:   17(ivec4) Load 19(relMask)
              82:   17(ivec4) Load 35(result)
              84:   83(bvec4) IEqual 81 82
              85:    36(bool) All 84
                              SelectionMerge 87 None
                              BranchConditional 85 86 87
              86:               Label
              89:     88(ptr)   AccessChain 49(data) 61 51
              90:   17(ivec4)   Load 89
              91:    36(bool)   GroupNonUniformInverseBallot 38 90
                                Branch 87
              87:             Label
              92:    36(bool) Phi 85 5 91 86
                              SelectionMerge 94 None
                              BranchConditional 92 93 276
              93:               Label
              95:      6(int)   Load 8(invocation)
              97:     96(ptr)   AccessChain 49(data) 61 61 54
              98:   40(float)   Load 97
              99:      6(int)   Load 8(invocation)
             100:   40(float)   GroupNonUniformBroadcast 38 98 99
             101:     96(ptr)   AccessChain 49(data) 95 61 54
                                Store 101 100
             102:      6(int)   Load 8(invocation)
             105:    104(ptr)   AccessChain 49(data) 60 61
             106:   41(fvec4)   Load 105
             107:  103(fvec2)   VectorShuffle 106 106 0 1
             108:      6(int)   Load 8(invocation)
             109:  103(fvec2)   GroupNonUniformBroadcast 38 107 108
             110:    104(ptr)   AccessChain 49(data) 102 61
             111:   41(fvec4)   Load 110
             112:   41(fvec4)   VectorShuffle 111 109 4 5 2 3
                                Store 110 112
             113:      6(int)   Load 8(invocation)
             115:    104(ptr)   AccessChain 49(data) 51 61
             116:   41(fvec4)   Load 115
             117:  114(fvec3)   VectorShuffle 116 116 0 1 2
             118:      6(int)   Load 8(invocation)
             119:  114(fvec3)   GroupNonUniformBroadcast 38 117 118
             120:    104(ptr)   AccessChain 49(data) 113 61
             121:   41(fvec4)   Load 120
             122:   41(fvec4)   VectorShuffle 121 119 4 5 6 3
                                Store 120 122
             123:      6(int)   Load 8(invocation)
             125:    104(ptr)   AccessChain 49(data) 124 61
             126:   41(fvec4)   Load 125
             127:      6(int)   Load 8(invocation)
             128:   41(fvec4)   GroupNonUniformBroadcast 38 126 127
             129:    104(ptr)   AccessChain 49(data) 123 61
                                Store 129 128
             130:      6(int)   Load 8(invocation)
             132:    131(ptr)   AccessChain 49(data) 61 60 54
             133:     42(int)   Load 132
             134:      6(int)   Load 8(invocation)
             135:     42(int)   GroupNonUniformBroadcast 38 133 134
             136:    131(ptr)   AccessChain 49(data) 130 60 54
                                Store 136 135
             137:      6(int)   Load 8(invocation)
             140:    139(ptr)   AccessChain 49(data) 60 60
             141:   43(ivec4)   Load 140
             142:  138(ivec2)   VectorShuffle 141 141 0 1
             143:      6(int)   Load 8(invocation)
             144:  138(ivec2)   GroupNonUniformBroadcast 38 142 143
             145:    139(ptr)   AccessChain 49(data) 137 60
             146:   43(ivec4)   Load 145
             147:   43(ivec4)   VectorShuffle 146 144 4 5 2 3
                                Store 145 147
             148:      6(int)   Load 8(invocation)
             150:    139(ptr)   AccessChain 49(data) 51 60
             151:   43(ivec4)   Load 150
             152:  149(ivec3)   VectorShuffle 151 151 0 1 2
             153:      6(int)   Load 8(invocation)
             154:  149(ivec3)   GroupNonUniformBroadcast 38 152 153
             155:    139(ptr)   AccessChain 49(data) 148 60
             156:   43(ivec4)   Load 155
             157:   43(ivec4)   VectorShuffle 156 154 4 5 6 3
                                Store 155 157
             158:      6(int)   Load 8(invocation)
             159:    139(ptr)   AccessChain 49(data) 124 60
             160:   43(ivec4)   Load 159
             161:      6(int)   Load 8(invocation)
             162:   43(ivec4)   GroupNonUniformBroadcast 38 160 161
             163:    139(ptr)   AccessChain 49(data) 158 60
                                Store 163 162
             164:      6(int)   Load 8(invocation)
             165:     55(ptr)   AccessChain 49(data) 61 51 54
             166:      6(int)   Load 165
             167:      6(int)   Load 8(invocation)
             168:      6(int)   GroupNonUniformBroadcast 38 166 167
             169:     55(ptr)   AccessChain 49(data) 164 51 54
                                Store 169 168
             170:      6(int)   Load 8(invocation)
             172:     88(ptr)   AccessChain 49(data) 60 51
             173:   17(ivec4)   Load 172
             174:  171(ivec2)   VectorShuffle 173 173 0 1
             175:      6(int)   Load 8(invocation)
             176:  171(ivec2)   GroupNonUniformBroadcast 38 174 175
             177:     88(ptr)   AccessChain 49(data) 170 51
             178:   17(ivec4)   Load 177
             179:   17(ivec4)   VectorShuffle 178 176 4 5 2 3
                                Store 177 179
             180:      6(int)   Load 8(invocation)
             182:     88(ptr)   AccessChain 49(data) 51 51
             183:   17(ivec4)   Load 182
             184:  181(ivec3)   VectorShuffle 183 183 0 1 2
             185:      6(int)   Load 8(invocation)
             186:  181(ivec3)   GroupNonUniformBroadcast 38 184 185
             187:     88(ptr)   AccessChain 49(data) 180 51
             188:   17(ivec4)   Load 187
             189:   17(ivec4)   VectorShuffle 188 186 4 5 6 3
                                Store 187 189
             190:      6(int)   Load 8(invocation)
             191:     88(ptr)   AccessChain 49(data) 124 51
             192:   17(ivec4)   Load 191
             193:      6(int)   Load 8(invocation)
             194:   17(ivec4)   GroupNonUniformBroadcast 38 192 193
             195:     88(ptr)   AccessChain 49(data) 190 51
                                Store 195 194
             196:      6(int)   Load 8(invocation)
             198:    197(ptr)   AccessChain 49(data) 61 124 54
             199:   44(float)   Load 198
             200:      6(int)   Load 8(invocation)
             201:   44(float)   GroupNonUniformBroadcast 38 199 200
             202:    197(ptr)   AccessChain 49(data) 196 124 54
                                Store 202 201
             203:      6(int)   Load 8(invocation)
             206:    205(ptr)   AccessChain 49(data) 60 124
             207:   45(fvec4)   Load 206
             208:  204(fvec2)   VectorShuffle 207 207 0 1
             209:      6(int)   Load 8(invocation)
             210:  204(fvec2)   GroupNonUniformBroadcast 38 208 209
             211:    205(ptr)   AccessChain 49(data) 203 124
             212:   45(fvec4)   Load 211
             213:   45(fvec4)   VectorShuffle 212 210 4 5 2 3
                                Store 211 213
             214:      6(int)   Load 8(invocation)
             216:    205(ptr)   AccessChain 49(data) 51 124
             217:   45(fvec4)   Load 216
             218:  215(fvec3)   VectorShuffle 217 217 0 1 2
             219:      6(int)   Load 8(invocation)
             220:  215(fvec3)   GroupNonUniformBroadcast 38 218 219
             221:    205(ptr)   AccessChain 49(data) 214 124
             222:   45(fvec4)   Load 221
             223:   45(fvec4)   VectorShuffle 222 220 4 5 6 3
                                Store 221 223
             224:      6(int)   Load 8(invocation)
             225:    205(ptr)   AccessChain 49(data) 124 124
             226:   45(fvec4)   Load 225
             227:      6(int)   Load 8(invocation)
             228:   45(fvec4)   GroupNonUniformBroadcast 38 226 227
             229:    205(ptr)   AccessChain 49(data) 224 124
                                Store 229 228
             230:      6(int)   Load 8(invocation)
             231:    131(ptr)   AccessChain 49(data) 61 60 54
             232:     42(int)   Load 231
             233:    36(bool)   SLessThan 232 61
             234:      6(int)   Load 8(invocation)
             235:    36(bool)   GroupNonUniformBroadcast 38 233 234
             236:     42(int)   Select 235 60 61
             237:    131(ptr)   AccessChain 49(data) 230 60 54
                                Store 237 236
             238:      6(int)   Load 8(invocation)
             239:    139(ptr)   AccessChain 49(data) 60 60
             240:   43(ivec4)   Load 239
             241:  138(ivec2)   VectorShuffle 240 240 0 1
             244:  243(bvec2)   SLessThan 241 242
             245:      6(int)   Load 8(invocation)
             246:  243(bvec2)   GroupNonUniformBroadcast 38 244 245
             248:  138(ivec2)   Select 246 247 242
             249:    139(ptr)   AccessChain 49(data) 238 60
             250:   43(ivec4)   Load 249
             251:   43(ivec4)   VectorShuffle 250 248 4 5 2 3
                                Store 249 251
             252:      6(int)   Load 8(invocation)
             253:    139(ptr)   AccessChain 49(data) 60 60
             254:   43(ivec4)   Load 253
             255:  149(ivec3)   VectorShuffle 254 254 0 1 2
             258:  257(bvec3)   SLessThan 255 256
             259:      6(int)   Load 8(invocation)
             260:  257(bvec3)   GroupNonUniformBroadcast 38 258 259
             262:  149(ivec3)   Select 260 261 256
             263:    139(ptr)   AccessChain 49(data) 252 60
             264:   43(ivec4)   Load 263
             265:   43(ivec4)   VectorShuffle 264 262 4 5 6 3
                                Store 263 265
             266:      6(int)   Load 8(invocation)
             267:    139(ptr)   AccessChain 49(data) 60 60
             268:   43(ivec4)   Load 267
             270:   83(bvec4)   SLessThan 268 269
             271:      6(int)   Load 8(invocation)
             272:   83(bvec4)   GroupNonUniformBroadcast 38 270 271
             274:   43(ivec4)   Select 272 273 269
             275:    139(ptr)   AccessChain 49(data) 266 60
                                Store 275 274
                                Branch 94
             276:               Label
             277:      6(int)   Load 8(invocation)
             278:     96(ptr)   AccessChain 49(data) 61 61 54
             279:   40(float)   Load 278
             280:   40(float)   GroupNonUniformBroadcastFirst 38 279
             281:     96(ptr)   AccessChain 49(data) 277 61 54
                                Store 281 280
             282:      6(int)   Load 8(invocation)
             283:    104(ptr)   AccessChain 49(data) 60 61
             284:   41(fvec4)   Load 283
             285:  103(fvec2)   VectorShuffle 284 284 0 1
             286:  103(fvec2)   GroupNonUniformBroadcastFirst 38 285
             287:    104(ptr)   AccessChain 49(data) 282 61
             288:   41(fvec4)   Load 287
             289:   41(fvec4)   VectorShuffle 288 286 4 5 2 3
                                Store 287 289
             290:      6(int)   Load 8(invocation)
             291:    104(ptr)   AccessChain 49(data) 51 61
             292:   41(fvec4)   Load 291
             293:  114(fvec3)   VectorShuffle 292 292 0 1 2
             294:  114(fvec3)   GroupNonUniformBroadcastFirst 38 293
             295:    104(ptr)   AccessChain 49(data) 290 61
             296:   41(fvec4)   Load 295
             297:   41(fvec4)   VectorShuffle 296 294 4 5 6 3
                                Store 295 297
             298:      6(int)   Load 8(invocation)
             299:    104(ptr)   AccessChain 49(data) 124 61
             300:   41(fvec4)   Load 299
             301:   41(fvec4)   GroupNonUniformBroadcastFirst 38 300
             302:    104(ptr)   AccessChain 49(data) 298 61
                                Store 302 301
             303:      6(int)   Load 8(invocation)
             304:    131(ptr)   AccessChain 49(data) 61 60 54
             305:     42(int)   Load 304
             306:     42(int)   GroupNonUniformBroadcastFirst 38 305
             307:    131(ptr)   AccessChain 49(data) 303 60 54
                                Store 307 306
             308:      6(int)   Load 8(invocation)
             309:    139(ptr)   AccessChain 49(data) 60 60
             310:   43(ivec4)   Load 309
             311:  138(ivec2)   VectorShuffle 310 310 0 1
             312:  138(ivec2)   GroupNonUniformBroadcastFirst 38 311
             313:    139(ptr)   AccessChain 49(data) 308 60
             314:   43(ivec4)   Load 313
             315:   43(ivec4)   VectorShuffle 314 312 4 5 2 3
                                Store 313 315
             316:      6(int)   Load 8(invocation)
             317:    139(ptr)   AccessChain 49(data) 51 60
             318:   43(ivec4)   Load 317
             319:  149(ivec3)   VectorShuffle 318 318 0 1 2
             320:  149(ivec3)   GroupNonUniformBroadcastFirst 38 319
             321:    139(ptr)   AccessChain 49(data) 316 60
             322:   43(ivec4)   Load 321
             323:   43(ivec4)   VectorShuffle 322 320 4 5 6 3
                                Store 321 323
             324:      6(int)   Load 8(invocation)
             325:    139(ptr)   AccessChain 49(data) 124 60
             326:   43(ivec4)   Load 325
             327:   43(ivec4)   GroupNonUniformBroadcastFirst 38 326
             328:    139(ptr)   AccessChain 49(data) 324 60
                                Store 328 327
             329:      6(int)   Load 8(invocation)
             330:     55(ptr)   AccessChain 49(data) 61 51 54
             331:      6(int)   Load 330
             332:      6(int)   GroupNonUniformBroadcastFirst 38 331
             333:     55(ptr)   AccessChain 49(data) 329 51 54
                                Store 333 332
             334:      6(int)   Load 8(invocation)
             335:     88(ptr)   AccessChain 49(data) 60 51
             336:   17(ivec4)   Load 335
             337:  171(ivec2)   VectorShuffle 336 336 0 1
             338:  171(ivec2)   GroupNonUniformBroadcastFirst 38 337
             339:     88(ptr)   AccessChain 49(data) 334 51
             340:   17(ivec4)   Load 339
             341:   17(ivec4)   VectorShuffle 340 338 4 5 2 3
                                Store 339 341
             342:      6(int)   Load 8(invocation)
             343:     88(ptr)   AccessChain 49(data) 51 51
             344:   17(ivec4)   Load 343
             345:  181(ivec3)   VectorShuffle 344 344 0 1 2
             346:  181(ivec3)   GroupNonUniformBroadcastFirst 38 345
             347:     88(ptr)   AccessChain 49(data) 342 51
             348:   17(ivec4)   Load 347
             349:   17(ivec4)   VectorShuffle 348 346 4 5 6 3
                                Store 347 349
             350:      6(int)   Load 8(invocation)
             351:     88(ptr)   AccessChain 49(data) 124 51
             352:   17(ivec4)   Load 351
             353:   17(ivec4)   GroupNonUniformBroadcastFirst 38 352
             354:     88(ptr)   AccessChain 49(data) 350 51
                                Store 354 353
             355:      6(int)   Load 8(invocation)
             356:    197(ptr)   AccessChain 49(data) 61 124 54
             357:   44(float)   Load 356
             358:   44(float)   GroupNonUniformBroadcastFirst 38 357
             359:    197(ptr)   AccessChain 49(data) 355 124 54
                                Store 359 358
             360:      6(int)   Load 8(invocation)
             361:    205(ptr)   AccessChain 49(data) 60 124
             362:   45(fvec4)   Load 361
             363:  204(fvec2)   VectorShuffle 362 362 0 1
             364:  204(fvec2)   GroupNonUniformBroadcastFirst 38 363
             365:    205(ptr)   AccessChain 49(data) 360 124
             366:   45(fvec4)   Load 365
             367:   45(fvec4)   VectorShuffle 366 364 4 5 2 3
                                Store 365 367
             368:      6(int)   Load 8(invocation)
             369:    205(ptr)   AccessChain 49(data) 51 124
             370:   45(fvec4)   Load 369
             371:  215(fvec3)   VectorShuffle 370 370 0 1 2
             372:  215(fvec3)   GroupNonUniformBroadcastFirst 38 371
             373:    205(ptr)   AccessChain 49(data) 368 124
             374:   45(fvec4)   Load 373
             375:   45(fvec4)   VectorShuffle 374 372 4 5 6 3
                                Store 373 375
             376:      6(int)   Load 8(invocation)
             377:    205(ptr)   AccessChain 49(data) 124 124
             378:   45(fvec4)   Load 377
             379:   45(fvec4)   GroupNonUniformBroadcastFirst 38 378
             380:    205(ptr)   AccessChain 49(data) 376 124
                                Store 380 379
             381:      6(int)   Load 8(invocation)
             382:    131(ptr)   AccessChain 49(data) 61 60 54
             383:     42(int)   Load 382
             384:    36(bool)   SLessThan 383 61
             385:    36(bool)   GroupNonUniformBroadcastFirst 38 384
             386:     42(int)   Select 385 60 61
             387:    131(ptr)   AccessChain 49(data) 381 60 54
                                Store 387 386
             388:      6(int)   Load 8(invocation)
             389:    139(ptr)   AccessChain 49(data) 60 60
             390:   43(ivec4)   Load 389
             391:  138(ivec2)   VectorShuffle 390 390 0 1
             392:  243(bvec2)   SLessThan 391 242
             393:  243(bvec2)   GroupNonUniformBroadcastFirst 38 392
             394:  138(ivec2)   Select 393 247 242
             395:    139(ptr)   AccessChain 49(data) 388 60
             396:   43(ivec4)   Load 395
             397:   43(ivec4)   VectorShuffle 396 394 4 5 2 3
                                Store 395 397
             398:      6(int)   Load 8(invocation)
             399:    139(ptr)   AccessChain 49(data) 60 60
             400:   43(ivec4)   Load 399
             401:  149(ivec3)   VectorShuffle 400 400 0 1 2
             402:  257(bvec3)   SLessThan 401 256
             403:  257(bvec3)   GroupNonUniformBroadcastFirst 38 402
             404:  149(ivec3)   Select 403 261 256
             405:    139(ptr)   AccessChain 49(data) 398 60
             406:   43(ivec4)   Load 405
             407:   43(ivec4)   VectorShuffle 406 404 4 5 6 3
                                Store 405 407
             408:      6(int)   Load 8(invocation)
             409:    139(ptr)   AccessChain 49(data) 60 60
             410:   43(ivec4)   Load 409
             411:   83(bvec4)   SLessThan 410 269
             412:   83(bvec4)   GroupNonUniformBroadcastFirst 38 411
             413:   43(ivec4)   Select 412 273 269
             414:    139(ptr)   AccessChain 49(data) 408 60
                                Store 414 413
                                Branch 94
              94:             Label
                              Return
                              FunctionEnd
