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

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