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

                              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) Block
                              Decorate 49(data) DescriptorSet 0
                              Decorate 49(data) Binding 0
                              Decorate 396 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(float64_t) 4
     46(Buffers):             TypeStruct 41(fvec4) 43(ivec4) 17(ivec4) 45(f64vec4)
              47:             TypeArray 46(Buffers) 15
              48:             TypePointer StorageBuffer 47
        49(data):     48(ptr) Variable StorageBuffer
              51:     42(int) Constant 2
              54:      6(int) Constant 0
              55:             TypePointer StorageBuffer 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 StorageBuffer 17(ivec4)
              96:             TypePointer StorageBuffer 40(float)
             102:             TypeVector 40(float) 2
             103:             TypePointer StorageBuffer 41(fvec4)
             112:             TypeVector 40(float) 3
             121:     42(int) Constant 3
             127:             TypePointer StorageBuffer 42(int)
             133:             TypeVector 42(int) 2
             134:             TypePointer StorageBuffer 43(ivec4)
             143:             TypeVector 42(int) 3
             162:             TypeVector 6(int) 2
             171:             TypeVector 6(int) 3
             185:             TypePointer StorageBuffer 44(float64_t)
             191:             TypeVector 44(float64_t) 2
             192:             TypePointer StorageBuffer 45(f64vec4)
             201:             TypeVector 44(float64_t) 3
             225:  133(ivec2) ConstantComposite 61 61
             226:             TypeVector 36(bool) 2
             229:  133(ivec2) ConstantComposite 60 60
             238:  143(ivec3) ConstantComposite 61 61 61
             239:             TypeVector 36(bool) 3
             242:  143(ivec3) ConstantComposite 60 60 60
             250:   43(ivec4) ConstantComposite 61 61 61 61
             253:   43(ivec4) ConstantComposite 60 60 60 60
             395:      6(int) Constant 8
             396:  171(ivec3) ConstantComposite 395 395 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 256
              93:               Label
              95:      6(int)   Load 8(invocation)
              97:     96(ptr)   AccessChain 49(data) 61 61 54
              98:   40(float)   Load 97
              99:   40(float)   GroupNonUniformBroadcast 38 98 38
             100:     96(ptr)   AccessChain 49(data) 95 61 54
                                Store 100 99
             101:      6(int)   Load 8(invocation)
             104:    103(ptr)   AccessChain 49(data) 60 61
             105:   41(fvec4)   Load 104
             106:  102(fvec2)   VectorShuffle 105 105 0 1
             107:  102(fvec2)   GroupNonUniformBroadcast 38 106 38
             108:    103(ptr)   AccessChain 49(data) 101 61
             109:   41(fvec4)   Load 108
             110:   41(fvec4)   VectorShuffle 109 107 4 5 2 3
                                Store 108 110
             111:      6(int)   Load 8(invocation)
             113:    103(ptr)   AccessChain 49(data) 51 61
             114:   41(fvec4)   Load 113
             115:  112(fvec3)   VectorShuffle 114 114 0 1 2
             116:  112(fvec3)   GroupNonUniformBroadcast 38 115 38
             117:    103(ptr)   AccessChain 49(data) 111 61
             118:   41(fvec4)   Load 117
             119:   41(fvec4)   VectorShuffle 118 116 4 5 6 3
                                Store 117 119
             120:      6(int)   Load 8(invocation)
             122:    103(ptr)   AccessChain 49(data) 121 61
             123:   41(fvec4)   Load 122
             124:   41(fvec4)   GroupNonUniformBroadcast 38 123 38
             125:    103(ptr)   AccessChain 49(data) 120 61
                                Store 125 124
             126:      6(int)   Load 8(invocation)
             128:    127(ptr)   AccessChain 49(data) 61 60 54
             129:     42(int)   Load 128
             130:     42(int)   GroupNonUniformBroadcast 38 129 72
             131:    127(ptr)   AccessChain 49(data) 126 60 54
                                Store 131 130
             132:      6(int)   Load 8(invocation)
             135:    134(ptr)   AccessChain 49(data) 60 60
             136:   43(ivec4)   Load 135
             137:  133(ivec2)   VectorShuffle 136 136 0 1
             138:  133(ivec2)   GroupNonUniformBroadcast 38 137 72
             139:    134(ptr)   AccessChain 49(data) 132 60
             140:   43(ivec4)   Load 139
             141:   43(ivec4)   VectorShuffle 140 138 4 5 2 3
                                Store 139 141
             142:      6(int)   Load 8(invocation)
             144:    134(ptr)   AccessChain 49(data) 51 60
             145:   43(ivec4)   Load 144
             146:  143(ivec3)   VectorShuffle 145 145 0 1 2
             147:  143(ivec3)   GroupNonUniformBroadcast 38 146 72
             148:    134(ptr)   AccessChain 49(data) 142 60
             149:   43(ivec4)   Load 148
             150:   43(ivec4)   VectorShuffle 149 147 4 5 6 3
                                Store 148 150
             151:      6(int)   Load 8(invocation)
             152:    134(ptr)   AccessChain 49(data) 121 60
             153:   43(ivec4)   Load 152
             154:   43(ivec4)   GroupNonUniformBroadcast 38 153 72
             155:    134(ptr)   AccessChain 49(data) 151 60
                                Store 155 154
             156:      6(int)   Load 8(invocation)
             157:     55(ptr)   AccessChain 49(data) 61 51 54
             158:      6(int)   Load 157
             159:      6(int)   GroupNonUniformBroadcast 38 158 64
             160:     55(ptr)   AccessChain 49(data) 156 51 54
                                Store 160 159
             161:      6(int)   Load 8(invocation)
             163:     88(ptr)   AccessChain 49(data) 60 51
             164:   17(ivec4)   Load 163
             165:  162(ivec2)   VectorShuffle 164 164 0 1
             166:  162(ivec2)   GroupNonUniformBroadcast 38 165 64
             167:     88(ptr)   AccessChain 49(data) 161 51
             168:   17(ivec4)   Load 167
             169:   17(ivec4)   VectorShuffle 168 166 4 5 2 3
                                Store 167 169
             170:      6(int)   Load 8(invocation)
             172:     88(ptr)   AccessChain 49(data) 51 51
             173:   17(ivec4)   Load 172
             174:  171(ivec3)   VectorShuffle 173 173 0 1 2
             175:  171(ivec3)   GroupNonUniformBroadcast 38 174 64
             176:     88(ptr)   AccessChain 49(data) 170 51
             177:   17(ivec4)   Load 176
             178:   17(ivec4)   VectorShuffle 177 175 4 5 6 3
                                Store 176 178
             179:      6(int)   Load 8(invocation)
             180:     88(ptr)   AccessChain 49(data) 121 51
             181:   17(ivec4)   Load 180
             182:   17(ivec4)   GroupNonUniformBroadcast 38 181 64
             183:     88(ptr)   AccessChain 49(data) 179 51
                                Store 183 182
             184:      6(int)   Load 8(invocation)
             186:    185(ptr)   AccessChain 49(data) 61 121 54
             187:44(float64_t)   Load 186
             188:44(float64_t)   GroupNonUniformBroadcast 38 187 54
             189:    185(ptr)   AccessChain 49(data) 184 121 54
                                Store 189 188
             190:      6(int)   Load 8(invocation)
             193:    192(ptr)   AccessChain 49(data) 60 121
             194: 45(f64vec4)   Load 193
             195:191(f64vec2)   VectorShuffle 194 194 0 1
             196:191(f64vec2)   GroupNonUniformBroadcast 38 195 54
             197:    192(ptr)   AccessChain 49(data) 190 121
             198: 45(f64vec4)   Load 197
             199: 45(f64vec4)   VectorShuffle 198 196 4 5 2 3
                                Store 197 199
             200:      6(int)   Load 8(invocation)
             202:    192(ptr)   AccessChain 49(data) 51 121
             203: 45(f64vec4)   Load 202
             204:201(f64vec3)   VectorShuffle 203 203 0 1 2
             205:201(f64vec3)   GroupNonUniformBroadcast 38 204 54
             206:    192(ptr)   AccessChain 49(data) 200 121
             207: 45(f64vec4)   Load 206
             208: 45(f64vec4)   VectorShuffle 207 205 4 5 6 3
                                Store 206 208
             209:      6(int)   Load 8(invocation)
             210:    192(ptr)   AccessChain 49(data) 121 121
             211: 45(f64vec4)   Load 210
             212: 45(f64vec4)   GroupNonUniformBroadcast 38 211 54
             213:    192(ptr)   AccessChain 49(data) 209 121
                                Store 213 212
             214:      6(int)   Load 8(invocation)
             215:    127(ptr)   AccessChain 49(data) 61 60 54
             216:     42(int)   Load 215
             217:    36(bool)   SLessThan 216 61
             218:    36(bool)   GroupNonUniformBroadcast 38 217 64
             219:     42(int)   Select 218 60 61
             220:    127(ptr)   AccessChain 49(data) 214 60 54
                                Store 220 219
             221:      6(int)   Load 8(invocation)
             222:    134(ptr)   AccessChain 49(data) 60 60
             223:   43(ivec4)   Load 222
             224:  133(ivec2)   VectorShuffle 223 223 0 1
             227:  226(bvec2)   SLessThan 224 225
             228:  226(bvec2)   GroupNonUniformBroadcast 38 227 64
             230:  133(ivec2)   Select 228 229 225
             231:    134(ptr)   AccessChain 49(data) 221 60
             232:   43(ivec4)   Load 231
             233:   43(ivec4)   VectorShuffle 232 230 4 5 2 3
                                Store 231 233
             234:      6(int)   Load 8(invocation)
             235:    134(ptr)   AccessChain 49(data) 60 60
             236:   43(ivec4)   Load 235
             237:  143(ivec3)   VectorShuffle 236 236 0 1 2
             240:  239(bvec3)   SLessThan 237 238
             241:  239(bvec3)   GroupNonUniformBroadcast 38 240 64
             243:  143(ivec3)   Select 241 242 238
             244:    134(ptr)   AccessChain 49(data) 234 60
             245:   43(ivec4)   Load 244
             246:   43(ivec4)   VectorShuffle 245 243 4 5 6 3
                                Store 244 246
             247:      6(int)   Load 8(invocation)
             248:    134(ptr)   AccessChain 49(data) 60 60
             249:   43(ivec4)   Load 248
             251:   83(bvec4)   SLessThan 249 250
             252:   83(bvec4)   GroupNonUniformBroadcast 38 251 64
             254:   43(ivec4)   Select 252 253 250
             255:    134(ptr)   AccessChain 49(data) 247 60
                                Store 255 254
                                Branch 94
             256:               Label
             257:      6(int)   Load 8(invocation)
             258:     96(ptr)   AccessChain 49(data) 61 61 54
             259:   40(float)   Load 258
             260:   40(float)   GroupNonUniformBroadcastFirst 38 259
             261:     96(ptr)   AccessChain 49(data) 257 61 54
                                Store 261 260
             262:      6(int)   Load 8(invocation)
             263:    103(ptr)   AccessChain 49(data) 60 61
             264:   41(fvec4)   Load 263
             265:  102(fvec2)   VectorShuffle 264 264 0 1
             266:  102(fvec2)   GroupNonUniformBroadcastFirst 38 265
             267:    103(ptr)   AccessChain 49(data) 262 61
             268:   41(fvec4)   Load 267
             269:   41(fvec4)   VectorShuffle 268 266 4 5 2 3
                                Store 267 269
             270:      6(int)   Load 8(invocation)
             271:    103(ptr)   AccessChain 49(data) 51 61
             272:   41(fvec4)   Load 271
             273:  112(fvec3)   VectorShuffle 272 272 0 1 2
             274:  112(fvec3)   GroupNonUniformBroadcastFirst 38 273
             275:    103(ptr)   AccessChain 49(data) 270 61
             276:   41(fvec4)   Load 275
             277:   41(fvec4)   VectorShuffle 276 274 4 5 6 3
                                Store 275 277
             278:      6(int)   Load 8(invocation)
             279:    103(ptr)   AccessChain 49(data) 121 61
             280:   41(fvec4)   Load 279
             281:   41(fvec4)   GroupNonUniformBroadcastFirst 38 280
             282:    103(ptr)   AccessChain 49(data) 278 61
                                Store 282 281
             283:      6(int)   Load 8(invocation)
             284:    127(ptr)   AccessChain 49(data) 61 60 54
             285:     42(int)   Load 284
             286:     42(int)   GroupNonUniformBroadcastFirst 38 285
             287:    127(ptr)   AccessChain 49(data) 283 60 54
                                Store 287 286
             288:      6(int)   Load 8(invocation)
             289:    134(ptr)   AccessChain 49(data) 60 60
             290:   43(ivec4)   Load 289
             291:  133(ivec2)   VectorShuffle 290 290 0 1
             292:  133(ivec2)   GroupNonUniformBroadcastFirst 38 291
             293:    134(ptr)   AccessChain 49(data) 288 60
             294:   43(ivec4)   Load 293
             295:   43(ivec4)   VectorShuffle 294 292 4 5 2 3
                                Store 293 295
             296:      6(int)   Load 8(invocation)
             297:    134(ptr)   AccessChain 49(data) 51 60
             298:   43(ivec4)   Load 297
             299:  143(ivec3)   VectorShuffle 298 298 0 1 2
             300:  143(ivec3)   GroupNonUniformBroadcastFirst 38 299
             301:    134(ptr)   AccessChain 49(data) 296 60
             302:   43(ivec4)   Load 301
             303:   43(ivec4)   VectorShuffle 302 300 4 5 6 3
                                Store 301 303
             304:      6(int)   Load 8(invocation)
             305:    134(ptr)   AccessChain 49(data) 121 60
             306:   43(ivec4)   Load 305
             307:   43(ivec4)   GroupNonUniformBroadcastFirst 38 306
             308:    134(ptr)   AccessChain 49(data) 304 60
                                Store 308 307
             309:      6(int)   Load 8(invocation)
             310:     55(ptr)   AccessChain 49(data) 61 51 54
             311:      6(int)   Load 310
             312:      6(int)   GroupNonUniformBroadcastFirst 38 311
             313:     55(ptr)   AccessChain 49(data) 309 51 54
                                Store 313 312
             314:      6(int)   Load 8(invocation)
             315:     88(ptr)   AccessChain 49(data) 60 51
             316:   17(ivec4)   Load 315
             317:  162(ivec2)   VectorShuffle 316 316 0 1
             318:  162(ivec2)   GroupNonUniformBroadcastFirst 38 317
             319:     88(ptr)   AccessChain 49(data) 314 51
             320:   17(ivec4)   Load 319
             321:   17(ivec4)   VectorShuffle 320 318 4 5 2 3
                                Store 319 321
             322:      6(int)   Load 8(invocation)
             323:     88(ptr)   AccessChain 49(data) 51 51
             324:   17(ivec4)   Load 323
             325:  171(ivec3)   VectorShuffle 324 324 0 1 2
             326:  171(ivec3)   GroupNonUniformBroadcastFirst 38 325
             327:     88(ptr)   AccessChain 49(data) 322 51
             328:   17(ivec4)   Load 327
             329:   17(ivec4)   VectorShuffle 328 326 4 5 6 3
                                Store 327 329
             330:      6(int)   Load 8(invocation)
             331:     88(ptr)   AccessChain 49(data) 121 51
             332:   17(ivec4)   Load 331
             333:   17(ivec4)   GroupNonUniformBroadcastFirst 38 332
             334:     88(ptr)   AccessChain 49(data) 330 51
                                Store 334 333
             335:      6(int)   Load 8(invocation)
             336:    185(ptr)   AccessChain 49(data) 61 121 54
             337:44(float64_t)   Load 336
             338:44(float64_t)   GroupNonUniformBroadcastFirst 38 337
             339:    185(ptr)   AccessChain 49(data) 335 121 54
                                Store 339 338
             340:      6(int)   Load 8(invocation)
             341:    192(ptr)   AccessChain 49(data) 60 121
             342: 45(f64vec4)   Load 341
             343:191(f64vec2)   VectorShuffle 342 342 0 1
             344:191(f64vec2)   GroupNonUniformBroadcastFirst 38 343
             345:    192(ptr)   AccessChain 49(data) 340 121
             346: 45(f64vec4)   Load 345
             347: 45(f64vec4)   VectorShuffle 346 344 4 5 2 3
                                Store 345 347
             348:      6(int)   Load 8(invocation)
             349:    192(ptr)   AccessChain 49(data) 51 121
             350: 45(f64vec4)   Load 349
             351:201(f64vec3)   VectorShuffle 350 350 0 1 2
             352:201(f64vec3)   GroupNonUniformBroadcastFirst 38 351
             353:    192(ptr)   AccessChain 49(data) 348 121
             354: 45(f64vec4)   Load 353
             355: 45(f64vec4)   VectorShuffle 354 352 4 5 6 3
                                Store 353 355
             356:      6(int)   Load 8(invocation)
             357:    192(ptr)   AccessChain 49(data) 121 121
             358: 45(f64vec4)   Load 357
             359: 45(f64vec4)   GroupNonUniformBroadcastFirst 38 358
             360:    192(ptr)   AccessChain 49(data) 356 121
                                Store 360 359
             361:      6(int)   Load 8(invocation)
             362:    127(ptr)   AccessChain 49(data) 61 60 54
             363:     42(int)   Load 362
             364:    36(bool)   SLessThan 363 61
             365:    36(bool)   GroupNonUniformBroadcastFirst 38 364
             366:     42(int)   Select 365 60 61
             367:    127(ptr)   AccessChain 49(data) 361 60 54
                                Store 367 366
             368:      6(int)   Load 8(invocation)
             369:    134(ptr)   AccessChain 49(data) 60 60
             370:   43(ivec4)   Load 369
             371:  133(ivec2)   VectorShuffle 370 370 0 1
             372:  226(bvec2)   SLessThan 371 225
             373:  226(bvec2)   GroupNonUniformBroadcastFirst 38 372
             374:  133(ivec2)   Select 373 229 225
             375:    134(ptr)   AccessChain 49(data) 368 60
             376:   43(ivec4)   Load 375
             377:   43(ivec4)   VectorShuffle 376 374 4 5 2 3
                                Store 375 377
             378:      6(int)   Load 8(invocation)
             379:    134(ptr)   AccessChain 49(data) 60 60
             380:   43(ivec4)   Load 379
             381:  143(ivec3)   VectorShuffle 380 380 0 1 2
             382:  239(bvec3)   SLessThan 381 238
             383:  239(bvec3)   GroupNonUniformBroadcastFirst 38 382
             384:  143(ivec3)   Select 383 242 238
             385:    134(ptr)   AccessChain 49(data) 378 60
             386:   43(ivec4)   Load 385
             387:   43(ivec4)   VectorShuffle 386 384 4 5 6 3
                                Store 385 387
             388:      6(int)   Load 8(invocation)
             389:    134(ptr)   AccessChain 49(data) 60 60
             390:   43(ivec4)   Load 389
             391:   83(bvec4)   SLessThan 390 250
             392:   83(bvec4)   GroupNonUniformBroadcastFirst 38 391
             393:   43(ivec4)   Select 392 253 250
             394:    134(ptr)   AccessChain 49(data) 388 60
                                Store 394 393
                                Branch 94
              94:             Label
                              Return
                              FunctionEnd